@pawel-up/jexl
Version:
Javascript Expression Language: Powerful context-based expression parser and evaluator
68 lines • 1.81 kB
TypeScript
import type { Grammar } from '../grammar.js';
export interface Token {
type: string;
raw?: string;
right?: Token;
_parent?: Token;
args?: Token[];
value?: unknown | unknown[];
operator?: string;
expr?: Token;
subject?: Token;
relative?: boolean;
from?: Token;
name?: string;
pool?: string;
left?: Token;
test?: Token;
consequent?: Token;
alternate?: Token;
}
export default class Parser {
_grammar: Grammar;
_state: string;
_tree: Token | null;
_exprStr: string;
_relative: boolean;
_stopMap: Record<string, unknown>;
_subParser: any;
_parentStop: any;
_cursor?: Token;
_nextIdentEncapsulate?: boolean;
_nextIdentRelative?: boolean;
_curObjKey?: string;
constructor(grammar: Grammar, prefix?: string, stopMap?: Record<string, unknown>);
addToken(token: Token): boolean | unknown;
addTokens(tokens: Token[]): void;
complete(): Token | null;
isRelative(): boolean;
_endSubExpression(): void;
_placeAtCursor(node: Token): void;
_placeBeforeCursor(node: Token): void;
_setParent(node: Token, parent: Token): void;
_startSubExpression(exprStr?: string): void;
private argVal;
private arrayStart;
private arrayVal;
private binaryOp;
private dot;
private filter;
private functionCall;
private _buildFullIdentifierPath;
private identifier;
private literal;
private objKey;
private objStart;
private objVal;
private subExpression;
private ternaryEnd;
private ternaryMid;
private ternaryStart;
private transform;
private unaryOp;
private _getHandlerMethod;
private pipe;
private _getTokenHandlerMethod;
private _getSubHandlerMethod;
}
//# sourceMappingURL=Parser.d.ts.map