UNPKG

arrow-store

Version:
132 lines (131 loc) 5.35 kB
import { COMPARE_OPERATOR_TYPE } from "../types"; export declare type BOOLEAN_OPERATOR = 'AND' | 'OR'; export declare type EXPRESSION_NODE_TYPE = "ConstantValue" | "NullValue" | "UndefinedValue" | "LambdaExpression" | "GroupExpression" | "Function" | "Inverse" | "ObjectAccessor" | "BooleanOperation" | "CompareOperation" | "Arguments" | "Size" | "Assign" | "MathOperation" | "Increment" | "AttributeExists" | "AttributeNotExists" | "SetWhenNotExists"; export declare abstract class ParserNode { abstract get nodeType(): EXPRESSION_NODE_TYPE; } export declare class ObjectAccessorNode extends ParserNode { private readonly _value; constructor(value: string); get value(): string; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class FunctionExpressionNode extends ParserNode { private readonly _functionName; private readonly _instance; private readonly _args; constructor(functionName: string, instance: ObjectAccessorNode, args: ParserNode); get functionName(): string; get instance(): ObjectAccessorNode; get args(): ParserNode[]; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class BooleanExpressionNode extends ParserNode { private readonly _booleanOperator; private readonly _leftOperand; private readonly _rightOperand; constructor(operator: BOOLEAN_OPERATOR, left: ParserNode, right: ParserNode); get operator(): BOOLEAN_OPERATOR; get left(): ParserNode; get right(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class CompareExpressionNode extends ParserNode { private readonly _comparisonOperator; private readonly _leftOperand; private readonly _rightOperand; constructor(comparisonOperator: COMPARE_OPERATOR_TYPE, left: ParserNode, right: ParserNode); get operator(): COMPARE_OPERATOR_TYPE; get left(): ParserNode; get right(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class LambdaExpressionNode extends ParserNode { private readonly _parameter; private readonly _body; constructor(parameter: ParserNode, body: ParserNode); get parameter(): ParserNode; get body(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class AssignExpressionNode extends ParserNode { private readonly _member; private readonly _value; constructor(member: ParserNode, value: ParserNode); get member(): ObjectAccessorNode; get value(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class IncrementExpressionNode extends ParserNode { private readonly _target; private readonly _incrementValue; constructor(target: ParserNode, incrementValue: ParserNode); get member(): ParserNode; get incrementValue(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class MathExpressionNode extends ParserNode { private readonly _left; private readonly _right; private readonly _operator; constructor(left: ParserNode, right: ParserNode, operator: string); get left(): ParserNode; get right(): ParserNode; get operator(): string; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class ArgumentsExpressionNode extends ParserNode { private readonly _args; constructor(args: ParserNode[]); get args(): ParserNode[]; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class InverseExpressionNode extends ParserNode { constructor(body: ParserNode); body: ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class GroupExpressionNode extends ParserNode { private readonly _bodyNode; constructor(bodyNode: ParserNode); get body(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class NullValueNode extends ParserNode { get nodeType(): EXPRESSION_NODE_TYPE; } export declare class UndefinedValueNode extends ParserNode { get nodeType(): EXPRESSION_NODE_TYPE; } export declare class ConstantValueNode extends ParserNode { private readonly _value; constructor(value: string); get value(): string; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class AttributeExistsNode extends ParserNode { private readonly _attribute; constructor(accessorExpression: ObjectAccessorNode); get attribute(): ObjectAccessorNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class AttributeNotExistsNode extends ParserNode { private readonly _attribute; constructor(accessorExpression: ObjectAccessorNode); get attribute(): ObjectAccessorNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class SizeExpressionNode extends ParserNode { private readonly _instanceAccessor; constructor(instanceAccessor: ObjectAccessorNode); get instanceAccessor(): ObjectAccessorNode; get nodeType(): EXPRESSION_NODE_TYPE; } export declare class SetWhenNotExistsExpression extends ParserNode { private readonly _memberExistExpr; private readonly _updateExpr; constructor(memberExistExpr: ParserNode, updateExpr: ParserNode); get conditionExpression(): ParserNode; get updateExpression(): ParserNode; get nodeType(): EXPRESSION_NODE_TYPE; }