UNPKG

@daiyam/regexp

Version:

RegExp parser/formatter/visitor/transformer

69 lines (64 loc) 1.58 kB
export declare enum TokenType { ALTERNATE, ANY, BACK_REFERENCE, BACKSPACE, BEGIN, CAPTURE_GROUP, CARRIAGE_RETURN, CHARSET, CONTROL, DIGIT, END, ESCAPE, FORM_FEED, HEX, LINE_FEED, LITERAL, MATCH, MODIFIED_GROUP, MODIFIER, NAMED_BACK_REFERENCE, NAMED_GROUP, NEGATIVE_LOOKAHEAD, NEGATIVE_LOOKBEHIND, NON_CAPTURE_GROUP, NON_DIGIT, NON_UNICODE_PROPERTY, NON_WHITE_SPACE, NON_WORD, NON_WORD_BOUNDARY, NUL, OCTAL, PATTERN, POSITIVE_LOOKAHEAD, POSITIVE_LOOKBEHIND, QUANTIFIED, QUANTIFIER, RANGE, TAB, UNICODE, UNICODE_PROPERTY, UTF16, VERTICAL_TAB, WHITE_SPACE, WORD, WORD_BOUNDARY } export declare enum Flavor { ES2018 } export declare interface Token { type: TokenType, body?: Token | Token[] } declare type Visitor = (token: Token) => void; declare type Transformer = (token: Token, parent: Token | null, key: string | null, index: number | null) => void; export function escape(value: string): string; export function isRegExp(value: any): boolean; export function parse(value: string | RegExp): Token; export function stringify(tokens?: Token | Token[] | RegExp): string; export function visit(tokens?: Token | Token[], callback?: { [TokenType: string]: Visitor } | Visitor): void; export function transform(tokens?: Token | Token[], callback?: { [TokenType: string]: Transformer } | Transformer): void; export function translate(value: string | RegExp | Token | Token[], target: Flavor): string; export function translate(value: string | RegExp | Token | Token[], target: Flavor, toString: boolean): string | Token | Token[];