regjsparser
- Version 0.13.0
- Published
- 73.6 kB
- 1 dependency
- BSD-2-Clause license
Install
npm i regjsparseryarn add regjsparserpnpm add regjsparserOverview
Parsing the JavaScript's RegExp in JavaScript.
Index
Functions
Type Aliases
Functions
function parse
parse: <F extends Features = {}>( str: string, flags: string, features?: F) => RootNode<F>;Type Aliases
type Alternative
type Alternative<F extends Features = {}> = Base<'alternative'> & { body: RootNode<F>[];};type Anchor
type Anchor = Base<'anchor'> & { kind: 'boundary' | 'end' | 'not-boundary' | 'start';};type AstNode
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;type AstNodeType
type AstNodeType = | 'alternative' | 'anchor' | 'characterClass' | 'characterClassEscape' | 'characterClassRange' | 'disjunction' | 'dot' | 'group' | 'quantifier' | 'reference' | 'unicodePropertyEscape' | 'value';type Base
type Base<T extends AstNodeType> = { range: [number, number]; raw: string; type: T;};type CapturingGroup
type CapturingGroup<F extends Features = {}> = Base<'group'> & { behavior: 'normal'; body: RootNode<F>[];} & _If< F['namedGroups'], { name?: Identifier; }, { name: undefined; } >;type CharacterClass
type CharacterClass<F extends Features = {}> = Base<'characterClass'> & { body: CharacterClassBody[]; negative: boolean; kind: 'union' | _If<F['unicodeSet'], 'intersection' | 'subtraction', never>;};type CharacterClassBody
type CharacterClassBody = | CharacterClassEscape | CharacterClassRange | UnicodePropertyEscape | Value;type CharacterClassEscape
type CharacterClassEscape = Base<'characterClassEscape'> & { value: 'd' | 'D' | 'w' | 'W' | 's' | 'S';};type CharacterClassRange
type CharacterClassRange = Base<'characterClassRange'> & { max: Value; min: Value;};type Disjunction
type Disjunction<F extends Features = {}> = Base<'disjunction'> & { body: [RootNode<F>, RootNode<F>, ...RootNode<F>[]];};type Dot
type Dot = Base<'dot'>;type Features
type Features = { lookbehind?: boolean; namedGroups?: boolean; unicodePropertyEscape?: boolean; unicodeSet?: boolean; modifiers?: boolean;};type Group
type Group<F extends Features = {}> = CapturingGroup<F> | NonCapturingGroup<F>;type Identifier
type Identifier = Base<'value'> & { value: string;};type IndexReference
type IndexReference = Base<'reference'> & { matchIndex: number; name: undefined;};type ModifierFlags
type ModifierFlags = { enabling: string; disabling: string;};type NamedReference
type NamedReference = Base<'reference'> & { matchIndex: undefined; name: Identifier;};type NonCapturingGroup
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; } >) );type Quantifier
type Quantifier<F extends Features = {}> = Base<'quantifier'> & { body: [RootNode<F>]; greedy: boolean; max?: number; min: number; symbol?: '?' | '*' | '+';};type Reference
type Reference<F extends Features = {}> = _If< F['namedGroups'], IndexReference | NamedReference, IndexReference>;type RootNode
type RootNode<F extends Features = {}> = Exclude<AstNode<F>, CharacterClassRange>;type UnicodePropertyEscape
type UnicodePropertyEscape = Base<'unicodePropertyEscape'> & { negative: boolean; value: string;};type Value
type Value = Base<'value'> & { codePoint: number; kind: | 'controlLetter' | 'hexadecimalEscape' | 'identifier' | 'null' | 'octal' | 'singleEscape' | 'symbol' | 'unicodeCodePointEscape' | 'unicodeEscape';};Package Files (1)
Dependencies (1)
Dev Dependencies (9)
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/regjsparser.
- Markdown[](https://www.jsdocs.io/package/regjsparser)
- HTML<a href="https://www.jsdocs.io/package/regjsparser"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 2533 ms. - Missing or incorrect documentation? Open an issue for this package.
