UNPKG

formula-functionizer

Version:

A tool for parsing formulas and create reusable functions

63 lines 5.81 kB
var _a, _b; import { concatenate } from './operators/concatenate'; import { excelDividedBy, javascriptDividedBy } from './operators/divided-by'; import { equal } from './operators/equal'; import { excelGreaterThan, javascriptGreaterThan, } from './operators/greater-than'; import { excelGreaterThanOrEqual, javascriptGreaterThanOrEqual, } from './operators/greater-than-or-equal'; import { excelLessThan, javascriptLessThan } from './operators/less-than'; import { excelLessThanOrEqual } from './operators/less-than-or-equal'; import { excelMinus, javascriptMinus } from './operators/minus'; import { notEqual } from './operators/not-equal'; import { excelPlus, javascriptPlus } from './operators/plus'; import { excelPower, javascriptPower } from './operators/power'; import { excelTimes, javascriptTimes } from './operators/times'; export var Operator; (function (Operator) { Operator["PLUS"] = "+"; Operator["MINUS"] = "-"; Operator["TIMES"] = "*"; Operator["DIVIDED_BY"] = "/"; Operator["EQUAL"] = "="; Operator["NOT_EQUAL"] = "<>"; Operator["GREATER_THAN"] = ">"; Operator["GREATER_THAN_OR_EQUAL"] = ">="; Operator["LESS_THAN"] = "<"; Operator["LESS_THAN_OR_EQUAL"] = "<="; Operator["POWER"] = "^"; Operator["CONCATENATE"] = "&"; })(Operator || (Operator = {})); var safeOperators = (_a = {}, _a[Operator.PLUS] = excelPlus, _a[Operator.MINUS] = excelMinus, _a[Operator.TIMES] = excelTimes, _a[Operator.DIVIDED_BY] = excelDividedBy, _a[Operator.EQUAL] = equal, _a[Operator.NOT_EQUAL] = notEqual, _a[Operator.GREATER_THAN] = excelGreaterThan, _a[Operator.GREATER_THAN_OR_EQUAL] = excelGreaterThanOrEqual, _a[Operator.LESS_THAN] = excelLessThan, _a[Operator.LESS_THAN_OR_EQUAL] = excelLessThanOrEqual, _a[Operator.POWER] = excelPower, _a[Operator.CONCATENATE] = concatenate, _a); var javascriptOperators = (_b = {}, _b[Operator.PLUS] = javascriptPlus, _b[Operator.MINUS] = javascriptMinus, _b[Operator.TIMES] = javascriptTimes, _b[Operator.DIVIDED_BY] = javascriptDividedBy, _b[Operator.EQUAL] = equal, _b[Operator.NOT_EQUAL] = notEqual, _b[Operator.GREATER_THAN] = javascriptGreaterThan, _b[Operator.GREATER_THAN_OR_EQUAL] = javascriptGreaterThanOrEqual, _b[Operator.LESS_THAN] = javascriptLessThan, _b[Operator.LESS_THAN_OR_EQUAL] = javascriptGreaterThanOrEqual, _b[Operator.POWER] = javascriptPower, _b[Operator.CONCATENATE] = concatenate, _b); export function operateExcely(operator, firstOperand, secondOperand) { return safeOperators[operator](firstOperand, secondOperand); } export function operateJavascriptly(operator, firstOperand, secondOperand) { return javascriptOperators[operator](firstOperand, secondOperand); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3BlcmF0ZS9vcGVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHFCQUFxQixHQUN0QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsNEJBQTRCLEdBQzdCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhFLE1BQU0sQ0FBTixJQUFZLFFBYVg7QUFiRCxXQUFZLFFBQVE7SUFDbEIsc0JBQVUsQ0FBQTtJQUNWLHVCQUFXLENBQUE7SUFDWCx1QkFBVyxDQUFBO0lBQ1gsNEJBQWdCLENBQUE7SUFDaEIsdUJBQVcsQ0FBQTtJQUNYLDRCQUFnQixDQUFBO0lBQ2hCLDhCQUFrQixDQUFBO0lBQ2xCLHdDQUE0QixDQUFBO0lBQzVCLDJCQUFlLENBQUE7SUFDZixxQ0FBeUIsQ0FBQTtJQUN6Qix1QkFBVyxDQUFBO0lBQ1gsNkJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWJXLFFBQVEsS0FBUixRQUFRLFFBYW5CO0FBRUQsSUFBTSxhQUFhO0lBQ2pCLEdBQUMsUUFBUSxDQUFDLElBQUksSUFBRyxTQUFTO0lBQzFCLEdBQUMsUUFBUSxDQUFDLEtBQUssSUFBRyxVQUFVO0lBQzVCLEdBQUMsUUFBUSxDQUFDLEtBQUssSUFBRyxVQUFVO0lBQzVCLEdBQUMsUUFBUSxDQUFDLFVBQVUsSUFBRyxjQUFjO0lBQ3JDLEdBQUMsUUFBUSxDQUFDLEtBQUssSUFBRyxLQUFLO0lBQ3ZCLEdBQUMsUUFBUSxDQUFDLFNBQVMsSUFBRyxRQUFRO0lBQzlCLEdBQUMsUUFBUSxDQUFDLFlBQVksSUFBRyxnQkFBZ0I7SUFDekMsR0FBQyxRQUFRLENBQUMscUJBQXFCLElBQUcsdUJBQXVCO0lBQ3pELEdBQUMsUUFBUSxDQUFDLFNBQVMsSUFBRyxhQUFhO0lBQ25DLEdBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFHLG9CQUFvQjtJQUNuRCxHQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUcsVUFBVTtJQUM1QixHQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUcsV0FBVztPQUNwQyxDQUFDO0FBRUYsSUFBTSxtQkFBbUI7SUFDdkIsR0FBQyxRQUFRLENBQUMsSUFBSSxJQUFHLGNBQWM7SUFDL0IsR0FBQyxRQUFRLENBQUMsS0FBSyxJQUFHLGVBQWU7SUFDakMsR0FBQyxRQUFRLENBQUMsS0FBSyxJQUFHLGVBQWU7SUFDakMsR0FBQyxRQUFRLENBQUMsVUFBVSxJQUFHLG1CQUFtQjtJQUMxQyxHQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUcsS0FBSztJQUN2QixHQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUcsUUFBUTtJQUM5QixHQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUcscUJBQXFCO0lBQzlDLEdBQUMsUUFBUSxDQUFDLHFCQUFxQixJQUFHLDRCQUE0QjtJQUM5RCxHQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUcsa0JBQWtCO0lBQ3hDLEdBQUMsUUFBUSxDQUFDLGtCQUFrQixJQUFHLDRCQUE0QjtJQUMzRCxHQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUcsZUFBZTtJQUNqQyxHQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUcsV0FBVztPQUNwQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsUUFBa0IsRUFDbEIsWUFBaUIsRUFDakIsYUFBa0I7SUFFbEIsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFFBQWtCLEVBQ2xCLFlBQWlCLEVBQ2pCLGFBQWtCO0lBRWxCLE9BQU8sbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3BFLENBQUMifQ==