You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							241 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
	
	
							241 lines
						
					
					
						
							10 KiB
						
					
					
				// Generated by dts-bundle v0.7.3 | 
						|
 | 
						|
declare module 'regexpp' { | 
						|
    import * as AST from "regexpp/ast"; | 
						|
    import { RegExpParser } from "regexpp/parser"; | 
						|
    import { RegExpValidator } from "regexpp/validator"; | 
						|
    import { RegExpVisitor } from "regexpp/visitor"; | 
						|
    export { AST, RegExpParser, RegExpValidator }; | 
						|
    export function parseRegExpLiteral(source: string | RegExp, options?: RegExpParser.Options): AST.RegExpLiteral; | 
						|
    export function validateRegExpLiteral(source: string, options?: RegExpValidator.Options): void; | 
						|
    export function visitRegExpAST(node: AST.Node, handlers: RegExpVisitor.Handlers): void; | 
						|
} | 
						|
 | 
						|
declare module 'regexpp/ast' { | 
						|
    export type Node = BranchNode | LeafNode; | 
						|
    export type BranchNode = RegExpLiteral | Pattern | Alternative | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion | CharacterClassRange; | 
						|
    export type LeafNode = BoundaryAssertion | CharacterSet | Character | Backreference | Flags; | 
						|
    export type Element = Assertion | Quantifier | QuantifiableElement; | 
						|
    export type QuantifiableElement = Group | CapturingGroup | CharacterClass | CharacterSet | Character | Backreference | LookaheadAssertion; | 
						|
    export type CharacterClassElement = EscapeCharacterSet | UnicodePropertyCharacterSet | Character | CharacterClassRange; | 
						|
    export interface NodeBase { | 
						|
        type: Node["type"]; | 
						|
        parent: Node["parent"]; | 
						|
        start: number; | 
						|
        end: number; | 
						|
        raw: string; | 
						|
    } | 
						|
    export interface RegExpLiteral extends NodeBase { | 
						|
        type: "RegExpLiteral"; | 
						|
        parent: null; | 
						|
        pattern: Pattern; | 
						|
        flags: Flags; | 
						|
    } | 
						|
    export interface Pattern extends NodeBase { | 
						|
        type: "Pattern"; | 
						|
        parent: RegExpLiteral | null; | 
						|
        alternatives: Alternative[]; | 
						|
    } | 
						|
    export interface Alternative extends NodeBase { | 
						|
        type: "Alternative"; | 
						|
        parent: Pattern | Group | CapturingGroup | LookaroundAssertion; | 
						|
        elements: Element[]; | 
						|
    } | 
						|
    export interface Group extends NodeBase { | 
						|
        type: "Group"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        alternatives: Alternative[]; | 
						|
    } | 
						|
    export interface CapturingGroup extends NodeBase { | 
						|
        type: "CapturingGroup"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        name: string | null; | 
						|
        alternatives: Alternative[]; | 
						|
        references: Backreference[]; | 
						|
    } | 
						|
    export type LookaroundAssertion = LookaheadAssertion | LookbehindAssertion; | 
						|
    export interface LookaheadAssertion extends NodeBase { | 
						|
        type: "Assertion"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        kind: "lookahead"; | 
						|
        negate: boolean; | 
						|
        alternatives: Alternative[]; | 
						|
    } | 
						|
    export interface LookbehindAssertion extends NodeBase { | 
						|
        type: "Assertion"; | 
						|
        parent: Alternative; | 
						|
        kind: "lookbehind"; | 
						|
        negate: boolean; | 
						|
        alternatives: Alternative[]; | 
						|
    } | 
						|
    export interface Quantifier extends NodeBase { | 
						|
        type: "Quantifier"; | 
						|
        parent: Alternative; | 
						|
        min: number; | 
						|
        max: number; | 
						|
        greedy: boolean; | 
						|
        element: QuantifiableElement; | 
						|
    } | 
						|
    export interface CharacterClass extends NodeBase { | 
						|
        type: "CharacterClass"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        negate: boolean; | 
						|
        elements: CharacterClassElement[]; | 
						|
    } | 
						|
    export interface CharacterClassRange extends NodeBase { | 
						|
        type: "CharacterClassRange"; | 
						|
        parent: CharacterClass; | 
						|
        min: Character; | 
						|
        max: Character; | 
						|
    } | 
						|
    export type Assertion = BoundaryAssertion | LookaroundAssertion; | 
						|
    export type BoundaryAssertion = EdgeAssertion | WordBoundaryAssertion; | 
						|
    export interface EdgeAssertion extends NodeBase { | 
						|
        type: "Assertion"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        kind: "start" | "end"; | 
						|
    } | 
						|
    export interface WordBoundaryAssertion extends NodeBase { | 
						|
        type: "Assertion"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        kind: "word"; | 
						|
        negate: boolean; | 
						|
    } | 
						|
    export type CharacterSet = AnyCharacterSet | EscapeCharacterSet | UnicodePropertyCharacterSet; | 
						|
    export interface AnyCharacterSet extends NodeBase { | 
						|
        type: "CharacterSet"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        kind: "any"; | 
						|
    } | 
						|
    export interface EscapeCharacterSet extends NodeBase { | 
						|
        type: "CharacterSet"; | 
						|
        parent: Alternative | Quantifier | CharacterClass; | 
						|
        kind: "digit" | "space" | "word"; | 
						|
        negate: boolean; | 
						|
    } | 
						|
    export interface UnicodePropertyCharacterSet extends NodeBase { | 
						|
        type: "CharacterSet"; | 
						|
        parent: Alternative | Quantifier | CharacterClass; | 
						|
        kind: "property"; | 
						|
        key: string; | 
						|
        value: string | null; | 
						|
        negate: boolean; | 
						|
    } | 
						|
    export interface Character extends NodeBase { | 
						|
        type: "Character"; | 
						|
        parent: Alternative | Quantifier | CharacterClass | CharacterClassRange; | 
						|
        value: number; | 
						|
    } | 
						|
    export interface Backreference extends NodeBase { | 
						|
        type: "Backreference"; | 
						|
        parent: Alternative | Quantifier; | 
						|
        ref: number | string; | 
						|
        resolved: CapturingGroup; | 
						|
    } | 
						|
    export interface Flags extends NodeBase { | 
						|
        type: "Flags"; | 
						|
        parent: RegExpLiteral | null; | 
						|
        dotAll: boolean; | 
						|
        global: boolean; | 
						|
        ignoreCase: boolean; | 
						|
        multiline: boolean; | 
						|
        sticky: boolean; | 
						|
        unicode: boolean; | 
						|
    } | 
						|
} | 
						|
 | 
						|
