UNPKG

args-any

Version:

Utility lib for parsing command options

37 lines 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.operator = exports.parseOperator = void 0; const maps_1 = require("../maps"); const types_1 = require("../../types"); const operatorMap = new maps_1.CaseInsensitiveMap([ ["le", [types_1.Operator.Le, false]], ["<=", [types_1.Operator.Le, true]], ["=<", [types_1.Operator.Le, true]], ["ge", [types_1.Operator.Ge, false]], [">=", [types_1.Operator.Ge, true]], ["=>", [types_1.Operator.Ge, true]], ["ne", [types_1.Operator.Ne, false]], ["!=", [types_1.Operator.Ne, true]], ["lt", [types_1.Operator.Lt, false]], ["<", [types_1.Operator.Lt, true]], ["gt", [types_1.Operator.Gt, false]], [">", [types_1.Operator.Gt, true]], ["=", [types_1.Operator.Eq, true]], [":", [types_1.Operator.Eq, true]] ]); const operatorIndex = 0; const defaultOperator = Object.freeze(types_1.Operator.Eq); const has = (operatorString) => operatorMap.has(operatorString); const inlinesAllowed = () => [...operatorMap.entries()].filter((x) => x[1][1] === true).map((z) => z[operatorIndex]); const parseOperator = (operatorString) => { const value = operatorMap.get(operatorString || ""); return (value && value[operatorIndex]) || types_1.Operator.Eq; }; exports.parseOperator = parseOperator; exports.operator = { default: defaultOperator, has, inlinesAllowed, parse: exports.parseOperator }; //# sourceMappingURL=operator.parser.js.map