valraiso-expression-parser
Version:
An expression evaluator written in typescript with the goal to support SQL like WHERE clauses.
88 lines (87 loc) • 2.2 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GroupExpression = exports.NotExpression = exports.InExpression = exports.CaseExpression = exports.IdentifierExpression = exports.FunctionCallExpression = exports.ValueExpression = exports.UnaryExpression = exports.BinaryExpression = void 0;
class BinaryExpression {
operator;
left;
right;
constructor(operator, left, right) {
this.operator = operator;
this.left = left;
this.right = right;
}
type = 'BinaryExpression';
}
exports.BinaryExpression = BinaryExpression;
class UnaryExpression {
operator;
operand;
constructor(operator, operand) {
this.operator = operator;
this.operand = operand;
}
type = 'UnaryExpression';
}
exports.UnaryExpression = UnaryExpression;
class ValueExpression {
value;
constructor(value) {
this.value = value;
}
type = 'ValueExpression';
}
exports.ValueExpression = ValueExpression;
class FunctionCallExpression {
name;
args;
constructor(name, args) {
this.name = name;
this.args = args;
}
type = 'FunctionCallExpression';
}
exports.FunctionCallExpression = FunctionCallExpression;
class IdentifierExpression {
name;
constructor(name) {
this.name = name;
}
type = 'IdentifierExpression';
}
exports.IdentifierExpression = IdentifierExpression;
class CaseExpression {
conditions;
last;
constructor(conditions, last) {
this.conditions = conditions;
this.last = last;
}
type = 'CaseExpression';
}
exports.CaseExpression = CaseExpression;
class InExpression {
left;
right;
constructor(left, right) {
this.left = left;
this.right = right;
}
type = 'InExpression';
}
exports.InExpression = InExpression;
class NotExpression {
expression;
constructor(expression) {
this.expression = expression;
}
type = 'NotExpression';
}
exports.NotExpression = NotExpression;
class GroupExpression {
values;
constructor(values) {
this.values = values;
}
type = 'GroupExpression';
}
exports.GroupExpression = GroupExpression;