declare module 'regexpp/parser' { | 
						|
    import { Flags, RegExpLiteral, Pattern } from "regexpp/ast"; | 
						|
    export namespace RegExpParser { | 
						|
        interface Options { | 
						|
            strict?: boolean; | 
						|
            ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018; | 
						|
        } | 
						|
    } | 
						|
    export class RegExpParser { | 
						|
        constructor(options?: RegExpParser.Options); | 
						|
        parseLiteral(source: string, start?: number, end?: number): RegExpLiteral; | 
						|
        parseFlags(source: string, start?: number, end?: number): Flags; | 
						|
        parsePattern(source: string, start?: number, end?: number, uFlag?: boolean): Pattern; | 
						|
    } | 
						|
} | 
						|
 | 
						|
declare module 'regexpp/validator' { | 
						|
    export namespace RegExpValidator { | 
						|
        interface Options { | 
						|
            strict?: boolean; | 
						|
            ecmaVersion?: 5 | 2015 | 2016 | 2017 | 2018; | 
						|
            onLiteralEnter?(start: number): void; | 
						|
            onLiteralLeave?(start: number, end: number): void; | 
						|
            onFlags?(start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean): void; | 
						|
            onPatternEnter?(start: number): void; | 
						|
            onPatternLeave?(start: number, end: number): void; | 
						|
            onDisjunctionEnter?(start: number): void; | 
						|
            onDisjunctionLeave?(start: number, end: number): void; | 
						|
            onAlternativeEnter?(start: number, index: number): void; | 
						|
            onAlternativeLeave?(start: number, end: number, index: number): void; | 
						|
            onGroupEnter?(start: number): void; | 
						|
            onGroupLeave?(start: number, end: number): void; | 
						|
            onCapturingGroupEnter?(start: number, name: string | null): void; | 
						|
            onCapturingGroupLeave?(start: number, end: number, name: string | null): void; | 
						|
            onQuantifier?(start: number, end: number, min: number, max: number, greedy: boolean): void; | 
						|
            onLookaroundAssertionEnter?(start: number, kind: "lookahead" | "lookbehind", negate: boolean): void; | 
						|
            onLookaroundAssertionLeave?(start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean): void; | 
						|
            onEdgeAssertion?(start: number, end: number, kind: "start" | "end"): void; | 
						|
            onWordBoundaryAssertion?(start: number, end: number, kind: "word", negate: boolean): void; | 
						|
            onAnyCharacterSet?(start: number, end: number, kind: "any"): void; | 
						|
            onEscapeCharacterSet?(start: number, end: number, kind: "digit" | "space" | "word", negate: boolean): void; | 
						|
            onUnicodePropertyCharacterSet?(start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean): void; | 
						|
            onCharacter?(start: number, end: number, value: number): void; | 
						|
            onBackreference?(start: number, end: number, ref: number | string): void; | 
						|
            onCharacterClassEnter?(start: number, negate: boolean): void; | 
						|
            onCharacterClassLeave?(start: number, end: number, negate: boolean): void; | 
						|
            onCharacterClassRange?(start: number, end: number, min: number, max: number): void; | 
						|
        } | 
						|
    } | 
						|
    export class RegExpValidator { | 
						|
        constructor(options?: RegExpValidator.Options); | 
						|
        validateLiteral(source: string, start?: number, end?: number): void; | 
						|
        validateFlags(source: string, start?: number, end?: number): void; | 
						|
        validatePattern(source: string, start?: number, end?: number, uFlag?: boolean): void; | 
						|
    } | 
						|
} | 
						|
 | 
						|
