@eslint-community/regexpp 3.2.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,7 +13,7 @@ A regular expression parser for ECMAScript.
13
13
  $ npm install @eslint-community/regexpp
14
14
  ```
15
15
 
16
- - require Node.js 8 or newer.
16
+ - require Node@^12.0.0 || ^14.0.0 || ^16.0.0 || >=18.0.0.
17
17
 
18
18
  ## 📖 Usage
19
19
 
package/index.d.ts CHANGED
@@ -6,18 +6,18 @@ declare module '@eslint-community/regexpp' {
6
6
  import { RegExpValidator } from "@eslint-community/regexpp/validator";
7
7
  import { RegExpVisitor } from "@eslint-community/regexpp/visitor";
8
8
  export { AST, RegExpParser, RegExpValidator };
9
- export function parseRegExpLiteral(source: string | RegExp, options?: RegExpParser.Options): AST.RegExpLiteral;
9
+ export function parseRegExpLiteral(source: RegExp | string, options?: RegExpParser.Options): AST.RegExpLiteral;
10
10
  export function validateRegExpLiteral(source: string, options?: RegExpValidator.Options): void;
11
11
  export function visitRegExpAST(node: AST.Node, handlers: RegExpVisitor.Handlers): void;
12
12
  }
13
13
 
14
14
  declare module '@eslint-community/regexpp/ast' {
15
15
  export type Node = BranchNode | LeafNode;
16
- export type BranchNode = RegExpLiteral | Pattern | Alternative | Group | CapturingGroup | Quantifier | CharacterClass | LookaroundAssertion | CharacterClassRange;
17
- export type LeafNode = BoundaryAssertion | CharacterSet | Character | Backreference | Flags;
18
- export type Element = Assertion | Quantifier | QuantifiableElement;
19
- export type QuantifiableElement = Group | CapturingGroup | CharacterClass | CharacterSet | Character | Backreference | LookaheadAssertion;
20
- export type CharacterClassElement = EscapeCharacterSet | UnicodePropertyCharacterSet | Character | CharacterClassRange;
16
+ export type BranchNode = Alternative | CapturingGroup | CharacterClass | CharacterClassRange | Group | LookaroundAssertion | Pattern | Quantifier | RegExpLiteral;
17
+ export type LeafNode = Backreference | BoundaryAssertion | Character | CharacterSet | Flags;
18
+ export type Element = Assertion | QuantifiableElement | Quantifier;
19
+ export type QuantifiableElement = Backreference | CapturingGroup | Character | CharacterClass | CharacterSet | Group | LookaheadAssertion;
20
+ export type CharacterClassElement = Character | CharacterClassRange | EscapeCharacterSet | UnicodePropertyCharacterSet;
21
21
  export interface NodeBase {
22
22
  type: Node["type"];
23
23
  parent: Node["parent"];
@@ -38,7 +38,7 @@ declare module '@eslint-community/regexpp/ast' {
38
38
  }
39
39
  export interface Alternative extends NodeBase {
40
40
  type: "Alternative";
41
- parent: Pattern | Group | CapturingGroup | LookaroundAssertion;
41
+ parent: CapturingGroup | Group | LookaroundAssertion | Pattern;
42
42
  elements: Element[];
43
43
  }
44
44
  export interface Group extends NodeBase {
@@ -93,7 +93,7 @@ declare module '@eslint-community/regexpp/ast' {
93
93
  export interface EdgeAssertion extends NodeBase {
94
94
  type: "Assertion";
95
95
  parent: Alternative | Quantifier;
96
- kind: "start" | "end";
96
+ kind: "end" | "start";
97
97
  }
98
98
  export interface WordBoundaryAssertion extends NodeBase {
99
99
  type: "Assertion";
@@ -109,13 +109,13 @@ declare module '@eslint-community/regexpp/ast' {
109
109
  }
110
110
  export interface EscapeCharacterSet extends NodeBase {
111
111
  type: "CharacterSet";
112
- parent: Alternative | Quantifier | CharacterClass;
112
+ parent: Alternative | CharacterClass | Quantifier;
113
113
  kind: "digit" | "space" | "word";
114
114
  negate: boolean;
115
115
  }
116
116
  export interface UnicodePropertyCharacterSet extends NodeBase {
117
117
  type: "CharacterSet";
118
- parent: Alternative | Quantifier | CharacterClass;
118
+ parent: Alternative | CharacterClass | Quantifier;
119
119
  kind: "property";
120
120
  key: string;
121
121
  value: string | null;
@@ -123,7 +123,7 @@ declare module '@eslint-community/regexpp/ast' {
123
123
  }
124
124
  export interface Character extends NodeBase {
125
125
  type: "Character";
126
- parent: Alternative | Quantifier | CharacterClass | CharacterClassRange;
126
+ parent: Alternative | CharacterClass | CharacterClassRange | Quantifier;
127
127
  value: number;
128
128
  }
129
129
  export interface Backreference extends NodeBase {
@@ -146,8 +146,8 @@ declare module '@eslint-community/regexpp/ast' {
146
146
  }
147
147
 
148
148
  declare module '@eslint-community/regexpp/parser' {
149
- import { Flags, RegExpLiteral, Pattern } from "@eslint-community/regexpp/ast";
150
- import { EcmaVersion } from "@eslint-community/regexpp/ecma-versions";
149
+ import type { Flags, RegExpLiteral, Pattern } from "@eslint-community/regexpp/ast";
150
+ import type { EcmaVersion } from "@eslint-community/regexpp/ecma-versions";
151
151
  export namespace RegExpParser {
152
152
  interface Options {
153
153
  strict?: boolean;
@@ -163,37 +163,37 @@ declare module '@eslint-community/regexpp/parser' {
163
163
  }
164
164
 
165
165
  declare module '@eslint-community/regexpp/validator' {
166
- import { EcmaVersion } from "@eslint-community/regexpp/ecma-versions";
166
+ import type { EcmaVersion } from "@eslint-community/regexpp/ecma-versions";
167
167
  export namespace RegExpValidator {
168
168
  interface Options {
169
169
  strict?: boolean;
170
170
  ecmaVersion?: EcmaVersion;
171
- onLiteralEnter?(start: number): void;
172
- onLiteralLeave?(start: number, end: number): void;
173
- onFlags?(start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean, hasIndices: boolean): void;
174
- onPatternEnter?(start: number): void;
175
- onPatternLeave?(start: number, end: number): void;
176
- onDisjunctionEnter?(start: number): void;
177
- onDisjunctionLeave?(start: number, end: number): void;
178
- onAlternativeEnter?(start: number, index: number): void;
179
- onAlternativeLeave?(start: number, end: number, index: number): void;
180
- onGroupEnter?(start: number): void;
181
- onGroupLeave?(start: number, end: number): void;
182
- onCapturingGroupEnter?(start: number, name: string | null): void;
183
- onCapturingGroupLeave?(start: number, end: number, name: string | null): void;
184
- onQuantifier?(start: number, end: number, min: number, max: number, greedy: boolean): void;
185
- onLookaroundAssertionEnter?(start: number, kind: "lookahead" | "lookbehind", negate: boolean): void;
186
- onLookaroundAssertionLeave?(start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean): void;
187
- onEdgeAssertion?(start: number, end: number, kind: "start" | "end"): void;
188
- onWordBoundaryAssertion?(start: number, end: number, kind: "word", negate: boolean): void;
189
- onAnyCharacterSet?(start: number, end: number, kind: "any"): void;
190
- onEscapeCharacterSet?(start: number, end: number, kind: "digit" | "space" | "word", negate: boolean): void;
191
- onUnicodePropertyCharacterSet?(start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean): void;
192
- onCharacter?(start: number, end: number, value: number): void;
193
- onBackreference?(start: number, end: number, ref: number | string): void;
194
- onCharacterClassEnter?(start: number, negate: boolean): void;
195
- onCharacterClassLeave?(start: number, end: number, negate: boolean): void;
196
- onCharacterClassRange?(start: number, end: number, min: number, max: number): void;
171
+ onLiteralEnter?: (start: number) => void;
172
+ onLiteralLeave?: (start: number, end: number) => void;
173
+ onFlags?: (start: number, end: number, global: boolean, ignoreCase: boolean, multiline: boolean, unicode: boolean, sticky: boolean, dotAll: boolean, hasIndices: boolean) => void;
174
+ onPatternEnter?: (start: number) => void;
175
+ onPatternLeave?: (start: number, end: number) => void;
176
+ onDisjunctionEnter?: (start: number) => void;
177
+ onDisjunctionLeave?: (start: number, end: number) => void;
178
+ onAlternativeEnter?: (start: number, index: number) => void;
179
+ onAlternativeLeave?: (start: number, end: number, index: number) => void;
180
+ onGroupEnter?: (start: number) => void;
181
+ onGroupLeave?: (start: number, end: number) => void;
182
+ onCapturingGroupEnter?: (start: number, name: string | null) => void;
183
+ onCapturingGroupLeave?: (start: number, end: number, name: string | null) => void;
184
+ onQuantifier?: (start: number, end: number, min: number, max: number, greedy: boolean) => void;
185
+ onLookaroundAssertionEnter?: (start: number, kind: "lookahead" | "lookbehind", negate: boolean) => void;
186
+ onLookaroundAssertionLeave?: (start: number, end: number, kind: "lookahead" | "lookbehind", negate: boolean) => void;
187
+ onEdgeAssertion?: (start: number, end: number, kind: "end" | "start") => void;
188
+ onWordBoundaryAssertion?: (start: number, end: number, kind: "word", negate: boolean) => void;
189
+ onAnyCharacterSet?: (start: number, end: number, kind: "any") => void;
190
+ onEscapeCharacterSet?: (start: number, end: number, kind: "digit" | "space" | "word", negate: boolean) => void;
191
+ onUnicodePropertyCharacterSet?: (start: number, end: number, kind: "property", key: string, value: string | null, negate: boolean) => void;
192
+ onCharacter?: (start: number, end: number, value: number) => void;
193
+ onBackreference?: (start: number, end: number, ref: number | string) => void;
194
+ onCharacterClassEnter?: (start: number, negate: boolean) => void;
195
+ onCharacterClassLeave?: (start: number, end: number, negate: boolean) => void;
196
+ onCharacterClassRange?: (start: number, end: number, min: number, max: number) => void;
197
197
  }
198
198
  }
199
199
  export class RegExpValidator {
@@ -205,39 +205,39 @@ declare module '@eslint-community/regexpp/validator' {
205
205
  }
206
206
 
207
207
  declare module '@eslint-community/regexpp/visitor' {
208
- import { Alternative, Assertion, Backreference, CapturingGroup, Character, CharacterClass, CharacterClassRange, CharacterSet, Flags, Group, Node, Pattern, Quantifier, RegExpLiteral } from "@eslint-community/regexpp/ast";
208
+ import type { Alternative, Assertion, Backreference, CapturingGroup, Character, CharacterClass, CharacterClassRange, CharacterSet, Flags, Group, Node, Pattern, Quantifier, RegExpLiteral } from "@eslint-community/regexpp/ast";
209
209
  export class RegExpVisitor {
210
210
  constructor(handlers: RegExpVisitor.Handlers);
211
211
  visit(node: Node): void;
212
212
  }
213
213
  export namespace RegExpVisitor {
214
214
  interface Handlers {
215
- onAlternativeEnter?(node: Alternative): void;
216
- onAlternativeLeave?(node: Alternative): void;
217
- onAssertionEnter?(node: Assertion): void;
218
- onAssertionLeave?(node: Assertion): void;
219
- onBackreferenceEnter?(node: Backreference): void;
220
- onBackreferenceLeave?(node: Backreference): void;
221
- onCapturingGroupEnter?(node: CapturingGroup): void;
222
- onCapturingGroupLeave?(node: CapturingGroup): void;
223
- onCharacterEnter?(node: Character): void;
224
- onCharacterLeave?(node: Character): void;
225
- onCharacterClassEnter?(node: CharacterClass): void;
226
- onCharacterClassLeave?(node: CharacterClass): void;
227
- onCharacterClassRangeEnter?(node: CharacterClassRange): void;
228
- onCharacterClassRangeLeave?(node: CharacterClassRange): void;
229
- onCharacterSetEnter?(node: CharacterSet): void;
230
- onCharacterSetLeave?(node: CharacterSet): void;
231
- onFlagsEnter?(node: Flags): void;
232
- onFlagsLeave?(node: Flags): void;
233
- onGroupEnter?(node: Group): void;
234
- onGroupLeave?(node: Group): void;
235
- onPatternEnter?(node: Pattern): void;
236
- onPatternLeave?(node: Pattern): void;
237
- onQuantifierEnter?(node: Quantifier): void;
238
- onQuantifierLeave?(node: Quantifier): void;
239
- onRegExpLiteralEnter?(node: RegExpLiteral): void;
240
- onRegExpLiteralLeave?(node: RegExpLiteral): void;
215
+ onAlternativeEnter?: (node: Alternative) => void;
216
+ onAlternativeLeave?: (node: Alternative) => void;
217
+ onAssertionEnter?: (node: Assertion) => void;
218
+ onAssertionLeave?: (node: Assertion) => void;
219
+ onBackreferenceEnter?: (node: Backreference) => void;
220
+ onBackreferenceLeave?: (node: Backreference) => void;
221
+ onCapturingGroupEnter?: (node: CapturingGroup) => void;
222
+ onCapturingGroupLeave?: (node: CapturingGroup) => void;
223
+ onCharacterEnter?: (node: Character) => void;
224
+ onCharacterLeave?: (node: Character) => void;
225
+ onCharacterClassEnter?: (node: CharacterClass) => void;
226
+ onCharacterClassLeave?: (node: CharacterClass) => void;
227
+ onCharacterClassRangeEnter?: (node: CharacterClassRange) => void;
228
+ onCharacterClassRangeLeave?: (node: CharacterClassRange) => void;
229
+ onCharacterSetEnter?: (node: CharacterSet) => void;
230
+ onCharacterSetLeave?: (node: CharacterSet) => void;
231
+ onFlagsEnter?: (node: Flags) => void;
232
+ onFlagsLeave?: (node: Flags) => void;
233
+ onGroupEnter?: (node: Group) => void;
234
+ onGroupLeave?: (node: Group) => void;
235
+ onPatternEnter?: (node: Pattern) => void;
236
+ onPatternLeave?: (node: Pattern) => void;
237
+ onQuantifierEnter?: (node: Quantifier) => void;
238
+ onQuantifierLeave?: (node: Quantifier) => void;
239
+ onRegExpLiteralEnter?: (node: RegExpLiteral) => void;
240
+ onRegExpLiteralLeave?: (node: RegExpLiteral) => void;
241
241
  }
242
242
  }
243
243
  }
package/index.js CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
-
6
-
7
5
  var ast = /*#__PURE__*/Object.freeze({
8
6
  __proto__: null
9
7
  });
@@ -39,17 +37,16 @@ function isIdContinue(cp) {
39
37
  return isLargeIdStart(cp) || isLargeIdContinue(cp);
40
38
  }
41
39
  function isLargeIdStart(cp) {
42
- return isInRange(cp, largeIdStartRanges || (largeIdStartRanges = initLargeIdStartRanges()));
40
+ return isInRange(cp, largeIdStartRanges !== null && largeIdStartRanges !== void 0 ? largeIdStartRanges : (largeIdStartRanges = initLargeIdStartRanges()));
43
41
  }
44
42
  function isLargeIdContinue(cp) {
45
- return isInRange(cp, largeIdContinueRanges ||
46
- (largeIdContinueRanges = initLargeIdContinueRanges()));
43
+ return isInRange(cp, largeIdContinueRanges !== null && largeIdContinueRanges !== void 0 ? largeIdContinueRanges : (largeIdContinueRanges = initLargeIdContinueRanges()));
47
44
  }
48
45
  function initLargeIdStartRanges() {
49
- return restoreRanges("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 1i k 2 h 1p 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 6 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 x 0 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 c 2 3 f h f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 6 1k t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 1a 2 1a 2 3o 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t g70 4 wc 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1g 3 8 17 c 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f 4d 8m a l b 7 49 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 2z k s m d 1g 24 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o 2d 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 6e 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 z 1k 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i 5a 0 28 pl 2v 32 i 5f 24d tq 34i g6 6nu fs 8 u 36 t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6wo 7y 1e 2 i 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1th 18 b 6 h 0 aa 17 105 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyl z 378 c 65 3 4g1 f 5rk 2e8 f1 15v 3t6");
46
+ return restoreRanges("4q 0 b 0 5 0 6 m 2 u 2 cp 5 b f 4 8 0 2 0 3m 4 2 1 3 3 2 0 7 0 2 2 2 0 2 j 2 2a 2 3u 9 4l 2 11 3 0 7 14 20 q 5 3 1a 16 10 1 2 2q 2 0 g 1 8 1 b 2 3 0 h 0 2 t u 2g c 0 p w a 1 5 0 6 l 5 0 a 0 4 0 o o 8 a 6 n 2 5 i 15 1n 1h 4 0 j 0 8 9 g f 5 7 3 1 3 l 2 6 2 0 4 3 4 0 h 0 e 1 2 2 f 1 b 0 9 5 5 1 3 l 2 6 2 1 2 1 2 1 w 3 2 0 k 2 h 8 2 2 2 l 2 6 2 1 2 4 4 0 j 0 g 1 o 0 c 7 3 1 3 l 2 6 2 1 2 4 4 0 v 1 2 2 g 0 i 0 2 5 4 2 2 3 4 1 2 0 2 1 4 1 4 2 4 b n 0 1h 7 2 2 2 m 2 f 4 0 r 2 3 0 3 1 v 0 5 7 2 2 2 m 2 9 2 4 4 0 w 1 2 1 g 1 i 8 2 2 2 14 3 0 h 0 6 2 9 2 p 5 6 h 4 n 2 8 2 0 3 6 1n 1b 2 1 d 6 1n 1 2 0 2 4 2 n 2 0 2 9 2 1 a 0 3 4 2 0 m 3 x 0 1s 7 2 z s 4 38 16 l 0 h 5 5 3 4 0 4 1 8 2 5 c d 0 i 11 2 0 6 0 3 16 2 98 2 3 3 6 2 0 2 3 3 14 2 3 3 w 2 3 3 6 2 0 2 3 3 e 2 1k 2 3 3 1u 12 f h 2d 3 5 4 h7 3 g 2 p 6 22 4 a 8 h e i f h f c 2 2 g 1f 10 0 5 0 1w 2g 8 14 2 0 6 1x b u 1e t 3 4 c 17 5 p 1j m a 1g 2b 0 2m 1a i 7 1j t e 1 b 17 r z 16 2 b z 3 8 8 16 3 2 16 3 2 5 2 1 4 0 6 5b 1t 7p 3 5 3 11 3 5 3 7 2 0 2 0 2 0 2 u 3 1g 2 6 2 0 4 2 2 6 4 3 3 5 5 c 6 2 2 6 39 0 e 0 h c 2u 0 5 0 3 9 2 0 3 5 7 0 2 0 2 0 2 f 3 3 6 4 5 0 i 14 22g 6c 7 3 4 1 d 11 2 0 6 0 3 1j 8 0 h m a 6 2 6 2 6 2 6 2 6 2 6 2 6 2 6 fb 2 q 8 8 4 3 4 5 2d 5 4 2 2h 2 3 6 16 2 2l i v 1d f e9 533 1t h3g 1w 19 3 7g 4 f b 1 l 1a h u 3 27 14 8 3 2u 3 1r 6 1 2 0 2 4 p f 2 2 2 3 2 m u 1f f 1d 1r 5 4 0 2 1 c r b m q s 8 1a t 0 h 4 2 9 b 4 2 14 o 2 2 7 l m 4 0 4 1d 2 0 4 1 3 4 3 0 2 0 p 2 3 a 8 2 d 5 3 5 3 5 a 6 2 6 2 16 2 d 7 36 u 8mb d m 5 1c 6it a5 3 2x 13 6 d 4 6 0 2 9 2 c 2 4 2 0 2 1 2 1 2 2z y a2 j 1r 3 1h 15 b 39 4 2 3q 11 p 7 p c 2g 4 5 3 5 3 5 3 2 10 b 2 p 2 i 2 1 2 e 3 d z 3e 1y 1g 7g s 4 1c 1c v e t 6 11 b t 3 z 5 7 2 4 17 4d j z 5 z 5 13 9 1f d a 2 e 2 6 2 1 2 a 2 e 2 6 2 1 1w 8m a l b 7 p 5 2 15 2 8 1y 5 3 0 2 17 2 1 4 0 3 m b m a u 1u i 2 1 b l b p 1z 1j 7 1 1t 0 g 3 2 2 2 s 17 s 4 s 10 7 2 r s 1h b l b i e h 33 20 1k 1e e 1e e z 9p 15 7 1 27 s b 0 9 l 17 h 1b k s m d 1g 1m 1 3 0 e 18 x o r z u 0 3 0 9 y 4 0 d 1b f 3 m 0 2 0 10 h 2 o k 1 1s 6 2 0 2 3 2 e 2 9 8 1a 13 7 3 1 3 l 2 6 2 1 2 4 4 0 j 0 d 4 4f 1g j 3 l 2 v 1b l 1 2 0 55 1a 16 3 11 1b l 0 1o 16 e 0 20 q 12 6 56 17 39 1r w 7 3 0 3 7 2 1 2 n g 0 2 0 2n 7 3 12 h 0 2 0 t 0 b 13 8 0 m 0 c 19 k 0 j 20 7c 8 2 10 i 0 1e t 35 6 2 1 2 11 m 0 q 5 2 1 2 v f 0 94 i g 0 2 c 2 x 3h 0 28 pl 2v 32 i 5f 219 2o g tr i 5 33u g6 6nu fs 8 u i 26 i t j 1b h 3 w k 6 i j5 1r 3l 22 6 0 1v c 1t 1 2 0 t 4qf 9 yd 17 8 6w8 3 2 6 2 1 2 82 g 0 u 2 3 0 f 3 9 az 1s5 2y 6 c 4 8 8 9 4mf 2c 2 1y 2 1 3 0 3 1 3 3 2 b 2 0 2 6 2 1s 2 3 3 7 2 6 2 r 2 3 2 4 2 0 4 6 2 9f 3 o 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 u 2 o 2 7 1f9 u 7 5 7a 1p 43 18 b 6 h 0 8y t j 17 dh r l1 6 2 3 2 1 2 e 2 5g 1o 1v 8 0 xh 3 2 q 2 1 2 0 3 0 2 9 2 3 2 0 2 0 7 0 5 0 2 0 2 0 2 2 2 1 2 0 3 0 2 0 2 0 2 0 2 0 2 1 2 0 3 3 2 6 2 3 2 3 2 0 2 9 2 g 6 2 2 4 2 g 3et wyn x 37d 7 65 3 4g1 f 5rk 2e8 f1 15v 3t6 6 38f");
50
47
  }
51
48
  function initLargeIdContinueRanges() {
52
- return restoreRanges("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 3c e 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1m 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 h 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 5 3 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 2 u 2 u 1 v 1 1t v a 0 3 9 y 2 3 9 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 1 1s 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1l 2 4 g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 4a a 4w 2 1i e w 9 g 3 1a a 1i 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 4h b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 ewa 9 3r 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 43r 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 7a 6 a 9 bn d 15j 6 32 6 6 9 3o7 9 gvt3 6n");
49
+ return restoreRanges("53 0 g9 33 o 0 70 4 7e 18 2 0 2 1 2 1 2 0 21 a 1d u 7 0 2u 6 3 5 3 1 2 3 3 9 o 0 v q 2k a g 9 y 8 a 0 p 3 2 8 2 2 2 4 18 2 1p 7 17 n 2 w 1j 2 2 h 2 6 b 1 3 9 i 2 1l 0 2 6 3 1 3 2 a 0 b 1 3 9 f 0 3 2 1l 0 2 4 5 1 3 2 4 0 l b 4 0 c 2 1l 0 2 7 2 2 2 2 l 1 3 9 b 5 2 2 1l 0 2 6 3 1 3 2 8 2 b 1 3 9 j 0 1o 4 4 2 2 3 a 0 f 9 h 4 1k 0 2 6 2 2 2 3 8 1 c 1 3 9 i 2 1l 0 2 6 2 2 2 3 8 1 c 1 3 9 4 0 d 3 1k 1 2 6 2 2 2 3 a 0 b 1 3 9 i 2 1z 0 5 5 2 0 2 7 7 9 3 1 1q 0 3 6 d 7 2 9 2g 0 3 8 c 6 2 9 1r 1 7 9 c 0 2 0 2 0 5 1 1e j 2 1 6 a 2 z a 0 2t j 2 9 d 3 5 2 2 2 3 6 4 3 e b 2 e jk 2 a 8 pt 3 t 2 u 1 v 1 1t v a 0 3 9 y 2 2 a 40 0 3b b 5 b b 9 3l a 1p 4 1m 9 2 s 3 a 7 9 n d 2 f 1e 4 1c g c 9 i 8 d 2 v c 3 9 19 d 1d j 9 9 7 9 3b 2 2 k 5 0 7 0 3 2 5j 1r g0 1 k 0 3g c 5 0 4 b 2db 2 3y 0 2p v ff 5 2y 1 n7q 9 1y 0 5 9 x 1 29 1 7l 0 4 0 5 0 o 4 5 0 2c 1 1f h b 9 7 h e a t 7 q c 19 3 1c d g 9 c 0 b 9 1c d d 0 9 1 3 9 y 2 1f 0 2 2 3 1 6 1 2 0 16 4 6 1 6l 7 2 1 3 9 fmt 0 ki f h f 4 1 p 2 5d 9 12 0 ji 0 6b 0 46 4 86 9 120 2 2 1 6 3 15 2 5 0 4m 1 fy 3 9 9 aa 1 29 2 1z a 1e 3 3f 2 1i e w a 3 1 b 3 1a a 8 0 1a 9 7 2 11 d 2 9 6 1 19 0 d 2 1d d 9 3 2 b 2b b 7 0 3 0 4e b 6 9 7 3 1k 1 2 6 3 1 3 2 a 0 b 1 3 6 4 4 5d h a 9 5 0 2a j d 9 5y 6 3 8 s 1 2b g g 9 2a c 9 9 2c e 5 9 6r e 4m 9 1z 5 2 1 3 3 2 0 2 1 d 9 3c 6 3 6 4 0 t 9 15 6 2 3 9 0 a a 1b f ba 7 2 7 h 9 1l l 2 d 3f 5 4 0 2 1 2 6 2 0 9 9 1d 4 2 1 2 4 9 9 96 3 a 1 2 0 1d 6 4 4 e 9 44n 0 7 e aob 9 2f 9 13 4 1o 6 q 9 s6 0 2 1i 8 3 2a 0 c 1 f58 1 3mq 19 3 m f3 4 4 5 9 7 3 6 v 3 45 2 13e 1d e9 1i 5 1d 9 0 f 0 n 4 2 e 11t 6 2 g 3 6 2 1 2 4 2t 0 4h 6 a 9 9x 0 1q d dv d rb 6 32 6 6 9 3o7 9 gvt3 6n");
53
50
  }
54
51
  function isInRange(cp, ranges) {
55
52
  let l = 0, r = (ranges.length / 2) | 0, i = 0, min = 0, max = 0;
@@ -71,7 +68,7 @@ function isInRange(cp, ranges) {
71
68
  }
72
69
  function restoreRanges(data) {
73
70
  let last = 0;
74
- return data.split(" ").map(s => (last += parseInt(s, 36) | 0));
71
+ return data.split(" ").map((s) => (last += parseInt(s, 36) | 0));
75
72
  }
76
73
 
77
74
  class DataSet {
@@ -82,16 +79,20 @@ class DataSet {
82
79
  this._raw2021 = raw2021;
83
80
  }
84
81
  get es2018() {
85
- return (this._set2018 || (this._set2018 = new Set(this._raw2018.split(" "))));
82
+ var _a;
83
+ return ((_a = this._set2018) !== null && _a !== void 0 ? _a : (this._set2018 = new Set(this._raw2018.split(" "))));
86
84
  }
87
85
  get es2019() {
88
- return (this._set2019 || (this._set2019 = new Set(this._raw2019.split(" "))));
86
+ var _a;
87
+ return ((_a = this._set2019) !== null && _a !== void 0 ? _a : (this._set2019 = new Set(this._raw2019.split(" "))));
89
88
  }
90
89
  get es2020() {
91
- return (this._set2020 || (this._set2020 = new Set(this._raw2020.split(" "))));
90
+ var _a;
91
+ return ((_a = this._set2020) !== null && _a !== void 0 ? _a : (this._set2020 = new Set(this._raw2020.split(" "))));
92
92
  }
93
93
  get es2021() {
94
- return (this._set2021 || (this._set2021 = new Set(this._raw2021.split(" "))));
94
+ var _a;
95
+ return ((_a = this._set2021) !== null && _a !== void 0 ? _a : (this._set2021 = new Set(this._raw2021.split(" "))));
95
96
  }
96
97
  }
97
98
  const gcNameSet = new Set(["General_Category", "gc"]);
@@ -391,7 +392,7 @@ class RegExpValidator {
391
392
  this._numCapturingParens = 0;
392
393
  this._groupNames = new Set();
393
394
  this._backreferenceNames = new Set();
394
- this._options = options || {};
395
+ this._options = options !== null && options !== void 0 ? options : {};
395
396
  }
396
397
  validateLiteral(source, start = 0, end = source.length) {
397
398
  this._uFlag = this._nFlag = false;
@@ -468,10 +469,11 @@ class RegExpValidator {
468
469
  }
469
470
  }
470
471
  get strict() {
471
- return Boolean(this._options.strict || this._uFlag);
472
+ return Boolean(this._options.strict) || this._uFlag;
472
473
  }
473
474
  get ecmaVersion() {
474
- return this._options.ecmaVersion || 2022;
475
+ var _a;
476
+ return (_a = this._options.ecmaVersion) !== null && _a !== void 0 ? _a : 2022;
475
477
  }
476
478
  onLiteralEnter(start) {
477
479
  if (this._options.onLiteralEnter) {
@@ -1519,13 +1521,14 @@ const DummyFlags = {};
1519
1521
  const DummyCapturingGroup = {};
1520
1522
  class RegExpParserState {
1521
1523
  constructor(options) {
1524
+ var _a;
1522
1525
  this._node = DummyPattern;
1523
1526
  this._flags = DummyFlags;
1524
1527
  this._backreferences = [];
1525
1528
  this._capturingGroups = [];
1526
1529
  this.source = "";
1527
- this.strict = Boolean(options && options.strict);
1528
- this.ecmaVersion = (options && options.ecmaVersion) || 2022;
1530
+ this.strict = Boolean(options === null || options === void 0 ? void 0 : options.strict);
1531
+ this.ecmaVersion = (_a = options === null || options === void 0 ? void 0 : options.ecmaVersion) !== null && _a !== void 0 ? _a : 2022;
1529
1532
  }
1530
1533
  get pattern() {
1531
1534
  if (this._node.type !== "Pattern") {
@@ -1574,7 +1577,7 @@ class RegExpParserState {
1574
1577
  const ref = reference.ref;
1575
1578
  const group = typeof ref === "number"
1576
1579
  ? this._capturingGroups[ref - 1]
1577
- : this._capturingGroups.find(g => g.name === ref);
1580
+ : this._capturingGroups.find((g) => g.name === ref);
1578
1581
  reference.resolved = group;
1579
1582
  group.references.push(reference);
1580
1583
  }
@@ -2080,7 +2083,7 @@ function parseRegExpLiteral(source, options) {
2080
2083
  return new RegExpParser(options).parseLiteral(String(source));
2081
2084
  }
2082
2085
  function validateRegExpLiteral(source, options) {
2083
- return new RegExpValidator(options).validateLiteral(source);
2086
+ new RegExpValidator(options).validateLiteral(source);
2084
2087
  }
2085
2088
  function visitRegExpAST(node, handlers) {
2086
2089
  new RegExpVisitor(handlers).visit(node);