expression-eval
Advanced tools
Comparing version 3.0.4 to 3.1.0
@@ -1,2 +0,2 @@ | ||
var e,r=(e=require("jsep"))&&"object"==typeof e&&"default"in e?e.default:e,n=function(e,r){try{var s=!1;function c(){if("function"==typeof l){var n=l,t=n.apply,u=a;return Promise.resolve(o(e.arguments,r)).then(function(e){return Promise.resolve(t.call(n,u,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(o(e.elements,r));case"BinaryExpression":return Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(t(e.callee,r)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(n(e.callee,r)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(n(e.test,r)).then(function(t){return Promise.resolve(n(t?e.consequent:e.alternate,r))});case"Identifier":return Promise.resolve(r[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(t){return s?t:Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t||Promise.resolve(n(e.right,r))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t?Promise.resolve(n(e.right,r)):t})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(t(e,r)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(r);case"UnaryExpression":var h=i[e.operator];return Promise.resolve(n(e.argument,r)).then(function(e){return h.call(i,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},t=function(e,r){try{return Promise.resolve(n(e.object,r)).then(function(t){return e.computed?Promise.resolve(n(e.property,r)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},o=function(e,r){try{return Promise.resolve(Promise.all(e.map(function(e){return n(e,r)})))}catch(e){return Promise.reject(e)}},u={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},i={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function s(e,r){return e.map(function(e){return a(e,r)})}function c(e,r){var n=a(e.object,r);return e.computed?[n,n[a(e.property,r)]]:[n,n[e.property.name]]}function a(e,r){switch(e.type){case"ArrayExpression":return s(e.elements,r);case"BinaryExpression":return u[e.operator](a(e.left,r),a(e.right,r));case"CallExpression":var n,t,o;if("MemberExpression"===e.callee.type?(n=(o=c(e.callee,r))[0],t=o[1]):t=a(e.callee,r),"function"!=typeof t)return;return t.apply(n,s(e.arguments,r));case"ConditionalExpression":return a(e.test,r)?a(e.consequent,r):a(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?a(e.left,r)||a(e.right,r):"&&"===e.operator?a(e.left,r)&&a(e.right,r):u[e.operator](a(e.left,r),a(e.right,r));case"MemberExpression":return c(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return i[e.operator](a(e.argument,r));default:return}}exports.parse=r,exports.eval=a,exports.evalAsync=n,exports.compile=function(e){return a.bind(null,r(e))},exports.compileAsync=function(e){return n.bind(null,r(e))}; | ||
var e,r=(e=require("jsep"))&&"object"==typeof e&&"default"in e?e.default:e,n=function(e,r){try{var s=!1;function c(){if("function"==typeof l){var n=l,t=n.apply,u=a;return Promise.resolve(o(e.arguments,r)).then(function(e){return Promise.resolve(t.call(n,u,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(o(e.elements,r));case"BinaryExpression":return Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(t(e.callee,r)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(n(e.callee,r)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(n(e.test,r)).then(function(t){return Promise.resolve(n(t?e.consequent:e.alternate,r))});case"Identifier":return Promise.resolve(r[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(t){return s?t:Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t||Promise.resolve(n(e.right,r))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t?Promise.resolve(n(e.right,r)):t})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(t(e,r)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(r);case"UnaryExpression":var h=i[e.operator];return Promise.resolve(n(e.argument,r)).then(function(e){return h.call(i,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},t=function(e,r){try{return Promise.resolve(n(e.object,r)).then(function(t){return e.computed?Promise.resolve(n(e.property,r)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},o=function(e,r){try{return Promise.resolve(Promise.all(e.map(function(e){return n(e,r)})))}catch(e){return Promise.reject(e)}},u={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},i={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function s(e,r){return e.map(function(e){return a(e,r)})}function c(e,r){var n=a(e.object,r);return e.computed?[n,n[a(e.property,r)]]:[n,n[e.property.name]]}function a(e,r){switch(e.type){case"ArrayExpression":return s(e.elements,r);case"BinaryExpression":return u[e.operator](a(e.left,r),a(e.right,r));case"CallExpression":var n,t,o;if("MemberExpression"===e.callee.type?(n=(o=c(e.callee,r))[0],t=o[1]):t=a(e.callee,r),"function"!=typeof t)return;return t.apply(n,s(e.arguments,r));case"ConditionalExpression":return a(e.test,r)?a(e.consequent,r):a(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?a(e.left,r)||a(e.right,r):"&&"===e.operator?a(e.left,r)&&a(e.right,r):u[e.operator](a(e.left,r),a(e.right,r));case"MemberExpression":return c(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return i[e.operator](a(e.argument,r));default:return}}exports.parse=r,exports.eval=a,exports.evalAsync=n,exports.compile=function(e){return a.bind(null,r(e))},exports.compileAsync=function(e){return n.bind(null,r(e))},exports.addUnaryOp=function(e,n){r.addUnaryOp(e),i[e]=n},exports.addBinaryOp=function(e,n){r.addBinaryOp(e),u[e]=n}; | ||
//# sourceMappingURL=expression-eval.js.map |
@@ -1,2 +0,2 @@ | ||
import e from"jsep";export{default as parse}from"jsep";var r=function(e,i){try{var s=!1;function c(){if("function"==typeof l){var r=l,n=r.apply,o=a;return Promise.resolve(t(e.arguments,i)).then(function(e){return Promise.resolve(n.call(r,o,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(t(e.elements,i));case"BinaryExpression":return Promise.resolve(Promise.all([r(e.left,i),r(e.right,i)])).then(function(r){return o[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(n(e.callee,i)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(r(e.callee,i)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(r(e.test,i)).then(function(n){return Promise.resolve(r(n?e.consequent:e.alternate,i))});case"Identifier":return Promise.resolve(i[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(n){return s?n:Promise.resolve(Promise.all([r(e.left,i),r(e.right,i)])).then(function(r){return o[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(r(e.left,i)).then(function(n){return n||Promise.resolve(r(e.right,i))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(r(e.left,i)).then(function(n){return n?Promise.resolve(r(e.right,i)):n})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(n(e,i)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(i);case"UnaryExpression":var h=u[e.operator];return Promise.resolve(r(e.argument,i)).then(function(e){return h.call(u,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},n=function(e,n){try{return Promise.resolve(r(e.object,n)).then(function(t){return e.computed?Promise.resolve(r(e.property,n)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},t=function(e,n){try{return Promise.resolve(Promise.all(e.map(function(e){return r(e,n)})))}catch(e){return Promise.reject(e)}},o={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},u={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function i(e,r){return e.map(function(e){return c(e,r)})}function s(e,r){var n=c(e.object,r);return e.computed?[n,n[c(e.property,r)]]:[n,n[e.property.name]]}function c(e,r){switch(e.type){case"ArrayExpression":return i(e.elements,r);case"BinaryExpression":return o[e.operator](c(e.left,r),c(e.right,r));case"CallExpression":var n,t,a;if("MemberExpression"===e.callee.type?(n=(a=s(e.callee,r))[0],t=a[1]):t=c(e.callee,r),"function"!=typeof t)return;return t.apply(n,i(e.arguments,r));case"ConditionalExpression":return c(e.test,r)?c(e.consequent,r):c(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?c(e.left,r)||c(e.right,r):"&&"===e.operator?c(e.left,r)&&c(e.right,r):o[e.operator](c(e.left,r),c(e.right,r));case"MemberExpression":return s(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return u[e.operator](c(e.argument,r));default:return}}function a(r){return c.bind(null,e(r))}function l(n){return r.bind(null,e(n))}export{c as eval,r as evalAsync,a as compile,l as compileAsync}; | ||
import e from"jsep";export{default as parse}from"jsep";var r=function(e,i){try{var s=!1;function c(){if("function"==typeof l){var r=l,n=r.apply,o=a;return Promise.resolve(t(e.arguments,i)).then(function(e){return Promise.resolve(n.call(r,o,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(t(e.elements,i));case"BinaryExpression":return Promise.resolve(Promise.all([r(e.left,i),r(e.right,i)])).then(function(r){return o[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(n(e.callee,i)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(r(e.callee,i)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(r(e.test,i)).then(function(n){return Promise.resolve(r(n?e.consequent:e.alternate,i))});case"Identifier":return Promise.resolve(i[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(n){return s?n:Promise.resolve(Promise.all([r(e.left,i),r(e.right,i)])).then(function(r){return o[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(r(e.left,i)).then(function(n){return n||Promise.resolve(r(e.right,i))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(r(e.left,i)).then(function(n){return n?Promise.resolve(r(e.right,i)):n})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(n(e,i)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(i);case"UnaryExpression":var h=u[e.operator];return Promise.resolve(r(e.argument,i)).then(function(e){return h.call(u,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},n=function(e,n){try{return Promise.resolve(r(e.object,n)).then(function(t){return e.computed?Promise.resolve(r(e.property,n)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},t=function(e,n){try{return Promise.resolve(Promise.all(e.map(function(e){return r(e,n)})))}catch(e){return Promise.reject(e)}},o={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},u={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function i(e,r){return e.map(function(e){return c(e,r)})}function s(e,r){var n=c(e.object,r);return e.computed?[n,n[c(e.property,r)]]:[n,n[e.property.name]]}function c(e,r){switch(e.type){case"ArrayExpression":return i(e.elements,r);case"BinaryExpression":return o[e.operator](c(e.left,r),c(e.right,r));case"CallExpression":var n,t,a;if("MemberExpression"===e.callee.type?(n=(a=s(e.callee,r))[0],t=a[1]):t=c(e.callee,r),"function"!=typeof t)return;return t.apply(n,i(e.arguments,r));case"ConditionalExpression":return c(e.test,r)?c(e.consequent,r):c(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?c(e.left,r)||c(e.right,r):"&&"===e.operator?c(e.left,r)&&c(e.right,r):o[e.operator](c(e.left,r),c(e.right,r));case"MemberExpression":return s(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return u[e.operator](c(e.argument,r));default:return}}function a(r){return c.bind(null,e(r))}function l(n){return r.bind(null,e(n))}function f(r,n){e.addUnaryOp(r),u[r]=n}function p(r,n){e.addBinaryOp(r),o[r]=n}export{c as eval,r as evalAsync,a as compile,l as compileAsync,f as addUnaryOp,p as addBinaryOp}; | ||
//# sourceMappingURL=expression-eval.module.js.map |
@@ -1,2 +0,2 @@ | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("jsep")):"function"==typeof define&&define.amd?define(["exports","jsep"],r):r(e.expressionEval={},e.jsep)}(this,function(e,r){r=r&&r.hasOwnProperty("default")?r.default:r;var n=function(e,r){try{var s=!1;function c(){if("function"==typeof l){var n=l,t=n.apply,u=a;return Promise.resolve(o(e.arguments,r)).then(function(e){return Promise.resolve(t.call(n,u,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(o(e.elements,r));case"BinaryExpression":return Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(t(e.callee,r)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(n(e.callee,r)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(n(e.test,r)).then(function(t){return Promise.resolve(n(t?e.consequent:e.alternate,r))});case"Identifier":return Promise.resolve(r[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(t){return s?t:Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return u[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t||Promise.resolve(n(e.right,r))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t?Promise.resolve(n(e.right,r)):t})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(t(e,r)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(r);case"UnaryExpression":var h=i[e.operator];return Promise.resolve(n(e.argument,r)).then(function(e){return h.call(i,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},t=function(e,r){try{return Promise.resolve(n(e.object,r)).then(function(t){return e.computed?Promise.resolve(n(e.property,r)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},o=function(e,r){try{return Promise.resolve(Promise.all(e.map(function(e){return n(e,r)})))}catch(e){return Promise.reject(e)}},u={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},i={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function s(e,r){return e.map(function(e){return a(e,r)})}function c(e,r){var n=a(e.object,r);return e.computed?[n,n[a(e.property,r)]]:[n,n[e.property.name]]}function a(e,r){switch(e.type){case"ArrayExpression":return s(e.elements,r);case"BinaryExpression":return u[e.operator](a(e.left,r),a(e.right,r));case"CallExpression":var n,t,o;if("MemberExpression"===e.callee.type?(n=(o=c(e.callee,r))[0],t=o[1]):t=a(e.callee,r),"function"!=typeof t)return;return t.apply(n,s(e.arguments,r));case"ConditionalExpression":return a(e.test,r)?a(e.consequent,r):a(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?a(e.left,r)||a(e.right,r):"&&"===e.operator?a(e.left,r)&&a(e.right,r):u[e.operator](a(e.left,r),a(e.right,r));case"MemberExpression":return c(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return i[e.operator](a(e.argument,r));default:return}}e.parse=r,e.eval=a,e.evalAsync=n,e.compile=function(e){return a.bind(null,r(e))},e.compileAsync=function(e){return n.bind(null,r(e))}}); | ||
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("jsep")):"function"==typeof define&&define.amd?define(["exports","jsep"],r):r(e.expressionEval={},e.jsep)}(this,function(e,r){r=r&&r.hasOwnProperty("default")?r.default:r;var n=function(e,r){try{var s=!1;function c(){if("function"==typeof l){var n=l,t=n.apply,i=a;return Promise.resolve(o(e.arguments,r)).then(function(e){return Promise.resolve(t.call(n,i,e))})}}switch(e.type){case"ArrayExpression":return Promise.resolve(o(e.elements,r));case"BinaryExpression":return Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return i[e.operator](r[0],r[1])});case"CallExpression":var a,l,f,p="MemberExpression"===e.callee.type?Promise.resolve(t(e.callee,r)).then(function(e){a=(f=e)[0],l=f[1]}):Promise.resolve(n(e.callee,r)).then(function(e){l=e});return Promise.resolve(p&&p.then?p.then(c):c());case"ConditionalExpression":return Promise.resolve(n(e.test,r)).then(function(t){return Promise.resolve(n(t?e.consequent:e.alternate,r))});case"Identifier":return Promise.resolve(r[e.name]);case"Literal":return Promise.resolve(e.value);case"LogicalExpression":{function m(t){return s?t:Promise.resolve(Promise.all([n(e.left,r),n(e.right,r)])).then(function(r){return i[e.operator](r[0],r[1])})}var v="||"===e.operator?(s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t||Promise.resolve(n(e.right,r))})):function(){if("&&"===e.operator)return s=!0,Promise.resolve(n(e.left,r)).then(function(t){return t?Promise.resolve(n(e.right,r)):t})}();return Promise.resolve(v&&v.then?v.then(m):m(v))}case"MemberExpression":return Promise.resolve(t(e,r)).then(function(e){return e[1]});case"ThisExpression":return Promise.resolve(r);case"UnaryExpression":var h=u[e.operator];return Promise.resolve(n(e.argument,r)).then(function(e){return h.call(u,e)});default:return Promise.resolve(void 0)}}catch(e){return Promise.reject(e)}},t=function(e,r){try{return Promise.resolve(n(e.object,r)).then(function(t){return e.computed?Promise.resolve(n(e.property,r)).then(function(e){return[t,t[e]]}):[t,t[e.property.name]]})}catch(e){return Promise.reject(e)}},o=function(e,r){try{return Promise.resolve(Promise.all(e.map(function(e){return n(e,r)})))}catch(e){return Promise.reject(e)}},i={"||":function(e,r){return e||r},"&&":function(e,r){return e&&r},"|":function(e,r){return e|r},"^":function(e,r){return e^r},"&":function(e,r){return e&r},"==":function(e,r){return e==r},"!=":function(e,r){return e!=r},"===":function(e,r){return e===r},"!==":function(e,r){return e!==r},"<":function(e,r){return e<r},">":function(e,r){return e>r},"<=":function(e,r){return e<=r},">=":function(e,r){return e>=r},"<<":function(e,r){return e<<r},">>":function(e,r){return e>>r},">>>":function(e,r){return e>>>r},"+":function(e,r){return e+r},"-":function(e,r){return e-r},"*":function(e,r){return e*r},"/":function(e,r){return e/r},"%":function(e,r){return e%r}},u={"-":function(e){return-e},"+":function(e){return+e},"~":function(e){return~e},"!":function(e){return!e}};function s(e,r){return e.map(function(e){return a(e,r)})}function c(e,r){var n=a(e.object,r);return e.computed?[n,n[a(e.property,r)]]:[n,n[e.property.name]]}function a(e,r){switch(e.type){case"ArrayExpression":return s(e.elements,r);case"BinaryExpression":return i[e.operator](a(e.left,r),a(e.right,r));case"CallExpression":var n,t,o;if("MemberExpression"===e.callee.type?(n=(o=c(e.callee,r))[0],t=o[1]):t=a(e.callee,r),"function"!=typeof t)return;return t.apply(n,s(e.arguments,r));case"ConditionalExpression":return a(e.test,r)?a(e.consequent,r):a(e.alternate,r);case"Identifier":return r[e.name];case"Literal":return e.value;case"LogicalExpression":return"||"===e.operator?a(e.left,r)||a(e.right,r):"&&"===e.operator?a(e.left,r)&&a(e.right,r):i[e.operator](a(e.left,r),a(e.right,r));case"MemberExpression":return c(e,r)[1];case"ThisExpression":return r;case"UnaryExpression":return u[e.operator](a(e.argument,r));default:return}}e.parse=r,e.eval=a,e.evalAsync=n,e.compile=function(e){return a.bind(null,r(e))},e.compileAsync=function(e){return n.bind(null,r(e))},e.addUnaryOp=function(e,n){r.addUnaryOp(e),u[e]=n},e.addBinaryOp=function(e,n){r.addBinaryOp(e),i[e]=n}}); | ||
//# sourceMappingURL=expression-eval.umd.js.map |
@@ -7,3 +7,13 @@ import * as jsep from 'jsep'; | ||
declare function evaluateAsync(node: jsep.Expression, context: object): Promise<any>; | ||
declare function addUnaryOp(op: string, (a: any) => any): void; | ||
declare function addBinaryOp(op: string, (a: any, b: any) => any): void; | ||
export { compile, compileAsync, jsep as parse, evaluate as eval, evaluateAsync as evalAsync }; | ||
export { | ||
compile, | ||
compileAsync, | ||
jsep as parse, | ||
evaluate as eval, | ||
evaluateAsync as evalAsync, | ||
addUnaryOp, | ||
addBinaryOp, | ||
}; |
16
index.js
@@ -208,2 +208,14 @@ import jsep from 'jsep'; | ||
// Added functions to inject Custom Unary Operators (and override existing ones) | ||
function addUnaryOp(operator, _function){ | ||
jsep.addUnaryOp(operator); | ||
unops[operator] = _function; | ||
} | ||
// Added functions to inject Custom Binary Operators (and override existing ones) | ||
function addBinaryOp(operator, _function){ | ||
jsep.addBinaryOp(operator); | ||
binops[operator] = _function; | ||
} | ||
export { | ||
@@ -214,3 +226,5 @@ jsep as parse, | ||
compile, | ||
compileAsync | ||
compileAsync, | ||
addUnaryOp, | ||
addBinaryOp | ||
}; |
{ | ||
"name": "expression-eval", | ||
"version": "3.0.4", | ||
"version": "3.1.0", | ||
"description": "JavaScript expression parsing and evaluation.", | ||
@@ -9,3 +9,3 @@ "source": "index.js", | ||
"unpkg": "dist/expression-eval.umd.js", | ||
"typings": "index.d.ts", | ||
"types": "index.d.ts", | ||
"repository": { | ||
@@ -19,2 +19,4 @@ "type": "git", | ||
"test": "node test.js", | ||
"lint": "cp test.js index.test-d.ts && npx tsd; npm run clean", | ||
"clean": "rm index.test-d.ts && git checkout -- dist", | ||
"preversion": "npm run build && npm run test && git add -A dist", | ||
@@ -21,0 +23,0 @@ "postversion": "git push && git push --tags && npm publish" |
12
test.js
@@ -88,2 +88,5 @@ const expr = require('./dist/expression-eval.js'); | ||
// custom operators | ||
{expr: '@2', expected: 'two' }, | ||
{expr: '3#4', expected: 3.4 }, | ||
]; | ||
@@ -106,2 +109,11 @@ | ||
expr.addUnaryOp('@', (a) => { | ||
if (a === 2) { | ||
return 'two'; | ||
} | ||
throw new Error('Unexpected value: ' + a); | ||
}); | ||
expr.addBinaryOp('#', (a, b) => a + b / 10); | ||
var tests = 0; | ||
@@ -108,0 +120,0 @@ var passed = 0; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
60514
399