declare module 'regexpp/visitor' { | 
						|
    import { Alternative, Assertion, Backreference, CapturingGroup, Character, CharacterClass, CharacterClassRange, CharacterSet, Flags, Group, Node, Pattern, Quantifier, RegExpLiteral } from "regexpp/ast"; | 
						|
    export class RegExpVisitor { | 
						|
        constructor(handlers: RegExpVisitor.Handlers); | 
						|
        visit(node: Node): void; | 
						|
    } | 
						|
    export namespace RegExpVisitor { | 
						|
        interface Handlers { | 
						|
            onAlternativeEnter?(node: Alternative): void; | 
						|
            onAlternativeLeave?(node: Alternative): void; | 
						|
            onAssertionEnter?(node: Assertion): void; | 
						|
            onAssertionLeave?(node: Assertion): void; | 
						|
            onBackreferenceEnter?(node: Backreference): void; | 
						|
            onBackreferenceLeave?(node: Backreference): void; | 
						|
            onCapturingGroupEnter?(node: CapturingGroup): void; | 
						|
            onCapturingGroupLeave?(node: CapturingGroup): void; | 
						|
            onCharacterEnter?(node: Character): void; | 
						|
            onCharacterLeave?(node: Character): void; | 
						|
            onCharacterClassEnter?(node: CharacterClass): void; | 
						|
            onCharacterClassLeave?(node: CharacterClass): void; | 
						|
            onCharacterClassRangeEnter?(node: CharacterClassRange): void; | 
						|
            onCharacterClassRangeLeave?(node: CharacterClassRange): void; | 
						|
            onCharacterSetEnter?(node: CharacterSet): void; | 
						|
            onCharacterSetLeave?(node: CharacterSet): void; | 
						|
            onFlagsEnter?(node: Flags): void; | 
						|
            onFlagsLeave?(node: Flags): void; | 
						|
            onGroupEnter?(node: Group): void; | 
						|
            onGroupLeave?(node: Group): void; | 
						|
            onPatternEnter?(node: Pattern): void; | 
						|
            onPatternLeave?(node: Pattern): void; | 
						|
            onQuantifierEnter?(node: Quantifier): void; | 
						|
            onQuantifierLeave?(node: Quantifier): void; | 
						|
            onRegExpLiteralEnter?(node: RegExpLiteral): void; | 
						|
            onRegExpLiteralLeave?(node: RegExpLiteral): void; | 
						|
        } | 
						|
    } | 
						|
} | 
						|
 | 
						|
 |