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

jeefo_core

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jeefo_core - npm Package Compare versions

Comparing version 0.0.6 to 0.0.7

4

build/index.js
/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name : index.js
* Created at : 2017-04-29
* Updated at : 2017-05-03
* Updated at : 2017-05-07
* Author : jeefo

@@ -53,3 +53,3 @@ * Purpose :

var browser_source = `(function (jeefo, $window, $document) { "use strict";\n\n${ source }\n\n}(window.jeefo, window, document));`;
var node_source = `${ header }\n"use strict";\n\nmodule.exports = function (jeefo) {\n\n${ source }\n\nreturn jeefo;\n\n};`;
var node_source = `${ header }\n"use strict";\n\nmodule.exports = function (jeefo) {\n\n${ source }\n\nreturn jeefo\n\n};`;
var output_source = `${ header }(function (jeefo) {\n\n${ source }\n\n}(jeefo));`;

@@ -56,0 +56,0 @@ var node_min_source;

/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name : preprocessor.js
* Created at : 2017-04-26
* Updated at : 2017-05-03
* Updated at : 2017-05-07
* Author : jeefo

@@ -12,4 +12,6 @@ * Purpose :

var jeefo = require("jeefo");
require("jeefo_javascript_beautifier")(jeefo);
var jeefo = require("jeefo").create();
jeefo.use(require("jeefo_javascript_beautifier"));
var pp = jeefo.module("jeefo.preprocessor", ["jeefo_javascript_beautifier"]);

@@ -23,3 +25,6 @@

