UNPKG

formula-functionizer

Version:

A tool for parsing formulas and create reusable functions

67 lines 5.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.operateJavascriptly = exports.operateExcely = exports.Operator = void 0; const concatenate_1 = require("./operators/concatenate"); const divided_by_1 = require("./operators/divided-by"); const equal_1 = require("./operators/equal"); const greater_than_1 = require("./operators/greater-than"); const greater_than_or_equal_1 = require("./operators/greater-than-or-equal"); const less_than_1 = require("./operators/less-than"); const less_than_or_equal_1 = require("./operators/less-than-or-equal"); const minus_1 = require("./operators/minus"); const not_equal_1 = require("./operators/not-equal"); const plus_1 = require("./operators/plus"); const power_1 = require("./operators/power"); const times_1 = require("./operators/times"); 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 = exports.Operator || (exports.Operator = {})); const safeOperators = { [Operator.PLUS]: plus_1.excelPlus, [Operator.MINUS]: minus_1.excelMinus, [Operator.TIMES]: times_1.excelTimes, [Operator.DIVIDED_BY]: divided_by_1.excelDividedBy, [Operator.EQUAL]: equal_1.equal, [Operator.NOT_EQUAL]: not_equal_1.notEqual, [Operator.GREATER_THAN]: greater_than_1.excelGreaterThan, [Operator.GREATER_THAN_OR_EQUAL]: greater_than_or_equal_1.excelGreaterThanOrEqual, [Operator.LESS_THAN]: less_than_1.excelLessThan, [Operator.LESS_THAN_OR_EQUAL]: less_than_or_equal_1.excelLessThanOrEqual, [Operator.POWER]: power_1.excelPower, [Operator.CONCATENATE]: concatenate_1.concatenate, }; const javascriptOperators = { [Operator.PLUS]: plus_1.javascriptPlus, [Operator.MINUS]: minus_1.javascriptMinus, [Operator.TIMES]: times_1.javascriptTimes, [Operator.DIVIDED_BY]: divided_by_1.javascriptDividedBy, [Operator.EQUAL]: equal_1.equal, [Operator.NOT_EQUAL]: not_equal_1.notEqual, [Operator.GREATER_THAN]: greater_than_1.javascriptGreaterThan, [Operator.GREATER_THAN_OR_EQUAL]: greater_than_or_equal_1.javascriptGreaterThanOrEqual, [Operator.LESS_THAN]: less_than_1.javascriptLessThan, [Operator.LESS_THAN_OR_EQUAL]: greater_than_or_equal_1.javascriptGreaterThanOrEqual, [Operator.POWER]: power_1.javascriptPower, [Operator.CONCATENATE]: concatenate_1.concatenate, }; function operateExcely(operator, firstOperand, secondOperand) { return safeOperators[operator](firstOperand, secondOperand); } exports.operateExcely = operateExcely; function operateJavascriptly(operator, firstOperand, secondOperand) { return javascriptOperators[operator](firstOperand, secondOperand); } exports.operateJavascriptly = operateJavascriptly; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvb3BlcmF0ZS9vcGVyYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlEQUFzRDtBQUN0RCx1REFBNkU7QUFDN0UsNkNBQTBDO0FBQzFDLDJEQUdrQztBQUNsQyw2RUFHMkM7QUFDM0MscURBQTBFO0FBQzFFLHVFQUFzRTtBQUN0RSw2Q0FBZ0U7QUFDaEUscURBQWlEO0FBQ2pELDJDQUE2RDtBQUM3RCw2Q0FBZ0U7QUFDaEUsNkNBQWdFO0FBRWhFLElBQVksUUFhWDtBQWJELFdBQVksUUFBUTtJQUNsQixzQkFBVSxDQUFBO0lBQ1YsdUJBQVcsQ0FBQTtJQUNYLHVCQUFXLENBQUE7SUFDWCw0QkFBZ0IsQ0FBQTtJQUNoQix1QkFBVyxDQUFBO0lBQ1gsNEJBQWdCLENBQUE7SUFDaEIsOEJBQWtCLENBQUE7SUFDbEIsd0NBQTRCLENBQUE7SUFDNUIsMkJBQWUsQ0FBQTtJQUNmLHFDQUF5QixDQUFBO0lBQ3pCLHVCQUFXLENBQUE7SUFDWCw2QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBYlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFhbkI7QUFFRCxNQUFNLGFBQWEsR0FBaUQ7SUFDbEUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQVM7SUFDMUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQVU7SUFDNUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQVU7SUFDNUIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsMkJBQWM7SUFDckMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsYUFBSztJQUN2QixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxvQkFBUTtJQUM5QixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSwrQkFBZ0I7SUFDekMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsRUFBRSwrQ0FBdUI7SUFDekQsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUseUJBQWE7SUFDbkMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSx5Q0FBb0I7SUFDbkQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsa0JBQVU7SUFDNUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUseUJBQVc7Q0FDcEMsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQXlDO0lBQ2hFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLHFCQUFjO0lBQy9CLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLHVCQUFlO0lBQ2pDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLHVCQUFlO0lBQ2pDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdDQUFtQjtJQUMxQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxhQUFLO0lBQ3ZCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFRO0lBQzlCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLG9DQUFxQjtJQUM5QyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLG9EQUE0QjtJQUM5RCxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSw4QkFBa0I7SUFDeEMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSxvREFBNEI7SUFDM0QsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsdUJBQWU7SUFDakMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUseUJBQVc7Q0FDcEMsQ0FBQztBQUVGLFNBQWdCLGFBQWEsQ0FDM0IsUUFBa0IsRUFDbEIsWUFBaUIsRUFDakIsYUFBa0I7SUFFbEIsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFORCxzQ0FNQztBQUVELFNBQWdCLG1CQUFtQixDQUNqQyxRQUFrQixFQUNsQixZQUFpQixFQUNqQixhQUFrQjtJQUVsQixPQUFPLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBTkQsa0RBTUMifQ==