@abdullah2993/expression-parser
Version:
An expression evaluator written in typescript with the goal to support SQL like WHERE clauses.
57 lines (56 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CaseExpression = exports.IdentifierExpression = exports.FunctionCallExpression = exports.ValueExpression = exports.UnaryExpression = exports.BinaryExpression = void 0;
var BinaryExpression = /** @class */ (function () {
function BinaryExpression(operator, left, right) {
this.operator = operator;
this.left = left;
this.right = right;
this.type = 'BinaryExpression';
}
return BinaryExpression;
}());
exports.BinaryExpression = BinaryExpression;
var UnaryExpression = /** @class */ (function () {
function UnaryExpression(operator, operand) {
this.operator = operator;
this.operand = operand;
this.type = 'UnaryExpression';
}
return UnaryExpression;
}());
exports.UnaryExpression = UnaryExpression;
var ValueExpression = /** @class */ (function () {
function ValueExpression(value) {
this.value = value;
this.type = 'ValueExpression';
}
return ValueExpression;
}());
exports.ValueExpression = ValueExpression;
var FunctionCallExpression = /** @class */ (function () {
function FunctionCallExpression(name, args) {
this.name = name;
this.args = args;
this.type = 'FunctionCallExpression';
}
return FunctionCallExpression;
}());
exports.FunctionCallExpression = FunctionCallExpression;
var IdentifierExpression = /** @class */ (function () {
function IdentifierExpression(name) {
this.name = name;
this.type = 'IdentifierExpression';
}
return IdentifierExpression;
}());
exports.IdentifierExpression = IdentifierExpression;
var CaseExpression = /** @class */ (function () {
function CaseExpression(conditions, last) {
this.conditions = conditions;
this.last = last;
this.type = 'CaseExpression';
}
return CaseExpression;
}());
exports.CaseExpression = CaseExpression;