New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jpex

Package Overview
Dependencies
Maintainers
1
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jpex - npm Package Compare versions

Comparing version 2.0.0-alpha.1 to 2.0.0-alpha.2

src/hasOwn.js

223

dist/jpex.js
(function(){
var __jpex_modules__ = [];
// /src/constants.js
// /src/hasOwn.js
__jpex_modules__[2] = function(require, module, exports){
var ObjectHasOwnProperty = Object.hasOwnProperty;
module.exports = function (obj, name) {
return ObjectHasOwnProperty.call(obj, name);
};
};
// /src/constants.js
__jpex_modules__[3] = function(require, module, exports){
exports.APPLICATION = 1;

@@ -13,3 +22,3 @@ exports.CLASS = 2;

// /src/jpexError.js
__jpex_modules__[5] = function(require, module, exports){
__jpex_modules__[6] = function(require, module, exports){
module.exports = function(mess){

@@ -24,5 +33,5 @@ var e = new Error(mess);

// /src/resolver/factories.js
__jpex_modules__[4] = function(require, module, exports){
var jpexError = require(5);
var constants = require(2);
__jpex_modules__[5] = function(require, module, exports){
var jpexError = require(6);
var constants = require(3);

@@ -101,5 +110,6 @@ exports.getFactory = function (Class, name, optional) {

// /src/resolver/index.js
__jpex_modules__[3] = function(require, module, exports){
var factoryService = require(4);
var jpexError = require(5);
__jpex_modules__[4] = function(require, module, exports){
var hasOwn = require(2);
var factoryService = require(5);
var jpexError = require(6);

@@ -184,3 +194,3 @@ exports.extractParameters = function (fn) {

// Optional dependency
var optional = checkOptional(name);
var optional = exports.checkOptional(name);
if (optional){

@@ -192,3 +202,3 @@ name = optional;

// Check named Parameters
if (Object.hasOwnProperty.call(namedParameters, name)){
if (hasOwn(namedParameters, name)){
return namedParameters[name];

@@ -251,14 +261,9 @@ }

function checkOptional(name) {
if (name[0] === '_'){
var arr = name.split('_');
if (arr[arr.length-1] === ''){
arr.shift();
arr.pop();
name = arr.join('_');
return name;
}
exports.checkOptional = function (name) {
if (name[0] === '_' && name[name.length-1] === '_'){
return name.substring(1, name.length-1);
}else{
return false;
}
return false;
}
};

@@ -268,3 +273,3 @@ };

// /src/isNode.js
__jpex_modules__[7] = function(require, module, exports){
__jpex_modules__[8] = function(require, module, exports){
var _process;

@@ -283,4 +288,6 @@

// /src/plugins/index.js
__jpex_modules__[8] = function(require, module, exports){
exports.use = function (plugin, config) {
__jpex_modules__[9] = function(require, module, exports){
var hasOwn = require(2);
exports.use = function (plugin, config) {
var Jpex = this;

@@ -353,3 +360,3 @@

}
if (!Object.hasOwnProperty.call(hooks, name)){
if (!hasOwn(hooks, name)){
hooks[name] = Object.create(Class.$$parent.$$hooks[name] || null);

@@ -363,6 +370,7 @@ }

// /src/class/privates.js
__jpex_modules__[6] = function(require, module, exports){
var isNode = require(7);
var triggerHook = require(8).trigger;
var resolver = require(3);
__jpex_modules__[7] = function(require, module, exports){
var isNode = require(8);
var hasOwn = require(2);
var triggerHook = require(9).trigger;
var resolver = require(4);

@@ -500,3 +508,3 @@ function getFromNodeModules(name) {

}
if (def && Object.hasOwnProperty.call(def, 'value')){
if (def && hasOwn(def, 'value')){
def = def.value;

@@ -518,4 +526,4 @@ }

// /src/factories/wrapper.js
__jpex_modules__[11] = function(require, module, exports){
var constants = require(2);
__jpex_modules__[12] = function(require, module, exports){
var constants = require(3);

@@ -552,4 +560,4 @@ module.exports = function (factory) {

// /src/factories/constant.js
__jpex_modules__[10] = function(require, module, exports){
var wrapper = require(11);
__jpex_modules__[11] = function(require, module, exports){
var wrapper = require(12);

@@ -565,5 +573,5 @@ module.exports = function (name, obj) {

// /src/factories/factory.js
__jpex_modules__[12] = function(require, module, exports){
var extractParameters = require(3).extractParameters;
var wrapper = require(11);
__jpex_modules__[13] = function(require, module, exports){
var extractParameters = require(4).extractParameters;
var wrapper = require(12);

@@ -600,3 +608,3 @@ module.exports = function (lifecycle, name, dependencies, fn) {

// /src/instantiator.js
__jpex_modules__[14] = function(require, module, exports){
__jpex_modules__[15] = function(require, module, exports){
module.exports = function(context, args){

@@ -609,4 +617,6 @@ return new (Function.prototype.bind.apply(context, args));

// /src/factories/jaas.js
__jpex_modules__[15] = function(require, module, exports){
// Jpex As A Service
__jpex_modules__[16] = function(require, module, exports){
var checkOptional = require(4).checkOptional;
// Jpex As A Service
module.exports = function (name, dependencies, Fn) {

@@ -623,7 +633,9 @@ dependencies = dependencies ? [].concat(dependencies) : [];

var i = 1;
dependencies.forEach(function (key) {
dependencies.slice(1).forEach(function (key) {
if (typeof key === 'object'){
Object.keys(key).forEach(function (key2) {
var val = args[i++];
if (val !== undefined){
key2 = checkOptional(key2) || key2;
params[key2] = val;

@@ -635,2 +647,3 @@ }

if (val !== undefined){
key = checkOptional(key) || key;
params[key] = val;

@@ -662,6 +675,6 @@ }

// /src/factories/service.js
__jpex_modules__[13] = function(require, module, exports){
var extractParameters = require(3).extractParameters;
var instantiator = require(14);
var jaas = require(15);
__jpex_modules__[14] = function(require, module, exports){
var extractParameters = require(4).extractParameters;
var instantiator = require(15);
var jaas = require(16);

@@ -700,4 +713,6 @@ module.exports = function (name, dependencies, fn) {

// /src/factories/decorator.js
__jpex_modules__[16] = function(require, module, exports){
module.exports = function (name, fn) {
__jpex_modules__[17] = function(require, module, exports){
var hasOwn = require(2);
module.exports = function (name, fn) {
var factory = this.$$factories[name];

@@ -709,3 +724,3 @@ if (!factory){

// so copy the factory onto the current class...
if (!Object.hasOwnProperty.call(this.$$factories, name)){
if (!hasOwn(this.$$factories, name)){
factory = Object.assign({}, this.$$factories[name]);

@@ -728,7 +743,7 @@ this.$$factories[name] = factory;

// /src/factories/index.js
__jpex_modules__[9] = function(require, module, exports){
var constant = require(10);
var factory = require(12);
var service = require(13);
var decorator = require(16);
__jpex_modules__[10] = function(require, module, exports){
var constant = require(11);
var factory = require(13);
var service = require(14);
var decorator = require(17);

@@ -761,4 +776,4 @@ module.exports = function (Class, options) {

// /src/class/resolve.js
__jpex_modules__[17] = function(require, module, exports){
var resolver = require(3);
__jpex_modules__[18] = function(require, module, exports){
var resolver = require(4);

@@ -780,7 +795,8 @@ module.exports = function (Jpex) {

__jpex_modules__[1] = function(require, module, exports){
var constants = require(2);
var resolver = require(3);
var privates = require(6);
var factories = require(9);
var plugins = require(8);
var hasOwn = require(2);
var constants = require(3);
var resolver = require(4);
var privates = require(7);
var factories = require(10);
var plugins = require(9);

@@ -797,3 +813,3 @@ module.exports = function () {

// Add the only default factory, $resolve
require(17)(Jpex);
require(18)(Jpex);

@@ -826,4 +842,5 @@ return Jpex;

constructor : (typeof options === 'function') ? options : null,
invokeParent : !(typeof options === 'function' || options && Object.hasOwnProperty.call(options, 'constructor') && options.constructor),
prototype : null,
invokeParent : !(typeof options === 'function' || options && hasOwn(options, 'constructor') && options.constructor),
methods : null,
properties : null,
static : null,

@@ -857,2 +874,7 @@ config : null,

// Set properties
if (options.properties){
options.properties = [].concat(options.properties);
}
// MERGE OPTIONS HOOK

@@ -916,2 +938,8 @@ if (Parent.$trigger){

// Properties
if (options.properties){
var properties = createProperties(options.properties);
Object.defineProperties(this, properties);
}
// Invoke constructor

@@ -958,4 +986,4 @@ if (typeof options.constructor === 'function'){

// Add new prototype methods
if (options.prototype){
Object.assign(prototype, options.prototype);
if (options.methods){
Object.assign(prototype, options.methods);
}

@@ -969,2 +997,67 @@

function createProperties(options) {
var properties = {};
options.forEach(function (option) {
if (typeof option === 'string'){
properties[option] = {
configurable : true,
enumerable : true,
writable : true,
value : undefined
};
}else{
Object.keys(option).forEach(function (key) {
var def = option[key];
var property = {};
switch (typeof def){
case 'object':
break;
case 'function':
def = { watch : def };
break;
default:
def = { value : def };
break;
}
var hasValue = hasOwn(def, 'value'),
hasGet = hasOwn(def, 'get') && typeof def.get === 'function',
hasSet = hasOwn(def, 'set') && typeof def.set === 'function',
hasWatch = hasOwn(def, 'watch') && typeof def.watch === 'function',
hasDefault = hasOwn(def, 'default') && typeof def.default === 'function';
if (hasValue || hasDefault || hasGet || hasSet || hasWatch){
var value = hasValue ? def.value : (hasDefault ? def.default() : undefined);
property.get = function () {
return hasGet ? def.get.call(this, value) : value;
};
if (!hasOwn(def, 'writable') || def.writable){
property.set = function (v) {
var newValue = hasSet ? def.set.call(this, v, value) : v;
if (hasWatch && newValue !== value){
def.watch.call(this, newValue, value);
}
value = newValue;
};
}
property.configurable = hasOwn(def, 'configurable') ? def.configurable : true;
property.enumerable = hasOwn(def, 'enumerable') ? def.enumerable : true;
}else{
property.configurable = true;
property.enumerable = true;
property.writable = true;
property.value = def;
}
properties[key] = property;
});
}
});
return properties;
}
function bindToInstance(instance, Class, args, namedParameters, option) {

@@ -971,0 +1064,0 @@ var bindTo = instance;

@@ -1,1 +0,1 @@

!function(){var e=[];e[2]=function(e,t,n){n.APPLICATION=1,n.CLASS=2,n.INSTANCE=3,n.NONE=4},e[5]=function(e,t,n){t.exports=function(e){var t=new Error(e);throw t.jpexInternalError=!0,t}},e[4]=function(e,t,n){function r(e){return e&&(e.fn&&"function"==typeof e.fn||e.constant||e.resolved)}var o=e(5),c=e(2);n.getFactory=function(e,t,n){var c;if(e.$trigger("getFactory",{Class:e,factoryName:t,set:function(e){c=e}}),!(r(c)||(c=e.$$resolved[t],r(c)||(c=e.$$factories[t],r(c)||(c=e.$$getFromNodeModules(t),r(c)))))){if(n)return;o(["Unable to find required dependency",t].join(" "))}return c},n.decorate=function(e,t,n){if(!n||!n.length)return t;for(var r=0,o=n.length;r<o;r++)t=n[r].call(e,t);return t},n.cacheResult=function(e,t,n,r,o){switch(n.lifecycle){case c.APPLICATION:n.resolved=!0,n.value=r;break;case c.CLASS:e.$$resolved[t]={resolved:!0,value:r};break;case c.NONE:break;case c.INSTANCE:default:o[t]=r}}},e[3]=function(e,t,n){function r(e,t,n,r,c){if(!t||!t.dependencies)return[];c||(c=[]),n||(n={});var i=[].concat(t.dependencies).map(function(t){return"object"==typeof t?Object.keys(t).map(function(r){return o(e,r,t[r],n,c)}):[o(e,t,r,n,c)]});return Array.prototype.concat.apply([],i)}function o(e,t,n,o,s){var u;switch(o||(o={}),t){case"$options":return n;case"$namedParameters":return o}var f=c(t);if(f&&(t=f,f=!0),Object.hasOwnProperty.call(o,t))return o[t];if(s.indexOf(t)>-1&&a(["Recursive loop for dependency",t,"encountered"].join(" ")),u=i.getFactory(e,t,f),!u)return u;if(u.resolved)return u.value;if(u.constant){var l=u.value;return l=i.decorate(e,l,u.decorators),i.cacheResult(e,t,u,l,o),l}var p;if(u.dependencies&&u.dependencies.length)try{p=r(e,u,o,n,s.concat(t))}catch(e){if(f)return;throw e}var d=u.fn.apply(e,p);return d=i.decorate(e,d,u.decorators),i.cacheResult(e,t,u,d,o),d}function c(e){if("_"===e[0]){var t=e.split("_");if(""===t[t.length-1])return t.shift(),t.pop(),e=t.join("_")}return!1}var i=e(4),a=e(5);n.extractParameters=function(e){var t=e.toString();t=t.replace(/\/\*(.*)\*\//g,"");var n=t.indexOf("("),r=t.indexOf(")"),o=t.indexOf("=>");return o>-1&&(o<n||n<0)?(t=t.substring(0,o).trim(),t?[t]:[]):(t=t.substring(n+1,r),t?t.split(",").map(function(e){return e.trim()}):[])},n.resolveDependencies=function(e,t,n){return r(e,t,n)},n.resolve=function(e,t,n){return o(e,t,null,n,[])}},e[7]=function(e,t,n){var r;try{r=eval("process")}catch(e){}t.exports="object"==typeof r&&"[object process]"===r.toString()},e[8]=function(e,t,n){function r(e,t,n){var r=e.$$hooks;if(!r[t]){for(var o=0,c=e;c.$$parent&&c.$$parent.$$parent;)c=c.$$parent;c.$$hooks[t]=Object.create({push:function(e){this[o++]=e},trigger:function(n){n=Object.assign({Jpex:e,eventName:t},n),Array.prototype.slice.call(this).forEach(function(e){e&&e(n)})}},{length:{get:function(){return o}}})}Object.hasOwnProperty.call(r,t)||(r[t]=Object.create(e.$$parent.$$hooks[t]||null)),r[t].push(n)}n.use=function(e,t){var n=this;if(!e||!e.install||"function"!=typeof e.install)throw new Error("Plugin does not have an install method");if(!e.name||"string"!=typeof e.name)throw new Error("Plugin must have a name property");if(this.$$using[e.name]&&!e.reuse)return void(e.silent||console.warn("Plugin "+e.name+" skipped as it has already been used"));this.$$using[e.name]=!0;var o={Jpex:n,on:function(e,t){r(n,e,t)},options:t};e.install(o)},n.trigger=function(e,t){var n=this.$$hooks[e];n&&n.trigger(t)}},e[6]=function(e,t,n){function r(e){if(s)try{var t=eval("require.main.require(name)");return this.register.constant(e,t),this.$$factories[e]}catch(e){if(!e||!e.message||"Cannot"!==e.message.substr(0,6))throw e}}function o(e,t,n){n&&"object"==typeof n||(n={});var r=0;return e&&t&&e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(e){void 0===n[e]&&void 0!==t[r]&&(n[e]=t[r]),r++}):(void 0===n[e]&&void 0!==t[r]&&(n[e]=t[r]),r++)}),n}function c(e,t,n){t&&!Array.isArray(t)&&(t=Array.prototype.slice.call(t)),n=this.$$namedParameters(t,n),this.$$parent.call(e,n)}function i(e,t){return Array.isArray(e)?f.resolveDependencies(this,{dependencies:e},t):f.resolve(this,e,t)}function a(e){e=e?[].concat(e):[];var t;for(t in this.$$factories)(!e.length||e.indexOf(t)>-1)&&(this.$$factories[t].resolved=!1);for(t in this.$$resolved)(!e.length||e.indexOf(t)>-1)&&delete this.$$resolved[t]}var s=e(7),u=e(8).trigger,f=e(3);t.exports=function(e,t,n){Object.defineProperties(t,{$trigger:{value:u},$resolve:{value:i},$clearCache:{value:a},$$getFromNodeModules:{value:r},$$namedParameters:{value:o.bind(null,n.dependencies)},$$invokeParent:{value:c},$$parent:{value:e},$$using:{value:Object.create(e.$$using||null)},$$factories:{value:Object.create(e.$$factories||null)},$$resolved:{value:Object.create(e.$$interfaces||null)},$$config:{value:Object.assign(Object.create(e.$$config||null),n.config)},$$hooks:{value:Object.create(e.$$hooks||null)}}),t.$trigger("privateProperties",{Class:t,options:n,apply:function(e){var n={};Object.keys(e).forEach(function(t){var r={configurable:!0,enumerable:!1},o=e[t];o&&o.get&&"function"==typeof o.get&&(r.get=o.get),o&&o.set&&"function"==typeof o.set&&(r.set=o.set),o&&Object.hasOwnProperty.call(o,"value")&&(o=o.value),r.get||r.set||(r.value=o),n[t]=r}),Object.defineProperties(t,n)}})}},e[11]=function(e,t,n){var r=e(2);t.exports=function(e){var t={lifecycle:{application:function(){return e.lifecycle=r.APPLICATION,t},class:function(){return e.lifecycle=r.CLASS,t},instance:function(){return e.lifecycle=r.INSTANCE,t},none:function(){return e.lifecycle=r.NONE,t}}};return t}},e[10]=function(e,t,n){var r=e(11);t.exports=function(e,t){var n={value:t,constant:!0};return this.$$factories[e]=n,r(n).lifecycle.application()}},e[12]=function(e,t,n){var r=e(3).extractParameters,o=e(11);t.exports=function(e,t,n,c){if("function"==typeof n&&(c=n,n=null),"function"!=typeof c)throw new Error("Factory "+t+" - fn must be a [Function]");n=n?[].concat(n):r(c),n.length||(n=null);var i={fn:c,dependencies:n,lifecycle:e};return this.$$factories[t]=i,o(i)}},e[14]=function(e,t,n){t.exports=function(e,t){return new(Function.prototype.bind.apply(e,t))}},e[15]=function(e,t,n){t.exports=function(e,t,n){function r(){var e=Array.prototype.slice.call(arguments),r={},o=1;return t.forEach(function(t){if("object"==typeof t)Object.keys(t).forEach(function(t){var n=e[o++];void 0!==n&&(r[t]=n)});else{var n=e[o++];void 0!==n&&(r[t]=n)}}),e[0]&&"object"==typeof e[0]&&Object.keys(e[0]).forEach(function(t){var n=e[0][t];void 0!==n&&(r[t]=n)}),new n(r)}return t=t?[].concat(t):[],t.unshift("$namedParameters"),this.register.factory(e,t,r)}},e[13]=function(e,t,n){var r=e(3).extractParameters,o=e(14),c=e(15);t.exports=function(e,t,n){function i(){var e=Array.prototype.slice.call(arguments);return e.unshift({}),o(n,e)}if("function"==typeof t&&(n=t,t=null),"function"!=typeof n)throw new Error("Service "+e+" - fn must be a [Function]");return n.extend&&n.register&&n.register.factory?c.call(this,e,t,n):(t=t?[].concat(t):r(n),this.register.factory(e,t,i))}},e[16]=function(e,t,n){t.exports=function(e,t){var n=this.$$factories[e];if(!n)throw new Error("Decorator could not be applied as factory "+e+" has not been registered");Object.hasOwnProperty.call(this.$$factories,e)||(n=Object.assign({},this.$$factories[e]),this.$$factories[e]=n),n.resolved&&(n.resolved=!1),this.$$resolved[e]&&delete this.$$resolved[e],n.decorators=(n.decorators||[]).concat(t)}},e[9]=function(e,t,n){var r=e(10),o=e(12),c=e(13),i=e(16);t.exports=function(e,t){var n=function(){return n.factory.apply(null,arguments)};n.constant=r.bind(e),n.factory=o.bind(e,t.defaultLifecycle),n.service=c.bind(e),n.decorator=i.bind(e),e.$trigger("factories",{Class:e,options:t,register:function(t,r){n[t]=r.bind(e)}}),Object.defineProperty(e,"register",{value:n})}},e[17]=function(e,t,n){var r=e(3);t.exports=function(e){e.register.factory("$resolve",[],function(){var e=this;return function(t,n){return Array.isArray(t)?r.resolveDependencies(e,{dependencies:t},n):r.resolve(e,t,n)}}).lifecycle.class()}},e[1]=function(e,t,n){function r(e){var t=this;e=o(t,e);var n=c(t,e);return l(t,n,e),p(n,e),t.$trigger&&t.$trigger("extend",{Class:n,options:e}),n}function o(e,t){var n={constructor:"function"==typeof t?t:null,invokeParent:!("function"==typeof t||t&&Object.hasOwnProperty.call(t,"constructor")&&t.constructor),prototype:null,static:null,config:null,dependencies:null,bindToInstance:!1,defaultLifecycle:u.INSTANCE},r=Object.assign(Object.create(e.$$config||null),t&&t.config);for(var o in r)n[o]=r[o];return t=Object.assign({},n,t),t.dependencies||"function"!=typeof t.constructor?t.dependencies&&(t.dependencies=[].concat(t.dependencies)):t.dependencies=f.extractParameters(t.constructor),t.dependencies&&!t.dependencies.length&&(t.dependencies=null),e.$trigger&&e.$trigger("options",{options:t,merge:function(){var e=Array.prototype.slice.call(arguments);e.unshift(t),Object.assign.apply(Object,e)}}),t}function c(e,t){var n=i(e,t);return n.prototype=a(e,n,t),Object.assign(n,e,t.static),n}function i(e,t){var n;return n=function(e){if(!(this instanceof n))return new n(e);try{var r=f.resolveDependencies(n,{dependencies:t.dependencies},e);this.constructor===n&&n.$trigger("beforeCreate",{Class:n,options:t,instance:this,args:r}),t.invokeParent&&"after"!==t.invokeParent&&n.$$invokeParent(this,r,e),t.bindToInstance&&s(this,n,r,e,t.bindToInstance),"function"==typeof t.constructor&&t.constructor.apply(this,r),"after"===t.invokeParent&&n.$$invokeParent(this,r,e),this.constructor===n&&n.$trigger("created",{Class:n,options:t,instance:this,args:r})}catch(t){t&&t.jpexInternalError&&(t.stack=new Error(t.message).stack);var o=f.resolve(n,"_$errorHandler_",e);if(!o)throw t;o(t)}}}function a(e,t,n){var r=Object.create(e.prototype);return n.prototype&&Object.assign(r,n.prototype),r.constructor=t,r}function s(e,t,n,r,o){var c=e;"string"==typeof o&&o.split(".").forEach(function(e){c[e]=c[e]||{},c=c[e]});var i=t.$$namedParameters(n,r);Object.assign(c,i)}var u=e(2),f=e(3),l=e(6),p=e(9),d=e(8);t.exports=function(){var t=function(){};t.extend=r,t.use=d.use;var n=t.extend();return e(17)(n),n}},e[0]=function(e,t,n){t.exports=e(1)()};var t=function(n){if(t.cache[n])return t.cache[n];var r={exports:{}},o=e[n];if(!o)throw new Error("Could not find module "+n);return o(t,r,r.exports),t.cache[n]=r.exports,r.exports};t.cache=[],"undefined"!=typeof module?module.exports=t(0):"undefined"!=typeof window&&(window.Jpex=t(0))}();
!function(){var e=[];e[2]=function(e,t,n){var r=Object.hasOwnProperty;t.exports=function(e,t){return r.call(e,t)}},e[3]=function(e,t,n){n.APPLICATION=1,n.CLASS=2,n.INSTANCE=3,n.NONE=4},e[6]=function(e,t,n){t.exports=function(e){var t=new Error(e);throw t.jpexInternalError=!0,t}},e[5]=function(e,t,n){function r(e){return e&&(e.fn&&"function"==typeof e.fn||e.constant||e.resolved)}var o=e(6),i=e(3);n.getFactory=function(e,t,n){var i;if(e.$trigger("getFactory",{Class:e,factoryName:t,set:function(e){i=e}}),!(r(i)||(i=e.$$resolved[t],r(i)||(i=e.$$factories[t],r(i)||(i=e.$$getFromNodeModules(t),r(i)))))){if(n)return;o(["Unable to find required dependency",t].join(" "))}return i},n.decorate=function(e,t,n){if(!n||!n.length)return t;for(var r=0,o=n.length;r<o;r++)t=n[r].call(e,t);return t},n.cacheResult=function(e,t,n,r,o){switch(n.lifecycle){case i.APPLICATION:n.resolved=!0,n.value=r;break;case i.CLASS:e.$$resolved[t]={resolved:!0,value:r};break;case i.NONE:break;case i.INSTANCE:default:o[t]=r}}},e[4]=function(e,t,n){function r(e,t,n,r,i){if(!t||!t.dependencies)return[];i||(i=[]),n||(n={});var c=[].concat(t.dependencies).map(function(t){return"object"==typeof t?Object.keys(t).map(function(r){return o(e,r,t[r],n,i)}):[o(e,t,r,n,i)]});return Array.prototype.concat.apply([],c)}function o(e,t,o,s,u){var f;switch(s||(s={}),t){case"$options":return o;case"$namedParameters":return s}var l=n.checkOptional(t);if(l&&(t=l,l=!0),i(s,t))return s[t];if(u.indexOf(t)>-1&&a(["Recursive loop for dependency",t,"encountered"].join(" ")),!(f=c.getFactory(e,t,l)))return f;if(f.resolved)return f.value;if(f.constant){var p=f.value;return p=c.decorate(e,p,f.decorators),c.cacheResult(e,t,f,p,s),p}var d;if(f.dependencies&&f.dependencies.length)try{d=r(e,f,s,o,u.concat(t))}catch(e){if(l)return;throw e}var v=f.fn.apply(e,d);return v=c.decorate(e,v,f.decorators),c.cacheResult(e,t,f,v,s),v}var i=e(2),c=e(5),a=e(6);n.extractParameters=function(e){var t=e.toString();t=t.replace(/\/\*(.*)\*\//g,"");var n=t.indexOf("("),r=t.indexOf(")"),o=t.indexOf("=>");return o>-1&&(o<n||n<0)?(t=t.substring(0,o).trim(),t?[t]:[]):(t=t.substring(n+1,r),t?t.split(",").map(function(e){return e.trim()}):[])},n.resolveDependencies=function(e,t,n){return r(e,t,n)},n.resolve=function(e,t,n){return o(e,t,null,n,[])},n.checkOptional=function(e){return"_"===e[0]&&"_"===e[e.length-1]&&e.substring(1,e.length-1)}},e[8]=function(e,t,n){var r;try{r=eval("process")}catch(e){}t.exports="object"==typeof r&&"[object process]"===r.toString()},e[9]=function(e,t,n){function r(e,t,n){var r=e.$$hooks;if(!r[t]){for(var i=0,c=e;c.$$parent&&c.$$parent.$$parent;)c=c.$$parent;c.$$hooks[t]=Object.create({push:function(e){this[i++]=e},trigger:function(n){n=Object.assign({Jpex:e,eventName:t},n),Array.prototype.slice.call(this).forEach(function(e){e&&e(n)})}},{length:{get:function(){return i}}})}o(r,t)||(r[t]=Object.create(e.$$parent.$$hooks[t]||null)),r[t].push(n)}var o=e(2);n.use=function(e,t){var n=this;if(!e||!e.install||"function"!=typeof e.install)throw new Error("Plugin does not have an install method");if(!e.name||"string"!=typeof e.name)throw new Error("Plugin must have a name property");if(this.$$using[e.name]&&!e.reuse)return void(e.silent||console.warn("Plugin "+e.name+" skipped as it has already been used"));this.$$using[e.name]=!0;var o={Jpex:n,on:function(e,t){r(n,e,t)},options:t};e.install(o)},n.trigger=function(e,t){var n=this.$$hooks[e];n&&n.trigger(t)}},e[7]=function(e,t,n){function r(e){if(s)try{var t=eval("require.main.require(name)");return this.register.constant(e,t),this.$$factories[e]}catch(e){if(!e||!e.message||"Cannot"!==e.message.substr(0,6))throw e}}function o(e,t,n){n&&"object"==typeof n||(n={});var r=0;return e&&t&&e.forEach(function(e){"object"==typeof e?Object.keys(e).forEach(function(e){void 0===n[e]&&void 0!==t[r]&&(n[e]=t[r]),r++}):(void 0===n[e]&&void 0!==t[r]&&(n[e]=t[r]),r++)}),n}function i(e,t,n){t&&!Array.isArray(t)&&(t=Array.prototype.slice.call(t)),n=this.$$namedParameters(t,n),this.$$parent.call(e,n)}function c(e,t){return Array.isArray(e)?l.resolveDependencies(this,{dependencies:e},t):l.resolve(this,e,t)}function a(e){e=e?[].concat(e):[];var t;for(t in this.$$factories)(!e.length||e.indexOf(t)>-1)&&(this.$$factories[t].resolved=!1);for(t in this.$$resolved)(!e.length||e.indexOf(t)>-1)&&delete this.$$resolved[t]}var s=e(8),u=e(2),f=e(9).trigger,l=e(4);t.exports=function(e,t,n){Object.defineProperties(t,{$trigger:{value:f},$resolve:{value:c},$clearCache:{value:a},$$getFromNodeModules:{value:r},$$namedParameters:{value:o.bind(null,n.dependencies)},$$invokeParent:{value:i},$$parent:{value:e},$$using:{value:Object.create(e.$$using||null)},$$factories:{value:Object.create(e.$$factories||null)},$$resolved:{value:Object.create(e.$$interfaces||null)},$$config:{value:Object.assign(Object.create(e.$$config||null),n.config)},$$hooks:{value:Object.create(e.$$hooks||null)}}),t.$trigger("privateProperties",{Class:t,options:n,apply:function(e){var n={};Object.keys(e).forEach(function(t){var r={configurable:!0,enumerable:!1},o=e[t];o&&o.get&&"function"==typeof o.get&&(r.get=o.get),o&&o.set&&"function"==typeof o.set&&(r.set=o.set),o&&u(o,"value")&&(o=o.value),r.get||r.set||(r.value=o),n[t]=r}),Object.defineProperties(t,n)}})}},e[12]=function(e,t,n){var r=e(3);t.exports=function(e){var t={lifecycle:{application:function(){return e.lifecycle=r.APPLICATION,t},class:function(){return e.lifecycle=r.CLASS,t},instance:function(){return e.lifecycle=r.INSTANCE,t},none:function(){return e.lifecycle=r.NONE,t}}};return t}},e[11]=function(e,t,n){var r=e(12);t.exports=function(e,t){var n={value:t,constant:!0};return this.$$factories[e]=n,r(n).lifecycle.application()}},e[13]=function(e,t,n){var r=e(4).extractParameters,o=e(12);t.exports=function(e,t,n,i){if("function"==typeof n&&(i=n,n=null),"function"!=typeof i)throw new Error("Factory "+t+" - fn must be a [Function]");n=n?[].concat(n):r(i),n.length||(n=null);var c={fn:i,dependencies:n,lifecycle:e};return this.$$factories[t]=c,o(c)}},e[15]=function(e,t,n){t.exports=function(e,t){return new(Function.prototype.bind.apply(e,t))}},e[16]=function(e,t,n){var r=e(4).checkOptional;t.exports=function(e,t,n){function o(){var e=Array.prototype.slice.call(arguments),o={},i=1;return t.slice(1).forEach(function(t){if("object"==typeof t)Object.keys(t).forEach(function(t){var n=e[i++];void 0!==n&&(t=r(t)||t,o[t]=n)});else{var n=e[i++];void 0!==n&&(t=r(t)||t,o[t]=n)}}),e[0]&&"object"==typeof e[0]&&Object.keys(e[0]).forEach(function(t){var n=e[0][t];void 0!==n&&(o[t]=n)}),new n(o)}return t=t?[].concat(t):[],t.unshift("$namedParameters"),this.register.factory(e,t,o)}},e[14]=function(e,t,n){var r=e(4).extractParameters,o=e(15),i=e(16);t.exports=function(e,t,n){function c(){var e=Array.prototype.slice.call(arguments);return e.unshift({}),o(n,e)}if("function"==typeof t&&(n=t,t=null),"function"!=typeof n)throw new Error("Service "+e+" - fn must be a [Function]");return n.extend&&n.register&&n.register.factory?i.call(this,e,t,n):(t=t?[].concat(t):r(n),this.register.factory(e,t,c))}},e[17]=function(e,t,n){var r=e(2);t.exports=function(e,t){var n=this.$$factories[e];if(!n)throw new Error("Decorator could not be applied as factory "+e+" has not been registered");r(this.$$factories,e)||(n=Object.assign({},this.$$factories[e]),this.$$factories[e]=n),n.resolved&&(n.resolved=!1),this.$$resolved[e]&&delete this.$$resolved[e],n.decorators=(n.decorators||[]).concat(t)}},e[10]=function(e,t,n){var r=e(11),o=e(13),i=e(14),c=e(17);t.exports=function(e,t){var n=function(){return n.factory.apply(null,arguments)};n.constant=r.bind(e),n.factory=o.bind(e,t.defaultLifecycle),n.service=i.bind(e),n.decorator=c.bind(e),e.$trigger("factories",{Class:e,options:t,register:function(t,r){n[t]=r.bind(e)}}),Object.defineProperty(e,"register",{value:n})}},e[18]=function(e,t,n){var r=e(4);t.exports=function(e){e.register.factory("$resolve",[],function(){var e=this;return function(t,n){return Array.isArray(t)?r.resolveDependencies(e,{dependencies:t},n):r.resolve(e,t,n)}}).lifecycle.class()}},e[1]=function(e,t,n){function r(e){var t=this;e=o(t,e);var n=i(t,e);return d(t,n,e),v(n,e),t.$trigger&&t.$trigger("extend",{Class:n,options:e}),n}function o(e,t){var n={constructor:"function"==typeof t?t:null,invokeParent:!("function"==typeof t||t&&f(t,"constructor")&&t.constructor),methods:null,properties:null,static:null,config:null,dependencies:null,bindToInstance:!1,defaultLifecycle:l.INSTANCE},r=Object.assign(Object.create(e.$$config||null),t&&t.config);for(var o in r)n[o]=r[o];return t=Object.assign({},n,t),t.dependencies||"function"!=typeof t.constructor?t.dependencies&&(t.dependencies=[].concat(t.dependencies)):t.dependencies=p.extractParameters(t.constructor),t.dependencies&&!t.dependencies.length&&(t.dependencies=null),t.properties&&(t.properties=[].concat(t.properties)),e.$trigger&&e.$trigger("options",{options:t,merge:function(){var e=Array.prototype.slice.call(arguments);e.unshift(t),Object.assign.apply(Object,e)}}),t}function i(e,t){var n=c(e,t);return n.prototype=a(e,n,t),Object.assign(n,e,t.static),n}function c(e,t){var n;return n=function(e){if(!(this instanceof n))return new n(e);try{var r=p.resolveDependencies(n,{dependencies:t.dependencies},e);if(this.constructor===n&&n.$trigger("beforeCreate",{Class:n,options:t,instance:this,args:r}),t.invokeParent&&"after"!==t.invokeParent&&n.$$invokeParent(this,r,e),t.bindToInstance&&u(this,n,r,e,t.bindToInstance),t.properties){var o=s(t.properties);Object.defineProperties(this,o)}"function"==typeof t.constructor&&t.constructor.apply(this,r),"after"===t.invokeParent&&n.$$invokeParent(this,r,e),this.constructor===n&&n.$trigger("created",{Class:n,options:t,instance:this,args:r})}catch(t){t&&t.jpexInternalError&&(t.stack=new Error(t.message).stack);var i=p.resolve(n,"_$errorHandler_",e);if(!i)throw t;i(t)}}}function a(e,t,n){var r=Object.create(e.prototype);return n.methods&&Object.assign(r,n.methods),r.constructor=t,r}function s(e){var t={};return e.forEach(function(e){"string"==typeof e?t[e]={configurable:!0,enumerable:!0,writable:!0,value:void 0}:Object.keys(e).forEach(function(n){var r=e[n],o={};switch(typeof r){case"object":break;case"function":r={watch:r};break;default:r={value:r}}var i=f(r,"value"),c=f(r,"get")&&"function"==typeof r.get,a=f(r,"set")&&"function"==typeof r.set,s=f(r,"watch")&&"function"==typeof r.watch,u=f(r,"default")&&"function"==typeof r.default;if(i||u||c||a||s){var l=i?r.value:u?r.default():void 0;o.get=function(){return c?r.get.call(this,l):l},f(r,"writable")&&!r.writable||(o.set=function(e){var t=a?r.set.call(this,e,l):e;s&&t!==l&&r.watch.call(this,t,l),l=t}),o.configurable=!f(r,"configurable")||r.configurable,o.enumerable=!f(r,"enumerable")||r.enumerable}else o.configurable=!0,o.enumerable=!0,o.writable=!0,o.value=r;t[n]=o})}),t}function u(e,t,n,r,o){var i=e;"string"==typeof o&&o.split(".").forEach(function(e){i[e]=i[e]||{},i=i[e]});var c=t.$$namedParameters(n,r);Object.assign(i,c)}var f=e(2),l=e(3),p=e(4),d=e(7),v=e(10),h=e(9);t.exports=function(){var t=function(){};t.extend=r,t.use=h.use;var n=t.extend();return e(18)(n),n}},e[0]=function(e,t,n){t.exports=e(1)()};var t=function(n){if(t.cache[n])return t.cache[n];var r={exports:{}},o=e[n];if(!o)throw new Error("Could not find module "+n);return o(t,r,r.exports),t.cache[n]=r.exports,r.exports};t.cache=[],"undefined"!=typeof module?module.exports=t(0):"undefined"!=typeof window&&(window.Jpex=t(0))}();

@@ -6,2 +6,6 @@ config

prototype configuration option has been replaced with methods
properties configuration option allows you to predefine instance properties, getters, setters, and watchers.
bindToInstance

@@ -8,0 +12,0 @@ can accept deeply nested value i.e. x.y.z will bind dependencies to instance.x.y.z

{
"name": "jpex",
"version": "2.0.0-alpha.1",
"version": "2.0.0-alpha.2",
"description": "Javascript Prototype Extension",

@@ -5,0 +5,0 @@ "main": "src/index.js",

@@ -0,1 +1,2 @@

var hasOwn = require('../hasOwn');
var constants = require('../constants');

@@ -45,4 +46,5 @@ var resolver = require('../resolver');

constructor : (typeof options === 'function') ? options : null,
invokeParent : !(typeof options === 'function' || options && Object.hasOwnProperty.call(options, 'constructor') && options.constructor),
prototype : null,
invokeParent : !(typeof options === 'function' || options && hasOwn(options, 'constructor') && options.constructor),
methods : null,
properties : null,
static : null,

@@ -76,2 +78,7 @@ config : null,

// Set properties
if (options.properties){
options.properties = [].concat(options.properties);
}
// MERGE OPTIONS HOOK

@@ -135,2 +142,8 @@ if (Parent.$trigger){

// Properties
if (options.properties){
var properties = createProperties(options.properties);
Object.defineProperties(this, properties);
}
// Invoke constructor

@@ -177,4 +190,4 @@ if (typeof options.constructor === 'function'){

// Add new prototype methods
if (options.prototype){
Object.assign(prototype, options.prototype);
if (options.methods){
Object.assign(prototype, options.methods);
}

@@ -188,2 +201,67 @@

function createProperties(options) {
var properties = {};
options.forEach(function (option) {
if (typeof option === 'string'){
properties[option] = {
configurable : true,
enumerable : true,
writable : true,
value : undefined
};
}else{
Object.keys(option).forEach(function (key) {
var def = option[key];
var property = {};
switch (typeof def){
case 'object':
break;
case 'function':
def = { watch : def };
break;
default:
def = { value : def };
break;
}
var hasValue = hasOwn(def, 'value'),
hasGet = hasOwn(def, 'get') && typeof def.get === 'function',
hasSet = hasOwn(def, 'set') && typeof def.set === 'function',
hasWatch = hasOwn(def, 'watch') && typeof def.watch === 'function',
hasDefault = hasOwn(def, 'default') && typeof def.default === 'function';
if (hasValue || hasDefault || hasGet || hasSet || hasWatch){
var value = hasValue ? def.value : (hasDefault ? def.default() : undefined);
property.get = function () {
return hasGet ? def.get.call(this, value) : value;
};
if (!hasOwn(def, 'writable') || def.writable){
property.set = function (v) {
var newValue = hasSet ? def.set.call(this, v, value) : v;
if (hasWatch && newValue !== value){
def.watch.call(this, newValue, value);
}
value = newValue;
};
}
property.configurable = hasOwn(def, 'configurable') ? def.configurable : true;
property.enumerable = hasOwn(def, 'enumerable') ? def.enumerable : true;
}else{
property.configurable = true;
property.enumerable = true;
property.writable = true;
property.value = def;
}
properties[key] = property;
});
}
});
return properties;
}
function bindToInstance(instance, Class, args, namedParameters, option) {

@@ -190,0 +268,0 @@ var bindTo = instance;

var isNode = require('../isNode');
var hasOwn = require('../hasOwn');
var triggerHook = require('../plugins').trigger;

@@ -136,3 +137,3 @@ var resolver = require('../resolver');

}
if (def && Object.hasOwnProperty.call(def, 'value')){
if (def && hasOwn(def, 'value')){
def = def.value;

@@ -139,0 +140,0 @@ }

@@ -0,1 +1,3 @@

var hasOwn = require('../hasOwn');
module.exports = function (name, fn) {

@@ -8,3 +10,3 @@ var factory = this.$$factories[name];

// so copy the factory onto the current class...
if (!Object.hasOwnProperty.call(this.$$factories, name)){
if (!hasOwn(this.$$factories, name)){
factory = Object.assign({}, this.$$factories[name]);

@@ -11,0 +13,0 @@ this.$$factories[name] = factory;

@@ -0,1 +1,3 @@

var checkOptional = require('../resolver').checkOptional;
// Jpex As A Service

@@ -13,7 +15,9 @@ module.exports = function (name, dependencies, Fn) {

var i = 1;
dependencies.forEach(function (key) {
dependencies.slice(1).forEach(function (key) {
if (typeof key === 'object'){
Object.keys(key).forEach(function (key2) {
var val = args[i++];
if (val !== undefined){
key2 = checkOptional(key2) || key2;
params[key2] = val;

@@ -25,2 +29,3 @@ }

if (val !== undefined){
key = checkOptional(key) || key;
params[key] = val;

@@ -27,0 +32,0 @@ }

@@ -0,1 +1,3 @@

var hasOwn = require('../hasOwn');
exports.use = function (plugin, config) {

@@ -69,3 +71,3 @@ var Jpex = this;

}
if (!Object.hasOwnProperty.call(hooks, name)){
if (!hasOwn(hooks, name)){
hooks[name] = Object.create(Class.$$parent.$$hooks[name] || null);

@@ -72,0 +74,0 @@ }

@@ -0,1 +1,2 @@

var hasOwn = require('../hasOwn');
var factoryService = require('./factories');

@@ -82,3 +83,3 @@ var jpexError = require('../jpexError');

// Optional dependency
var optional = checkOptional(name);
var optional = exports.checkOptional(name);
if (optional){

@@ -90,3 +91,3 @@ name = optional;

// Check named Parameters
if (Object.hasOwnProperty.call(namedParameters, name)){
if (hasOwn(namedParameters, name)){
return namedParameters[name];

@@ -149,13 +150,8 @@ }

function checkOptional(name) {
if (name[0] === '_'){
var arr = name.split('_');
if (arr[arr.length-1] === ''){
arr.shift();
arr.pop();
name = arr.join('_');
return name;
}
exports.checkOptional = function (name) {
if (name[0] === '_' && name[name.length-1] === '_'){
return name.substring(1, name.length-1);
}else{
return false;
}
return false;
}
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc