ts-expression-evaluator
Advanced tools
Comparing version 1.2.4 to 1.2.5
@@ -1,6 +0,9 @@ | ||
import { evaluate } from './lib/Evaluator'; | ||
export { registerFunction, registerFunctions } from './lib/functions'; | ||
export default (code, context) => { | ||
return evaluate(code, context); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRFLGVBQWUsQ0FBQyxJQUFZLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQ2hELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUEifQ== | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Evaluator_1 = require("./lib/Evaluator"); | ||
var functions_1 = require("./lib/functions"); | ||
exports.registerFunction = functions_1.registerFunction; | ||
exports.registerFunctions = functions_1.registerFunctions; | ||
exports.default = (function (code, context) { | ||
return Evaluator_1.evaluate(code, context); | ||
}); |
@@ -1,12 +0,14 @@ | ||
import { parseExpression } from '@babel/parser'; | ||
import { Handlers } from './Handlers'; | ||
export const evaluate = (code, context = {}) => { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var parser_1 = require("@babel/parser"); | ||
var Handlers_1 = require("./Handlers"); | ||
exports.evaluate = function (code, context) { | ||
if (context === void 0) { context = {}; } | ||
if (typeof code === 'string') { | ||
const ast = parseExpression(code); | ||
return Handlers[ast.type](ast, context); | ||
var ast = parser_1.parseExpression(code); | ||
return Handlers_1.Handlers[ast.type](ast, context); | ||
} | ||
else { | ||
return Handlers[code.type](code, context); | ||
return Handlers_1.Handlers[code.type](code, context); | ||
} | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9FdmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLFlBQVksQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUEyQixFQUFFLFVBQWMsRUFBRSxFQUFFLEVBQUU7SUFDeEUsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBaUIsQ0FBQztRQUNsRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6RDtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0Q7QUFDSCxDQUFDLENBQUEifQ== |
@@ -1,15 +0,16 @@ | ||
const functions = {}; | ||
export const registerFunction = (name, func) => { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var functions = {}; | ||
exports.registerFunction = function (name, func) { | ||
functions[name] = func; | ||
}; | ||
export const registerFunctions = (funcs) => { | ||
exports.registerFunctions = function (funcs) { | ||
Object.keys(funcs) | ||
.forEach(key => functions[key] = funcs[key]); | ||
.forEach(function (key) { return functions[key] = funcs[key]; }); | ||
}; | ||
export const getFunction = (name) => { | ||
exports.getFunction = function (name) { | ||
if (functions[name]) { | ||
return functions[name]; | ||
} | ||
throw new Error(`Function(${name}) did not be resigtered.`); | ||
throw new Error("Function(" + name + ") did not be resigtered."); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxTQUFTLEdBQWMsRUFFNUIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLElBQWMsRUFBRSxFQUFFO0lBQy9ELFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDekIsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFrQyxFQUFFLEVBQUU7SUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDZixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFZLEVBQUU7SUFDcEQsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDeEI7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSwwQkFBMEIsQ0FBQyxDQUFBO0FBQzdELENBQUMsQ0FBQSJ9 |
@@ -1,24 +0,33 @@ | ||
import * as t from './t'; | ||
import { evaluate } from './Evaluator'; | ||
import { getFunction } from './functions'; | ||
export const Handlers = { | ||
BinaryExpression(ast, context) { | ||
"use strict"; | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||
result["default"] = mod; | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var t = __importStar(require("./t")); | ||
var Evaluator_1 = require("./Evaluator"); | ||
var functions_1 = require("./functions"); | ||
exports.Handlers = { | ||
BinaryExpression: function (ast, context) { | ||
if (t.isBinaryExpression(ast)) { | ||
switch (ast.operator) { | ||
case '+': | ||
return evaluate(ast.left, context) + evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) + Evaluator_1.evaluate(ast.right, context); | ||
case '-': | ||
return evaluate(ast.left, context) - evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) - Evaluator_1.evaluate(ast.right, context); | ||
case '*': | ||
return evaluate(ast.left, context) * evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) * Evaluator_1.evaluate(ast.right, context); | ||
case '/': | ||
return evaluate(ast.left, context) / evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) / Evaluator_1.evaluate(ast.right, context); | ||
case '===': | ||
return evaluate(ast.left, context) === evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) === Evaluator_1.evaluate(ast.right, context); | ||
case '==': | ||
return evaluate(ast.left, context) == evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) == Evaluator_1.evaluate(ast.right, context); | ||
case '!==': | ||
return evaluate(ast.left, context) !== evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) !== Evaluator_1.evaluate(ast.right, context); | ||
case '!=': | ||
return evaluate(ast.left, context) != evaluate(ast.right, context); | ||
return Evaluator_1.evaluate(ast.left, context) != Evaluator_1.evaluate(ast.right, context); | ||
} | ||
@@ -28,3 +37,3 @@ } | ||
}, | ||
Identifier(ast, context) { | ||
Identifier: function (ast, context) { | ||
if (t.isIdentifier(ast)) { | ||
@@ -40,10 +49,10 @@ switch (ast.name) { | ||
}, | ||
CallExpression(ast, context) { | ||
CallExpression: function (ast, context) { | ||
if (t.isCallExpression(ast)) { | ||
if (t.isIdentifier(ast.callee)) { | ||
const func = getFunction(ast.callee.name); | ||
const args = ast.arguments.map(arg => { | ||
return evaluate(arg, context); | ||
var func = functions_1.getFunction(ast.callee.name); | ||
var args = ast.arguments.map(function (arg) { | ||
return Evaluator_1.evaluate(arg, context); | ||
}); | ||
return func.call(null, ...args); | ||
return func.call.apply(func, [null].concat(args)); | ||
} | ||
@@ -53,9 +62,9 @@ } | ||
}, | ||
MemberExpression(ast, context) { | ||
MemberExpression: function (ast, context) { | ||
if (t.isMemberExpression(ast)) { | ||
const obj = evaluate(ast.object, context); | ||
var obj = Evaluator_1.evaluate(ast.object, context); | ||
if (!obj) | ||
return undefined; | ||
if (t.isIdentifier(ast.property)) { | ||
return evaluate(ast.property, obj); | ||
return Evaluator_1.evaluate(ast.property, obj); | ||
} | ||
@@ -65,7 +74,7 @@ if (t.isNumericLiteral(ast.property) || t.isStringLiteral(ast.property)) { | ||
} | ||
return evaluate(ast.property, context); | ||
return Evaluator_1.evaluate(ast.property, context); | ||
} | ||
throw new Error(); | ||
}, | ||
NumericLiteral(ast) { | ||
NumericLiteral: function (ast) { | ||
if (t.isNumericLiteral(ast)) { | ||
@@ -76,3 +85,3 @@ return ast.value; | ||
}, | ||
StringLiteral(ast) { | ||
StringLiteral: function (ast) { | ||
if (t.isStringLiteral(ast)) { | ||
@@ -83,3 +92,3 @@ return ast.value; | ||
}, | ||
BooleanLiteral(ast) { | ||
BooleanLiteral: function (ast) { | ||
if (t.isBooleanLiteral(ast)) { | ||
@@ -90,3 +99,3 @@ return ast.value; | ||
}, | ||
NullLiteral(ast) { | ||
NullLiteral: function (ast) { | ||
if (t.isNullLiteral(ast)) { | ||
@@ -97,8 +106,8 @@ return null; | ||
}, | ||
ArrayExpression(ast, context) { | ||
ArrayExpression: function (ast, context) { | ||
if (t.isArrayExpression(ast)) { | ||
return ast.elements.map(elem => { | ||
return ast.elements.map(function (elem) { | ||
if (!elem) | ||
throw new Error(); | ||
return evaluate(elem, context); | ||
return Evaluator_1.evaluate(elem, context); | ||
}); | ||
@@ -109,2 +118,1 @@ } | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL0hhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWMxQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWE7SUFDaEMsZ0JBQWdCLENBQUMsR0FBaUIsRUFBRSxPQUFnQjtRQUNsRCxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM3QixRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLEtBQUssR0FBRztvQkFDTixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxLQUFLLEdBQUc7b0JBQ04sT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsS0FBSyxHQUFHO29CQUNOLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3BFLEtBQUssR0FBRztvQkFDTixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElB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 |
@@ -1,28 +0,29 @@ | ||
export const isIdentifier = (ast) => { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isIdentifier = function (ast) { | ||
return ast.type === 'Identifier'; | ||
}; | ||
export const isBinaryExpression = (ast) => { | ||
exports.isBinaryExpression = function (ast) { | ||
return ast.type === 'BinaryExpression'; | ||
}; | ||
export const isMemberExpression = (ast) => { | ||
exports.isMemberExpression = function (ast) { | ||
return ast.type === 'MemberExpression'; | ||
}; | ||
export const isNumericLiteral = (ast) => { | ||
exports.isNumericLiteral = function (ast) { | ||
return ast.type === 'NumericLiteral'; | ||
}; | ||
export const isStringLiteral = (ast) => { | ||
exports.isStringLiteral = function (ast) { | ||
return ast.type === 'StringLiteral'; | ||
}; | ||
export const isBooleanLiteral = (ast) => { | ||
exports.isBooleanLiteral = function (ast) { | ||
return ast.type === 'BooleanLiteral'; | ||
}; | ||
export const isNullLiteral = (ast) => { | ||
exports.isNullLiteral = function (ast) { | ||
return ast.type === 'NullLiteral'; | ||
}; | ||
export const isArrayExpression = (ast) => { | ||
exports.isArrayExpression = function (ast) { | ||
return ast.type === 'ArrayExpression'; | ||
}; | ||
export const isCallExpression = (ast) => { | ||
exports.isCallExpression = function (ast) { | ||
return ast.type === 'CallExpression'; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFpQixFQUF1QixFQUFFO0lBQ3JFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUM7QUFDbkMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFpQixFQUE2QixFQUFFO0lBQ2pGLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQztBQUN6QyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQWlCLEVBQTZCLEVBQUU7SUFDakYsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDO0FBQ3pDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBaUIsRUFBMkIsRUFBRTtJQUM3RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7QUFDdkMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBaUIsRUFBMEIsRUFBRTtJQUMzRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDO0FBQ3RDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBaUIsRUFBMkIsRUFBRTtJQUM3RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7QUFDdkMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBaUIsRUFBd0IsRUFBRTtJQUN2RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDO0FBQ3BDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBaUIsRUFBNEIsRUFBRTtJQUMvRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUM7QUFDeEMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFpQixFQUEyQixFQUFFO0lBQzdFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztBQUN2QyxDQUFDLENBQUEifQ== |
import { evaluate } from './lib/Evaluator'; | ||
export { registerFunction, registerFunctions } from './lib/functions'; | ||
export default (code, context) => { | ||
export default (function (code, context) { | ||
return evaluate(code, context); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRFLGVBQWUsQ0FBQyxJQUFZLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO0lBQ2hELE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUEifQ== | ||
}); |
import { parseExpression } from '@babel/parser'; | ||
import { Handlers } from './Handlers'; | ||
export const evaluate = (code, context = {}) => { | ||
export var evaluate = function (code, context) { | ||
if (context === void 0) { context = {}; } | ||
if (typeof code === 'string') { | ||
const ast = parseExpression(code); | ||
var ast = parseExpression(code); | ||
return Handlers[ast.type](ast, context); | ||
@@ -12,2 +13,1 @@ } | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9FdmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUUsUUFBUSxFQUFnQixNQUFNLFlBQVksQ0FBQztBQUVwRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUEyQixFQUFFLFVBQWMsRUFBRSxFQUFFLEVBQUU7SUFDeEUsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBaUIsQ0FBQztRQUNsRCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBb0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUN6RDtTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0Q7QUFDSCxDQUFDLENBQUEifQ== |
@@ -1,15 +0,14 @@ | ||
const functions = {}; | ||
export const registerFunction = (name, func) => { | ||
var functions = {}; | ||
export var registerFunction = function (name, func) { | ||
functions[name] = func; | ||
}; | ||
export const registerFunctions = (funcs) => { | ||
export var registerFunctions = function (funcs) { | ||
Object.keys(funcs) | ||
.forEach(key => functions[key] = funcs[key]); | ||
.forEach(function (key) { return functions[key] = funcs[key]; }); | ||
}; | ||
export const getFunction = (name) => { | ||
export var getFunction = function (name) { | ||
if (functions[name]) { | ||
return functions[name]; | ||
} | ||
throw new Error(`Function(${name}) did not be resigtered.`); | ||
throw new Error("Function(" + name + ") did not be resigtered."); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxTQUFTLEdBQWMsRUFFNUIsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLElBQWMsRUFBRSxFQUFFO0lBQy9ELFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7QUFDekIsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFrQyxFQUFFLEVBQUU7SUFDdEUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDZixPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFZLEVBQUU7SUFDcEQsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDeEI7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSwwQkFBMEIsQ0FBQyxDQUFBO0FBQzdELENBQUMsQ0FBQSJ9 |
import * as t from './t'; | ||
import { evaluate } from './Evaluator'; | ||
import { getFunction } from './functions'; | ||
export const Handlers = { | ||
BinaryExpression(ast, context) { | ||
export var Handlers = { | ||
BinaryExpression: function (ast, context) { | ||
if (t.isBinaryExpression(ast)) { | ||
@@ -28,3 +28,3 @@ switch (ast.operator) { | ||
}, | ||
Identifier(ast, context) { | ||
Identifier: function (ast, context) { | ||
if (t.isIdentifier(ast)) { | ||
@@ -40,10 +40,10 @@ switch (ast.name) { | ||
}, | ||
CallExpression(ast, context) { | ||
CallExpression: function (ast, context) { | ||
if (t.isCallExpression(ast)) { | ||
if (t.isIdentifier(ast.callee)) { | ||
const func = getFunction(ast.callee.name); | ||
const args = ast.arguments.map(arg => { | ||
var func = getFunction(ast.callee.name); | ||
var args = ast.arguments.map(function (arg) { | ||
return evaluate(arg, context); | ||
}); | ||
return func.call(null, ...args); | ||
return func.call.apply(func, [null].concat(args)); | ||
} | ||
@@ -53,5 +53,5 @@ } | ||
}, | ||
MemberExpression(ast, context) { | ||
MemberExpression: function (ast, context) { | ||
if (t.isMemberExpression(ast)) { | ||
const obj = evaluate(ast.object, context); | ||
var obj = evaluate(ast.object, context); | ||
if (!obj) | ||
@@ -69,3 +69,3 @@ return undefined; | ||
}, | ||
NumericLiteral(ast) { | ||
NumericLiteral: function (ast) { | ||
if (t.isNumericLiteral(ast)) { | ||
@@ -76,3 +76,3 @@ return ast.value; | ||
}, | ||
StringLiteral(ast) { | ||
StringLiteral: function (ast) { | ||
if (t.isStringLiteral(ast)) { | ||
@@ -83,3 +83,3 @@ return ast.value; | ||
}, | ||
BooleanLiteral(ast) { | ||
BooleanLiteral: function (ast) { | ||
if (t.isBooleanLiteral(ast)) { | ||
@@ -90,3 +90,3 @@ return ast.value; | ||
}, | ||
NullLiteral(ast) { | ||
NullLiteral: function (ast) { | ||
if (t.isNullLiteral(ast)) { | ||
@@ -97,5 +97,5 @@ return null; | ||
}, | ||
ArrayExpression(ast, context) { | ||
ArrayExpression: function (ast, context) { | ||
if (t.isArrayExpression(ast)) { | ||
return ast.elements.map(elem => { | ||
return ast.elements.map(function (elem) { | ||
if (!elem) | ||
@@ -109,2 +109,1 @@ throw new Error(); | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL0hhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWMxQyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWE7SUFDaEMsZ0JBQWdCLENBQUMsR0FBaUIsRUFBRSxPQUFnQjtRQUNsRCxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM3QixRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLEtBQUssR0FBRztvQkFDTixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxLQUFLLEdBQUc7b0JBQ04sT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDcEUsS0FBSyxHQUFHO29CQUNOLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3BFLEtBQUssR0FBRztvQkFDTixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElB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 |
@@ -1,28 +0,27 @@ | ||
export const isIdentifier = (ast) => { | ||
export var isIdentifier = function (ast) { | ||
return ast.type === 'Identifier'; | ||
}; | ||
export const isBinaryExpression = (ast) => { | ||
export var isBinaryExpression = function (ast) { | ||
return ast.type === 'BinaryExpression'; | ||
}; | ||
export const isMemberExpression = (ast) => { | ||
export var isMemberExpression = function (ast) { | ||
return ast.type === 'MemberExpression'; | ||
}; | ||
export const isNumericLiteral = (ast) => { | ||
export var isNumericLiteral = function (ast) { | ||
return ast.type === 'NumericLiteral'; | ||
}; | ||
export const isStringLiteral = (ast) => { | ||
export var isStringLiteral = function (ast) { | ||
return ast.type === 'StringLiteral'; | ||
}; | ||
export const isBooleanLiteral = (ast) => { | ||
export var isBooleanLiteral = function (ast) { | ||
return ast.type === 'BooleanLiteral'; | ||
}; | ||
export const isNullLiteral = (ast) => { | ||
export var isNullLiteral = function (ast) { | ||
return ast.type === 'NullLiteral'; | ||
}; | ||
export const isArrayExpression = (ast) => { | ||
export var isArrayExpression = function (ast) { | ||
return ast.type === 'ArrayExpression'; | ||
}; | ||
export const isCallExpression = (ast) => { | ||
export var isCallExpression = function (ast) { | ||
return ast.type === 'CallExpression'; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFpQixFQUF1QixFQUFFO0lBQ3JFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUM7QUFDbkMsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFpQixFQUE2QixFQUFFO0lBQ2pGLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQztBQUN6QyxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQWlCLEVBQTZCLEVBQUU7SUFDakYsT0FBTyxHQUFHLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDO0FBQ3pDLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBaUIsRUFBMkIsRUFBRTtJQUM3RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7QUFDdkMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBaUIsRUFBMEIsRUFBRTtJQUMzRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDO0FBQ3RDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBaUIsRUFBMkIsRUFBRTtJQUM3RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7QUFDdkMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBaUIsRUFBd0IsRUFBRTtJQUN2RSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDO0FBQ3BDLENBQUMsQ0FBQTtBQUNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsR0FBaUIsRUFBNEIsRUFBRTtJQUMvRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEtBQUssaUJBQWlCLENBQUM7QUFDeEMsQ0FBQyxDQUFBO0FBQ0QsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFpQixFQUEyQixFQUFFO0lBQzdFLE9BQU8sR0FBRyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztBQUN2QyxDQUFDLENBQUEifQ== |
{ | ||
"name": "ts-expression-evaluator", | ||
"version": "1.2.4", | ||
"version": "1.2.5", | ||
"description": "Context-based expression parse and evaluator.", | ||
@@ -5,0 +5,0 @@ "main": "build/main/index.js", |
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
411
203731