json-p3
Version:
JSONPath, JSON Pointer and JSON Patch
71 lines (70 loc) • 1.99 kB
TypeScript
/**
*
*/
export declare enum TokenKind {
AND = "TOKEN_AND",
COLON = "TOKEN_COLON",
COMMA = "TOKEN_COMMA",
CURRENT = "TOKEN_CURRENT_VALUE",
CURRENT_KEY = "TOKEN_CURRENT_KEY",// non-standard, default `#`
DDOT = "TOKEN_DDOT",
DOT = "TOKEN_DOT",
DOUBLE_QUOTE_STRING = "TOKEN_DOUBLE_QUOTE_STRING",
EOF = "TOKEN_EOF",
EQ = "TOKEN_EQ",
ERROR = "TOKEN_ERROR",
FALSE = "TOKEN_FALSE",
FILTER = "TOKEN_FILTER_START",
FUNCTION = "TOKEN_FUNCTION",
GE = "TOKEN_GE",
GT = "TOKEN_GT",
INDEX = "TOKEN_INDEX",
KEY = "TOKEN_KEY",// non-standard, default `~<name>`
KEY_DOUBLE_QUOTE_STRING = "TOKEN_KEY_DOUBLE_QUOTE_STRING",// non-standard, `~"<name>"`
KEY_SINGLE_QUOTE_STRING = "TOKEN_KEY_SINGLE_QUOTE_STRING",// non-standard, `~'<name>'`
KEYS = "TOKEN_KEYS",// non-standard, default `~`
KEYS_FILTER = "TOKEN_KEYS_FILTER",// non-standard, `~?<expression>`
LBRACKET = "TOKEN_LBRACKET",
LE = "TOKEN_LE",
LG = "TOKEN_LG",
LPAREN = "TOKEN_LPAREN",
LT = "TOKEN_LT",
NAME = "TOKEN_NAME",
NE = "TOKEN_NE",
NOT = "TOKEN_NOT",
NULL = "TOKEN_NULL",
NUMBER = "NUMBER",
OR = "TOKEN_OR",
RBRACKET = "TOKEN_RBRACKET",
ROOT = "TOKEN_ROOT",
RPAREN = "TOKEN_RPAREN",
SINGLE_QUOTE_STRING = "TOKEN_SINGLE_QUOTE_STRING",
TRUE = "TOKEN_TRUE",
WILD = "TOKEN_WILD"
}
/**
*
*/
export declare class Token {
readonly kind: TokenKind;
readonly value: string;
readonly index: number;
readonly input: string;
constructor(kind: TokenKind, value: string, index: number, input: string);
}
export declare const EOF: Token;
/**
*
*/
export declare class TokenStream {
#private;
private tokens;
constructor(tokens: Token[]);
get current(): Token;
get peek(): Token;
next(): Token;
backup(): void;
expect(kind: TokenKind): void;
expectPeek(kind: TokenKind): void;
expectPeekNot(kind: TokenKind, message: string): void;
}