formula-functionizer
Version:
A tool for parsing formulas and create reusable functions
63 lines • 5.81 kB
JavaScript
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==