arrow-store
Version:
TypeScript DynamoDB ORM
132 lines (131 loc) • 5.35 kB
TypeScript
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;
}