@ibyar/expressions
Version:
Aurora expression, an template expression and evaluation, An 100% spec compliant ES2022 JavaScript toolchain,
414 lines • 9.76 kB
TypeScript
import type { ExpressionNode } from '../api/expression.js';
import { LanguageMode } from './language.js';
export declare class Token {
private name;
private precedence;
/**
* ___ ? ___ : ___
*/
static readonly CONDITIONAL: Token;
/**
* ___ ?? ___
*/
static readonly NULLISH: Token;
/**
* ___ |> ___ : ___ : ?
* ___ |> ___ ( ___, ___ , ?)
*/
static readonly PIPELINE: Token;
/**
* ___ || ___
*/
static readonly OR: Token;
/**
* ___ && ___
*/
static readonly AND: Token;
/**
* ___ | ___
*/
static readonly BIT_OR: Token;
/**
* ___ ^ ___
*/
static readonly BIT_XOR: Token;
/**
* ___ | ___
*/
static readonly BIT_AND: Token;
/**
* ___ << ___
*/
static readonly SHL: Token;
/**
* ___ >> ___
*/
static readonly SAR: Token;
/**
* ___ >>> ___
*/
static readonly SHR: Token;
/**
* ___ * ___
*/
static readonly MUL: Token;
/**
* ___ / ___
*/
static readonly DIV: Token;
/**
* ___ % ___
*/
static readonly MOD: Token;
/**
* ___ %% ___
*/
static readonly MODULO: Token;
/**
* ___ > ___
*/
static readonly LARGER: Token;
/**
* ___ > ___
*/
static readonly SMALLER: Token;
/**
* ___ ** ___
*/
static readonly EXP: Token;
/**
* ___ + ___
*/
static readonly ADD: Token;
/**
* ___ - ___
*/
static readonly SUB: Token;
/**
* ! ___
*/
static readonly NOT: Token;
/**
* ~ ___
*/
static readonly BIT_NOT: Token;
/**
* ___ < ___
*/
static readonly LT: Token;
/**
* ___ > ___
*/
static readonly GT: Token;
/**
* ___++
*
* ++___
*/
static readonly INC: Token;
/**
* ___--
*
* --___
*/
static readonly DEC: Token;
/**
* ___ == ___
*/
static readonly EQ: Token;
/**
* ___ === ___
*/
static readonly EQ_STRICT: Token;
/**
* ___ != ___
*/
static readonly NE: Token;
/**
* ___ !== ___
*/
static readonly NE_STRICT: Token;
/**
* ___ <= ___
*/
static readonly LTE: Token;
/**
* ___ >= ___
*/
static readonly GTE: Token;
/**
* ___ <=> ___
*/
static readonly SPACESHIP: Token;
/**
* ___ = ___
*/
static readonly ASSIGN: Token;
/**
* ___ += ___
*/
static readonly ADD_ASSIGN: Token;
/**
* ___ -= ___
*/
static readonly SUB_ASSIGN: Token;
/**
* ___ *= ___
*/
static readonly MUL_ASSIGN: Token;
/**
* ___ /= ___
*/
static readonly DIV_ASSIGN: Token;
/**
* ___ %= ___
*/
static readonly MOD_ASSIGN: Token;
/**
* ___ %% ___
*/
static readonly MODULO_ASSIGN: Token;
/**
* ___ > ___
*/
static readonly LARGER_ASSIGN: Token;
/**
* ___ > ___
*/
static readonly SMALLER_ASSIGN: Token;
/**
* ___ **= ___
*/
static readonly EXP_ASSIGN: Token;
/**
* ___ ^= ___
*/
static readonly BIT_XOR_ASSIGN: Token;
/**
* ___ &= ___
*/
static readonly BIT_AND_ASSIGN: Token;
/**
* ___ |= ___
*/
static readonly BIT_OR_ASSIGN: Token;
/**
* ___ &&= ___
*/
static readonly AND_ASSIGN: Token;
/**
* ___ ||= ___
*/
static readonly OR_ASSIGN: Token;
/**
* ___ ??= ___
*/
static readonly NULLISH_ASSIGN: Token;
/**
* ___ <<= ___
*/
static readonly SHL_ASSIGN: Token;
/**
* ___ >>= ___
*/
static readonly SAR_ASSIGN: Token;
/**
* ___ >>>= ___
*/
static readonly SHR_ASSIGN: Token;
/**
* ___ . ___
*/
static readonly PERIOD: Token;
/**
* ___ ?. ___
*
* ___?.[___]
*
* ___?.()
*/
static readonly QUESTION_PERIOD: Token;
/**
* ___ :: ___
*/
static readonly BIND: Token;
/**
* ___ ?:: ___
*
* ___?::[___]
*
* ___?::()
*/
static readonly QUESTION_BIND: Token;
/**
* (
*/
static readonly LPAREN: Token;
/**
* )
*/
static readonly RPAREN: Token;
/**
* [
*/
static readonly LBRACK: Token;
/**
* ]
*/
static readonly RBRACK: Token;
/**
* {
*/
static readonly LBRACE: Token;
/**
* }
*/
static readonly RBRACE: Token;
/**
* :
*/
static readonly COLON: Token;
/**
* ...
*/
static readonly ELLIPSIS: Token;
/**
* ;
*/
static readonly SEMICOLON: Token;
/**
* end of source
*/
static readonly EOS: Token;
/**
* =>
*/
static readonly ARROW: Token;
/**
* ___, ___, ___
*/
static readonly COMMA: Token;
static readonly ASYNC: Token;
static readonly AWAIT: Token;
static readonly BREAK: Token;
static readonly CASE: Token;
static readonly CATCH: Token;
static readonly CLASS: Token;
static readonly CONST: Token;
static readonly CONTINUE: Token;
static readonly DEBUGGER: Token;
static readonly DEFAULT: Token;
static readonly DELETE: Token;
static readonly DO: Token;
static readonly ELSE: Token;
static readonly ENUM: Token;
static readonly EXPORT: Token;
static readonly EXTENDS: Token;
static readonly FALSE_LITERAL: Token;
static readonly FINALLY: Token;
static readonly FOR: Token;
static readonly FUNCTION: Token;
static readonly GET: Token;
static readonly IF: Token;
static readonly IMPLEMENTS: Token;
static readonly IMPORT: Token;
static readonly PRIVATE_NAME: Token;
static readonly IN: Token;
static readonly INSTANCEOF: Token;
static readonly LET: Token;
static readonly NEW: Token;
static readonly NULL_LITERAL: Token;
static readonly UNDEFINED_LITERAL: Token;
static readonly PACKAGE: Token;
static readonly INTERFACE: Token;
static readonly PRIVATE: Token;
static readonly PROTECTED: Token;
static readonly PUBLIC: Token;
static readonly RETURN: Token;
static readonly SET: Token;
static readonly STATIC: Token;
static readonly SUPER: Token;
static readonly SWITCH: Token;
static readonly THIS: Token;
static readonly THROW: Token;
static readonly TRUE_LITERAL: Token;
static readonly TRY: Token;
static readonly TYPEOF: Token;
static readonly VAR: Token;
static readonly VOID: Token;
static readonly WHILE: Token;
static readonly WITH: Token;
static readonly YIELD: Token;
static readonly NUMBER: Token;
static readonly BIGINT: Token;
static readonly STRING: Token;
static readonly IDENTIFIER: Token;
/**
* TEMPLATE_SPAN ::
*
* ` LiteralChars* ${
* | } LiteralChars* ${
*/
static readonly TEMPLATE_SPAN: Token;
/**
* TEMPLATE_TAIL ::
*
* ` LiteralChars* `
* | } LiteralChar* `
*/
static readonly TEMPLATE_TAIL: Token;
static readonly ILLEGAL: Token;
static readonly ESCAPED_KEYWORD: Token;
static readonly WHITESPACE: Token;
static readonly REGEXP_LITERAL: Token;
static isPair(token: Token): boolean;
static isOpenPair(token: Token): boolean;
static isClosePair(token: Token): boolean;
static openOf(token: Token): Token;
static closeOf(token: Token): Token;
static isAnyIdentifier(token: Token): boolean;
static isIdentifier(token: Token): boolean;
static isLiteral(token: Token): boolean;
static isArrowOrAssignmentOp(token: Token): boolean;
static isAssignment(token: Token): boolean;
static isLogicalAssignmentOp(token: Token): boolean;
static isAutoSemicolon(token: Token): boolean;
static isMember(token: Token): boolean;
static isTemplate(token: Token): boolean;
static isNextLetKeyword(token: Token): boolean;
static isInRangeIdentifierAndAsync(token: Token): boolean;
static isPropertyOrCall(token: Token): boolean;
static isPropertyName(token: Token): boolean;
private static isInRange;
static isProperty(token: number | Token): boolean;
static isBinary(token: number | Token): boolean;
static isCompare(token: Token): boolean;
static isOrderedRelationalCompare(token: Token): boolean;
static isEquality(token: Token): boolean;
static binaryOpForAssignment(token: Token): boolean;
static isBitOp(token: Token): boolean;
static isUnary(token: Token): boolean;
static isCount(token: Token): boolean;
static isUnaryOrCount(token: Token): boolean;
static isShift(token: Token): boolean;
static isStrictReservedWord(token: Token): boolean;
static isPipelineOperator(token: Token): boolean;
static isValidIdentifier(token: Token, mode: LanguageMode, isGenerator: boolean, disallowAwait: boolean): boolean;
static precedence(token: Token, acceptIN: boolean): number;
constructor(name: string, precedence: number);
getName(): string;
getPrecedence(): number;
equal(token: Token): boolean;
}
export declare class TokenExpression {
token: Token;
range: [number, number];
value?: ExpressionNode | undefined;
constructor(token: Token, range: [number, number], value?: ExpressionNode | undefined);
getValue<T extends ExpressionNode>(): T;
isType(type: Token): boolean;
isNotType(type: Token): boolean;
test(func: (token: Token, value?: ExpressionNode) => boolean): boolean;
toString(): string;
}
//# sourceMappingURL=token.d.ts.map