args-any
Version:
Utility lib for parsing command options
37 lines • 1.47 kB
JavaScript
;
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