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