@schoenbergerb/logical-expression-parser
Version:
Logical expression parser and evaluates result, suitable for permissions management
27 lines • 1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.make = void 0;
const token_type_1 = require("./token-type");
const make = (gen) => {
const data = gen.next().value;
switch (data.type) {
case token_type_1.Token.LITERAL:
return { op: token_type_1.Token.LEAF, literal: data.value };
case token_type_1.Token.OPERATOR_NOT:
return { op: token_type_1.Token.OPERATOR_NOT, left: (0, exports.make)(gen) };
case token_type_1.Token.OPERATOR_AND:
return {
op: token_type_1.Token.OPERATOR_AND,
left: (0, exports.make)(gen),
right: (0, exports.make)(gen),
};
case token_type_1.Token.OPERATOR_OR:
return {
op: token_type_1.Token.OPERATOR_OR,
left: (0, exports.make)(gen),
right: (0, exports.make)(gen),
};
}
};
exports.make = make;
//# sourceMappingURL=make-ast.js.map