Comparing version 0.5.15 to 0.5.16
@@ -47,3 +47,3 @@ "use strict"; | ||
var RX = /\$\{[^\}]+\}/g; | ||
var RX_RPL_PARSE = /\$\{([^\}]+)\}/g; | ||
var RX_RPL_PARSE = /\$\{([^\}]+)\}/; | ||
var RX_RPL_TOKEN = /\$\{|\}/g; | ||
@@ -50,0 +50,0 @@ var CACHE = {}; |
/*! jsexpr 2019-03-29 */ | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function u(i,f,c){function a(n,t){if(!f[n]){if(!i[n]){var r="function"==typeof require&&require;if(!t&&r)return r(n,!0);if(l)return l(n,!0);var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}var o=f[n]={exports:{}};i[n][0].call(o.exports,function(t){return a(i[n][1][t]||t)},o,o.exports,u,i,f,c)}return f[n].exports}for(var l="function"==typeof require&&require,t=0;t<c.length;t++)a(c[t]);return a}({1:[function(n,r,e){(function(){this.jsexpr;var t=n("./index.js");void 0!==e&&(void 0!==r&&r.exports&&(e=r.exports=t),e.jsexpr=t),"undefined"!=typeof window&&(window.jsexpr=t)}).call(this)},{"./index.js":2}],2:[function(t,n,r){var e=t("./lib/expression");n.exports=e},{"./lib/expression":3}],3:[function(require,module,exports){var extend=require("extend"),RX=/\$\{[^\}]+\}/g,RX_RPL_PARSE=/\$\{([^\}]+)\}/g,RX_RPL_TOKEN=/\$\{|\}/g,CACHE={};function cacheeval(obj,key){if(!CACHE[key]){var fn=eval("(function(){\n\t\t\treturn function() {\n\t\t\t\ttry {\n\t\t\t\t\treturn this."+key+";\n\t\t\t\t}catch(err) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn "+key+";\n\t\t\t\t\t}catch(err) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})()");CACHE[key]=fn}return CACHE[key].call(obj)}function fneval(obj,key){try{return eval("this."+key)}catch(t){return}}function fnassign(path){return eval("(function(){\n\t\treturn function(obj,val) {\n\t\t\ttry {\n\t\t\t\treturn obj."+path+" = val;\n\t\t\t}catch(err) {}\n\t\t}\n\t})()")}var EVALS={eval:function(t,n){var r=fneval.call(t,t,n);return void 0===r?"":r},iteval:function(n,t){t.split(".").forEach(function(t){null!=n&&null!=n&&(n=n[t])});var r=n||void 0;return void 0===r?"":r},ceval:function(t,n){var r=cacheeval(t,n);return void 0===r?"":r},valwalk:function(t,n,r){if(!t)return t;for(var e in t){var o=r+(r?".":"")+e,u=n[o];void 0!==u?t[e]=u:"object"==_typeof(t[e])&&EVALS.valwalk(t[e],n,o)}return t}};function parse(r,n){n=n||"ceval";var t=r.match(RX);t&&t.forEach(function(t){var n=t.replace(RX_RPL_PARSE,"$1").trim();r=r.replace(t,"__val(entry,'"+n+"')")});var e=new Function("entry","__val","return ("+r+")");return function(t){return e(t,EVALS[n])}}function tokens(o,u){if(u=EVALS[u||"ceval"],"${JSON}"==o)return function(t){return JSON.stringify(t,null,2)};var i,f=[];return(o.match(RX)||[]).forEach(function(t){var n=o.indexOf(t),r=o.substring(0,n),e=t.replace(RX_RPL_TOKEN,"");o=o.substring(n+t.length),f.push(r),f.push(function(t){return u(t,e)})}),f.push(o),f=f.filter(function(t){return""!=t}),1<(i=f.length)?function(t){for(var n="",r=0;r<i;r++){var e=f[r];n+="string"==typeof e?e:e(t)}return n}:function(t){var n=f[0];return"string"==typeof n?n:n(t)}}function jsontokens(o){var u,i=[];return function e(o,u){o&&Object.keys(o).forEach(function(t){var n=u+(u?".":"")+t,r=o[t];"string"==typeof r?i.push({path:n,fn:tokens(r)}):e(r,n)})}(o,""),u=i.length,function(t){for(var n={},r=0;r<u;r++){var e=i[r];n[e.path]=e.fn(t)}return EVALS.valwalk(extend(!0,{},o),n,"")}}module.exports={fn:parse,eval:parse,assign:fnassign,expr:function(n,t){return"number"==typeof n?function(t){return n}:"object"==(void 0===n?"undefined":_typeof(n))?jsontokens(n,t):tokens(n)},expression:function(t,n){return"object"==(void 0===t?"undefined":_typeof(t))?jsontokens(t,n):tokens(t)}}},{extend:4}],4:[function(t,n,r){var o=Object.prototype.hasOwnProperty,u=Object.prototype.toString,s=function(t){return"function"==typeof Array.isArray?Array.isArray(t):"[object Array]"===u.call(t)},p=function(t){if(!t||"[object Object]"!==u.call(t))return!1;var n,r=o.call(t,"constructor"),e=t.constructor&&t.constructor.prototype&&o.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!e)return!1;for(n in t);return void 0===n||o.call(t,n)};n.exports=function t(){var n,r,e,o,u,i,f=arguments[0],c=1,a=arguments.length,l=!1;for("boolean"==typeof f&&(l=f,f=arguments[1]||{},c=2),(null==f||"object"!==(void 0===f?"undefined":_typeof(f))&&"function"!=typeof f)&&(f={});c<a;++c)if(null!=(n=arguments[c]))for(r in n)e=f[r],f!==(o=n[r])&&(l&&o&&(p(o)||(u=s(o)))?(u?(u=!1,i=e&&s(e)?e:[]):i=e&&p(e)?e:{},f[r]=t(l,i,o)):void 0!==o&&(f[r]=o));return f}},{}]},{},[1]); | ||
"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};!function u(i,f,c){function a(n,t){if(!f[n]){if(!i[n]){var r="function"==typeof require&&require;if(!t&&r)return r(n,!0);if(l)return l(n,!0);var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}var o=f[n]={exports:{}};i[n][0].call(o.exports,function(t){return a(i[n][1][t]||t)},o,o.exports,u,i,f,c)}return f[n].exports}for(var l="function"==typeof require&&require,t=0;t<c.length;t++)a(c[t]);return a}({1:[function(n,r,e){(function(){this.jsexpr;var t=n("./index.js");void 0!==e&&(void 0!==r&&r.exports&&(e=r.exports=t),e.jsexpr=t),"undefined"!=typeof window&&(window.jsexpr=t)}).call(this)},{"./index.js":2}],2:[function(t,n,r){var e=t("./lib/expression");n.exports=e},{"./lib/expression":3}],3:[function(require,module,exports){var extend=require("extend"),RX=/\$\{[^\}]+\}/g,RX_RPL_PARSE=/\$\{([^\}]+)\}/,RX_RPL_TOKEN=/\$\{|\}/g,CACHE={};function cacheeval(obj,key){if(!CACHE[key]){var fn=eval("(function(){\n\t\t\treturn function() {\n\t\t\t\ttry {\n\t\t\t\t\treturn this."+key+";\n\t\t\t\t}catch(err) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn "+key+";\n\t\t\t\t\t}catch(err) {\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})()");CACHE[key]=fn}return CACHE[key].call(obj)}function fneval(obj,key){try{return eval("this."+key)}catch(t){return}}function fnassign(path){return eval("(function(){\n\t\treturn function(obj,val) {\n\t\t\ttry {\n\t\t\t\treturn obj."+path+" = val;\n\t\t\t}catch(err) {}\n\t\t}\n\t})()")}var EVALS={eval:function(t,n){var r=fneval.call(t,t,n);return void 0===r?"":r},iteval:function(n,t){t.split(".").forEach(function(t){null!=n&&null!=n&&(n=n[t])});var r=n||void 0;return void 0===r?"":r},ceval:function(t,n){var r=cacheeval(t,n);return void 0===r?"":r},valwalk:function(t,n,r){if(!t)return t;for(var e in t){var o=r+(r?".":"")+e,u=n[o];void 0!==u?t[e]=u:"object"==_typeof(t[e])&&EVALS.valwalk(t[e],n,o)}return t}};function parse(r,n){n=n||"ceval";var t=r.match(RX);t&&t.forEach(function(t){var n=t.replace(RX_RPL_PARSE,"$1").trim();r=r.replace(t,"__val(entry,'"+n+"')")});var e=new Function("entry","__val","return ("+r+")");return function(t){return e(t,EVALS[n])}}function tokens(o,u){if(u=EVALS[u||"ceval"],"${JSON}"==o)return function(t){return JSON.stringify(t,null,2)};var i,f=[];return(o.match(RX)||[]).forEach(function(t){var n=o.indexOf(t),r=o.substring(0,n),e=t.replace(RX_RPL_TOKEN,"");o=o.substring(n+t.length),f.push(r),f.push(function(t){return u(t,e)})}),f.push(o),f=f.filter(function(t){return""!=t}),1<(i=f.length)?function(t){for(var n="",r=0;r<i;r++){var e=f[r];n+="string"==typeof e?e:e(t)}return n}:function(t){var n=f[0];return"string"==typeof n?n:n(t)}}function jsontokens(o){var u,i=[];return function e(o,u){o&&Object.keys(o).forEach(function(t){var n=u+(u?".":"")+t,r=o[t];"string"==typeof r?i.push({path:n,fn:tokens(r)}):e(r,n)})}(o,""),u=i.length,function(t){for(var n={},r=0;r<u;r++){var e=i[r];n[e.path]=e.fn(t)}return EVALS.valwalk(extend(!0,{},o),n,"")}}module.exports={fn:parse,eval:parse,assign:fnassign,expr:function(n,t){return"number"==typeof n?function(t){return n}:"object"==(void 0===n?"undefined":_typeof(n))?jsontokens(n,t):tokens(n)},expression:function(t,n){return"object"==(void 0===t?"undefined":_typeof(t))?jsontokens(t,n):tokens(t)}}},{extend:4}],4:[function(t,n,r){var o=Object.prototype.hasOwnProperty,u=Object.prototype.toString,s=function(t){return"function"==typeof Array.isArray?Array.isArray(t):"[object Array]"===u.call(t)},p=function(t){if(!t||"[object Object]"!==u.call(t))return!1;var n,r=o.call(t,"constructor"),e=t.constructor&&t.constructor.prototype&&o.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!r&&!e)return!1;for(n in t);return void 0===n||o.call(t,n)};n.exports=function t(){var n,r,e,o,u,i,f=arguments[0],c=1,a=arguments.length,l=!1;for("boolean"==typeof f&&(l=f,f=arguments[1]||{},c=2),(null==f||"object"!==(void 0===f?"undefined":_typeof(f))&&"function"!=typeof f)&&(f={});c<a;++c)if(null!=(n=arguments[c]))for(r in n)e=f[r],f!==(o=n[r])&&(l&&o&&(p(o)||(u=s(o)))?(u?(u=!1,i=e&&s(e)?e:[]):i=e&&p(e)?e:{},f[r]=t(l,i,o)):void 0!==o&&(f[r]=o));return f}},{}]},{},[1]); |
@@ -7,3 +7,3 @@ "use strict"; | ||
var RX = /\$\{[^\}]+\}/g; | ||
var RX_RPL_PARSE = /\$\{([^\}]+)\}/g; | ||
var RX_RPL_PARSE = /\$\{([^\}]+)\}/; | ||
var RX_RPL_TOKEN = /\$\{|\}/g; | ||
@@ -10,0 +10,0 @@ var CACHE = {}; |
const extend = require("extend"); | ||
const RX = /\$\{[^\}]+\}/g; | ||
const RX_RPL_PARSE = /\$\{([^\}]+)\}/g; | ||
const RX_RPL_PARSE = /\$\{([^\}]+)\}/; | ||
const RX_RPL_TOKEN = /\$\{|\}/g; | ||
@@ -5,0 +5,0 @@ const CACHE = {} |
{ | ||
"name": "jsexpr", | ||
"version": "0.5.15", | ||
"version": "0.5.16", | ||
"description": "String and JSON expression interpolator and evaluator. Interpolates or evaluates a string against a json object, or transforms an object into another based on a json template", | ||
@@ -5,0 +5,0 @@ "main": "dist/node/index.js", |
@@ -33,2 +33,3 @@ const | ||
let fn3 = expression.fn('${a} < ${d.e}',mode); | ||
let fn4 = expression.fn('${$a} < ${$d.e}',mode); | ||
@@ -61,2 +62,6 @@ it('Should perform operation', function() { | ||
}); | ||
it('Should evaluate condition with $ (true)', function() { | ||
let res = fn4({$a:5,$d:{e:30}}); | ||
assert.equal(true,res); | ||
}); | ||
}); | ||
@@ -67,2 +72,3 @@ | ||
let fn2 = expression.expr('${a} < ${d.e}',mode); | ||
let fn3 = expression.expr('${$a} < ${$d.e}',mode); | ||
@@ -73,2 +79,6 @@ it('Should interpolate operation', function() { | ||
}); | ||
it('Should interpolate operation', function() { | ||
let res = fn3({$a:5,b:10,c:3,$d:{e:30}}); | ||
assert.equal('5 < 30',res); | ||
}); | ||
it('Should interpolate with missing values', function() { | ||
@@ -75,0 +85,0 @@ let res = fn1({b:10,c:2,d:{e:30}}); |
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
61493
856