@rudderstack/json-template-engine
Version:
A library for evaluating JSON template expressions.
112 lines (111 loc) • 4.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PathType = exports.SyntaxType = exports.OperatorType = exports.TokenType = exports.Keyword = void 0;
var Keyword;
(function (Keyword) {
Keyword["FUNCTION"] = "function";
Keyword["NEW"] = "new";
Keyword["TYPEOF"] = "typeof";
Keyword["LET"] = "let";
Keyword["CONST"] = "const";
Keyword["LAMBDA"] = "lambda";
Keyword["AWAIT"] = "await";
Keyword["ASYNC"] = "async";
Keyword["IN"] = "in";
Keyword["NOT_IN"] = "nin";
Keyword["NOT"] = "not";
Keyword["CONTAINS"] = "contains";
Keyword["SUBSETOF"] = "subsetof";
Keyword["ANYOF"] = "anyof";
Keyword["NONEOF"] = "noneof";
Keyword["EMPTY"] = "empty";
Keyword["SIZE"] = "size";
Keyword["RETURN"] = "return";
Keyword["THROW"] = "throw";
Keyword["CONTINUE"] = "continue";
Keyword["BREAK"] = "break";
Keyword["FOR"] = "for";
})(Keyword || (exports.Keyword = Keyword = {}));
var TokenType;
(function (TokenType) {
TokenType["UNKNOWN"] = "unknown";
TokenType["ID"] = "id";
TokenType["INT"] = "int";
TokenType["FLOAT"] = "float";
TokenType["TEMPLATE"] = "template";
TokenType["STR"] = "str";
TokenType["BOOL"] = "bool";
TokenType["NULL"] = "null";
TokenType["UNDEFINED"] = "undefined";
TokenType["LAMBDA_ARG"] = "lambda_arg";
TokenType["PUNCT"] = "punct";
TokenType["THROW"] = "throw";
TokenType["KEYWORD"] = "keyword";
TokenType["EOT"] = "eot";
TokenType["REGEXP"] = "regexp";
})(TokenType || (exports.TokenType = TokenType = {}));
// In the order of precedence
var OperatorType;
(function (OperatorType) {
OperatorType["BASE"] = "base";
OperatorType["CONDITIONAL"] = "conditional";
OperatorType["ASSIGNMENT"] = "assignment";
OperatorType["COALESCING"] = "coalescing";
OperatorType["OR"] = "or";
OperatorType["AND"] = "and";
OperatorType["EQUALITY"] = "equality";
OperatorType["RELATIONAL"] = "relational";
OperatorType["SHIFT"] = "shift";
OperatorType["ADDITION"] = "addition";
OperatorType["MULTIPLICATION"] = "multiplication";
OperatorType["POWER"] = "power";
OperatorType["UNARY"] = "unary";
OperatorType["PREFIX_INCREMENT"] = "prefix_increment";
OperatorType["POSTFIX_INCREMENT"] = "postfix_increment";
})(OperatorType || (exports.OperatorType = OperatorType = {}));
var SyntaxType;
(function (SyntaxType) {
SyntaxType["EMPTY"] = "empty";
SyntaxType["PATH"] = "path";
SyntaxType["PATH_OPTIONS"] = "path_options";
SyntaxType["SELECTOR"] = "selector";
SyntaxType["LAMBDA_ARG"] = "lambda_arg";
SyntaxType["INCREMENT"] = "increment";
SyntaxType["LITERAL"] = "literal";
SyntaxType["LOGICAL_COALESCE_EXPR"] = "logical_coalesce_expr";
SyntaxType["LOGICAL_OR_EXPR"] = "logical_or_expr";
SyntaxType["LOGICAL_AND_EXPR"] = "logical_and_expr";
SyntaxType["COMPARISON_EXPR"] = "comparison_expr";
SyntaxType["IN_EXPR"] = "in_expr";
SyntaxType["MATH_EXPR"] = "math_expr";
SyntaxType["UNARY_EXPR"] = "unary_expr";
SyntaxType["SPREAD_EXPR"] = "spread_expr";
SyntaxType["CONDITIONAL_EXPR"] = "conditional_expr";
SyntaxType["ARRAY_INDEX_FILTER_EXPR"] = "array_index_filter_expr";
SyntaxType["ALL_FILTER_EXPR"] = "all_filter_expr";
SyntaxType["OBJECT_INDEX_FILTER_EXPR"] = "object_index_filter_expr";
SyntaxType["RANGE_FILTER_EXPR"] = "range_filter_expr";
SyntaxType["OBJECT_FILTER_EXPR"] = "object_filter_expr";
SyntaxType["ARRAY_FILTER_EXPR"] = "array_filter_expr";
SyntaxType["DEFINITION_EXPR"] = "definition_expr";
SyntaxType["ASSIGNMENT_EXPR"] = "assignment_expr";
SyntaxType["OBJECT_PROP_EXPR"] = "object_prop_expr";
SyntaxType["OBJECT_EXPR"] = "object_expr";
SyntaxType["ARRAY_EXPR"] = "array_expr";
SyntaxType["BLOCK_EXPR"] = "block_expr";
SyntaxType["FUNCTION_EXPR"] = "function_expr";
SyntaxType["FUNCTION_CALL_EXPR"] = "function_call_expr";
SyntaxType["RETURN_EXPR"] = "return_expr";
SyntaxType["THROW_EXPR"] = "throw_expr";
SyntaxType["STATEMENTS_EXPR"] = "statements_expr";
SyntaxType["LOOP_CONTROL_EXPR"] = "loop_control_expr";
SyntaxType["LOOP_EXPR"] = "loop_expr";
SyntaxType["TEMPLATE_EXPR"] = "TEMPLATE_EXPR";
})(SyntaxType || (exports.SyntaxType = SyntaxType = {}));
var PathType;
(function (PathType) {
PathType["SIMPLE"] = "simple";
PathType["RICH"] = "rich";
PathType["JSON"] = "json";
PathType["UNKNOWN"] = "unknown";
})(PathType || (exports.PathType = PathType = {}));