// Preprocessor {{{1
pp.namespace("javascript.Preprocessor", ["javascript.Beautifier"], function (JavascriptBeautifier) {
pp.namespace("javascript.Preprocessor", [
"object.assign",
"javascript.Beautifier",
], function (assign, JavascriptBeautifier) {

@@ -39,3 +44,3 @@ // Scope {{{2

p = Scope.prototype;
p.assign = jeefo.assign;
p.assign = assign;
p.Constructor = Scope;

@@ -53,15 +58,2 @@

};
p.is_replaceable = function () {
/* Unoptimized code {{{3
if (this.remove_indices) {
return false;
}
if (this.parent) {
return this.parent.is_replaceable();
}
return true;
}}}3 */
return this.remove_indices ? false : this.parent ? this.parent.is_replaceable() : true;
};
// }}}2

@@ -155,2 +147,3 @@

var i = 0;
parent = parent;

@@ -263,16 +256,28 @@ switch (token.type) {

p.call_expression = function (expression, def, scope) {
var i = 0, j = 0, args = [], statements = [];
var args = new Array(expression["arguments"].length),
i = args.length - 1,
j = 0,
statements = [];
this.compiler.current_indent = '';
for (; i < expression["arguments"].length; ++i) {
args.push(this.compiler.compile(expression["arguments"][i]));
for (; i >= 0; --i) {
switch (expression["arguments"][i].type) {
case "Identifier" :
if (scope.defs.hasOwnProperty(expression["arguments"][i].name)) {
args[i] = scope.defs[expression["arguments"][i].name].compiled;
}
break;
}
if (! args[i]) {
args[i] = this.compiler.compile(expression["arguments"][i]);
}
}
for (i = 1; i < scope.level; ++i) {
for (i = scope.level - 1; i >= 1; --i) {
this.compiler.current_indent = this.compiler.current_indent + this.compiler.indentation;
}
for (i = 0; i < def.params.length; ++i) {
for (j = 0; j < def.params[i].length; ++j) {
for (i = def.params.length - 1; i >= 0; --i) {
for (j = def.params[i].length - 1; j >= 0; --j) {
def.params[i][j].compiled = args[i];

@@ -318,6 +323,8 @@ }

// Expression {{{2
p.expression = function (expression, scope, t) {
p.expression = function (expression, scope) {
var i = 0;
switch (expression.type) {
case "Comment" :
return;
case "NumberLiteral" :

@@ -328,3 +335,3 @@ case "StringLiteral" :

case "Identifier" :
if (scope.defs[expression.name] && scope.is_replaceable()) {
if (scope.defs.hasOwnProperty(expression.name) && ! this.remove_indices) {
this.register("replace", {

@@ -342,29 +349,29 @@ start : expression.start.index,

this.define(expression["arguments"], scope);
} else {
for (i = expression["arguments"].length - 1; i >= 0; --i) {
this.expression(expression["arguments"][i], scope, expression);
}
this.expression(expression.callee, scope, expression);
} else if (! this.remove_indices) {
this.process_arguments(expression["arguments"], scope);
this.expression(expression.callee, scope);
}
break;
case "Identifier":
if (scope.defs[expression.callee.name]) {
if (scope.defs.hasOwnProperty(expression.callee.name)) {
this.call_expression(expression, scope.defs[expression.callee.name], scope);
} else {
for (i = expression["arguments"].length - 1; i >= 0; --i) {
this.expression(expression["arguments"][i], scope, expression);
}
this.expression(expression.callee, scope, expression);
} else if (! this.remove_indices) {
this.process_arguments(expression["arguments"], scope);
this.expression(expression.callee, scope);
}
break;
case "FunctionExpression":
this.process_arguments(expression["arguments"], scope);
this.expression(expression.callee, scope);
break;
}
break;
case "AssignmentExpression":
this.expression(expression.left, scope, expression);
this.expression(expression.right, scope, expression);
this.expression(expression.left, scope);
this.expression(expression.right, scope);
break;
case "BinaryExpression":
case "LogicalExpression":
this.expression(expression.left, scope, expression);
this.expression(expression.right, scope, expression);
this.expression(expression.left, scope);
this.expression(expression.right, scope);
break;

@@ -375,21 +382,31 @@ case "FunctionExpression" :

case "MemberExpression" :
this.expression(expression.object, scope, expression);
this.expression(expression.property, scope, expression);
this.expression(expression.object, scope);
this.expression(expression.property, scope);
break;
case "NewExpression" :
this.expression(expression.callee, scope, expression);
this.expression(expression.callee, scope);
for (i = expression["arguments"].length - 1; i >= 0; --i) {
this.expression(expression["arguments"][i], scope, expression);
this.expression(expression["arguments"][i], scope);
}
break;
case "UnaryExpression" :
this.expression(expression.argument, scope);
break;
case "ArrayLiteral" :
break;
case "Property" :
this.expression(expression.value, scope);
break;
case "ObjectLiteral" :
case "UnaryExpression" :
for (i = expression.properties.length - 1; i >= 0; --i) {
this.expression(expression.properties[i], scope);
}
break;
case "ConditionalExpression" :
this.expression(expression.test, scope);
if (expression.consequent) {
this.expression(expression.consequent, scope, expression);
this.expression(expression.consequent, scope);
}
if (expression.alternate) {
this.expression(expression.alternate, scope, expression);
this.expression(expression.alternate, scope);
}

@@ -399,3 +416,3 @@ break;

for (i = expression.expressions.length - 1; i >= 0; --i) {
this.expression(expression.expressions[i], scope, expression);
this.expression(expression.expressions[i], scope);
}

@@ -407,7 +424,7 @@ break;

case "TemplateLiteral" :
if (! scope.is_replaceable()) { return; }
if (this.remove_indices) { return; }
for (i = expression.body.length - 1; i >= 0; --i) {
if (expression.body[i].type === "TemplateLiteralExpression") {
this.expression(expression.body[i].expression, scope, expression);
this.expression(expression.body[i].expression, scope);
}

@@ -425,6 +442,13 @@ }

default:
console.log("UNIMPLEMENTED expression", expression.type, t);
console.log("UNIMPLEMENTED expression", expression.type);
}
};
// Handler arguments {{{2
p.process_arguments = function (args, scope) {
// jshint curly : false
for (var i = args.length - 1; i >= 0; this.expression(args[i], scope), --i);
// jshint curly : true
};
// Variable declarations {{{2

@@ -452,2 +476,4 @@ p.variable_declaration = function (declarations, scope) {

break;
case "EmptyStatement" :
break;
default:

@@ -469,14 +495,14 @@ console.log("UNIMPLEMENTED statement", statement.type);

case "ignore:start":
if (! scope.remove_indices) {
scope.remove_indices = {
if (! this.remove_indices) {
this.remove_indices = {
start : tokens[i].start.index,
end : tokens[i].end.index,
};
this.register("remove", scope.remove_indices);
this.register("remove", this.remove_indices);
}
break SWITCH;
case "ignore:end":
if (scope.remove_indices) {
scope.remove_indices.end = tokens[i].end.index;
scope.remove_indices = null;
if (this.remove_indices) {
this.remove_indices.end = tokens[i].end.index;
this.remove_indices = null;
} else {

@@ -490,11 +516,12 @@ console.warn("Unexpected ignore end.");

case "ExpressionStatement" :
this.expression(tokens[i].expression, scope, tokens[i]);
this.expression(tokens[i].expression, scope);
break;
case "ThrowStatement" :
case "ReturnStatement" :
if (tokens[i].argument) {
this.expression(tokens[i].argument, scope, tokens[i]);
this.expression(tokens[i].argument, scope);
}
break;
case "IfStatement" :
this.expression(tokens[i].test, scope, tokens[i]);
this.expression(tokens[i].test, scope);
this.statement(tokens[i].statement, scope);

@@ -511,9 +538,9 @@ if (tokens[i].alternate) {

// TODO: implement var declare version
this.expression(tokens[i].init, scope, tokens[i]);
this.expression(tokens[i].init, scope);
}
if (tokens[i].test) {
this.expression(tokens[i].test, scope, tokens[i]);
this.expression(tokens[i].test, scope);
}
if (tokens[i].update) {
this.expression(tokens[i].update, scope, tokens[i]);
this.expression(tokens[i].update, scope);
}

@@ -534,3 +561,3 @@ this.statement(tokens[i].statement, scope);

if (tokens[i].handler) {
this.expression(tokens[i].handler.param, scope, tokens[i]);
this.expression(tokens[i].handler.param, scope);
this.statement(tokens[i].handler.body, scope);

@@ -546,3 +573,3 @@ }

if (tokens[i].label) {
this.expression(tokens[i].label, scope, tokens[i]);
this.expression(tokens[i].label, scope);
}

@@ -555,3 +582,9 @@ break;

break;
case "FunctionDeclaration" :
this.process(tokens[i].body.body, scope.$new());
break;
case "SwitchCase" :
this.expression(tokens[i].test, scope);
this.process(tokens[i].statements, scope.$new());
break;
case "DefaultCase" :

@@ -645,2 +678,9 @@ this.process(tokens[i].statements, scope.$new());

instance.define("IS_OBJECT" , function (x) { return x !== null && typeof x === "object"; } , true);
instance.define("ARRAY_EXISTS" , function (arr, x) { return arr.indexOf(x) >= 0; } , true);
instance.define("ARRAY_NOT_EXISTS" , function (arr, x) { return arr.indexOf(x) === -1; } , true);
instance.define("IS_JEEFO_PROMISE" , function (x) { return x && x.type === "JEEFO_PROMISE"; } , true);
return instance;

@@ -647,0 +687,0 @@ });

/**
* jeefo_core : v0.0.6
* jeefo_core : v0.0.7
* Author : je3f0o, <je3f0o@gmail.com>

@@ -13,3 +13,3 @@ * Homepage : https://github.com/je3f0o/jeefo_core

* Created at : 2017-04-08
* Updated at : 2017-05-03
* Updated at : 2017-05-07
* Author : jeefo

@@ -20,81 +20,78 @@ * Purpose :

var core_module = jeefo.module("jeefo_core", []);
var core_module = jeefo.module("jeefo_core", []),
var _transformer = {
CAMEL_CASE_REGEXP : /[A-Z]/g,
snake_replacer : function (letter, pos) {
CAMEL_CASE_REGEXP = /[A-Z]/g,
dash_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
});
},
snake_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '_' : '') + letter.toLowerCase();
},
dash_replacer : function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
},
snake_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.snake_replacer);
},
dash_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.dash_replacer);
}
};
});
},
// TODO: move it into jeefo.js
core_module.extend("curry", ["$injector"], function ($injector) {
to_string = Object.prototype.toString,
function_to_string = Function.toString,
var make_injectable = function (factory) {
return function (name, dependencies, fn, resolve_once) {
if (typeof dependencies === "function") {
resolve_once = fn;
fn = dependencies;
dependencies = [];
} else if (typeof dependencies === "string") {
dependencies = [dependencies];
}
IS_DIGITS_SIGNED_INT = /^\-?\d+$/,
IS_DIGITS_UNSIGNED_INT = /^\d+$/,
IS_DIGITS_SIGNED_NUMBER = /^\-?\d+(?:.\d+)?$/,
IS_DIGITS_UNSIGNED_NUMNER = /^\d+(?:.\d+)?$/,
if (resolve_once === void 0) {
resolve_once = true;
}
// Used to detect host constructors (Safari > 4; really typed array specific)
HOST_CONSTRUCTOR_REGEX = /^\[object .+?Constructor\]$/,
/*
// Compile a regexp using a common native method as a template.
// We chose `Object#toString` because there's a good chance it is not being mucked with.
new RegExp('^' +
// Coerce `Object#toString` to a string
String(to_string).
// Escape any special regexp characters
replace(/[.*+?^${}()|[\]\/\\]/g, "\\$&").
// Replace mentions of `toString` with `.*?` to keep the template generic.
// Replace thing like `for ...` to support environments like Rhino which add extra info
// such as method arity.
replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + '$'
)
*/
NATIVE_REGEX = /^function.*?\(\) \{ \[native code\] \}$/,
return factory.call(this, name, {
fn : fn,
dependencies : dependencies,
resolve_once : resolve_once,
});
};
};
is_date = function (value) {
return to_string.call(value) === "[object Date]";
},
var t = _transformer;
var curry_maker = make_injectable(function (name, injectable) {
$injector.register(t.snake_case(name + "Curry"), injectable);
});
is_regex = function (value) {
return to_string.call(value) === "[object RegExp]";
},
curry_maker("makeInjectable", function () {
return make_injectable;
});
is_digits = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_NUMNER : IS_DIGITS_SIGNED_NUMBER).test(value);
},
return curry_maker;
});
is_digits_int = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_INT : IS_DIGITS_SIGNED_INT).test(value);
},
core_module.extend("run", ["$injector"], function ($injector) {
var LocalArray = Array;
return function (dependencies, fn) {
if (typeof dependencies === "function") {
return dependencies.call(this);
} else if (typeof dependencies === "string") {
return fn.call(this, $injector.resolve_sync(dependencies));
}
is_native = function (value) {
var type = typeof value;
return type === "function" ?
// Use `Function#toString` to bypass the value's own `toString` method
// and avoid being faked out.
NATIVE_REGEX.test(function_to_string.call(value)) :
// Fallback to a host object check because some environments will represent
// things like typed arrays as DOM methods which may not conform to the
// normal native pattern.
(value && type === "object" && HOST_CONSTRUCTOR_REGEX.test(to_string.call(value))) || false;
},
for (var args = new LocalArray(dependencies.length), i = args.length - 1; i >= 0; --i) {
args[i] = $injector.resolve_sync(dependencies[i]);
}
json_parse = function (value) {
try {
return JSON.parse(value);
} catch (e) {}
};
return fn.apply(this, args);
};
});
core_module.extend("namespace", ["$injector", "make_injectable_curry"], function (injector, make_injectable_curry) {
var Empty = function () {};
var object_maker = function () {
return new Empty();
};
var namespace_maker = make_injectable_curry(function (full_name, injectable) {
core_module.extend("namespace", ["$injector", "make_injectable"], function (injector, make_injectable) {
return function (full_name) {
var namespaces = full_name.split('.'),

@@ -115,5 +112,3 @@ name = namespaces.pop(),

injector.register(namespace, {
fn : object_maker,
dependencies : [],
resolve_once : true,
fn : function () { return {}; }
});

@@ -127,3 +122,3 @@

injector.register(full_name, injectable);
injector.register(full_name, make_injectable.apply(null, arguments));

@@ -134,40 +129,101 @@ if (namespace) {

}
});
var local_transformer = _transformer;
namespace_maker("transform.dash_case", function () {
return function (str) {
return local_transformer.dash_case(str);
};
});
namespace_maker("transform.snake_case", function () {
return function (str) {
return local_transformer.snake_case(str);
};
});
return this;
};
}).
return namespace_maker;
});
namespace("transform.dash_case", function () {
return dash_case;
}).
core_module.extend("factory", [
namespace("transform.snake_case", function () {
return snake_case;
}).
extend("curry", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
injector.register(snake_case(name + "Factory"), injectable);
});
});
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(name + "Curry"), make_injectable.apply(null, arguments));
return this;
};
}).
core_module.extend("service", [
extend("run", ["$injector", "$q", "Array"], function ($injector, $q, Arr) {
var instance = this;
return function (dependencies, fn) {
if (typeof dependencies === "function") {
dependencies.call(this);
} else if (typeof dependencies === "string") {
$injector.resolve(dependencies).then(function (value) {
fn.call(instance, value);
});
} else {
var args = new Arr(dependencies.length);
$q.for_each_async(dependencies, function (dependency, index, next) {
$injector.resolve(dependency).then(function (value) {
args[index] = value;
next();
});
}).then(function () {
fn.apply(instance, args);
});
}
return this;
};
}).
extend("factory", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(name + "Factory"), make_injectable.apply(null, arguments));
return this;
};
}).
extend("service", [
"$injector",
"make_injectable",
"transform.snake_case",
], function ($injector, make_injectable, snake_case) {
return function (name) {
var injectable = make_injectable.apply(null, arguments);
injectable.is_constructor = true;
injector.register(snake_case(name + "Service"), injectable);
$injector.register(snake_case(name + "Service"), injectable);
return this;
};
}).
run("$injector", function ($injector) {
$injector.register("is_date", {
fn : function () { return is_date; }
}).
register("is_regex", {
fn : function () { return is_regex; }
}).
register("is_digit", {
fn : function () { return is_digits; }
}).
register("is_digit_int", {
fn : function () { return is_digits_int; }
}).
register("is_native", {
fn : function () { return is_native; }
}).
register("json_parse", {
fn : function () { return json_parse; }
});
});
}(jeefo));
/**
* jeefo_core : v0.0.6
* jeefo_core : v0.0.7
* Author : je3f0o, <je3f0o@gmail.com>

@@ -8,2 +8,2 @@ * Homepage : https://github.com/je3f0o/jeefo_core

**/
!function(e,n,r){"use strict";var t=e.module("jeefo_core",[]),c={CAMEL_CASE_REGEXP:/[A-Z]/g,snake_replacer:function(e,n){return(n?"_":"")+e.toLowerCase()},dash_replacer:function(e,n){return(n?"-":"")+e.toLowerCase()},snake_case:function(e){return e.replace(this.CAMEL_CASE_REGEXP,this.snake_replacer)},dash_case:function(e){return e.replace(this.CAMEL_CASE_REGEXP,this.dash_replacer)}};t.extend("curry",["$injector"],function(e){var n=function(e){return function(n,r,t,c){return"function"===typeof r?(c=t,t=r,r=[]):"string"===typeof r&&(r=[r]),void 0===c&&(c=!0),e.call(this,n,{fn:t,dependencies:r,resolve_once:c})}},r=c,t=n(function(n,t){e.register(r.snake_case(n+"Curry"),t)});return t("makeInjectable",function(){return n}),t}),t.extend("run",["$injector"],function(e){var n=Array;return function(r,t){if("function"===typeof r)return r.call(this);if("string"===typeof r)return t.call(this,e.resolve_sync(r));for(var c=new n(r.length),o=c.length-1;o>=0;--o)c[o]=e.resolve_sync(r[o]);return t.apply(this,c)}}),t.extend("namespace",["$injector","make_injectable_curry"],function(e,n){var r=function(){},t=function(){return new r},o=n(function(n,r){for(var c,o,s=n.split("."),i=s.pop(),a=0,u="";a<s.length;++a)c=s[a],u&&(o=e.resolve_sync(u)),u=u?u+"."+c:c,e.has(u)||(e.register(u,{fn:t,dependencies:[],resolve_once:!0}),o&&(o[c]=e.resolve_sync(u)));e.register(n,r),u&&(o=e.resolve_sync(u),o[i]=e.resolve_sync(n))}),s=c;return o("transform.dash_case",function(){return function(e){return s.dash_case(e)}}),o("transform.snake_case",function(){return function(e){return s.snake_case(e)}}),o}),t.extend("factory",["$injector","transform.snake_case","make_injectable_curry"],function(e,n,r){return r(function(r,t){e.register(n(r+"Factory"),t)})}),t.extend("service",["$injector","transform.snake_case","make_injectable_curry"],function(e,n,r){return r(function(r,t){t.is_constructor=!0,e.register(n(r+"Service"),t)})})}(window.jeefo,window,document);
!function(n,e,t){"use strict";var r=n.module("jeefo_core",[]),i=function(n){return n.replace(/[A-Z]/g,function(n,e){return(e?"-":"")+n.toLowerCase()})},c=function(n){return n.replace(/[A-Z]/g,function(n,e){return(e?"_":"")+n.toLowerCase()})},o=Object.prototype.toString,u=Function.toString,s=/^\[object .+?Constructor\]$/,a=/^function.*?\(\) \{ \[native code\] \}$/,f=function(n){return"[object Date]"===o.call(n)},l=function(n){return"[object RegExp]"===o.call(n)},p=function(n,e){return(e?/^\d+(?:.\d+)?$/:/^\-?\d+(?:.\d+)?$/).test(n)},_=function(n,e){return(e?/^\d+$/:/^\-?\d+$/).test(n)},g=function(n){var e=typeof n;return"function"===e?a.test(u.call(n)):n&&"object"===e&&s.test(o.call(n))||!1},d=function(n){try{return JSON.parse(n)}catch(n){}};r.extend("namespace",["$injector","make_injectable"],function(n,e){return function(t){for(var r,i,c=t.split("."),o=c.pop(),u=0,s="";u<c.length;++u)r=c[u],s&&(i=n.resolve_sync(s)),s=s?s+"."+r:r,n.has(s)||(n.register(s,{fn:function(){return{}}}),i&&(i[r]=n.resolve_sync(s)));return n.register(t,e.apply(null,arguments)),s&&(i=n.resolve_sync(s),i[o]=n.resolve_sync(t)),this}}).namespace("transform.dash_case",function(){return i}).namespace("transform.snake_case",function(){return c}).extend("curry",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){return n.register(t(r+"Curry"),e.apply(null,arguments)),this}}).extend("run",["$injector","$q","Array"],function(n,e,t){var r=this;return function(i,c){if("function"===typeof i)i.call(this);else if("string"===typeof i)n.resolve(i).then(function(n){c.call(r,n)});else{var o=new t(i.length);e.for_each_async(i,function(e,t,r){n.resolve(e).then(function(n){o[t]=n,r()})}).then(function(){c.apply(r,o)})}return this}}).extend("factory",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){return n.register(t(r+"Factory"),e.apply(null,arguments)),this}}).extend("service",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){var i=e.apply(null,arguments);return i.is_constructor=!0,n.register(t(r+"Service"),i),this}}).run("$injector",function(n){n.register("is_date",{fn:function(){return f}}).register("is_regex",{fn:function(){return l}}).register("is_digit",{fn:function(){return p}}).register("is_digit_int",{fn:function(){return _}}).register("is_native",{fn:function(){return g}}).register("json_parse",{fn:function(){return d}})})}(window.jeefo,window,document);
/**
* jeefo_core : v0.0.6
* jeefo_core : v0.0.7
* Author : je3f0o, <je3f0o@gmail.com>

@@ -16,3 +16,3 @@ * Homepage : https://github.com/je3f0o/jeefo_core

* Created at : 2017-04-08
* Updated at : 2017-05-03
* Updated at : 2017-05-07
* Author : jeefo

@@ -23,81 +23,78 @@ * Purpose :

var core_module = jeefo.module("jeefo_core", []);
var core_module = jeefo.module("jeefo_core", []),
var _transformer = {
CAMEL_CASE_REGEXP : /[A-Z]/g,
snake_replacer : function (letter, pos) {
CAMEL_CASE_REGEXP = /[A-Z]/g,
dash_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
});
},
snake_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '_' : '') + letter.toLowerCase();
},
dash_replacer : function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
},
snake_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.snake_replacer);
},
dash_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.dash_replacer);
}
};
});
},
// TODO: move it into jeefo.js
core_module.extend("curry", ["$injector"], function ($injector) {
to_string = Object.prototype.toString,
function_to_string = Function.toString,
var make_injectable = function (factory) {
return function (name, dependencies, fn, resolve_once) {
if (typeof dependencies === "function") {
resolve_once = fn;
fn = dependencies;
dependencies = [];
} else if (typeof dependencies === "string") {
dependencies = [dependencies];
}
IS_DIGITS_SIGNED_INT = /^\-?\d+$/,
IS_DIGITS_UNSIGNED_INT = /^\d+$/,
IS_DIGITS_SIGNED_NUMBER = /^\-?\d+(?:.\d+)?$/,
IS_DIGITS_UNSIGNED_NUMNER = /^\d+(?:.\d+)?$/,
if (resolve_once === void 0) {
resolve_once = true;
}
// Used to detect host constructors (Safari > 4; really typed array specific)
HOST_CONSTRUCTOR_REGEX = /^\[object .+?Constructor\]$/,
/*
// Compile a regexp using a common native method as a template.
// We chose `Object#toString` because there's a good chance it is not being mucked with.
new RegExp('^' +
// Coerce `Object#toString` to a string
String(to_string).
// Escape any special regexp characters
replace(/[.*+?^${}()|[\]\/\\]/g, "\\$&").
// Replace mentions of `toString` with `.*?` to keep the template generic.
// Replace thing like `for ...` to support environments like Rhino which add extra info
// such as method arity.
replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + '$'
)
*/
NATIVE_REGEX = /^function.*?\(\) \{ \[native code\] \}$/,
return factory.call(this, name, {
fn : fn,
dependencies : dependencies,
resolve_once : resolve_once,
});
};
};
is_date = function (value) {
return to_string.call(value) === "[object Date]";
},
var t = _transformer;
var curry_maker = make_injectable(function (name, injectable) {
$injector.register(t.snake_case(name + "Curry"), injectable);
});
is_regex = function (value) {
return to_string.call(value) === "[object RegExp]";
},
curry_maker("makeInjectable", function () {
return make_injectable;
});
is_digits = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_NUMNER : IS_DIGITS_SIGNED_NUMBER).test(value);
},
return curry_maker;
});
is_digits_int = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_INT : IS_DIGITS_SIGNED_INT).test(value);
},
core_module.extend("run", ["$injector"], function ($injector) {
var LocalArray = Array;
return function (dependencies, fn) {
if (typeof dependencies === "function") {
return dependencies.call(this);
} else if (typeof dependencies === "string") {
return fn.call(this, $injector.resolve_sync(dependencies));
}
is_native = function (value) {
var type = typeof value;
return type === "function" ?
// Use `Function#toString` to bypass the value's own `toString` method
// and avoid being faked out.
NATIVE_REGEX.test(function_to_string.call(value)) :
// Fallback to a host object check because some environments will represent
// things like typed arrays as DOM methods which may not conform to the
// normal native pattern.
(value && type === "object" && HOST_CONSTRUCTOR_REGEX.test(to_string.call(value))) || false;
},
for (var args = new LocalArray(dependencies.length), i = args.length - 1; i >= 0; --i) {
args[i] = $injector.resolve_sync(dependencies[i]);
}
json_parse = function (value) {
try {
return JSON.parse(value);
} catch (e) {}
};
return fn.apply(this, args);
};
});
core_module.extend("namespace", ["$injector", "make_injectable_curry"], function (injector, make_injectable_curry) {
var Empty = function () {};
var object_maker = function () {
return new Empty();
};
var namespace_maker = make_injectable_curry(function (full_name, injectable) {
core_module.extend("namespace", ["$injector", "make_injectable"], function (injector, make_injectable) {
return function (full_name) {
var namespaces = full_name.split('.'),

@@ -118,5 +115,3 @@ name = namespaces.pop(),

injector.register(namespace, {
fn : object_maker,
dependencies : [],
resolve_once : true,
fn : function () { return {}; }
});

@@ -130,3 +125,3 @@

injector.register(full_name, injectable);
injector.register(full_name, make_injectable.apply(null, arguments));

@@ -137,42 +132,103 @@ if (namespace) {

}
});
var local_transformer = _transformer;
namespace_maker("transform.dash_case", function () {
return function (str) {
return local_transformer.dash_case(str);
};
});
namespace_maker("transform.snake_case", function () {
return function (str) {
return local_transformer.snake_case(str);
};
});
return this;
};
}).
return namespace_maker;
});
namespace("transform.dash_case", function () {
return dash_case;
}).
core_module.extend("factory", [
namespace("transform.snake_case", function () {
return snake_case;
}).
extend("curry", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
injector.register(snake_case(name + "Factory"), injectable);
});
});
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(name + "Curry"), make_injectable.apply(null, arguments));
return this;
};
}).
core_module.extend("service", [
extend("run", ["$injector", "$q", "Array"], function ($injector, $q, Arr) {
var instance = this;
return function (dependencies, fn) {
if (typeof dependencies === "function") {
dependencies.call(this);
} else if (typeof dependencies === "string") {
$injector.resolve(dependencies).then(function (value) {
fn.call(instance, value);
});
} else {
var args = new Arr(dependencies.length);
$q.for_each_async(dependencies, function (dependency, index, next) {
$injector.resolve(dependency).then(function (value) {
args[index] = value;
next();
});
}).then(function () {
fn.apply(instance, args);
});
}
return this;
};
}).
extend("factory", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(name + "Factory"), make_injectable.apply(null, arguments));
return this;
};
}).
extend("service", [
"$injector",
"make_injectable",
"transform.snake_case",
], function ($injector, make_injectable, snake_case) {
return function (name) {
var injectable = make_injectable.apply(null, arguments);
injectable.is_constructor = true;
injector.register(snake_case(name + "Service"), injectable);
$injector.register(snake_case(name + "Service"), injectable);
return this;
};
}).
run("$injector", function ($injector) {
$injector.register("is_date", {
fn : function () { return is_date; }
}).
register("is_regex", {
fn : function () { return is_regex; }
}).
register("is_digit", {
fn : function () { return is_digits; }
}).
register("is_digit_int", {
fn : function () { return is_digits_int; }
}).
register("is_native", {
fn : function () { return is_native; }
}).
register("json_parse", {
fn : function () { return json_parse; }
});
});
return jeefo;
return jeefo
};
/**
* jeefo_core : v0.0.6
* jeefo_core : v0.0.7
* Author : je3f0o, <je3f0o@gmail.com>

@@ -8,2 +8,2 @@ * Homepage : https://github.com/je3f0o/jeefo_core

**/
"use strict";module.exports=function(e){var n=e.module("jeefo_core",[]),r={CAMEL_CASE_REGEXP:/[A-Z]/g,snake_replacer:function(e,n){return(n?"_":"")+e.toLowerCase()},dash_replacer:function(e,n){return(n?"-":"")+e.toLowerCase()},snake_case:function(e){return e.replace(this.CAMEL_CASE_REGEXP,this.snake_replacer)},dash_case:function(e){return e.replace(this.CAMEL_CASE_REGEXP,this.dash_replacer)}};return n.extend("curry",["$injector"],function(e){var n=function(e){return function(n,r,t,c){return"function"===typeof r?(c=t,t=r,r=[]):"string"===typeof r&&(r=[r]),void 0===c&&(c=!0),e.call(this,n,{fn:t,dependencies:r,resolve_once:c})}},t=r,c=n(function(n,r){e.register(t.snake_case(n+"Curry"),r)});return c("makeInjectable",function(){return n}),c}),n.extend("run",["$injector"],function(e){var n=Array;return function(r,t){if("function"===typeof r)return r.call(this);if("string"===typeof r)return t.call(this,e.resolve_sync(r));for(var c=new n(r.length),s=c.length-1;s>=0;--s)c[s]=e.resolve_sync(r[s]);return t.apply(this,c)}}),n.extend("namespace",["$injector","make_injectable_curry"],function(e,n){var t=function(){},c=function(){return new t},s=n(function(n,r){for(var t,s,o=n.split("."),i=o.pop(),a=0,u="";a<o.length;++a)t=o[a],u&&(s=e.resolve_sync(u)),u=u?u+"."+t:t,e.has(u)||(e.register(u,{fn:c,dependencies:[],resolve_once:!0}),s&&(s[t]=e.resolve_sync(u)));e.register(n,r),u&&(s=e.resolve_sync(u),s[i]=e.resolve_sync(n))}),o=r;return s("transform.dash_case",function(){return function(e){return o.dash_case(e)}}),s("transform.snake_case",function(){return function(e){return o.snake_case(e)}}),s}),n.extend("factory",["$injector","transform.snake_case","make_injectable_curry"],function(e,n,r){return r(function(r,t){e.register(n(r+"Factory"),t)})}),n.extend("service",["$injector","transform.snake_case","make_injectable_curry"],function(e,n,r){return r(function(r,t){t.is_constructor=!0,e.register(n(r+"Service"),t)})}),e};
"use strict";module.exports=function(n){var e=n.module("jeefo_core",[]),t=function(n){return n.replace(/[A-Z]/g,function(n,e){return(e?"-":"")+n.toLowerCase()})},r=function(n){return n.replace(/[A-Z]/g,function(n,e){return(e?"_":"")+n.toLowerCase()})},c=Object.prototype.toString,i=Function.toString,o=/^\[object .+?Constructor\]$/,u=/^function.*?\(\) \{ \[native code\] \}$/,s=function(n){return"[object Date]"===c.call(n)},a=function(n){return"[object RegExp]"===c.call(n)},f=function(n,e){return(e?/^\d+(?:.\d+)?$/:/^\-?\d+(?:.\d+)?$/).test(n)},l=function(n,e){return(e?/^\d+$/:/^\-?\d+$/).test(n)},p=function(n){var e=typeof n;return"function"===e?u.test(i.call(n)):n&&"object"===e&&o.test(c.call(n))||!1},_=function(n){try{return JSON.parse(n)}catch(n){}};return e.extend("namespace",["$injector","make_injectable"],function(n,e){return function(t){for(var r,c,i=t.split("."),o=i.pop(),u=0,s="";u<i.length;++u)r=i[u],s&&(c=n.resolve_sync(s)),s=s?s+"."+r:r,n.has(s)||(n.register(s,{fn:function(){return{}}}),c&&(c[r]=n.resolve_sync(s)));return n.register(t,e.apply(null,arguments)),s&&(c=n.resolve_sync(s),c[o]=n.resolve_sync(t)),this}}).namespace("transform.dash_case",function(){return t}).namespace("transform.snake_case",function(){return r}).extend("curry",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){return n.register(t(r+"Curry"),e.apply(null,arguments)),this}}).extend("run",["$injector","$q","Array"],function(n,e,t){var r=this;return function(c,i){if("function"===typeof c)c.call(this);else if("string"===typeof c)n.resolve(c).then(function(n){i.call(r,n)});else{var o=new t(c.length);e.for_each_async(c,function(e,t,r){n.resolve(e).then(function(n){o[t]=n,r()})}).then(function(){i.apply(r,o)})}return this}}).extend("factory",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){return n.register(t(r+"Factory"),e.apply(null,arguments)),this}}).extend("service",["$injector","make_injectable","transform.snake_case"],function(n,e,t){return function(r){var c=e.apply(null,arguments);return c.is_constructor=!0,n.register(t(r+"Service"),c),this}}).run("$injector",function(n){n.register("is_date",{fn:function(){return s}}).register("is_regex",{fn:function(){return a}}).register("is_digit",{fn:function(){return f}}).register("is_digit_int",{fn:function(){return l}}).register("is_native",{fn:function(){return p}}).register("json_parse",{fn:function(){return _}})}),n};
{
"name": "jeefo_core",
"version": "0.0.6",
"version": "0.0.7",
"homepage": "https://github.com/je3f0o/jeefo_core",

@@ -30,3 +30,3 @@ "description": "jeefo core",

"dependencies": {
"jeefo": "0.0.8"
"jeefo": "^0.0.9"
},

@@ -33,0 +33,0 @@ "uglify_config": {

/* -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
* File Name : core.js
* Created at : 2017-04-08
* Updated at : 2017-05-03
* Updated at : 2017-05-07
* Author : jeefo

@@ -12,88 +12,92 @@ * Purpose :

var jeefo = require("jeefo");
/* globals IS_FUNCTION, IS_STRING, IS_UNDEFINED */
/* globals -IS_FUNCTION, -IS_STRING */
/* exported */
var IS_FUNCTION = function (x) {
return typeof x === "function";
};
var IS_STRING = function (x) {
return typeof x === "string";
};
module.exports = function (jeefo) {
//ignore:end
var core_module = jeefo.module("jeefo_core", []);
var core_module = jeefo.module("jeefo_core", []),
var _transformer = {
CAMEL_CASE_REGEXP : /[A-Z]/g,
snake_replacer : function (letter, pos) {
CAMEL_CASE_REGEXP = /[A-Z]/g,
dash_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
});
},
snake_case = function (str) {
return str.replace(CAMEL_CASE_REGEXP, function (letter, pos) {
return (pos ? '_' : '') + letter.toLowerCase();
},
dash_replacer : function (letter, pos) {
return (pos ? '-' : '') + letter.toLowerCase();
},
snake_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.snake_replacer);
},
dash_case : function (str) {
return str.replace(this.CAMEL_CASE_REGEXP, this.dash_replacer);
}
};
});
},
// TODO: move it into jeefo.js
core_module.extend("curry", ["$injector"], function ($injector) {
to_string = Object.prototype.toString,
function_to_string = Function.toString,
var make_injectable = function (factory) {
return function (name, dependencies, fn, resolve_once) {
if (IS_FUNCTION(dependencies)) {
resolve_once = fn;
fn = dependencies;
dependencies = [];
} else if (IS_STRING(dependencies)) {
dependencies = [dependencies];
}
IS_DIGITS_SIGNED_INT = /^\-?\d+$/,
IS_DIGITS_UNSIGNED_INT = /^\d+$/,
IS_DIGITS_SIGNED_NUMBER = /^\-?\d+(?:.\d+)?$/,
IS_DIGITS_UNSIGNED_NUMNER = /^\d+(?:.\d+)?$/,
if (IS_UNDEFINED(resolve_once)) {
resolve_once = true;
}
// Used to detect host constructors (Safari > 4; really typed array specific)
HOST_CONSTRUCTOR_REGEX = /^\[object .+?Constructor\]$/,
/*
// Compile a regexp using a common native method as a template.
// We chose `Object#toString` because there's a good chance it is not being mucked with.
new RegExp('^' +
// Coerce `Object#toString` to a string
String(to_string).
// Escape any special regexp characters
replace(/[.*+?^${}()|[\]\/\\]/g, "\\$&").
// Replace mentions of `toString` with `.*?` to keep the template generic.
// Replace thing like `for ...` to support environments like Rhino which add extra info
// such as method arity.
replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + '$'
)
*/
NATIVE_REGEX = /^function.*?\(\) \{ \[native code\] \}$/,
return factory.call(this, name, {
fn : fn,
dependencies : dependencies,
resolve_once : resolve_once,
});
};
};
is_date = function (value) {
return to_string.call(value) === "[object Date]";
},
var t = _transformer;
var curry_maker = make_injectable(function (name, injectable) {
$injector.register(t.snake_case(`${ name }Curry`), injectable);
});
is_regex = function (value) {
return to_string.call(value) === "[object RegExp]";
},
curry_maker("makeInjectable", function () {
return make_injectable;
});
is_digits = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_NUMNER : IS_DIGITS_SIGNED_NUMBER).test(value);
},
return curry_maker;
});
is_digits_int = function (value, is_unsigned) {
return (is_unsigned ? IS_DIGITS_UNSIGNED_INT : IS_DIGITS_SIGNED_INT).test(value);
},
core_module.extend("run", ["$injector"], function ($injector) {
var LocalArray = Array;
return function (dependencies, fn) {
if (IS_FUNCTION(dependencies)) {
return dependencies.call(this);
} else if (IS_STRING(dependencies)) {
return fn.call(this, $injector.resolve_sync(dependencies));
}
is_native = function (value) {
var type = typeof value;
return type === "function" ?
// Use `Function#toString` to bypass the value's own `toString` method
// and avoid being faked out.
NATIVE_REGEX.test(function_to_string.call(value)) :
// Fallback to a host object check because some environments will represent
// things like typed arrays as DOM methods which may not conform to the
// normal native pattern.
(value && type === "object" && HOST_CONSTRUCTOR_REGEX.test(to_string.call(value))) || false;
},
for (var args = new LocalArray(dependencies.length), i = args.length - 1; i >= 0; --i) {
args[i] = $injector.resolve_sync(dependencies[i]);
}
json_parse = function (value) {
try {
return JSON.parse(value);
} catch (e) {}
};
return fn.apply(this, args);
};
});
core_module.extend("namespace", ["$injector", "make_injectable_curry"], function (injector, make_injectable_curry) {
var Empty = function () {};
var object_maker = function () {
return new Empty();
};
var namespace_maker = make_injectable_curry(function (full_name, injectable) {
core_module.extend("namespace", ["$injector", "make_injectable"], function (injector, make_injectable) {
return function (full_name) {
var namespaces = full_name.split('.'),

@@ -114,5 +118,3 @@ name = namespaces.pop(),

injector.register(namespace, {
fn : object_maker,
dependencies : [],
resolve_once : true,
fn : function () { return {}; }
});

@@ -126,3 +128,3 @@

injector.register(full_name, injectable);
injector.register(full_name, make_injectable.apply(null, arguments));

@@ -133,38 +135,108 @@ if (namespace) {

}
});
var local_transformer = _transformer;
namespace_maker("transform.dash_case", function () {
return function (str) {
return local_transformer.dash_case(str);
};
});
namespace_maker("transform.snake_case", function () {
return function (str) {
return local_transformer.snake_case(str);
};
});
return this;
};
}).
return namespace_maker;
});
namespace("transform.dash_case", function () {
return dash_case;
}).
core_module.extend("factory", [
namespace("transform.snake_case", function () {
return snake_case;
}).
extend("curry", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
injector.register(snake_case(`${ name }Factory`), injectable);
});
});
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(`${ name }Curry`), make_injectable.apply(null, arguments));
return this;
};
}).
core_module.extend("service", [
extend("run", ["$injector", "$q", "Array"], function ($injector, $q, Arr) {
var instance = this;
return function (dependencies, fn) {
if (IS_FUNCTION(dependencies)) {
dependencies.call(this);
} else if (IS_STRING(dependencies)) {
$injector.resolve(dependencies).then(function (value) {
fn.call(instance, value);
});
} else {
var args = new Arr(dependencies.length);
$q.for_each_async(dependencies, function (dependency, index, next) {
$injector.resolve(dependency).then(function (value) {
args[index] = value;
next();
});
}).then(function () {
fn.apply(instance, args);
});
}
return this;
};
}).
extend("factory", [
"$injector",
"make_injectable",
"transform.snake_case",
"make_injectable_curry",
], function (injector, snake_case, make_injectable_curry) {
return make_injectable_curry(function (name, injectable) {
], function ($injector, make_injectable, snake_case) {
return function (name) {
$injector.register(snake_case(`${ name }Factory`), make_injectable.apply(null, arguments));
return this;
};
}).
extend("service", [
"$injector",
"make_injectable",
"transform.snake_case",
], function ($injector, make_injectable, snake_case) {
return function (name) {
var injectable = make_injectable.apply(null, arguments);
injectable.is_constructor = true;
injector.register(snake_case(`${ name }Service`), injectable);
$injector.register(snake_case(`${ name }Service`), injectable);
return this;
};
}).
run("$injector", function ($injector) {
$injector.register("is_date", {
fn : function () { return is_date; }
}).
register("is_regex", {
fn : function () { return is_regex; }
}).
register("is_digit", {
fn : function () { return is_digits; }
}).
register("is_digit_int", {
fn : function () { return is_digits_int; }
}).
register("is_native", {
fn : function () { return is_native; }
}).
register("json_parse", {
fn : function () { return json_parse; }
});
});
// ignore:start
};
var jeefo = require("jeefo").create();
jeefo.use(module.exports);
// ignore:end

Sorry, the diff of this file is not supported yet

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