Server IP : 162.213.251.212 / Your IP : 18.188.42.190 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/www/easybuyer/node_modules/regjsparser/ |
Upload File : |
type _If<Test, Then, Else> = Test extends true ? Then : Else; export type Features = { lookbehind?: boolean; namedGroups?: boolean; unicodePropertyEscape?: boolean; unicodeSet?: boolean; modifiers?: boolean; }; export type AstNodeType = | "alternative" | "anchor" | "characterClass" | "characterClassEscape" | "characterClassRange" | "disjunction" | "dot" | "group" | "quantifier" | "reference" | "unicodePropertyEscape" | "value"; export type Base<T extends AstNodeType> = { range: [number, number]; raw: string; type: T; }; export type AstNode<F extends Features = {}> = | Alternative<F> | Anchor | CharacterClass<F> | CharacterClassEscape | CharacterClassRange | Disjunction<F> | Dot | Group<F> | Quantifier<F> | Reference<F> | _If<F["unicodePropertyEscape"], UnicodePropertyEscape, never> | Value; export type RootNode<F extends Features = {}> = Exclude< AstNode<F>, CharacterClassRange >; export type Anchor = Base<"anchor"> & { kind: "boundary" | "end" | "not-boundary" | "start"; }; export type CharacterClassEscape = Base<"characterClassEscape"> & { value: string; }; export type Value = Base<"value"> & { codePoint: number; kind: | "controlLetter" | "hexadecimalEscape" | "identifier" | "null" | "octal" | "singleEscape" | "symbol" | "unicodeCodePointEscape" | "unicodeEscape"; }; export type Identifier = Base<"value"> & { value: string; }; export type Alternative<F extends Features = {}> = Base<"alternative"> & { body: RootNode<F>[]; }; export type CharacterClassRange = Base<"characterClassRange"> & { max: Value; min: Value; }; export type UnicodePropertyEscape = Base<"unicodePropertyEscape"> & { negative: boolean; value: string; }; export type CharacterClassBody = | CharacterClassEscape | CharacterClassRange | UnicodePropertyEscape | Value; export type CharacterClass<F extends Features = {}> = Base<"characterClass"> & { body: CharacterClassBody[]; negative: boolean; kind: "union" | _If<F["unicodeSet"], "intersection" | "subtraction", never>; }; export type ModifierFlags = { enabling: string, disabling: string } export type NonCapturingGroup<F extends Features = {}> = Base<"group"> & ( | { behavior: | "lookahead" | "lookbehind" | "negativeLookahead" | "negativeLookbehind"; body: RootNode<F>[]; } | ({ behavior: "ignore"; body: RootNode<F>[]; } & _If< F["modifiers"], { modifierFlags?: ModifierFlags; }, { modifierFlags: undefined; } >) ); export type CapturingGroup<F extends Features = {}> = Base<"group"> & { behavior: "normal"; body: RootNode<F>[]; } & _If< F["namedGroups"], { name?: Identifier; }, { name: undefined; } >; export type Group<F extends Features = {}> = | CapturingGroup<F> | NonCapturingGroup<F>; export type Quantifier<F extends Features = {}> = Base<"quantifier"> & { body: [RootNode<F>]; greedy: boolean; max?: number; min: number; symbol?: '?' | '*' | '+'; }; export type Disjunction<F extends Features = {}> = Base<"disjunction"> & { body: [RootNode<F>, RootNode<F>, ...RootNode<F>[]]; }; export type Dot = Base<"dot">; export type NamedReference = Base<"reference"> & { matchIndex: undefined; name: Identifier; }; export type IndexReference = Base<"reference"> & { matchIndex: number; name: undefined; }; export type Reference<F extends Features = {}> = _If< F["namedGroups"], NamedReference, IndexReference >; export function parse<F extends Features = {}>( str: string, flags: string, features?: F ): RootNode<F>;