Codebase list node-ast-types / aac25b4
New upstream version 0.15.1 Julien Puydt 2 years ago
33 changed file(s) with 5724 addition(s) and 3614 deletion(s). Raw diff Collapse all Expand all
+0
-9
.github/dependabot.yml less more
0 # Please see the documentation for all configuration options:
1 # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2
3 version: 2
4 updates:
5 - package-ecosystem: "npm"
6 directory: "/"
7 schedule:
8 interval: "daily"
+0
-29
.github/workflows/main.yml less more
0 name: CI
1
2 on:
3 push:
4 branches: [ master ]
5 pull_request:
6 branches: [ master ]
7
8 jobs:
9 test:
10 name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
11 runs-on: ${{ matrix.os }}
12 strategy:
13 matrix:
14 node_version: ['10', '12', '14']
15 os: [ubuntu-latest]
16
17 steps:
18 - uses: actions/checkout@v2
19 - name: Use Node.js ${{ matrix.node_version }}
20 uses: actions/setup-node@v1
21 with:
22 node-version: ${{ matrix.node_version }}
23
24 - name: npm install, build and test
25 run: |
26 npm install
27 npm run build --if-present
28 npm test
+0
-9
.gitignore less more
0 node_modules
1 test/data/babel-parser
2 test/data/typescript-compiler
3
4 # Ignore TypeScript-emitted files
5 *.js
6 *.d.ts
7 # Except...
8 !/types/**/*.d.ts
506506 [jsx.ts](def/jsx.ts),
507507 [type-annotations.ts](def/type-annotations.ts),
508508 and
509 [typescripts.ts](def/typescripts.ts),
509 [typescript.ts](def/typescript.ts),
510510 so you have
511511 no shortage of examples to learn from.
110110 }, function getDefault(this: N.BigIntLiteral) {
111111 return {
112112 rawValue: String(this.value),
113 raw: this.value + "n"
113 raw: this.value + "n",
114 };
115 });
116
117 // https://github.com/tc39/proposal-decimal
118 // https://github.com/babel/babel/pull/11640
119 def("DecimalLiteral")
120 .bases("Literal")
121 .build("value")
122 .field("value", String)
123 .field("extra", {
124 rawValue: String,
125 raw: String
126 }, function getDefault(this: N.DecimalLiteral) {
127 return {
128 rawValue: String(this.value),
129 raw: this.value + "m",
114130 };
115131 });
116132
00 import { Fork } from "../types";
1 import typesPlugin from "../lib/types";
12 import babelCoreDef from "./babel-core";
23 import flowDef from "./flow";
34
45 export default function (fork: Fork) {
6 const types = fork.use(typesPlugin);
7 const def = types.Type.def;
8
59 fork.use(babelCoreDef);
610 fork.use(flowDef);
7 };
11
12 // https://github.com/babel/babel/pull/10148
13 def("V8IntrinsicIdentifier")
14 .bases("Expression")
15 .build("name")
16 .field("name", String);
17
18 // https://github.com/babel/babel/pull/13191
19 // https://github.com/babel/website/pull/2541
20 def("TopicReference")
21 .bases("Expression")
22 .build();
23 }
+0
-19
def/core-operators.ts less more
0 export const BinaryOperators = [
1 "==", "!=", "===", "!==",
2 "<", "<=", ">", ">=",
3 "<<", ">>", ">>>",
4 "+", "-", "*", "/", "%",
5 "&",
6 "|", "^", "in",
7 "instanceof",
8 ];
9
10 export const AssignmentOperators = [
11 "=", "+=", "-=", "*=", "/=", "%=",
12 "<<=", ">>=", ">>>=",
13 "|=", "^=", "&=",
14 ];
15
16 export const LogicalOperators = [
17 "||", "&&",
18 ];
00 import { Fork } from "../types";
1 import { BinaryOperators, AssignmentOperators, LogicalOperators } from "./core-operators";
1 import coreOpsDef from "./operators/core";
22 import typesPlugin from "../lib/types";
33 import sharedPlugin from "../lib/shared";
44 import { namedTypes as N } from "../gen/namedTypes";
55
66 export default function (fork: Fork) {
7 var types = fork.use(typesPlugin);
8 var Type = types.Type;
9 var def = Type.def;
10 var or = Type.or;
11 var shared = fork.use(sharedPlugin);
12 var defaults = shared.defaults;
13 var geq = shared.geq;
14
15 // Abstract supertype of all syntactic entities that are allowed to have a
16 // .loc field.
17 def("Printable")
18 .field("loc", or(
19 def("SourceLocation"),
20 null
21 ), defaults["null"], true);
22
23 def("Node")
24 .bases("Printable")
25 .field("type", String)
26 .field("comments", or(
27 [def("Comment")],
28 null
29 ), defaults["null"], true);
30
31 def("SourceLocation")
32 .field("start", def("Position"))
33 .field("end", def("Position"))
34 .field("source", or(String, null), defaults["null"]);
35
36 def("Position")
37 .field("line", geq(1))
38 .field("column", geq(0));
39
40 def("File")
41 .bases("Node")
42 .build("program", "name")
43 .field("program", def("Program"))
44 .field("name", or(String, null), defaults["null"]);
45
46 def("Program")
47 .bases("Node")
48 .build("body")
49 .field("body", [def("Statement")]);
50
51 def("Function")
52 .bases("Node")
53 .field("id", or(def("Identifier"), null), defaults["null"])
54 .field("params", [def("Pattern")])
55 .field("body", def("BlockStatement"))
56 .field("generator", Boolean, defaults["false"])
57 .field("async", Boolean, defaults["false"]);
58
59 def("Statement").bases("Node");
7 var types = fork.use(typesPlugin);
8 var Type = types.Type;
9 var def = Type.def;
10 var or = Type.or;
11 var shared = fork.use(sharedPlugin);
12 var defaults = shared.defaults;
13 var geq = shared.geq;
14
15 const {
16 BinaryOperators,
17 AssignmentOperators,
18 LogicalOperators,
19 } = fork.use(coreOpsDef);
20
21 // Abstract supertype of all syntactic entities that are allowed to have a
22 // .loc field.
23 def("Printable")
24 .field("loc", or(
25 def("SourceLocation"),
26 null
27 ), defaults["null"], true);
28
29 def("Node")
30 .bases("Printable")
31 .field("type", String)
32 .field("comments", or(
33 [def("Comment")],
34 null
35 ), defaults["null"], true);
36
37 def("SourceLocation")
38 .field("start", def("Position"))
39 .field("end", def("Position"))
40 .field("source", or(String, null), defaults["null"]);
41
42 def("Position")
43 .field("line", geq(1))
44 .field("column", geq(0));
45
46 def("File")
47 .bases("Node")
48 .build("program", "name")
49 .field("program", def("Program"))
50 .field("name", or(String, null), defaults["null"]);
51
52 def("Program")
53 .bases("Node")
54 .build("body")
55 .field("body", [def("Statement")]);
56
57 def("Function")
58 .bases("Node")
59 .field("id", or(def("Identifier"), null), defaults["null"])
60 .field("params", [def("Pattern")])
61 .field("body", def("BlockStatement"))
62 .field("generator", Boolean, defaults["false"])
63 .field("async", Boolean, defaults["false"]);
64
65 def("Statement").bases("Node");
6066
6167 // The empty .build() here means that an EmptyStatement can be constructed
6268 // (i.e. it's not abstract) but that it needs no arguments.
63 def("EmptyStatement").bases("Statement").build();
64
65 def("BlockStatement")
66 .bases("Statement")
67 .build("body")
68 .field("body", [def("Statement")]);
69
70 // TODO Figure out how to silently coerce Expressions to
71 // ExpressionStatements where a Statement was expected.
72 def("ExpressionStatement")
73 .bases("Statement")
74 .build("expression")
75 .field("expression", def("Expression"));
76
77 def("IfStatement")
78 .bases("Statement")
79 .build("test", "consequent", "alternate")
80 .field("test", def("Expression"))
81 .field("consequent", def("Statement"))
82 .field("alternate", or(def("Statement"), null), defaults["null"]);
83
84 def("LabeledStatement")
85 .bases("Statement")
86 .build("label", "body")
87 .field("label", def("Identifier"))
88 .field("body", def("Statement"));
89
90 def("BreakStatement")
91 .bases("Statement")
92 .build("label")
93 .field("label", or(def("Identifier"), null), defaults["null"]);
94
95 def("ContinueStatement")
96 .bases("Statement")
97 .build("label")
98 .field("label", or(def("Identifier"), null), defaults["null"]);
99
100 def("WithStatement")
101 .bases("Statement")
102 .build("object", "body")
103 .field("object", def("Expression"))
104 .field("body", def("Statement"));
105
106 def("SwitchStatement")
107 .bases("Statement")
108 .build("discriminant", "cases", "lexical")
109 .field("discriminant", def("Expression"))
110 .field("cases", [def("SwitchCase")])
111 .field("lexical", Boolean, defaults["false"]);
112
113 def("ReturnStatement")
114 .bases("Statement")
115 .build("argument")
116 .field("argument", or(def("Expression"), null));
117
118 def("ThrowStatement")
119 .bases("Statement")
120 .build("argument")
121 .field("argument", def("Expression"));
122
123 def("TryStatement")
124 .bases("Statement")
125 .build("block", "handler", "finalizer")
126 .field("block", def("BlockStatement"))
127 .field("handler", or(def("CatchClause"), null), function (this: N.TryStatement) {
128 return this.handlers && this.handlers[0] || null;
129 })
130 .field("handlers", [def("CatchClause")], function (this: N.TryStatement) {
131 return this.handler ? [this.handler] : [];
132 }, true) // Indicates this field is hidden from eachField iteration.
133 .field("guardedHandlers", [def("CatchClause")], defaults.emptyArray)
134 .field("finalizer", or(def("BlockStatement"), null), defaults["null"]);
135
136 def("CatchClause")
137 .bases("Node")
138 .build("param", "guard", "body")
139 .field("param", def("Pattern"))
140 .field("guard", or(def("Expression"), null), defaults["null"])
141 .field("body", def("BlockStatement"));
142
143 def("WhileStatement")
144 .bases("Statement")
145 .build("test", "body")
146 .field("test", def("Expression"))
147 .field("body", def("Statement"));
148
149 def("DoWhileStatement")
150 .bases("Statement")
151 .build("body", "test")
152 .field("body", def("Statement"))
153 .field("test", def("Expression"));
154
155 def("ForStatement")
156 .bases("Statement")
157 .build("init", "test", "update", "body")
158 .field("init", or(
159 def("VariableDeclaration"),
160 def("Expression"),
161 null))
162 .field("test", or(def("Expression"), null))
163 .field("update", or(def("Expression"), null))
164 .field("body", def("Statement"));
165
166 def("ForInStatement")
167 .bases("Statement")
168 .build("left", "right", "body")
169 .field("left", or(
170 def("VariableDeclaration"),
171 def("Expression")))
172 .field("right", def("Expression"))
173 .field("body", def("Statement"));
174
175 def("DebuggerStatement").bases("Statement").build();
176
177 def("Declaration").bases("Statement");
178
179 def("FunctionDeclaration")
180 .bases("Function", "Declaration")
181 .build("id", "params", "body")
182 .field("id", def("Identifier"));
183
184 def("FunctionExpression")
185 .bases("Function", "Expression")
186 .build("id", "params", "body");
187
188 def("VariableDeclaration")
189 .bases("Declaration")
190 .build("kind", "declarations")
191 .field("kind", or("var", "let", "const"))
192 .field("declarations", [def("VariableDeclarator")]);
193
194 def("VariableDeclarator")
195 .bases("Node")
196 .build("id", "init")
197 .field("id", def("Pattern"))
198 .field("init", or(def("Expression"), null), defaults["null"]);
199
200 def("Expression").bases("Node");
201
202 def("ThisExpression").bases("Expression").build();
203
204 def("ArrayExpression")
205 .bases("Expression")
206 .build("elements")
207 .field("elements", [or(def("Expression"), null)]);
208
209 def("ObjectExpression")
210 .bases("Expression")
211 .build("properties")
212 .field("properties", [def("Property")]);
213
214 // TODO Not in the Mozilla Parser API, but used by Esprima.
215 def("Property")
216 .bases("Node") // Want to be able to visit Property Nodes.
217 .build("kind", "key", "value")
218 .field("kind", or("init", "get", "set"))
219 .field("key", or(def("Literal"), def("Identifier")))
220 .field("value", def("Expression"));
221
222 def("SequenceExpression")
223 .bases("Expression")
224 .build("expressions")
225 .field("expressions", [def("Expression")]);
226
227 var UnaryOperator = or(
228 "-", "+", "!", "~",
229 "typeof", "void", "delete");
230
231 def("UnaryExpression")
232 .bases("Expression")
233 .build("operator", "argument", "prefix")
234 .field("operator", UnaryOperator)
235 .field("argument", def("Expression"))
236 // Esprima doesn't bother with this field, presumably because it's
237 // always true for unary operators.
238 .field("prefix", Boolean, defaults["true"]);
239
240 const BinaryOperator = or(...BinaryOperators);
241
242 def("BinaryExpression")
243 .bases("Expression")
244 .build("operator", "left", "right")
245 .field("operator", BinaryOperator)
246 .field("left", def("Expression"))
247 .field("right", def("Expression"));
248
249 const AssignmentOperator = or(...AssignmentOperators);
250
251 def("AssignmentExpression")
252 .bases("Expression")
253 .build("operator", "left", "right")
254 .field("operator", AssignmentOperator)
255 .field("left", or(def("Pattern"), def("MemberExpression")))
256 .field("right", def("Expression"));
257
258 var UpdateOperator = or("++", "--");
259
260 def("UpdateExpression")
261 .bases("Expression")
262 .build("operator", "argument", "prefix")
263 .field("operator", UpdateOperator)
264 .field("argument", def("Expression"))
265 .field("prefix", Boolean);
266
267 var LogicalOperator = or(...LogicalOperators);
268
269 def("LogicalExpression")
270 .bases("Expression")
271 .build("operator", "left", "right")
272 .field("operator", LogicalOperator)
273 .field("left", def("Expression"))
274 .field("right", def("Expression"));
275
276 def("ConditionalExpression")
277 .bases("Expression")
278 .build("test", "consequent", "alternate")
279 .field("test", def("Expression"))
280 .field("consequent", def("Expression"))
281 .field("alternate", def("Expression"));
282
283 def("NewExpression")
284 .bases("Expression")
285 .build("callee", "arguments")
286 .field("callee", def("Expression"))
287 // The Mozilla Parser API gives this type as [or(def("Expression"),
288 // null)], but null values don't really make sense at the call site.
289 // TODO Report this nonsense.
290 .field("arguments", [def("Expression")]);
291
292 def("CallExpression")
293 .bases("Expression")
294 .build("callee", "arguments")
295 .field("callee", def("Expression"))
296 // See comment for NewExpression above.
297 .field("arguments", [def("Expression")]);
298
299 def("MemberExpression")
300 .bases("Expression")
301 .build("object", "property", "computed")
302 .field("object", def("Expression"))
303 .field("property", or(def("Identifier"), def("Expression")))
304 .field("computed", Boolean, function (this: N.MemberExpression) {
305 var type = this.property.type;
306 if (type === 'Literal' ||
307 type === 'MemberExpression' ||
308 type === 'BinaryExpression') {
309 return true;
310 }
311 return false;
312 });
313
314 def("Pattern").bases("Node");
315
316 def("SwitchCase")
317 .bases("Node")
318 .build("test", "consequent")
319 .field("test", or(def("Expression"), null))
320 .field("consequent", [def("Statement")]);
321
322 def("Identifier")
323 .bases("Expression", "Pattern")
324 .build("name")
325 .field("name", String)
326 .field("optional", Boolean, defaults["false"]);
327
328 def("Literal")
329 .bases("Expression")
330 .build("value")
331 .field("value", or(String, Boolean, null, Number, RegExp))
332 .field("regex", or({
333 pattern: String,
334 flags: String
335 }, null), function (this: N.Literal) {
336 if (this.value instanceof RegExp) {
337 var flags = "";
338
339 if (this.value.ignoreCase) flags += "i";
340 if (this.value.multiline) flags += "m";
341 if (this.value.global) flags += "g";
342
343 return {
344 pattern: this.value.source,
345 flags: flags
346 };
347 }
348
349 return null;
350 });
351
352 // Abstract (non-buildable) comment supertype. Not a Node.
353 def("Comment")
354 .bases("Printable")
355 .field("value", String)
356 // A .leading comment comes before the node, whereas a .trailing
357 // comment comes after it. These two fields should not both be true,
358 // but they might both be false when the comment falls inside a node
359 // and the node has no children for the comment to lead or trail,
360 // e.g. { /*dangling*/ }.
361 .field("leading", Boolean, defaults["true"])
362 .field("trailing", Boolean, defaults["false"]);
69 def("EmptyStatement").bases("Statement").build();
70
71 def("BlockStatement")
72 .bases("Statement")
73 .build("body")
74 .field("body", [def("Statement")]);
75
76 // TODO Figure out how to silently coerce Expressions to
77 // ExpressionStatements where a Statement was expected.
78 def("ExpressionStatement")
79 .bases("Statement")
80 .build("expression")
81 .field("expression", def("Expression"));
82
83 def("IfStatement")
84 .bases("Statement")
85 .build("test", "consequent", "alternate")
86 .field("test", def("Expression"))
87 .field("consequent", def("Statement"))
88 .field("alternate", or(def("Statement"), null), defaults["null"]);
89
90 def("LabeledStatement")
91 .bases("Statement")
92 .build("label", "body")
93 .field("label", def("Identifier"))
94 .field("body", def("Statement"));
95
96 def("BreakStatement")
97 .bases("Statement")
98 .build("label")
99 .field("label", or(def("Identifier"), null), defaults["null"]);
100
101 def("ContinueStatement")
102 .bases("Statement")
103 .build("label")
104 .field("label", or(def("Identifier"), null), defaults["null"]);
105
106 def("WithStatement")
107 .bases("Statement")
108 .build("object", "body")
109 .field("object", def("Expression"))
110 .field("body", def("Statement"));
111
112 def("SwitchStatement")
113 .bases("Statement")
114 .build("discriminant", "cases", "lexical")
115 .field("discriminant", def("Expression"))
116 .field("cases", [def("SwitchCase")])
117 .field("lexical", Boolean, defaults["false"]);
118
119 def("ReturnStatement")
120 .bases("Statement")
121 .build("argument")
122 .field("argument", or(def("Expression"), null));
123
124 def("ThrowStatement")
125 .bases("Statement")
126 .build("argument")
127 .field("argument", def("Expression"));
128
129 def("TryStatement")
130 .bases("Statement")
131 .build("block", "handler", "finalizer")
132 .field("block", def("BlockStatement"))
133 .field("handler", or(def("CatchClause"), null), function (this: N.TryStatement) {
134 return this.handlers && this.handlers[0] || null;
135 })
136 .field("handlers", [def("CatchClause")], function (this: N.TryStatement) {
137 return this.handler ? [this.handler] : [];
138 }, true) // Indicates this field is hidden from eachField iteration.
139 .field("guardedHandlers", [def("CatchClause")], defaults.emptyArray)
140 .field("finalizer", or(def("BlockStatement"), null), defaults["null"]);
141
142 def("CatchClause")
143 .bases("Node")
144 .build("param", "guard", "body")
145 .field("param", def("Pattern"))
146 .field("guard", or(def("Expression"), null), defaults["null"])
147 .field("body", def("BlockStatement"));
148
149 def("WhileStatement")
150 .bases("Statement")
151 .build("test", "body")
152 .field("test", def("Expression"))
153 .field("body", def("Statement"));
154
155 def("DoWhileStatement")
156 .bases("Statement")
157 .build("body", "test")
158 .field("body", def("Statement"))
159 .field("test", def("Expression"));
160
161 def("ForStatement")
162 .bases("Statement")
163 .build("init", "test", "update", "body")
164 .field("init", or(
165 def("VariableDeclaration"),
166 def("Expression"),
167 null))
168 .field("test", or(def("Expression"), null))
169 .field("update", or(def("Expression"), null))
170 .field("body", def("Statement"));
171
172 def("ForInStatement")
173 .bases("Statement")
174 .build("left", "right", "body")
175 .field("left", or(
176 def("VariableDeclaration"),
177 def("Expression")))
178 .field("right", def("Expression"))
179 .field("body", def("Statement"));
180
181 def("DebuggerStatement").bases("Statement").build();
182
183 def("Declaration").bases("Statement");
184
185 def("FunctionDeclaration")
186 .bases("Function", "Declaration")
187 .build("id", "params", "body")
188 .field("id", def("Identifier"));
189
190 def("FunctionExpression")
191 .bases("Function", "Expression")
192 .build("id", "params", "body");
193
194 def("VariableDeclaration")
195 .bases("Declaration")
196 .build("kind", "declarations")
197 .field("kind", or("var", "let", "const"))
198 .field("declarations", [def("VariableDeclarator")]);
199
200 def("VariableDeclarator")
201 .bases("Node")
202 .build("id", "init")
203 .field("id", def("Pattern"))
204 .field("init", or(def("Expression"), null), defaults["null"]);
205
206 def("Expression").bases("Node");
207
208 def("ThisExpression").bases("Expression").build();
209
210 def("ArrayExpression")
211 .bases("Expression")
212 .build("elements")
213 .field("elements", [or(def("Expression"), null)]);
214
215 def("ObjectExpression")
216 .bases("Expression")
217 .build("properties")
218 .field("properties", [def("Property")]);
219
220 // TODO Not in the Mozilla Parser API, but used by Esprima.
221 def("Property")
222 .bases("Node") // Want to be able to visit Property Nodes.
223 .build("kind", "key", "value")
224 .field("kind", or("init", "get", "set"))
225 .field("key", or(def("Literal"), def("Identifier")))
226 .field("value", def("Expression"));
227
228 def("SequenceExpression")
229 .bases("Expression")
230 .build("expressions")
231 .field("expressions", [def("Expression")]);
232
233 var UnaryOperator = or(
234 "-", "+", "!", "~",
235 "typeof", "void", "delete");
236
237 def("UnaryExpression")
238 .bases("Expression")
239 .build("operator", "argument", "prefix")
240 .field("operator", UnaryOperator)
241 .field("argument", def("Expression"))
242 // Esprima doesn't bother with this field, presumably because it's
243 // always true for unary operators.
244 .field("prefix", Boolean, defaults["true"]);
245
246 const BinaryOperator = or(...BinaryOperators);
247
248 def("BinaryExpression")
249 .bases("Expression")
250 .build("operator", "left", "right")
251 .field("operator", BinaryOperator)
252 .field("left", def("Expression"))
253 .field("right", def("Expression"));
254
255 const AssignmentOperator = or(...AssignmentOperators);
256
257 def("AssignmentExpression")
258 .bases("Expression")
259 .build("operator", "left", "right")
260 .field("operator", AssignmentOperator)
261 .field("left", or(def("Pattern"), def("MemberExpression")))
262 .field("right", def("Expression"));
263
264 var UpdateOperator = or("++", "--");
265
266 def("UpdateExpression")
267 .bases("Expression")
268 .build("operator", "argument", "prefix")
269 .field("operator", UpdateOperator)
270 .field("argument", def("Expression"))
271 .field("prefix", Boolean);
272
273 var LogicalOperator = or(...LogicalOperators);
274
275 def("LogicalExpression")
276 .bases("Expression")
277 .build("operator", "left", "right")
278 .field("operator", LogicalOperator)
279 .field("left", def("Expression"))
280 .field("right", def("Expression"));
281
282 def("ConditionalExpression")
283 .bases("Expression")
284 .build("test", "consequent", "alternate")
285 .field("test", def("Expression"))
286 .field("consequent", def("Expression"))
287 .field("alternate", def("Expression"));
288
289 def("NewExpression")
290 .bases("Expression")
291 .build("callee", "arguments")
292 .field("callee", def("Expression"))
293 // The Mozilla Parser API gives this type as [or(def("Expression"),
294 // null)], but null values don't really make sense at the call site.
295 // TODO Report this nonsense.
296 .field("arguments", [def("Expression")]);
297
298 def("CallExpression")
299 .bases("Expression")
300 .build("callee", "arguments")
301 .field("callee", def("Expression"))
302 // See comment for NewExpression above.
303 .field("arguments", [def("Expression")]);
304
305 def("MemberExpression")
306 .bases("Expression")
307 .build("object", "property", "computed")
308 .field("object", def("Expression"))
309 .field("property", or(def("Identifier"), def("Expression")))
310 .field("computed", Boolean, function (this: N.MemberExpression) {
311 var type = this.property.type;
312 if (type === 'Literal' ||
313 type === 'MemberExpression' ||
314 type === 'BinaryExpression') {
315 return true;
316 }
317 return false;
318 });
319
320 def("Pattern").bases("Node");
321
322 def("SwitchCase")
323 .bases("Node")
324 .build("test", "consequent")
325 .field("test", or(def("Expression"), null))
326 .field("consequent", [def("Statement")]);
327
328 def("Identifier")
329 .bases("Expression", "Pattern")
330 .build("name")
331 .field("name", String)
332 .field("optional", Boolean, defaults["false"]);
333
334 def("Literal")
335 .bases("Expression")
336 .build("value")
337 .field("value", or(String, Boolean, null, Number, RegExp))
338 .field("regex", or({
339 pattern: String,
340 flags: String
341 }, null), function (this: N.Literal) {
342 if (this.value instanceof RegExp) {
343 var flags = "";
344
345 if (this.value.ignoreCase) flags += "i";
346 if (this.value.multiline) flags += "m";
347 if (this.value.global) flags += "g";
348
349 return {
350 pattern: this.value.source,
351 flags: flags
352 };
353 }
354
355 return null;
356 });
357
358 // Abstract (non-buildable) comment supertype. Not a Node.
359 def("Comment")
360 .bases("Printable")
361 .field("value", String)
362 // A .leading comment comes before the node, whereas a .trailing
363 // comment comes after it. These two fields should not both be true,
364 // but they might both be false when the comment falls inside a node
365 // and the node has no children for the comment to lead or trail,
366 // e.g. { /*dangling*/ }.
367 .field("leading", Boolean, defaults["true"])
368 .field("trailing", Boolean, defaults["false"]);
363369 };
00 import { Fork } from "../types";
11 import typesPlugin from "../lib/types";
22 import sharedPlugin from "../lib/shared";
3 import es2020Def from "./es2020";
3 import es2022Def from "./es2022";
44
55 export default function (fork: Fork) {
6 fork.use(es2020Def);
6 fork.use(es2022Def);
77
88 const types = fork.use(typesPlugin);
99 const Type = types.Type;
4545 .build("key", "value")
4646 .field("key", def("PrivateName"))
4747 .field("value", or(def("Expression"), null), defaults["null"]);
48
49 // https://github.com/tc39/proposal-import-assertions
50 def("ImportAttribute")
51 .bases("Node")
52 .build("key", "value")
53 .field("key", or(def("Identifier"), def("Literal")))
54 .field("value", def("Expression"));
55
56 [ "ImportDeclaration",
57 "ExportAllDeclaration",
58 "ExportNamedDeclaration",
59 ].forEach(decl => {
60 def(decl).field(
61 "assertions",
62 [def("ImportAttribute")],
63 defaults.emptyArray,
64 );
65 });
66
67 // https://github.com/tc39/proposal-record-tuple
68 // https://github.com/babel/babel/pull/10865
69 def("RecordExpression")
70 .bases("Expression")
71 .build("properties")
72 .field("properties", [or(
73 def("ObjectProperty"),
74 def("ObjectMethod"),
75 def("SpreadElement"),
76 )]);
77 def("TupleExpression")
78 .bases("Expression")
79 .build("elements")
80 .field("elements", [or(
81 def("Expression"),
82 def("SpreadElement"),
83 null,
84 )]);
85
86 // https://github.com/tc39/proposal-js-module-blocks
87 // https://github.com/babel/babel/pull/12469
88 def("ModuleExpression")
89 .bases("Node")
90 .build("program")
91 .field("body", def("Program"));
4892 };
00 import { Fork } from "../types";
1 import { BinaryOperators, AssignmentOperators } from "./core-operators";
1 import es2016OpsDef from "./operators/es2016";
22 import es6Def from "./es6";
3 import typesPlugin from "../lib/types";
43
54 export default function (fork: Fork) {
5 // The es2016OpsDef plugin comes before es6Def so BinaryOperators and
6 // AssignmentOperators will be appropriately augmented before they are first
7 // used in the core definitions for this fork.
8 fork.use(es2016OpsDef);
69 fork.use(es6Def);
7
8 const types = fork.use(typesPlugin);
9 const def = types.Type.def;
10 const or = types.Type.or;
11
12 const BinaryOperator = or(
13 ...BinaryOperators,
14 "**",
15 );
16
17 def("BinaryExpression")
18 .field("operator", BinaryOperator)
19
20 const AssignmentOperator = or(
21 ...AssignmentOperators,
22 "**=",
23 );
24
25 def("AssignmentExpression")
26 .field("operator", AssignmentOperator)
2710 };
00 import { Fork } from "../types";
1 import { LogicalOperators } from "./core-operators";
1 import es2020OpsDef from "./operators/es2020";
22 import es2019Def from "./es2019";
33 import typesPlugin from "../lib/types";
44 import sharedPlugin from "../lib/shared";
55
66 export default function (fork: Fork) {
7 // The es2020OpsDef plugin comes before es2019Def so LogicalOperators will be
8 // appropriately augmented before first used.
9 fork.use(es2020OpsDef);
10
711 fork.use(es2019Def);
812
913 const types = fork.use(typesPlugin);
2428 .field("exported", or(def("Identifier"), null));
2529
2630 // Optional chaining
27 def("OptionalMemberExpression")
28 .bases("MemberExpression")
29 .build("object", "property", "computed", "optional")
30 .field("optional", Boolean, defaults["true"])
31 def("ChainElement")
32 .bases("Node")
33 .field("optional", Boolean, defaults["false"]);
34
35 def("CallExpression")
36 .bases("Expression", "ChainElement");
37
38 def("MemberExpression")
39 .bases("Expression", "ChainElement");
40
41 def("ChainExpression")
42 .bases("Expression")
43 .build("expression")
44 .field("expression", def("ChainElement"));
3145
3246 def("OptionalCallExpression")
3347 .bases("CallExpression")
3448 .build("callee", "arguments", "optional")
35 .field("optional", Boolean, defaults["true"])
49 .field("optional", Boolean, defaults["true"]);
3650
37 // Nullish coalescing
38 const LogicalOperator = or(...LogicalOperators, "??");
39
40 def("LogicalExpression")
41 .field("operator", LogicalOperator)
51 // Deprecated optional chaining type, doesn't work with babelParser@7.11.0 or newer
52 def("OptionalMemberExpression")
53 .bases("MemberExpression")
54 .build("object", "property", "computed", "optional")
55 .field("optional", Boolean, defaults["true"]);
4256 };
0 import { Fork } from "../types";
1 import es2021OpsDef from "./operators/es2021";
2 import es2020Def from "./es2020";
3
4 export default function (fork: Fork) {
5 // The es2021OpsDef plugin comes before es2020Def so AssignmentOperators will
6 // be appropriately augmented before first used.
7 fork.use(es2021OpsDef);
8 fork.use(es2020Def);
9 }
0 import { Fork } from "../types";
1 import es2021Def from "./es2021";
2 import typesPlugin from "../lib/types";
3
4 export default function (fork: Fork) {
5 fork.use(es2021Def);
6
7 const types = fork.use(typesPlugin);
8 const def = types.Type.def;
9
10 def("StaticBlock")
11 .bases("Declaration")
12 .build("body")
13 .field("body", [def("Statement")]);
14 }
00 import { Fork } from "../types";
1 import es2020Def from "./es2020";
1 import esProposalsDef from "./es-proposals";
22 import typesPlugin from "../lib/types";
33 import sharedPlugin from "../lib/shared";
44
55 export default function (fork: Fork) {
6 fork.use(es2020Def);
6 fork.use(esProposalsDef);
77
88 var types = fork.use(typesPlugin);
99 var defaults = fork.use(sharedPlugin).defaults;
208208 .field("property",
209209 or(def("MemberTypeAnnotation"),
210210 def("GenericTypeAnnotation")));
211
212 def("IndexedAccessType")
213 .bases("FlowType")
214 .build("objectType", "indexType")
215 .field("objectType", def("FlowType"))
216 .field("indexType", def("FlowType"));
217
218 def("OptionalIndexedAccessType")
219 .bases("FlowType")
220 .build("objectType", "indexType", "optional")
221 .field("objectType", def("FlowType"))
222 .field("indexType", def("FlowType"))
223 .field('optional', Boolean);
211224
212225 def("UnionTypeAnnotation")
213226 .bases("FlowType")
00 import { Fork } from "../types";
1 import es2020Def from "./es2020";
1 import esProposalsDef from "./es-proposals";
22 import typesPlugin from "../lib/types";
33 import sharedPlugin from "../lib/shared";
44 import { namedTypes as N } from "../gen/namedTypes";
55
66 export default function (fork: Fork) {
7 fork.use(es2020Def);
7 fork.use(esProposalsDef);
88
99 const types = fork.use(typesPlugin);
1010 const def = types.Type.def;
0 export default function () {
1 return {
2 BinaryOperators: [
3 "==", "!=", "===", "!==",
4 "<", "<=", ">", ">=",
5 "<<", ">>", ">>>",
6 "+", "-", "*", "/", "%",
7 "&",
8 "|", "^", "in",
9 "instanceof",
10 ],
11
12 AssignmentOperators: [
13 "=", "+=", "-=", "*=", "/=", "%=",
14 "<<=", ">>=", ">>>=",
15 "|=", "^=", "&=",
16 ],
17
18 LogicalOperators: [
19 "||", "&&",
20 ],
21 };
22 }
0 import coreOpsDef from "./core";
1
2 export default function (fork: import("../../types").Fork) {
3 const result = fork.use(coreOpsDef);
4
5 // Exponentiation operators. Must run before BinaryOperators or
6 // AssignmentOperators are used (hence before fork.use(es6Def)).
7 // https://github.com/tc39/proposal-exponentiation-operator
8 if (result.BinaryOperators.indexOf("**") < 0) {
9 result.BinaryOperators.push("**");
10 }
11 if (result.AssignmentOperators.indexOf("**=") < 0) {
12 result.AssignmentOperators.push("**=");
13 }
14
15 return result;
16 }
0 import es2016OpsDef from "./es2016";
1
2 export default function (fork: import("../../types").Fork) {
3 const result = fork.use(es2016OpsDef);
4
5 // Nullish coalescing. Must run before LogicalOperators is used.
6 // https://github.com/tc39/proposal-nullish-coalescing
7 if (result.LogicalOperators.indexOf("??") < 0) {
8 result.LogicalOperators.push("??");
9 }
10
11 return result;
12 }
0 import es2020OpsDef from "./es2020";
1
2 export default function (fork: import("../../types").Fork) {
3 const result = fork.use(es2020OpsDef);
4
5 // Logical assignment operators. Must run before AssignmentOperators is used.
6 // https://github.com/tc39/proposal-logical-assignment
7 result.LogicalOperators.forEach(op => {
8 const assignOp = op + "=";
9 if (result.AssignmentOperators.indexOf(assignOp) < 0) {
10 result.AssignmentOperators.push(assignOp);
11 }
12 });
13
14 return result;
15 }
9494 "TSUndefinedKeyword",
9595 "TSUnknownKeyword",
9696 "TSVoidKeyword",
97 "TSIntrinsicKeyword",
9798 "TSThisType",
9899 ].forEach(keywordType => {
99100 def(keywordType)
115116 def("BooleanLiteral"),
116117 def("TemplateLiteral"),
117118 def("UnaryExpression")));
119
120 def("TemplateLiteral")
121 // The TemplateLiteral type appears to be reused for TypeScript template
122 // literal types (instead of introducing a new TSTemplateLiteralType type),
123 // so we allow the templateLiteral.expressions array to be either all
124 // expressions or all TypeScript types.
125 .field("expressions", or(
126 [def("Expression")],
127 [def("TSType")],
128 ));
118129
119130 ["TSUnionType",
120131 "TSIntersectionType",
492492
493493 export interface AssignmentExpressionBuilder {
494494 (
495 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=",
495 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=" | "||=" | "&&=" | "??=",
496496 left: K.PatternKind | K.MemberExpressionKind,
497497 right: K.ExpressionKind
498498 ): namedTypes.AssignmentExpression;
501501 comments?: K.CommentKind[] | null,
502502 left: K.PatternKind | K.MemberExpressionKind,
503503 loc?: K.SourceLocationKind | null,
504 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=",
504 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=" | "||=" | "&&=" | "??=",
505505 right: K.ExpressionKind
506506 }
507507 ): namedTypes.AssignmentExpression;
519519 computed?: boolean,
520520 loc?: K.SourceLocationKind | null,
521521 object: K.ExpressionKind,
522 optional?: boolean,
522523 property: K.IdentifierKind | K.ExpressionKind
523524 }
524525 ): namedTypes.MemberExpression;
598599 callee: K.ExpressionKind,
599600 comments?: K.CommentKind[] | null,
600601 loc?: K.SourceLocationKind | null,
602 optional?: boolean,
601603 typeArguments?: null | K.TypeParameterInstantiationKind
602604 }
603605 ): namedTypes.CallExpression;
10001002 ): namedTypes.ImportDeclaration;
10011003 from(
10021004 params: {
1005 assertions?: K.ImportAttributeKind[],
10031006 comments?: K.CommentKind[] | null,
10041007 importKind?: "value" | "type" | "typeof",
10051008 loc?: K.SourceLocationKind | null,
10171020 ): namedTypes.ExportNamedDeclaration;
10181021 from(
10191022 params: {
1023 assertions?: K.ImportAttributeKind[],
10201024 comments?: K.CommentKind[] | null,
10211025 declaration: K.DeclarationKind | null,
10221026 loc?: K.SourceLocationKind | null,
10551059 (source: K.LiteralKind, exported: K.IdentifierKind | null): namedTypes.ExportAllDeclaration;
10561060 from(
10571061 params: {
1062 assertions?: K.ImportAttributeKind[],
10581063 comments?: K.CommentKind[] | null,
10591064 exported: K.IdentifierKind | null,
10601065 loc?: K.SourceLocationKind | null,
10761081 }
10771082
10781083 export interface TemplateLiteralBuilder {
1079 (quasis: K.TemplateElementKind[], expressions: K.ExpressionKind[]): namedTypes.TemplateLiteral;
1080 from(
1081 params: {
1082 comments?: K.CommentKind[] | null,
1083 expressions: K.ExpressionKind[],
1084 (
1085 quasis: K.TemplateElementKind[],
1086 expressions: K.ExpressionKind[] | K.TSTypeKind[]
1087 ): namedTypes.TemplateLiteral;
1088 from(
1089 params: {
1090 comments?: K.CommentKind[] | null,
1091 expressions: K.ExpressionKind[] | K.TSTypeKind[],
10841092 loc?: K.SourceLocationKind | null,
10851093 quasis: K.TemplateElementKind[]
10861094 }
11651173 ): namedTypes.ImportExpression;
11661174 }
11671175
1176 export interface ChainExpressionBuilder {
1177 (expression: K.ChainElementKind): namedTypes.ChainExpression;
1178 from(
1179 params: {
1180 comments?: K.CommentKind[] | null,
1181 expression: K.ChainElementKind,
1182 loc?: K.SourceLocationKind | null
1183 }
1184 ): namedTypes.ChainExpression;
1185 }
1186
1187 export interface OptionalCallExpressionBuilder {
1188 (
1189 callee: K.ExpressionKind,
1190 argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[],
1191 optional?: boolean
1192 ): namedTypes.OptionalCallExpression;
1193 from(
1194 params: {
1195 arguments: (K.ExpressionKind | K.SpreadElementKind)[],
1196 callee: K.ExpressionKind,
1197 comments?: K.CommentKind[] | null,
1198 loc?: K.SourceLocationKind | null,
1199 optional?: boolean,
1200 typeArguments?: null | K.TypeParameterInstantiationKind
1201 }
1202 ): namedTypes.OptionalCallExpression;
1203 }
1204
11681205 export interface OptionalMemberExpressionBuilder {
11691206 (
11701207 object: K.ExpressionKind,
11841221 ): namedTypes.OptionalMemberExpression;
11851222 }
11861223
1187 export interface OptionalCallExpressionBuilder {
1188 (
1189 callee: K.ExpressionKind,
1190 argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[],
1191 optional?: boolean
1192 ): namedTypes.OptionalCallExpression;
1193 from(
1194 params: {
1195 arguments: (K.ExpressionKind | K.SpreadElementKind)[],
1196 callee: K.ExpressionKind,
1197 comments?: K.CommentKind[] | null,
1198 loc?: K.SourceLocationKind | null,
1199 optional?: boolean,
1200 typeArguments?: null | K.TypeParameterInstantiationKind
1201 }
1202 ): namedTypes.OptionalCallExpression;
1203 }
1204
1205 export interface JSXAttributeBuilder {
1206 (
1207 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1208 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
1209 ): namedTypes.JSXAttribute;
1210 from(
1211 params: {
1212 comments?: K.CommentKind[] | null,
1213 loc?: K.SourceLocationKind | null,
1214 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1215 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
1216 }
1217 ): namedTypes.JSXAttribute;
1218 }
1219
1220 export interface JSXIdentifierBuilder {
1221 (name: string): namedTypes.JSXIdentifier;
1222 from(
1223 params: {
1224 comments?: K.CommentKind[] | null,
1225 loc?: K.SourceLocationKind | null,
1226 name: string,
1227 optional?: boolean,
1228 typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null
1229 }
1230 ): namedTypes.JSXIdentifier;
1231 }
1232
1233 export interface JSXNamespacedNameBuilder {
1234 (namespace: K.JSXIdentifierKind, name: K.JSXIdentifierKind): namedTypes.JSXNamespacedName;
1235 from(
1236 params: {
1237 comments?: K.CommentKind[] | null,
1238 loc?: K.SourceLocationKind | null,
1239 name: K.JSXIdentifierKind,
1240 namespace: K.JSXIdentifierKind
1241 }
1242 ): namedTypes.JSXNamespacedName;
1243 }
1244
1245 export interface JSXExpressionContainerBuilder {
1246 (expression: K.ExpressionKind | K.JSXEmptyExpressionKind): namedTypes.JSXExpressionContainer;
1247 from(
1248 params: {
1249 comments?: K.CommentKind[] | null,
1250 expression: K.ExpressionKind | K.JSXEmptyExpressionKind,
1251 loc?: K.SourceLocationKind | null
1252 }
1253 ): namedTypes.JSXExpressionContainer;
1254 }
1255
1256 export interface JSXElementBuilder {
1257 (
1258 openingElement: K.JSXOpeningElementKind,
1259 closingElement?: K.JSXClosingElementKind | null,
1260 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]
1261 ): namedTypes.JSXElement;
1262 from(
1263 params: {
1264 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1265 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[],
1266 closingElement?: K.JSXClosingElementKind | null,
1267 comments?: K.CommentKind[] | null,
1268 loc?: K.SourceLocationKind | null,
1269 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1270 openingElement: K.JSXOpeningElementKind,
1271 selfClosing?: boolean
1272 }
1273 ): namedTypes.JSXElement;
1274 }
1275
1276 export interface JSXFragmentBuilder {
1277 (
1278 openingFragment: K.JSXOpeningFragmentKind,
1279 closingFragment: K.JSXClosingFragmentKind,
1280 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]
1281 ): namedTypes.JSXFragment;
1282 from(
1283 params: {
1284 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[],
1285 closingFragment: K.JSXClosingFragmentKind,
1286 comments?: K.CommentKind[] | null,
1287 loc?: K.SourceLocationKind | null,
1288 openingFragment: K.JSXOpeningFragmentKind
1289 }
1290 ): namedTypes.JSXFragment;
1291 }
1292
1293 export interface JSXMemberExpressionBuilder {
1294 (
1295 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind,
1296 property: K.JSXIdentifierKind
1297 ): namedTypes.JSXMemberExpression;
1298 from(
1299 params: {
1300 comments?: K.CommentKind[] | null,
1301 computed?: boolean,
1302 loc?: K.SourceLocationKind | null,
1303 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind,
1304 property: K.JSXIdentifierKind
1305 }
1306 ): namedTypes.JSXMemberExpression;
1307 }
1308
1309 export interface JSXSpreadAttributeBuilder {
1310 (argument: K.ExpressionKind): namedTypes.JSXSpreadAttribute;
1311 from(
1312 params: {
1313 argument: K.ExpressionKind,
1314 comments?: K.CommentKind[] | null,
1315 loc?: K.SourceLocationKind | null
1316 }
1317 ): namedTypes.JSXSpreadAttribute;
1318 }
1319
1320 export interface JSXEmptyExpressionBuilder {
1321 (): namedTypes.JSXEmptyExpression;
1322 from(
1323 params: {
1324 comments?: K.CommentKind[] | null,
1325 loc?: K.SourceLocationKind | null
1326 }
1327 ): namedTypes.JSXEmptyExpression;
1328 }
1329
1330 export interface JSXTextBuilder {
1331 (value: string, raw?: string): namedTypes.JSXText;
1332 from(
1333 params: {
1334 comments?: K.CommentKind[] | null,
1335 loc?: K.SourceLocationKind | null,
1336 raw?: string,
1337 regex?: {
1338 pattern: string,
1339 flags: string
1340 } | null,
1341 value: string
1342 }
1343 ): namedTypes.JSXText;
1344 }
1345
1346 export interface JSXSpreadChildBuilder {
1347 (expression: K.ExpressionKind): namedTypes.JSXSpreadChild;
1348 from(
1349 params: {
1350 comments?: K.CommentKind[] | null,
1351 expression: K.ExpressionKind,
1352 loc?: K.SourceLocationKind | null
1353 }
1354 ): namedTypes.JSXSpreadChild;
1355 }
1356
1357 export interface JSXOpeningElementBuilder {
1358 (
1359 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1360 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1361 selfClosing?: boolean
1362 ): namedTypes.JSXOpeningElement;
1363 from(
1364 params: {
1365 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1366 comments?: K.CommentKind[] | null,
1367 loc?: K.SourceLocationKind | null,
1368 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1369 selfClosing?: boolean
1370 }
1371 ): namedTypes.JSXOpeningElement;
1372 }
1373
1374 export interface JSXClosingElementBuilder {
1375 (
1376 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1377 ): namedTypes.JSXClosingElement;
1378 from(
1379 params: {
1380 comments?: K.CommentKind[] | null,
1381 loc?: K.SourceLocationKind | null,
1382 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1383 }
1384 ): namedTypes.JSXClosingElement;
1385 }
1386
1387 export interface JSXOpeningFragmentBuilder {
1388 (): namedTypes.JSXOpeningFragment;
1389 from(
1390 params: {
1391 comments?: K.CommentKind[] | null,
1392 loc?: K.SourceLocationKind | null
1393 }
1394 ): namedTypes.JSXOpeningFragment;
1395 }
1396
1397 export interface JSXClosingFragmentBuilder {
1398 (): namedTypes.JSXClosingFragment;
1399 from(
1400 params: {
1401 comments?: K.CommentKind[] | null,
1402 loc?: K.SourceLocationKind | null
1403 }
1404 ): namedTypes.JSXClosingFragment;
1224 export interface StaticBlockBuilder {
1225 (body: K.StatementKind[]): namedTypes.StaticBlock;
1226 from(
1227 params: {
1228 body: K.StatementKind[],
1229 comments?: K.CommentKind[] | null,
1230 loc?: K.SourceLocationKind | null
1231 }
1232 ): namedTypes.StaticBlock;
14051233 }
14061234
14071235 export interface DecoratorBuilder {
14431271 ): namedTypes.ClassPrivateProperty;
14441272 }
14451273
1446 export interface TypeParameterDeclarationBuilder {
1447 (params: K.TypeParameterKind[]): namedTypes.TypeParameterDeclaration;
1448 from(
1449 params: {
1450 comments?: K.CommentKind[] | null,
1451 loc?: K.SourceLocationKind | null,
1452 params: K.TypeParameterKind[]
1453 }
1454 ): namedTypes.TypeParameterDeclaration;
1455 }
1456
1457 export interface TSTypeParameterDeclarationBuilder {
1458 (params: K.TSTypeParameterKind[]): namedTypes.TSTypeParameterDeclaration;
1459 from(
1460 params: {
1461 comments?: K.CommentKind[] | null,
1462 loc?: K.SourceLocationKind | null,
1463 params: K.TSTypeParameterKind[]
1464 }
1465 ): namedTypes.TSTypeParameterDeclaration;
1466 }
1467
1468 export interface TypeParameterInstantiationBuilder {
1469 (params: K.FlowTypeKind[]): namedTypes.TypeParameterInstantiation;
1470 from(
1471 params: {
1472 comments?: K.CommentKind[] | null,
1473 loc?: K.SourceLocationKind | null,
1474 params: K.FlowTypeKind[]
1475 }
1476 ): namedTypes.TypeParameterInstantiation;
1477 }
1478
1479 export interface TSTypeParameterInstantiationBuilder {
1480 (params: K.TSTypeKind[]): namedTypes.TSTypeParameterInstantiation;
1481 from(
1482 params: {
1483 comments?: K.CommentKind[] | null,
1484 loc?: K.SourceLocationKind | null,
1485 params: K.TSTypeKind[]
1486 }
1487 ): namedTypes.TSTypeParameterInstantiation;
1488 }
1489
1490 export interface ClassImplementsBuilder {
1491 (id: K.IdentifierKind): namedTypes.ClassImplements;
1492 from(
1493 params: {
1494 comments?: K.CommentKind[] | null,
1495 id: K.IdentifierKind,
1496 loc?: K.SourceLocationKind | null,
1497 superClass?: K.ExpressionKind | null,
1498 typeParameters?: K.TypeParameterInstantiationKind | null
1499 }
1500 ): namedTypes.ClassImplements;
1501 }
1502
1503 export interface TSExpressionWithTypeArgumentsBuilder {
1504 (
1505 expression: K.IdentifierKind | K.TSQualifiedNameKind,
1506 typeParameters?: K.TSTypeParameterInstantiationKind | null
1507 ): namedTypes.TSExpressionWithTypeArguments;
1508 from(
1509 params: {
1510 comments?: K.CommentKind[] | null,
1511 expression: K.IdentifierKind | K.TSQualifiedNameKind,
1512 loc?: K.SourceLocationKind | null,
1513 typeParameters?: K.TSTypeParameterInstantiationKind | null
1514 }
1515 ): namedTypes.TSExpressionWithTypeArguments;
1516 }
1517
1518 export interface AnyTypeAnnotationBuilder {
1519 (): namedTypes.AnyTypeAnnotation;
1520 from(
1521 params: {
1522 comments?: K.CommentKind[] | null,
1523 loc?: K.SourceLocationKind | null
1524 }
1525 ): namedTypes.AnyTypeAnnotation;
1526 }
1527
1528 export interface EmptyTypeAnnotationBuilder {
1529 (): namedTypes.EmptyTypeAnnotation;
1530 from(
1531 params: {
1532 comments?: K.CommentKind[] | null,
1533 loc?: K.SourceLocationKind | null
1534 }
1535 ): namedTypes.EmptyTypeAnnotation;
1536 }
1537
1538 export interface MixedTypeAnnotationBuilder {
1539 (): namedTypes.MixedTypeAnnotation;
1540 from(
1541 params: {
1542 comments?: K.CommentKind[] | null,
1543 loc?: K.SourceLocationKind | null
1544 }
1545 ): namedTypes.MixedTypeAnnotation;
1546 }
1547
1548 export interface VoidTypeAnnotationBuilder {
1549 (): namedTypes.VoidTypeAnnotation;
1550 from(
1551 params: {
1552 comments?: K.CommentKind[] | null,
1553 loc?: K.SourceLocationKind | null
1554 }
1555 ): namedTypes.VoidTypeAnnotation;
1556 }
1557
1558 export interface SymbolTypeAnnotationBuilder {
1559 (): namedTypes.SymbolTypeAnnotation;
1560 from(
1561 params: {
1562 comments?: K.CommentKind[] | null,
1563 loc?: K.SourceLocationKind | null
1564 }
1565 ): namedTypes.SymbolTypeAnnotation;
1566 }
1567
1568 export interface NumberTypeAnnotationBuilder {
1569 (): namedTypes.NumberTypeAnnotation;
1570 from(
1571 params: {
1572 comments?: K.CommentKind[] | null,
1573 loc?: K.SourceLocationKind | null
1574 }
1575 ): namedTypes.NumberTypeAnnotation;
1576 }
1577
1578 export interface BigIntTypeAnnotationBuilder {
1579 (): namedTypes.BigIntTypeAnnotation;
1580 from(
1581 params: {
1582 comments?: K.CommentKind[] | null,
1583 loc?: K.SourceLocationKind | null
1584 }
1585 ): namedTypes.BigIntTypeAnnotation;
1586 }
1587
1588 export interface NumberLiteralTypeAnnotationBuilder {
1589 (value: number, raw: string): namedTypes.NumberLiteralTypeAnnotation;
1590 from(
1591 params: {
1592 comments?: K.CommentKind[] | null,
1593 loc?: K.SourceLocationKind | null,
1594 raw: string,
1595 value: number
1596 }
1597 ): namedTypes.NumberLiteralTypeAnnotation;
1598 }
1599
1600 export interface NumericLiteralTypeAnnotationBuilder {
1601 (value: number, raw: string): namedTypes.NumericLiteralTypeAnnotation;
1602 from(
1603 params: {
1604 comments?: K.CommentKind[] | null,
1605 loc?: K.SourceLocationKind | null,
1606 raw: string,
1607 value: number
1608 }
1609 ): namedTypes.NumericLiteralTypeAnnotation;
1610 }
1611
1612 export interface BigIntLiteralTypeAnnotationBuilder {
1613 (value: null, raw: string): namedTypes.BigIntLiteralTypeAnnotation;
1614 from(
1615 params: {
1616 comments?: K.CommentKind[] | null,
1617 loc?: K.SourceLocationKind | null,
1618 raw: string,
1619 value: null
1620 }
1621 ): namedTypes.BigIntLiteralTypeAnnotation;
1622 }
1623
1624 export interface StringTypeAnnotationBuilder {
1625 (): namedTypes.StringTypeAnnotation;
1626 from(
1627 params: {
1628 comments?: K.CommentKind[] | null,
1629 loc?: K.SourceLocationKind | null
1630 }
1631 ): namedTypes.StringTypeAnnotation;
1632 }
1633
1634 export interface StringLiteralTypeAnnotationBuilder {
1635 (value: string, raw: string): namedTypes.StringLiteralTypeAnnotation;
1636 from(
1637 params: {
1638 comments?: K.CommentKind[] | null,
1639 loc?: K.SourceLocationKind | null,
1640 raw: string,
1641 value: string
1642 }
1643 ): namedTypes.StringLiteralTypeAnnotation;
1644 }
1645
1646 export interface BooleanTypeAnnotationBuilder {
1647 (): namedTypes.BooleanTypeAnnotation;
1648 from(
1649 params: {
1650 comments?: K.CommentKind[] | null,
1651 loc?: K.SourceLocationKind | null
1652 }
1653 ): namedTypes.BooleanTypeAnnotation;
1654 }
1655
1656 export interface BooleanLiteralTypeAnnotationBuilder {
1657 (value: boolean, raw: string): namedTypes.BooleanLiteralTypeAnnotation;
1658 from(
1659 params: {
1660 comments?: K.CommentKind[] | null,
1661 loc?: K.SourceLocationKind | null,
1662 raw: string,
1663 value: boolean
1664 }
1665 ): namedTypes.BooleanLiteralTypeAnnotation;
1666 }
1667
1668 export interface NullableTypeAnnotationBuilder {
1669 (typeAnnotation: K.FlowTypeKind): namedTypes.NullableTypeAnnotation;
1670 from(
1671 params: {
1672 comments?: K.CommentKind[] | null,
1673 loc?: K.SourceLocationKind | null,
1674 typeAnnotation: K.FlowTypeKind
1675 }
1676 ): namedTypes.NullableTypeAnnotation;
1677 }
1678
1679 export interface NullLiteralTypeAnnotationBuilder {
1680 (): namedTypes.NullLiteralTypeAnnotation;
1681 from(
1682 params: {
1683 comments?: K.CommentKind[] | null,
1684 loc?: K.SourceLocationKind | null
1685 }
1686 ): namedTypes.NullLiteralTypeAnnotation;
1687 }
1688
1689 export interface NullTypeAnnotationBuilder {
1690 (): namedTypes.NullTypeAnnotation;
1691 from(
1692 params: {
1693 comments?: K.CommentKind[] | null,
1694 loc?: K.SourceLocationKind | null
1695 }
1696 ): namedTypes.NullTypeAnnotation;
1697 }
1698
1699 export interface ThisTypeAnnotationBuilder {
1700 (): namedTypes.ThisTypeAnnotation;
1701 from(
1702 params: {
1703 comments?: K.CommentKind[] | null,
1704 loc?: K.SourceLocationKind | null
1705 }
1706 ): namedTypes.ThisTypeAnnotation;
1707 }
1708
1709 export interface ExistsTypeAnnotationBuilder {
1710 (): namedTypes.ExistsTypeAnnotation;
1711 from(
1712 params: {
1713 comments?: K.CommentKind[] | null,
1714 loc?: K.SourceLocationKind | null
1715 }
1716 ): namedTypes.ExistsTypeAnnotation;
1717 }
1718
1719 export interface ExistentialTypeParamBuilder {
1720 (): namedTypes.ExistentialTypeParam;
1721 from(
1722 params: {
1723 comments?: K.CommentKind[] | null,
1724 loc?: K.SourceLocationKind | null
1725 }
1726 ): namedTypes.ExistentialTypeParam;
1727 }
1728
1729 export interface FunctionTypeAnnotationBuilder {
1730 (
1731 params: K.FunctionTypeParamKind[],
1732 returnType: K.FlowTypeKind,
1733 rest: K.FunctionTypeParamKind | null,
1734 typeParameters: K.TypeParameterDeclarationKind | null
1735 ): namedTypes.FunctionTypeAnnotation;
1736 from(
1737 params: {
1738 comments?: K.CommentKind[] | null,
1739 loc?: K.SourceLocationKind | null,
1740 params: K.FunctionTypeParamKind[],
1741 rest: K.FunctionTypeParamKind | null,
1742 returnType: K.FlowTypeKind,
1743 typeParameters: K.TypeParameterDeclarationKind | null
1744 }
1745 ): namedTypes.FunctionTypeAnnotation;
1746 }
1747
1748 export interface FunctionTypeParamBuilder {
1749 (
1750 name: K.IdentifierKind | null,
1751 typeAnnotation: K.FlowTypeKind,
1752 optional: boolean
1753 ): namedTypes.FunctionTypeParam;
1754 from(
1755 params: {
1756 comments?: K.CommentKind[] | null,
1757 loc?: K.SourceLocationKind | null,
1758 name: K.IdentifierKind | null,
1759 optional: boolean,
1760 typeAnnotation: K.FlowTypeKind
1761 }
1762 ): namedTypes.FunctionTypeParam;
1763 }
1764
1765 export interface ArrayTypeAnnotationBuilder {
1766 (elementType: K.FlowTypeKind): namedTypes.ArrayTypeAnnotation;
1767 from(
1768 params: {
1769 comments?: K.CommentKind[] | null,
1770 elementType: K.FlowTypeKind,
1771 loc?: K.SourceLocationKind | null
1772 }
1773 ): namedTypes.ArrayTypeAnnotation;
1774 }
1775
1776 export interface ObjectTypeAnnotationBuilder {
1777 (
1778 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[],
1779 indexers?: K.ObjectTypeIndexerKind[],
1780 callProperties?: K.ObjectTypeCallPropertyKind[]
1781 ): namedTypes.ObjectTypeAnnotation;
1782 from(
1783 params: {
1784 callProperties?: K.ObjectTypeCallPropertyKind[],
1785 comments?: K.CommentKind[] | null,
1786 exact?: boolean,
1787 indexers?: K.ObjectTypeIndexerKind[],
1788 inexact?: boolean | undefined,
1789 internalSlots?: K.ObjectTypeInternalSlotKind[],
1790 loc?: K.SourceLocationKind | null,
1791 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[]
1792 }
1793 ): namedTypes.ObjectTypeAnnotation;
1794 }
1795
1796 export interface ObjectTypePropertyBuilder {
1797 (
1798 key: K.LiteralKind | K.IdentifierKind,
1799 value: K.FlowTypeKind,
1800 optional: boolean
1801 ): namedTypes.ObjectTypeProperty;
1802 from(
1803 params: {
1804 comments?: K.CommentKind[] | null,
1805 key: K.LiteralKind | K.IdentifierKind,
1806 loc?: K.SourceLocationKind | null,
1807 optional: boolean,
1808 value: K.FlowTypeKind,
1809 variance?: K.VarianceKind | "plus" | "minus" | null
1810 }
1811 ): namedTypes.ObjectTypeProperty;
1812 }
1813
1814 export interface ObjectTypeSpreadPropertyBuilder {
1815 (argument: K.FlowTypeKind): namedTypes.ObjectTypeSpreadProperty;
1816 from(
1817 params: {
1818 argument: K.FlowTypeKind,
1819 comments?: K.CommentKind[] | null,
1820 loc?: K.SourceLocationKind | null
1821 }
1822 ): namedTypes.ObjectTypeSpreadProperty;
1823 }
1824
1825 export interface ObjectTypeIndexerBuilder {
1826 (id: K.IdentifierKind, key: K.FlowTypeKind, value: K.FlowTypeKind): namedTypes.ObjectTypeIndexer;
1827 from(
1828 params: {
1829 comments?: K.CommentKind[] | null,
1830 id: K.IdentifierKind,
1831 key: K.FlowTypeKind,
1832 loc?: K.SourceLocationKind | null,
1833 static?: boolean,
1834 value: K.FlowTypeKind,
1835 variance?: K.VarianceKind | "plus" | "minus" | null
1836 }
1837 ): namedTypes.ObjectTypeIndexer;
1838 }
1839
1840 export interface ObjectTypeCallPropertyBuilder {
1841 (value: K.FunctionTypeAnnotationKind): namedTypes.ObjectTypeCallProperty;
1842 from(
1843 params: {
1844 comments?: K.CommentKind[] | null,
1845 loc?: K.SourceLocationKind | null,
1846 static?: boolean,
1847 value: K.FunctionTypeAnnotationKind
1848 }
1849 ): namedTypes.ObjectTypeCallProperty;
1850 }
1851
1852 export interface ObjectTypeInternalSlotBuilder {
1853 (
1854 id: K.IdentifierKind,
1855 value: K.FlowTypeKind,
1856 optional: boolean,
1857 staticParam: boolean,
1858 method: boolean
1859 ): namedTypes.ObjectTypeInternalSlot;
1860 from(
1861 params: {
1862 comments?: K.CommentKind[] | null,
1863 id: K.IdentifierKind,
1864 loc?: K.SourceLocationKind | null,
1865 method: boolean,
1866 optional: boolean,
1867 static: boolean,
1868 value: K.FlowTypeKind
1869 }
1870 ): namedTypes.ObjectTypeInternalSlot;
1871 }
1872
1873 export interface VarianceBuilder {
1874 (kind: "plus" | "minus"): namedTypes.Variance;
1875 from(
1876 params: {
1877 comments?: K.CommentKind[] | null,
1878 kind: "plus" | "minus",
1879 loc?: K.SourceLocationKind | null
1880 }
1881 ): namedTypes.Variance;
1882 }
1883
1884 export interface QualifiedTypeIdentifierBuilder {
1885 (
1886 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
1887 id: K.IdentifierKind
1888 ): namedTypes.QualifiedTypeIdentifier;
1889 from(
1890 params: {
1891 comments?: K.CommentKind[] | null,
1892 id: K.IdentifierKind,
1893 loc?: K.SourceLocationKind | null,
1894 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind
1895 }
1896 ): namedTypes.QualifiedTypeIdentifier;
1897 }
1898
1899 export interface GenericTypeAnnotationBuilder {
1900 (
1901 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
1902 typeParameters: K.TypeParameterInstantiationKind | null
1903 ): namedTypes.GenericTypeAnnotation;
1904 from(
1905 params: {
1906 comments?: K.CommentKind[] | null,
1907 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
1908 loc?: K.SourceLocationKind | null,
1909 typeParameters: K.TypeParameterInstantiationKind | null
1910 }
1911 ): namedTypes.GenericTypeAnnotation;
1912 }
1913
1914 export interface MemberTypeAnnotationBuilder {
1915 (
1916 object: K.IdentifierKind,
1917 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind
1918 ): namedTypes.MemberTypeAnnotation;
1919 from(
1920 params: {
1921 comments?: K.CommentKind[] | null,
1922 loc?: K.SourceLocationKind | null,
1923 object: K.IdentifierKind,
1924 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind
1925 }
1926 ): namedTypes.MemberTypeAnnotation;
1927 }
1928
1929 export interface UnionTypeAnnotationBuilder {
1930 (types: K.FlowTypeKind[]): namedTypes.UnionTypeAnnotation;
1931 from(
1932 params: {
1933 comments?: K.CommentKind[] | null,
1934 loc?: K.SourceLocationKind | null,
1935 types: K.FlowTypeKind[]
1936 }
1937 ): namedTypes.UnionTypeAnnotation;
1938 }
1939
1940 export interface IntersectionTypeAnnotationBuilder {
1941 (types: K.FlowTypeKind[]): namedTypes.IntersectionTypeAnnotation;
1942 from(
1943 params: {
1944 comments?: K.CommentKind[] | null,
1945 loc?: K.SourceLocationKind | null,
1946 types: K.FlowTypeKind[]
1947 }
1948 ): namedTypes.IntersectionTypeAnnotation;
1949 }
1950
1951 export interface TypeofTypeAnnotationBuilder {
1952 (argument: K.FlowTypeKind): namedTypes.TypeofTypeAnnotation;
1953 from(
1954 params: {
1955 argument: K.FlowTypeKind,
1956 comments?: K.CommentKind[] | null,
1957 loc?: K.SourceLocationKind | null
1958 }
1959 ): namedTypes.TypeofTypeAnnotation;
1960 }
1961
1962 export interface TypeParameterBuilder {
1963 (
1964 name: string,
1965 variance?: K.VarianceKind | "plus" | "minus" | null,
1966 bound?: K.TypeAnnotationKind | null,
1967 defaultParam?: K.FlowTypeKind | null
1968 ): namedTypes.TypeParameter;
1969 from(
1970 params: {
1971 bound?: K.TypeAnnotationKind | null,
1972 comments?: K.CommentKind[] | null,
1973 default?: K.FlowTypeKind | null,
1974 loc?: K.SourceLocationKind | null,
1975 name: string,
1976 variance?: K.VarianceKind | "plus" | "minus" | null
1977 }
1978 ): namedTypes.TypeParameter;
1979 }
1980
1981 export interface InterfaceTypeAnnotationBuilder {
1982 (
1983 body: K.ObjectTypeAnnotationKind,
1984 extendsParam?: K.InterfaceExtendsKind[] | null
1985 ): namedTypes.InterfaceTypeAnnotation;
1986 from(
1987 params: {
1988 body: K.ObjectTypeAnnotationKind,
1989 comments?: K.CommentKind[] | null,
1990 extends?: K.InterfaceExtendsKind[] | null,
1991 loc?: K.SourceLocationKind | null
1992 }
1993 ): namedTypes.InterfaceTypeAnnotation;
1994 }
1995
1996 export interface InterfaceExtendsBuilder {
1997 (id: K.IdentifierKind): namedTypes.InterfaceExtends;
1998 from(
1999 params: {
2000 comments?: K.CommentKind[] | null,
2001 id: K.IdentifierKind,
2002 loc?: K.SourceLocationKind | null,
2003 typeParameters?: K.TypeParameterInstantiationKind | null
2004 }
2005 ): namedTypes.InterfaceExtends;
2006 }
2007
2008 export interface InterfaceDeclarationBuilder {
2009 (
2010 id: K.IdentifierKind,
2011 body: K.ObjectTypeAnnotationKind,
2012 extendsParam: K.InterfaceExtendsKind[]
2013 ): namedTypes.InterfaceDeclaration;
2014 from(
2015 params: {
2016 body: K.ObjectTypeAnnotationKind,
2017 comments?: K.CommentKind[] | null,
2018 extends: K.InterfaceExtendsKind[],
2019 id: K.IdentifierKind,
2020 loc?: K.SourceLocationKind | null,
2021 typeParameters?: K.TypeParameterDeclarationKind | null
2022 }
2023 ): namedTypes.InterfaceDeclaration;
2024 }
2025
2026 export interface DeclareInterfaceBuilder {
2027 (
2028 id: K.IdentifierKind,
2029 body: K.ObjectTypeAnnotationKind,
2030 extendsParam: K.InterfaceExtendsKind[]
2031 ): namedTypes.DeclareInterface;
2032 from(
2033 params: {
2034 body: K.ObjectTypeAnnotationKind,
2035 comments?: K.CommentKind[] | null,
2036 extends: K.InterfaceExtendsKind[],
2037 id: K.IdentifierKind,
2038 loc?: K.SourceLocationKind | null,
2039 typeParameters?: K.TypeParameterDeclarationKind | null
2040 }
2041 ): namedTypes.DeclareInterface;
2042 }
2043
2044 export interface TypeAliasBuilder {
2045 (
2046 id: K.IdentifierKind,
2047 typeParameters: K.TypeParameterDeclarationKind | null,
2048 right: K.FlowTypeKind
2049 ): namedTypes.TypeAlias;
2050 from(
2051 params: {
2052 comments?: K.CommentKind[] | null,
2053 id: K.IdentifierKind,
2054 loc?: K.SourceLocationKind | null,
2055 right: K.FlowTypeKind,
2056 typeParameters: K.TypeParameterDeclarationKind | null
2057 }
2058 ): namedTypes.TypeAlias;
2059 }
2060
2061 export interface DeclareTypeAliasBuilder {
2062 (
2063 id: K.IdentifierKind,
2064 typeParameters: K.TypeParameterDeclarationKind | null,
2065 right: K.FlowTypeKind
2066 ): namedTypes.DeclareTypeAlias;
2067 from(
2068 params: {
2069 comments?: K.CommentKind[] | null,
2070 id: K.IdentifierKind,
2071 loc?: K.SourceLocationKind | null,
2072 right: K.FlowTypeKind,
2073 typeParameters: K.TypeParameterDeclarationKind | null
2074 }
2075 ): namedTypes.DeclareTypeAlias;
2076 }
2077
2078 export interface OpaqueTypeBuilder {
2079 (
2080 id: K.IdentifierKind,
2081 typeParameters: K.TypeParameterDeclarationKind | null,
2082 impltype: K.FlowTypeKind,
2083 supertype: K.FlowTypeKind | null
2084 ): namedTypes.OpaqueType;
2085 from(
2086 params: {
2087 comments?: K.CommentKind[] | null,
2088 id: K.IdentifierKind,
2089 impltype: K.FlowTypeKind,
2090 loc?: K.SourceLocationKind | null,
2091 supertype: K.FlowTypeKind | null,
2092 typeParameters: K.TypeParameterDeclarationKind | null
2093 }
2094 ): namedTypes.OpaqueType;
2095 }
2096
2097 export interface DeclareOpaqueTypeBuilder {
2098 (
2099 id: K.IdentifierKind,
2100 typeParameters: K.TypeParameterDeclarationKind | null,
2101 supertype: K.FlowTypeKind | null
2102 ): namedTypes.DeclareOpaqueType;
2103 from(
2104 params: {
2105 comments?: K.CommentKind[] | null,
2106 id: K.IdentifierKind,
2107 impltype: K.FlowTypeKind | null,
2108 loc?: K.SourceLocationKind | null,
2109 supertype: K.FlowTypeKind | null,
2110 typeParameters: K.TypeParameterDeclarationKind | null
2111 }
2112 ): namedTypes.DeclareOpaqueType;
2113 }
2114
2115 export interface TypeCastExpressionBuilder {
2116 (expression: K.ExpressionKind, typeAnnotation: K.TypeAnnotationKind): namedTypes.TypeCastExpression;
2117 from(
2118 params: {
2119 comments?: K.CommentKind[] | null,
2120 expression: K.ExpressionKind,
2121 loc?: K.SourceLocationKind | null,
2122 typeAnnotation: K.TypeAnnotationKind
2123 }
2124 ): namedTypes.TypeCastExpression;
2125 }
2126
2127 export interface TupleTypeAnnotationBuilder {
2128 (types: K.FlowTypeKind[]): namedTypes.TupleTypeAnnotation;
2129 from(
2130 params: {
2131 comments?: K.CommentKind[] | null,
2132 loc?: K.SourceLocationKind | null,
2133 types: K.FlowTypeKind[]
2134 }
2135 ): namedTypes.TupleTypeAnnotation;
2136 }
2137
2138 export interface DeclareVariableBuilder {
2139 (id: K.IdentifierKind): namedTypes.DeclareVariable;
2140 from(
2141 params: {
2142 comments?: K.CommentKind[] | null,
2143 id: K.IdentifierKind,
2144 loc?: K.SourceLocationKind | null
2145 }
2146 ): namedTypes.DeclareVariable;
2147 }
2148
2149 export interface DeclareFunctionBuilder {
2150 (id: K.IdentifierKind): namedTypes.DeclareFunction;
2151 from(
2152 params: {
2153 comments?: K.CommentKind[] | null,
2154 id: K.IdentifierKind,
2155 loc?: K.SourceLocationKind | null,
2156 predicate?: K.FlowPredicateKind | null
2157 }
2158 ): namedTypes.DeclareFunction;
2159 }
2160
2161 export interface DeclareClassBuilder {
2162 (id: K.IdentifierKind): namedTypes.DeclareClass;
2163 from(
2164 params: {
2165 body: K.ObjectTypeAnnotationKind,
2166 comments?: K.CommentKind[] | null,
2167 extends: K.InterfaceExtendsKind[],
2168 id: K.IdentifierKind,
2169 loc?: K.SourceLocationKind | null,
2170 typeParameters?: K.TypeParameterDeclarationKind | null
2171 }
2172 ): namedTypes.DeclareClass;
2173 }
2174
2175 export interface DeclareModuleBuilder {
2176 (id: K.IdentifierKind | K.LiteralKind, body: K.BlockStatementKind): namedTypes.DeclareModule;
2177 from(
2178 params: {
2179 body: K.BlockStatementKind,
2180 comments?: K.CommentKind[] | null,
2181 id: K.IdentifierKind | K.LiteralKind,
2182 loc?: K.SourceLocationKind | null
2183 }
2184 ): namedTypes.DeclareModule;
2185 }
2186
2187 export interface DeclareModuleExportsBuilder {
2188 (typeAnnotation: K.TypeAnnotationKind): namedTypes.DeclareModuleExports;
2189 from(
2190 params: {
2191 comments?: K.CommentKind[] | null,
2192 loc?: K.SourceLocationKind | null,
2193 typeAnnotation: K.TypeAnnotationKind
2194 }
2195 ): namedTypes.DeclareModuleExports;
2196 }
2197
2198 export interface DeclareExportDeclarationBuilder {
2199 (
2200 defaultParam: boolean,
2201 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
2202 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[],
2203 source?: K.LiteralKind | null
2204 ): namedTypes.DeclareExportDeclaration;
2205 from(
2206 params: {
2207 comments?: K.CommentKind[] | null,
2208 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
2209 default: boolean,
2210 loc?: K.SourceLocationKind | null,
2211 source?: K.LiteralKind | null,
2212 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]
2213 }
2214 ): namedTypes.DeclareExportDeclaration;
2215 }
2216
2217 export interface ExportBatchSpecifierBuilder {
2218 (): namedTypes.ExportBatchSpecifier;
2219 from(
2220 params: {
2221 comments?: K.CommentKind[] | null,
2222 loc?: K.SourceLocationKind | null
2223 }
2224 ): namedTypes.ExportBatchSpecifier;
2225 }
2226
2227 export interface DeclareExportAllDeclarationBuilder {
2228 (source?: K.LiteralKind | null): namedTypes.DeclareExportAllDeclaration;
2229 from(
2230 params: {
2231 comments?: K.CommentKind[] | null,
2232 loc?: K.SourceLocationKind | null,
2233 source?: K.LiteralKind | null
2234 }
2235 ): namedTypes.DeclareExportAllDeclaration;
2236 }
2237
2238 export interface InferredPredicateBuilder {
2239 (): namedTypes.InferredPredicate;
2240 from(
2241 params: {
2242 comments?: K.CommentKind[] | null,
2243 loc?: K.SourceLocationKind | null
2244 }
2245 ): namedTypes.InferredPredicate;
2246 }
2247
2248 export interface DeclaredPredicateBuilder {
2249 (value: K.ExpressionKind): namedTypes.DeclaredPredicate;
2250 from(
2251 params: {
2252 comments?: K.CommentKind[] | null,
1274 export interface ImportAttributeBuilder {
1275 (key: K.IdentifierKind | K.LiteralKind, value: K.ExpressionKind): namedTypes.ImportAttribute;
1276 from(
1277 params: {
1278 comments?: K.CommentKind[] | null,
1279 key: K.IdentifierKind | K.LiteralKind,
22531280 loc?: K.SourceLocationKind | null,
22541281 value: K.ExpressionKind
22551282 }
2256 ): namedTypes.DeclaredPredicate;
2257 }
2258
2259 export interface EnumDeclarationBuilder {
2260 (
2261 id: K.IdentifierKind,
2262 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind
2263 ): namedTypes.EnumDeclaration;
2264 from(
2265 params: {
2266 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind,
2267 comments?: K.CommentKind[] | null,
2268 id: K.IdentifierKind,
2269 loc?: K.SourceLocationKind | null
2270 }
2271 ): namedTypes.EnumDeclaration;
2272 }
2273
2274 export interface EnumBooleanBodyBuilder {
2275 (members: K.EnumBooleanMemberKind[], explicitType: boolean): namedTypes.EnumBooleanBody;
2276 from(
2277 params: {
2278 explicitType: boolean,
2279 members: K.EnumBooleanMemberKind[]
2280 }
2281 ): namedTypes.EnumBooleanBody;
2282 }
2283
2284 export interface EnumNumberBodyBuilder {
2285 (members: K.EnumNumberMemberKind[], explicitType: boolean): namedTypes.EnumNumberBody;
2286 from(
2287 params: {
2288 explicitType: boolean,
2289 members: K.EnumNumberMemberKind[]
2290 }
2291 ): namedTypes.EnumNumberBody;
2292 }
2293
2294 export interface EnumStringBodyBuilder {
2295 (
2296 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[],
2297 explicitType: boolean
2298 ): namedTypes.EnumStringBody;
2299 from(
2300 params: {
2301 explicitType: boolean,
2302 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[]
2303 }
2304 ): namedTypes.EnumStringBody;
2305 }
2306
2307 export interface EnumSymbolBodyBuilder {
2308 (members: K.EnumDefaultedMemberKind[]): namedTypes.EnumSymbolBody;
2309 from(
2310 params: {
2311 members: K.EnumDefaultedMemberKind[]
2312 }
2313 ): namedTypes.EnumSymbolBody;
2314 }
2315
2316 export interface EnumBooleanMemberBuilder {
2317 (id: K.IdentifierKind, init: K.LiteralKind | boolean): namedTypes.EnumBooleanMember;
2318 from(
2319 params: {
2320 id: K.IdentifierKind,
2321 init: K.LiteralKind | boolean
2322 }
2323 ): namedTypes.EnumBooleanMember;
2324 }
2325
2326 export interface EnumNumberMemberBuilder {
2327 (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumNumberMember;
2328 from(
2329 params: {
2330 id: K.IdentifierKind,
2331 init: K.LiteralKind
2332 }
2333 ): namedTypes.EnumNumberMember;
2334 }
2335
2336 export interface EnumStringMemberBuilder {
2337 (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumStringMember;
2338 from(
2339 params: {
2340 id: K.IdentifierKind,
2341 init: K.LiteralKind
2342 }
2343 ): namedTypes.EnumStringMember;
2344 }
2345
2346 export interface EnumDefaultedMemberBuilder {
2347 (id: K.IdentifierKind): namedTypes.EnumDefaultedMember;
2348 from(
2349 params: {
2350 id: K.IdentifierKind
2351 }
2352 ): namedTypes.EnumDefaultedMember;
2353 }
2354
2355 export interface ExportDeclarationBuilder {
2356 (
2357 defaultParam: boolean,
2358 declaration: K.DeclarationKind | K.ExpressionKind | null,
2359 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[],
2360 source?: K.LiteralKind | null
2361 ): namedTypes.ExportDeclaration;
2362 from(
2363 params: {
2364 comments?: K.CommentKind[] | null,
2365 declaration: K.DeclarationKind | K.ExpressionKind | null,
2366 default: boolean,
2367 loc?: K.SourceLocationKind | null,
2368 source?: K.LiteralKind | null,
2369 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]
2370 }
2371 ): namedTypes.ExportDeclaration;
2372 }
2373
2374 export interface BlockBuilder {
2375 (value: string, leading?: boolean, trailing?: boolean): namedTypes.Block;
2376 from(
2377 params: {
2378 leading?: boolean,
2379 loc?: K.SourceLocationKind | null,
2380 trailing?: boolean,
2381 value: string
2382 }
2383 ): namedTypes.Block;
2384 }
2385
2386 export interface LineBuilder {
2387 (value: string, leading?: boolean, trailing?: boolean): namedTypes.Line;
2388 from(
2389 params: {
2390 leading?: boolean,
2391 loc?: K.SourceLocationKind | null,
2392 trailing?: boolean,
2393 value: string
2394 }
2395 ): namedTypes.Line;
2396 }
2397
2398 export interface NoopBuilder {
2399 (): namedTypes.Noop;
2400 from(
2401 params: {
2402 comments?: K.CommentKind[] | null,
2403 loc?: K.SourceLocationKind | null
2404 }
2405 ): namedTypes.Noop;
2406 }
2407
2408 export interface DoExpressionBuilder {
2409 (body: K.StatementKind[]): namedTypes.DoExpression;
2410 from(
2411 params: {
2412 body: K.StatementKind[],
2413 comments?: K.CommentKind[] | null,
2414 loc?: K.SourceLocationKind | null
2415 }
2416 ): namedTypes.DoExpression;
2417 }
2418
2419 export interface BindExpressionBuilder {
2420 (object: K.ExpressionKind | null, callee: K.ExpressionKind): namedTypes.BindExpression;
2421 from(
2422 params: {
2423 callee: K.ExpressionKind,
2424 comments?: K.CommentKind[] | null,
2425 loc?: K.SourceLocationKind | null,
2426 object: K.ExpressionKind | null
2427 }
2428 ): namedTypes.BindExpression;
2429 }
2430
2431 export interface ParenthesizedExpressionBuilder {
2432 (expression: K.ExpressionKind): namedTypes.ParenthesizedExpression;
2433 from(
2434 params: {
2435 comments?: K.CommentKind[] | null,
2436 expression: K.ExpressionKind,
2437 loc?: K.SourceLocationKind | null
2438 }
2439 ): namedTypes.ParenthesizedExpression;
2440 }
2441
2442 export interface ExportNamespaceSpecifierBuilder {
2443 (exported: K.IdentifierKind): namedTypes.ExportNamespaceSpecifier;
2444 from(
2445 params: {
2446 comments?: K.CommentKind[] | null,
2447 exported: K.IdentifierKind,
2448 loc?: K.SourceLocationKind | null
2449 }
2450 ): namedTypes.ExportNamespaceSpecifier;
2451 }
2452
2453 export interface ExportDefaultSpecifierBuilder {
2454 (exported: K.IdentifierKind): namedTypes.ExportDefaultSpecifier;
2455 from(
2456 params: {
2457 comments?: K.CommentKind[] | null,
2458 exported: K.IdentifierKind,
2459 loc?: K.SourceLocationKind | null
2460 }
2461 ): namedTypes.ExportDefaultSpecifier;
2462 }
2463
2464 export interface CommentBlockBuilder {
2465 (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentBlock;
2466 from(
2467 params: {
2468 leading?: boolean,
2469 loc?: K.SourceLocationKind | null,
2470 trailing?: boolean,
2471 value: string
2472 }
2473 ): namedTypes.CommentBlock;
2474 }
2475
2476 export interface CommentLineBuilder {
2477 (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentLine;
2478 from(
2479 params: {
2480 leading?: boolean,
2481 loc?: K.SourceLocationKind | null,
2482 trailing?: boolean,
2483 value: string
2484 }
2485 ): namedTypes.CommentLine;
2486 }
2487
2488 export interface DirectiveBuilder {
2489 (value: K.DirectiveLiteralKind): namedTypes.Directive;
2490 from(
2491 params: {
2492 comments?: K.CommentKind[] | null,
2493 loc?: K.SourceLocationKind | null,
2494 value: K.DirectiveLiteralKind
2495 }
2496 ): namedTypes.Directive;
2497 }
2498
2499 export interface DirectiveLiteralBuilder {
2500 (value?: string): namedTypes.DirectiveLiteral;
2501 from(
2502 params: {
2503 comments?: K.CommentKind[] | null,
2504 loc?: K.SourceLocationKind | null,
2505 value?: string
2506 }
2507 ): namedTypes.DirectiveLiteral;
2508 }
2509
2510 export interface InterpreterDirectiveBuilder {
2511 (value: string): namedTypes.InterpreterDirective;
2512 from(
2513 params: {
2514 comments?: K.CommentKind[] | null,
2515 loc?: K.SourceLocationKind | null,
2516 value: string
2517 }
2518 ): namedTypes.InterpreterDirective;
2519 }
2520
2521 export interface StringLiteralBuilder {
2522 (value: string): namedTypes.StringLiteral;
2523 from(
2524 params: {
2525 comments?: K.CommentKind[] | null,
2526 loc?: K.SourceLocationKind | null,
2527 regex?: {
2528 pattern: string,
2529 flags: string
2530 } | null,
2531 value: string
2532 }
2533 ): namedTypes.StringLiteral;
2534 }
2535
2536 export interface NumericLiteralBuilder {
2537 (value: number): namedTypes.NumericLiteral;
2538 from(
2539 params: {
2540 comments?: K.CommentKind[] | null,
2541 extra?: {
2542 rawValue: number,
2543 raw: string
2544 },
2545 loc?: K.SourceLocationKind | null,
2546 raw?: string | null,
2547 regex?: {
2548 pattern: string,
2549 flags: string
2550 } | null,
2551 value: number
2552 }
2553 ): namedTypes.NumericLiteral;
2554 }
2555
2556 export interface BigIntLiteralBuilder {
2557 (value: string | number): namedTypes.BigIntLiteral;
2558 from(
2559 params: {
2560 comments?: K.CommentKind[] | null,
2561 extra?: {
2562 rawValue: string,
2563 raw: string
2564 },
2565 loc?: K.SourceLocationKind | null,
2566 regex?: {
2567 pattern: string,
2568 flags: string
2569 } | null,
2570 value: string | number
2571 }
2572 ): namedTypes.BigIntLiteral;
2573 }
2574
2575 export interface NullLiteralBuilder {
2576 (): namedTypes.NullLiteral;
2577 from(
2578 params: {
2579 comments?: K.CommentKind[] | null,
2580 loc?: K.SourceLocationKind | null,
2581 regex?: {
2582 pattern: string,
2583 flags: string
2584 } | null,
2585 value?: null
2586 }
2587 ): namedTypes.NullLiteral;
2588 }
2589
2590 export interface BooleanLiteralBuilder {
2591 (value: boolean): namedTypes.BooleanLiteral;
2592 from(
2593 params: {
2594 comments?: K.CommentKind[] | null,
2595 loc?: K.SourceLocationKind | null,
2596 regex?: {
2597 pattern: string,
2598 flags: string
2599 } | null,
2600 value: boolean
2601 }
2602 ): namedTypes.BooleanLiteral;
2603 }
2604
2605 export interface RegExpLiteralBuilder {
2606 (pattern: string, flags: string): namedTypes.RegExpLiteral;
2607 from(
2608 params: {
2609 comments?: K.CommentKind[] | null,
2610 flags: string,
2611 loc?: K.SourceLocationKind | null,
2612 pattern: string,
2613 regex?: {
2614 pattern: string,
2615 flags: string
2616 } | null,
2617 value?: RegExp
2618 }
2619 ): namedTypes.RegExpLiteral;
1283 ): namedTypes.ImportAttribute;
1284 }
1285
1286 export interface RecordExpressionBuilder {
1287 (
1288 properties: (K.ObjectPropertyKind | K.ObjectMethodKind | K.SpreadElementKind)[]
1289 ): namedTypes.RecordExpression;
1290 from(
1291 params: {
1292 comments?: K.CommentKind[] | null,
1293 loc?: K.SourceLocationKind | null,
1294 properties: (K.ObjectPropertyKind | K.ObjectMethodKind | K.SpreadElementKind)[]
1295 }
1296 ): namedTypes.RecordExpression;
26201297 }
26211298
26221299 export interface ObjectMethodBuilder {
26511328 ): namedTypes.ObjectMethod;
26521329 }
26531330
1331 export interface TupleExpressionBuilder {
1332 (elements: (K.ExpressionKind | K.SpreadElementKind | null)[]): namedTypes.TupleExpression;
1333 from(
1334 params: {
1335 comments?: K.CommentKind[] | null,
1336 elements: (K.ExpressionKind | K.SpreadElementKind | null)[],
1337 loc?: K.SourceLocationKind | null
1338 }
1339 ): namedTypes.TupleExpression;
1340 }
1341
1342 export interface ModuleExpressionBuilder {
1343 (): namedTypes.ModuleExpression;
1344 from(
1345 params: {
1346 body: K.ProgramKind,
1347 comments?: K.CommentKind[] | null,
1348 loc?: K.SourceLocationKind | null
1349 }
1350 ): namedTypes.ModuleExpression;
1351 }
1352
1353 export interface JSXAttributeBuilder {
1354 (
1355 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1356 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
1357 ): namedTypes.JSXAttribute;
1358 from(
1359 params: {
1360 comments?: K.CommentKind[] | null,
1361 loc?: K.SourceLocationKind | null,
1362 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1363 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
1364 }
1365 ): namedTypes.JSXAttribute;
1366 }
1367
1368 export interface JSXIdentifierBuilder {
1369 (name: string): namedTypes.JSXIdentifier;
1370 from(
1371 params: {
1372 comments?: K.CommentKind[] | null,
1373 loc?: K.SourceLocationKind | null,
1374 name: string,
1375 optional?: boolean,
1376 typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null
1377 }
1378 ): namedTypes.JSXIdentifier;
1379 }
1380
1381 export interface JSXNamespacedNameBuilder {
1382 (namespace: K.JSXIdentifierKind, name: K.JSXIdentifierKind): namedTypes.JSXNamespacedName;
1383 from(
1384 params: {
1385 comments?: K.CommentKind[] | null,
1386 loc?: K.SourceLocationKind | null,
1387 name: K.JSXIdentifierKind,
1388 namespace: K.JSXIdentifierKind
1389 }
1390 ): namedTypes.JSXNamespacedName;
1391 }
1392
1393 export interface JSXExpressionContainerBuilder {
1394 (expression: K.ExpressionKind | K.JSXEmptyExpressionKind): namedTypes.JSXExpressionContainer;
1395 from(
1396 params: {
1397 comments?: K.CommentKind[] | null,
1398 expression: K.ExpressionKind | K.JSXEmptyExpressionKind,
1399 loc?: K.SourceLocationKind | null
1400 }
1401 ): namedTypes.JSXExpressionContainer;
1402 }
1403
1404 export interface JSXElementBuilder {
1405 (
1406 openingElement: K.JSXOpeningElementKind,
1407 closingElement?: K.JSXClosingElementKind | null,
1408 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]
1409 ): namedTypes.JSXElement;
1410 from(
1411 params: {
1412 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1413 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[],
1414 closingElement?: K.JSXClosingElementKind | null,
1415 comments?: K.CommentKind[] | null,
1416 loc?: K.SourceLocationKind | null,
1417 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1418 openingElement: K.JSXOpeningElementKind,
1419 selfClosing?: boolean
1420 }
1421 ): namedTypes.JSXElement;
1422 }
1423
1424 export interface JSXFragmentBuilder {
1425 (
1426 openingFragment: K.JSXOpeningFragmentKind,
1427 closingFragment: K.JSXClosingFragmentKind,
1428 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[]
1429 ): namedTypes.JSXFragment;
1430 from(
1431 params: {
1432 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[],
1433 closingFragment: K.JSXClosingFragmentKind,
1434 comments?: K.CommentKind[] | null,
1435 loc?: K.SourceLocationKind | null,
1436 openingFragment: K.JSXOpeningFragmentKind
1437 }
1438 ): namedTypes.JSXFragment;
1439 }
1440
1441 export interface JSXMemberExpressionBuilder {
1442 (
1443 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind,
1444 property: K.JSXIdentifierKind
1445 ): namedTypes.JSXMemberExpression;
1446 from(
1447 params: {
1448 comments?: K.CommentKind[] | null,
1449 computed?: boolean,
1450 loc?: K.SourceLocationKind | null,
1451 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind,
1452 optional?: boolean,
1453 property: K.JSXIdentifierKind
1454 }
1455 ): namedTypes.JSXMemberExpression;
1456 }
1457
1458 export interface JSXSpreadAttributeBuilder {
1459 (argument: K.ExpressionKind): namedTypes.JSXSpreadAttribute;
1460 from(
1461 params: {
1462 argument: K.ExpressionKind,
1463 comments?: K.CommentKind[] | null,
1464 loc?: K.SourceLocationKind | null
1465 }
1466 ): namedTypes.JSXSpreadAttribute;
1467 }
1468
1469 export interface JSXEmptyExpressionBuilder {
1470 (): namedTypes.JSXEmptyExpression;
1471 from(
1472 params: {
1473 comments?: K.CommentKind[] | null,
1474 loc?: K.SourceLocationKind | null
1475 }
1476 ): namedTypes.JSXEmptyExpression;
1477 }
1478
1479 export interface JSXTextBuilder {
1480 (value: string, raw?: string): namedTypes.JSXText;
1481 from(
1482 params: {
1483 comments?: K.CommentKind[] | null,
1484 loc?: K.SourceLocationKind | null,
1485 raw?: string,
1486 regex?: {
1487 pattern: string,
1488 flags: string
1489 } | null,
1490 value: string
1491 }
1492 ): namedTypes.JSXText;
1493 }
1494
1495 export interface JSXSpreadChildBuilder {
1496 (expression: K.ExpressionKind): namedTypes.JSXSpreadChild;
1497 from(
1498 params: {
1499 comments?: K.CommentKind[] | null,
1500 expression: K.ExpressionKind,
1501 loc?: K.SourceLocationKind | null
1502 }
1503 ): namedTypes.JSXSpreadChild;
1504 }
1505
1506 export interface JSXOpeningElementBuilder {
1507 (
1508 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1509 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1510 selfClosing?: boolean
1511 ): namedTypes.JSXOpeningElement;
1512 from(
1513 params: {
1514 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1515 comments?: K.CommentKind[] | null,
1516 loc?: K.SourceLocationKind | null,
1517 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1518 selfClosing?: boolean
1519 }
1520 ): namedTypes.JSXOpeningElement;
1521 }
1522
1523 export interface JSXClosingElementBuilder {
1524 (
1525 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1526 ): namedTypes.JSXClosingElement;
1527 from(
1528 params: {
1529 comments?: K.CommentKind[] | null,
1530 loc?: K.SourceLocationKind | null,
1531 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1532 }
1533 ): namedTypes.JSXClosingElement;
1534 }
1535
1536 export interface JSXOpeningFragmentBuilder {
1537 (): namedTypes.JSXOpeningFragment;
1538 from(
1539 params: {
1540 comments?: K.CommentKind[] | null,
1541 loc?: K.SourceLocationKind | null
1542 }
1543 ): namedTypes.JSXOpeningFragment;
1544 }
1545
1546 export interface JSXClosingFragmentBuilder {
1547 (): namedTypes.JSXClosingFragment;
1548 from(
1549 params: {
1550 comments?: K.CommentKind[] | null,
1551 loc?: K.SourceLocationKind | null
1552 }
1553 ): namedTypes.JSXClosingFragment;
1554 }
1555
1556 export interface TypeParameterDeclarationBuilder {
1557 (params: K.TypeParameterKind[]): namedTypes.TypeParameterDeclaration;
1558 from(
1559 params: {
1560 comments?: K.CommentKind[] | null,
1561 loc?: K.SourceLocationKind | null,
1562 params: K.TypeParameterKind[]
1563 }
1564 ): namedTypes.TypeParameterDeclaration;
1565 }
1566
1567 export interface TSTypeParameterDeclarationBuilder {
1568 (params: K.TSTypeParameterKind[]): namedTypes.TSTypeParameterDeclaration;
1569 from(
1570 params: {
1571 comments?: K.CommentKind[] | null,
1572 loc?: K.SourceLocationKind | null,
1573 params: K.TSTypeParameterKind[]
1574 }
1575 ): namedTypes.TSTypeParameterDeclaration;
1576 }
1577
1578 export interface TypeParameterInstantiationBuilder {
1579 (params: K.FlowTypeKind[]): namedTypes.TypeParameterInstantiation;
1580 from(
1581 params: {
1582 comments?: K.CommentKind[] | null,
1583 loc?: K.SourceLocationKind | null,
1584 params: K.FlowTypeKind[]
1585 }
1586 ): namedTypes.TypeParameterInstantiation;
1587 }
1588
1589 export interface TSTypeParameterInstantiationBuilder {
1590 (params: K.TSTypeKind[]): namedTypes.TSTypeParameterInstantiation;
1591 from(
1592 params: {
1593 comments?: K.CommentKind[] | null,
1594 loc?: K.SourceLocationKind | null,
1595 params: K.TSTypeKind[]
1596 }
1597 ): namedTypes.TSTypeParameterInstantiation;
1598 }
1599
1600 export interface ClassImplementsBuilder {
1601 (id: K.IdentifierKind): namedTypes.ClassImplements;
1602 from(
1603 params: {
1604 comments?: K.CommentKind[] | null,
1605 id: K.IdentifierKind,
1606 loc?: K.SourceLocationKind | null,
1607 superClass?: K.ExpressionKind | null,
1608 typeParameters?: K.TypeParameterInstantiationKind | null
1609 }
1610 ): namedTypes.ClassImplements;
1611 }
1612
1613 export interface TSExpressionWithTypeArgumentsBuilder {
1614 (
1615 expression: K.IdentifierKind | K.TSQualifiedNameKind,
1616 typeParameters?: K.TSTypeParameterInstantiationKind | null
1617 ): namedTypes.TSExpressionWithTypeArguments;
1618 from(
1619 params: {
1620 comments?: K.CommentKind[] | null,
1621 expression: K.IdentifierKind | K.TSQualifiedNameKind,
1622 loc?: K.SourceLocationKind | null,
1623 typeParameters?: K.TSTypeParameterInstantiationKind | null
1624 }
1625 ): namedTypes.TSExpressionWithTypeArguments;
1626 }
1627
1628 export interface AnyTypeAnnotationBuilder {
1629 (): namedTypes.AnyTypeAnnotation;
1630 from(
1631 params: {
1632 comments?: K.CommentKind[] | null,
1633 loc?: K.SourceLocationKind | null
1634 }
1635 ): namedTypes.AnyTypeAnnotation;
1636 }
1637
1638 export interface EmptyTypeAnnotationBuilder {
1639 (): namedTypes.EmptyTypeAnnotation;
1640 from(
1641 params: {
1642 comments?: K.CommentKind[] | null,
1643 loc?: K.SourceLocationKind | null
1644 }
1645 ): namedTypes.EmptyTypeAnnotation;
1646 }
1647
1648 export interface MixedTypeAnnotationBuilder {
1649 (): namedTypes.MixedTypeAnnotation;
1650 from(
1651 params: {
1652 comments?: K.CommentKind[] | null,
1653 loc?: K.SourceLocationKind | null
1654 }
1655 ): namedTypes.MixedTypeAnnotation;
1656 }
1657
1658 export interface VoidTypeAnnotationBuilder {
1659 (): namedTypes.VoidTypeAnnotation;
1660 from(
1661 params: {
1662 comments?: K.CommentKind[] | null,
1663 loc?: K.SourceLocationKind | null
1664 }
1665 ): namedTypes.VoidTypeAnnotation;
1666 }
1667
1668 export interface SymbolTypeAnnotationBuilder {
1669 (): namedTypes.SymbolTypeAnnotation;
1670 from(
1671 params: {
1672 comments?: K.CommentKind[] | null,
1673 loc?: K.SourceLocationKind | null
1674 }
1675 ): namedTypes.SymbolTypeAnnotation;
1676 }
1677
1678 export interface NumberTypeAnnotationBuilder {
1679 (): namedTypes.NumberTypeAnnotation;
1680 from(
1681 params: {
1682 comments?: K.CommentKind[] | null,
1683 loc?: K.SourceLocationKind | null
1684 }
1685 ): namedTypes.NumberTypeAnnotation;
1686 }
1687
1688 export interface BigIntTypeAnnotationBuilder {
1689 (): namedTypes.BigIntTypeAnnotation;
1690 from(
1691 params: {
1692 comments?: K.CommentKind[] | null,
1693 loc?: K.SourceLocationKind | null
1694 }
1695 ): namedTypes.BigIntTypeAnnotation;
1696 }
1697
1698 export interface NumberLiteralTypeAnnotationBuilder {
1699 (value: number, raw: string): namedTypes.NumberLiteralTypeAnnotation;
1700 from(
1701 params: {
1702 comments?: K.CommentKind[] | null,
1703 loc?: K.SourceLocationKind | null,
1704 raw: string,
1705 value: number
1706 }
1707 ): namedTypes.NumberLiteralTypeAnnotation;
1708 }
1709
1710 export interface NumericLiteralTypeAnnotationBuilder {
1711 (value: number, raw: string): namedTypes.NumericLiteralTypeAnnotation;
1712 from(
1713 params: {
1714 comments?: K.CommentKind[] | null,
1715 loc?: K.SourceLocationKind | null,
1716 raw: string,
1717 value: number
1718 }
1719 ): namedTypes.NumericLiteralTypeAnnotation;
1720 }
1721
1722 export interface BigIntLiteralTypeAnnotationBuilder {
1723 (value: null, raw: string): namedTypes.BigIntLiteralTypeAnnotation;
1724 from(
1725 params: {
1726 comments?: K.CommentKind[] | null,
1727 loc?: K.SourceLocationKind | null,
1728 raw: string,
1729 value: null
1730 }
1731 ): namedTypes.BigIntLiteralTypeAnnotation;
1732 }
1733
1734 export interface StringTypeAnnotationBuilder {
1735 (): namedTypes.StringTypeAnnotation;
1736 from(
1737 params: {
1738 comments?: K.CommentKind[] | null,
1739 loc?: K.SourceLocationKind | null
1740 }
1741 ): namedTypes.StringTypeAnnotation;
1742 }
1743
1744 export interface StringLiteralTypeAnnotationBuilder {
1745 (value: string, raw: string): namedTypes.StringLiteralTypeAnnotation;
1746 from(
1747 params: {
1748 comments?: K.CommentKind[] | null,
1749 loc?: K.SourceLocationKind | null,
1750 raw: string,
1751 value: string
1752 }
1753 ): namedTypes.StringLiteralTypeAnnotation;
1754 }
1755
1756 export interface BooleanTypeAnnotationBuilder {
1757 (): namedTypes.BooleanTypeAnnotation;
1758 from(
1759 params: {
1760 comments?: K.CommentKind[] | null,
1761 loc?: K.SourceLocationKind | null
1762 }
1763 ): namedTypes.BooleanTypeAnnotation;
1764 }
1765
1766 export interface BooleanLiteralTypeAnnotationBuilder {
1767 (value: boolean, raw: string): namedTypes.BooleanLiteralTypeAnnotation;
1768 from(
1769 params: {
1770 comments?: K.CommentKind[] | null,
1771 loc?: K.SourceLocationKind | null,
1772 raw: string,
1773 value: boolean
1774 }
1775 ): namedTypes.BooleanLiteralTypeAnnotation;
1776 }
1777
1778 export interface NullableTypeAnnotationBuilder {
1779 (typeAnnotation: K.FlowTypeKind): namedTypes.NullableTypeAnnotation;
1780 from(
1781 params: {
1782 comments?: K.CommentKind[] | null,
1783 loc?: K.SourceLocationKind | null,
1784 typeAnnotation: K.FlowTypeKind
1785 }
1786 ): namedTypes.NullableTypeAnnotation;
1787 }
1788
1789 export interface NullLiteralTypeAnnotationBuilder {
1790 (): namedTypes.NullLiteralTypeAnnotation;
1791 from(
1792 params: {
1793 comments?: K.CommentKind[] | null,
1794 loc?: K.SourceLocationKind | null
1795 }
1796 ): namedTypes.NullLiteralTypeAnnotation;
1797 }
1798
1799 export interface NullTypeAnnotationBuilder {
1800 (): namedTypes.NullTypeAnnotation;
1801 from(
1802 params: {
1803 comments?: K.CommentKind[] | null,
1804 loc?: K.SourceLocationKind | null
1805 }
1806 ): namedTypes.NullTypeAnnotation;
1807 }
1808
1809 export interface ThisTypeAnnotationBuilder {
1810 (): namedTypes.ThisTypeAnnotation;
1811 from(
1812 params: {
1813 comments?: K.CommentKind[] | null,
1814 loc?: K.SourceLocationKind | null
1815 }
1816 ): namedTypes.ThisTypeAnnotation;
1817 }
1818
1819 export interface ExistsTypeAnnotationBuilder {
1820 (): namedTypes.ExistsTypeAnnotation;
1821 from(
1822 params: {
1823 comments?: K.CommentKind[] | null,
1824 loc?: K.SourceLocationKind | null
1825 }
1826 ): namedTypes.ExistsTypeAnnotation;
1827 }
1828
1829 export interface ExistentialTypeParamBuilder {
1830 (): namedTypes.ExistentialTypeParam;
1831 from(
1832 params: {
1833 comments?: K.CommentKind[] | null,
1834 loc?: K.SourceLocationKind | null
1835 }
1836 ): namedTypes.ExistentialTypeParam;
1837 }
1838
1839 export interface FunctionTypeAnnotationBuilder {
1840 (
1841 params: K.FunctionTypeParamKind[],
1842 returnType: K.FlowTypeKind,
1843 rest: K.FunctionTypeParamKind | null,
1844 typeParameters: K.TypeParameterDeclarationKind | null
1845 ): namedTypes.FunctionTypeAnnotation;
1846 from(
1847 params: {
1848 comments?: K.CommentKind[] | null,
1849 loc?: K.SourceLocationKind | null,
1850 params: K.FunctionTypeParamKind[],
1851 rest: K.FunctionTypeParamKind | null,
1852 returnType: K.FlowTypeKind,
1853 typeParameters: K.TypeParameterDeclarationKind | null
1854 }
1855 ): namedTypes.FunctionTypeAnnotation;
1856 }
1857
1858 export interface FunctionTypeParamBuilder {
1859 (
1860 name: K.IdentifierKind | null,
1861 typeAnnotation: K.FlowTypeKind,
1862 optional: boolean
1863 ): namedTypes.FunctionTypeParam;
1864 from(
1865 params: {
1866 comments?: K.CommentKind[] | null,
1867 loc?: K.SourceLocationKind | null,
1868 name: K.IdentifierKind | null,
1869 optional: boolean,
1870 typeAnnotation: K.FlowTypeKind
1871 }
1872 ): namedTypes.FunctionTypeParam;
1873 }
1874
1875 export interface ArrayTypeAnnotationBuilder {
1876 (elementType: K.FlowTypeKind): namedTypes.ArrayTypeAnnotation;
1877 from(
1878 params: {
1879 comments?: K.CommentKind[] | null,
1880 elementType: K.FlowTypeKind,
1881 loc?: K.SourceLocationKind | null
1882 }
1883 ): namedTypes.ArrayTypeAnnotation;
1884 }
1885
1886 export interface ObjectTypeAnnotationBuilder {
1887 (
1888 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[],
1889 indexers?: K.ObjectTypeIndexerKind[],
1890 callProperties?: K.ObjectTypeCallPropertyKind[]
1891 ): namedTypes.ObjectTypeAnnotation;
1892 from(
1893 params: {
1894 callProperties?: K.ObjectTypeCallPropertyKind[],
1895 comments?: K.CommentKind[] | null,
1896 exact?: boolean,
1897 indexers?: K.ObjectTypeIndexerKind[],
1898 inexact?: boolean | undefined,
1899 internalSlots?: K.ObjectTypeInternalSlotKind[],
1900 loc?: K.SourceLocationKind | null,
1901 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[]
1902 }
1903 ): namedTypes.ObjectTypeAnnotation;
1904 }
1905
1906 export interface ObjectTypePropertyBuilder {
1907 (
1908 key: K.LiteralKind | K.IdentifierKind,
1909 value: K.FlowTypeKind,
1910 optional: boolean
1911 ): namedTypes.ObjectTypeProperty;
1912 from(
1913 params: {
1914 comments?: K.CommentKind[] | null,
1915 key: K.LiteralKind | K.IdentifierKind,
1916 loc?: K.SourceLocationKind | null,
1917 optional: boolean,
1918 value: K.FlowTypeKind,
1919 variance?: K.VarianceKind | "plus" | "minus" | null
1920 }
1921 ): namedTypes.ObjectTypeProperty;
1922 }
1923
1924 export interface ObjectTypeSpreadPropertyBuilder {
1925 (argument: K.FlowTypeKind): namedTypes.ObjectTypeSpreadProperty;
1926 from(
1927 params: {
1928 argument: K.FlowTypeKind,
1929 comments?: K.CommentKind[] | null,
1930 loc?: K.SourceLocationKind | null
1931 }
1932 ): namedTypes.ObjectTypeSpreadProperty;
1933 }
1934
1935 export interface ObjectTypeIndexerBuilder {
1936 (id: K.IdentifierKind, key: K.FlowTypeKind, value: K.FlowTypeKind): namedTypes.ObjectTypeIndexer;
1937 from(
1938 params: {
1939 comments?: K.CommentKind[] | null,
1940 id: K.IdentifierKind,
1941 key: K.FlowTypeKind,
1942 loc?: K.SourceLocationKind | null,
1943 static?: boolean,
1944 value: K.FlowTypeKind,
1945 variance?: K.VarianceKind | "plus" | "minus" | null
1946 }
1947 ): namedTypes.ObjectTypeIndexer;
1948 }
1949
1950 export interface ObjectTypeCallPropertyBuilder {
1951 (value: K.FunctionTypeAnnotationKind): namedTypes.ObjectTypeCallProperty;
1952 from(
1953 params: {
1954 comments?: K.CommentKind[] | null,
1955 loc?: K.SourceLocationKind | null,
1956 static?: boolean,
1957 value: K.FunctionTypeAnnotationKind
1958 }
1959 ): namedTypes.ObjectTypeCallProperty;
1960 }
1961
1962 export interface ObjectTypeInternalSlotBuilder {
1963 (
1964 id: K.IdentifierKind,
1965 value: K.FlowTypeKind,
1966 optional: boolean,
1967 staticParam: boolean,
1968 method: boolean
1969 ): namedTypes.ObjectTypeInternalSlot;
1970 from(
1971 params: {
1972 comments?: K.CommentKind[] | null,
1973 id: K.IdentifierKind,
1974 loc?: K.SourceLocationKind | null,
1975 method: boolean,
1976 optional: boolean,
1977 static: boolean,
1978 value: K.FlowTypeKind
1979 }
1980 ): namedTypes.ObjectTypeInternalSlot;
1981 }
1982
1983 export interface VarianceBuilder {
1984 (kind: "plus" | "minus"): namedTypes.Variance;
1985 from(
1986 params: {
1987 comments?: K.CommentKind[] | null,
1988 kind: "plus" | "minus",
1989 loc?: K.SourceLocationKind | null
1990 }
1991 ): namedTypes.Variance;
1992 }
1993
1994 export interface QualifiedTypeIdentifierBuilder {
1995 (
1996 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
1997 id: K.IdentifierKind
1998 ): namedTypes.QualifiedTypeIdentifier;
1999 from(
2000 params: {
2001 comments?: K.CommentKind[] | null,
2002 id: K.IdentifierKind,
2003 loc?: K.SourceLocationKind | null,
2004 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind
2005 }
2006 ): namedTypes.QualifiedTypeIdentifier;
2007 }
2008
2009 export interface GenericTypeAnnotationBuilder {
2010 (
2011 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
2012 typeParameters: K.TypeParameterInstantiationKind | null
2013 ): namedTypes.GenericTypeAnnotation;
2014 from(
2015 params: {
2016 comments?: K.CommentKind[] | null,
2017 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind,
2018 loc?: K.SourceLocationKind | null,
2019 typeParameters: K.TypeParameterInstantiationKind | null
2020 }
2021 ): namedTypes.GenericTypeAnnotation;
2022 }
2023
2024 export interface MemberTypeAnnotationBuilder {
2025 (
2026 object: K.IdentifierKind,
2027 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind
2028 ): namedTypes.MemberTypeAnnotation;
2029 from(
2030 params: {
2031 comments?: K.CommentKind[] | null,
2032 loc?: K.SourceLocationKind | null,
2033 object: K.IdentifierKind,
2034 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind
2035 }
2036 ): namedTypes.MemberTypeAnnotation;
2037 }
2038
2039 export interface IndexedAccessTypeBuilder {
2040 (objectType: K.FlowTypeKind, indexType: K.FlowTypeKind): namedTypes.IndexedAccessType;
2041 from(
2042 params: {
2043 comments?: K.CommentKind[] | null,
2044 indexType: K.FlowTypeKind,
2045 loc?: K.SourceLocationKind | null,
2046 objectType: K.FlowTypeKind
2047 }
2048 ): namedTypes.IndexedAccessType;
2049 }
2050
2051 export interface OptionalIndexedAccessTypeBuilder {
2052 (objectType: K.FlowTypeKind, indexType: K.FlowTypeKind, optional: boolean): namedTypes.OptionalIndexedAccessType;
2053 from(
2054 params: {
2055 comments?: K.CommentKind[] | null,
2056 indexType: K.FlowTypeKind,
2057 loc?: K.SourceLocationKind | null,
2058 objectType: K.FlowTypeKind,
2059 optional: boolean
2060 }
2061 ): namedTypes.OptionalIndexedAccessType;
2062 }
2063
2064 export interface UnionTypeAnnotationBuilder {
2065 (types: K.FlowTypeKind[]): namedTypes.UnionTypeAnnotation;
2066 from(
2067 params: {
2068 comments?: K.CommentKind[] | null,
2069 loc?: K.SourceLocationKind | null,
2070 types: K.FlowTypeKind[]
2071 }
2072 ): namedTypes.UnionTypeAnnotation;
2073 }
2074
2075 export interface IntersectionTypeAnnotationBuilder {
2076 (types: K.FlowTypeKind[]): namedTypes.IntersectionTypeAnnotation;
2077 from(
2078 params: {
2079 comments?: K.CommentKind[] | null,
2080 loc?: K.SourceLocationKind | null,
2081 types: K.FlowTypeKind[]
2082 }
2083 ): namedTypes.IntersectionTypeAnnotation;
2084 }
2085
2086 export interface TypeofTypeAnnotationBuilder {
2087 (argument: K.FlowTypeKind): namedTypes.TypeofTypeAnnotation;
2088 from(
2089 params: {
2090 argument: K.FlowTypeKind,
2091 comments?: K.CommentKind[] | null,
2092 loc?: K.SourceLocationKind | null
2093 }
2094 ): namedTypes.TypeofTypeAnnotation;
2095 }
2096
2097 export interface TypeParameterBuilder {
2098 (
2099 name: string,
2100 variance?: K.VarianceKind | "plus" | "minus" | null,
2101 bound?: K.TypeAnnotationKind | null,
2102 defaultParam?: K.FlowTypeKind | null
2103 ): namedTypes.TypeParameter;
2104 from(
2105 params: {
2106 bound?: K.TypeAnnotationKind | null,
2107 comments?: K.CommentKind[] | null,
2108 default?: K.FlowTypeKind | null,
2109 loc?: K.SourceLocationKind | null,
2110 name: string,
2111 variance?: K.VarianceKind | "plus" | "minus" | null
2112 }
2113 ): namedTypes.TypeParameter;
2114 }
2115
2116 export interface InterfaceTypeAnnotationBuilder {
2117 (
2118 body: K.ObjectTypeAnnotationKind,
2119 extendsParam?: K.InterfaceExtendsKind[] | null
2120 ): namedTypes.InterfaceTypeAnnotation;
2121 from(
2122 params: {
2123 body: K.ObjectTypeAnnotationKind,
2124 comments?: K.CommentKind[] | null,
2125 extends?: K.InterfaceExtendsKind[] | null,
2126 loc?: K.SourceLocationKind | null
2127 }
2128 ): namedTypes.InterfaceTypeAnnotation;
2129 }
2130
2131 export interface InterfaceExtendsBuilder {
2132 (id: K.IdentifierKind): namedTypes.InterfaceExtends;
2133 from(
2134 params: {
2135 comments?: K.CommentKind[] | null,
2136 id: K.IdentifierKind,
2137 loc?: K.SourceLocationKind | null,
2138 typeParameters?: K.TypeParameterInstantiationKind | null
2139 }
2140 ): namedTypes.InterfaceExtends;
2141 }
2142
2143 export interface InterfaceDeclarationBuilder {
2144 (
2145 id: K.IdentifierKind,
2146 body: K.ObjectTypeAnnotationKind,
2147 extendsParam: K.InterfaceExtendsKind[]
2148 ): namedTypes.InterfaceDeclaration;
2149 from(
2150 params: {
2151 body: K.ObjectTypeAnnotationKind,
2152 comments?: K.CommentKind[] | null,
2153 extends: K.InterfaceExtendsKind[],
2154 id: K.IdentifierKind,
2155 loc?: K.SourceLocationKind | null,
2156 typeParameters?: K.TypeParameterDeclarationKind | null
2157 }
2158 ): namedTypes.InterfaceDeclaration;
2159 }
2160
2161 export interface DeclareInterfaceBuilder {
2162 (
2163 id: K.IdentifierKind,
2164 body: K.ObjectTypeAnnotationKind,
2165 extendsParam: K.InterfaceExtendsKind[]
2166 ): namedTypes.DeclareInterface;
2167 from(
2168 params: {
2169 body: K.ObjectTypeAnnotationKind,
2170 comments?: K.CommentKind[] | null,
2171 extends: K.InterfaceExtendsKind[],
2172 id: K.IdentifierKind,
2173 loc?: K.SourceLocationKind | null,
2174 typeParameters?: K.TypeParameterDeclarationKind | null
2175 }
2176 ): namedTypes.DeclareInterface;
2177 }
2178
2179 export interface TypeAliasBuilder {
2180 (
2181 id: K.IdentifierKind,
2182 typeParameters: K.TypeParameterDeclarationKind | null,
2183 right: K.FlowTypeKind
2184 ): namedTypes.TypeAlias;
2185 from(
2186 params: {
2187 comments?: K.CommentKind[] | null,
2188 id: K.IdentifierKind,
2189 loc?: K.SourceLocationKind | null,
2190 right: K.FlowTypeKind,
2191 typeParameters: K.TypeParameterDeclarationKind | null
2192 }
2193 ): namedTypes.TypeAlias;
2194 }
2195
2196 export interface DeclareTypeAliasBuilder {
2197 (
2198 id: K.IdentifierKind,
2199 typeParameters: K.TypeParameterDeclarationKind | null,
2200 right: K.FlowTypeKind
2201 ): namedTypes.DeclareTypeAlias;
2202 from(
2203 params: {
2204 comments?: K.CommentKind[] | null,
2205 id: K.IdentifierKind,
2206 loc?: K.SourceLocationKind | null,
2207 right: K.FlowTypeKind,
2208 typeParameters: K.TypeParameterDeclarationKind | null
2209 }
2210 ): namedTypes.DeclareTypeAlias;
2211 }
2212
2213 export interface OpaqueTypeBuilder {
2214 (
2215 id: K.IdentifierKind,
2216 typeParameters: K.TypeParameterDeclarationKind | null,
2217 impltype: K.FlowTypeKind,
2218 supertype: K.FlowTypeKind | null
2219 ): namedTypes.OpaqueType;
2220 from(
2221 params: {
2222 comments?: K.CommentKind[] | null,
2223 id: K.IdentifierKind,
2224 impltype: K.FlowTypeKind,
2225 loc?: K.SourceLocationKind | null,
2226 supertype: K.FlowTypeKind | null,
2227 typeParameters: K.TypeParameterDeclarationKind | null
2228 }
2229 ): namedTypes.OpaqueType;
2230 }
2231
2232 export interface DeclareOpaqueTypeBuilder {
2233 (
2234 id: K.IdentifierKind,
2235 typeParameters: K.TypeParameterDeclarationKind | null,
2236 supertype: K.FlowTypeKind | null
2237 ): namedTypes.DeclareOpaqueType;
2238 from(
2239 params: {
2240 comments?: K.CommentKind[] | null,
2241 id: K.IdentifierKind,
2242 impltype: K.FlowTypeKind | null,
2243 loc?: K.SourceLocationKind | null,
2244 supertype: K.FlowTypeKind | null,
2245 typeParameters: K.TypeParameterDeclarationKind | null
2246 }
2247 ): namedTypes.DeclareOpaqueType;
2248 }
2249
2250 export interface TypeCastExpressionBuilder {
2251 (expression: K.ExpressionKind, typeAnnotation: K.TypeAnnotationKind): namedTypes.TypeCastExpression;
2252 from(
2253 params: {
2254 comments?: K.CommentKind[] | null,
2255 expression: K.ExpressionKind,
2256 loc?: K.SourceLocationKind | null,
2257 typeAnnotation: K.TypeAnnotationKind
2258 }
2259 ): namedTypes.TypeCastExpression;
2260 }
2261
2262 export interface TupleTypeAnnotationBuilder {
2263 (types: K.FlowTypeKind[]): namedTypes.TupleTypeAnnotation;
2264 from(
2265 params: {
2266 comments?: K.CommentKind[] | null,
2267 loc?: K.SourceLocationKind | null,
2268 types: K.FlowTypeKind[]
2269 }
2270 ): namedTypes.TupleTypeAnnotation;
2271 }
2272
2273 export interface DeclareVariableBuilder {
2274 (id: K.IdentifierKind): namedTypes.DeclareVariable;
2275 from(
2276 params: {
2277 comments?: K.CommentKind[] | null,
2278 id: K.IdentifierKind,
2279 loc?: K.SourceLocationKind | null
2280 }
2281 ): namedTypes.DeclareVariable;
2282 }
2283
2284 export interface DeclareFunctionBuilder {
2285 (id: K.IdentifierKind): namedTypes.DeclareFunction;
2286 from(
2287 params: {
2288 comments?: K.CommentKind[] | null,
2289 id: K.IdentifierKind,
2290 loc?: K.SourceLocationKind | null,
2291 predicate?: K.FlowPredicateKind | null
2292 }
2293 ): namedTypes.DeclareFunction;
2294 }
2295
2296 export interface DeclareClassBuilder {
2297 (id: K.IdentifierKind): namedTypes.DeclareClass;
2298 from(
2299 params: {
2300 body: K.ObjectTypeAnnotationKind,
2301 comments?: K.CommentKind[] | null,
2302 extends: K.InterfaceExtendsKind[],
2303 id: K.IdentifierKind,
2304 loc?: K.SourceLocationKind | null,
2305 typeParameters?: K.TypeParameterDeclarationKind | null
2306 }
2307 ): namedTypes.DeclareClass;
2308 }
2309
2310 export interface DeclareModuleBuilder {
2311 (id: K.IdentifierKind | K.LiteralKind, body: K.BlockStatementKind): namedTypes.DeclareModule;
2312 from(
2313 params: {
2314 body: K.BlockStatementKind,
2315 comments?: K.CommentKind[] | null,
2316 id: K.IdentifierKind | K.LiteralKind,
2317 loc?: K.SourceLocationKind | null
2318 }
2319 ): namedTypes.DeclareModule;
2320 }
2321
2322 export interface DeclareModuleExportsBuilder {
2323 (typeAnnotation: K.TypeAnnotationKind): namedTypes.DeclareModuleExports;
2324 from(
2325 params: {
2326 comments?: K.CommentKind[] | null,
2327 loc?: K.SourceLocationKind | null,
2328 typeAnnotation: K.TypeAnnotationKind
2329 }
2330 ): namedTypes.DeclareModuleExports;
2331 }
2332
2333 export interface DeclareExportDeclarationBuilder {
2334 (
2335 defaultParam: boolean,
2336 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
2337 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[],
2338 source?: K.LiteralKind | null
2339 ): namedTypes.DeclareExportDeclaration;
2340 from(
2341 params: {
2342 comments?: K.CommentKind[] | null,
2343 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
2344 default: boolean,
2345 loc?: K.SourceLocationKind | null,
2346 source?: K.LiteralKind | null,
2347 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]
2348 }
2349 ): namedTypes.DeclareExportDeclaration;
2350 }
2351
2352 export interface ExportBatchSpecifierBuilder {
2353 (): namedTypes.ExportBatchSpecifier;
2354 from(
2355 params: {
2356 comments?: K.CommentKind[] | null,
2357 loc?: K.SourceLocationKind | null
2358 }
2359 ): namedTypes.ExportBatchSpecifier;
2360 }
2361
2362 export interface DeclareExportAllDeclarationBuilder {
2363 (source?: K.LiteralKind | null): namedTypes.DeclareExportAllDeclaration;
2364 from(
2365 params: {
2366 comments?: K.CommentKind[] | null,
2367 loc?: K.SourceLocationKind | null,
2368 source?: K.LiteralKind | null
2369 }
2370 ): namedTypes.DeclareExportAllDeclaration;
2371 }
2372
2373 export interface InferredPredicateBuilder {
2374 (): namedTypes.InferredPredicate;
2375 from(
2376 params: {
2377 comments?: K.CommentKind[] | null,
2378 loc?: K.SourceLocationKind | null
2379 }
2380 ): namedTypes.InferredPredicate;
2381 }
2382
2383 export interface DeclaredPredicateBuilder {
2384 (value: K.ExpressionKind): namedTypes.DeclaredPredicate;
2385 from(
2386 params: {
2387 comments?: K.CommentKind[] | null,
2388 loc?: K.SourceLocationKind | null,
2389 value: K.ExpressionKind
2390 }
2391 ): namedTypes.DeclaredPredicate;
2392 }
2393
2394 export interface EnumDeclarationBuilder {
2395 (
2396 id: K.IdentifierKind,
2397 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind
2398 ): namedTypes.EnumDeclaration;
2399 from(
2400 params: {
2401 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind,
2402 comments?: K.CommentKind[] | null,
2403 id: K.IdentifierKind,
2404 loc?: K.SourceLocationKind | null
2405 }
2406 ): namedTypes.EnumDeclaration;
2407 }
2408
2409 export interface EnumBooleanBodyBuilder {
2410 (members: K.EnumBooleanMemberKind[], explicitType: boolean): namedTypes.EnumBooleanBody;
2411 from(
2412 params: {
2413 explicitType: boolean,
2414 members: K.EnumBooleanMemberKind[]
2415 }
2416 ): namedTypes.EnumBooleanBody;
2417 }
2418
2419 export interface EnumNumberBodyBuilder {
2420 (members: K.EnumNumberMemberKind[], explicitType: boolean): namedTypes.EnumNumberBody;
2421 from(
2422 params: {
2423 explicitType: boolean,
2424 members: K.EnumNumberMemberKind[]
2425 }
2426 ): namedTypes.EnumNumberBody;
2427 }
2428
2429 export interface EnumStringBodyBuilder {
2430 (
2431 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[],
2432 explicitType: boolean
2433 ): namedTypes.EnumStringBody;
2434 from(
2435 params: {
2436 explicitType: boolean,
2437 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[]
2438 }
2439 ): namedTypes.EnumStringBody;
2440 }
2441
2442 export interface EnumSymbolBodyBuilder {
2443 (members: K.EnumDefaultedMemberKind[]): namedTypes.EnumSymbolBody;
2444 from(
2445 params: {
2446 members: K.EnumDefaultedMemberKind[]
2447 }
2448 ): namedTypes.EnumSymbolBody;
2449 }
2450
2451 export interface EnumBooleanMemberBuilder {
2452 (id: K.IdentifierKind, init: K.LiteralKind | boolean): namedTypes.EnumBooleanMember;
2453 from(
2454 params: {
2455 id: K.IdentifierKind,
2456 init: K.LiteralKind | boolean
2457 }
2458 ): namedTypes.EnumBooleanMember;
2459 }
2460
2461 export interface EnumNumberMemberBuilder {
2462 (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumNumberMember;
2463 from(
2464 params: {
2465 id: K.IdentifierKind,
2466 init: K.LiteralKind
2467 }
2468 ): namedTypes.EnumNumberMember;
2469 }
2470
2471 export interface EnumStringMemberBuilder {
2472 (id: K.IdentifierKind, init: K.LiteralKind): namedTypes.EnumStringMember;
2473 from(
2474 params: {
2475 id: K.IdentifierKind,
2476 init: K.LiteralKind
2477 }
2478 ): namedTypes.EnumStringMember;
2479 }
2480
2481 export interface EnumDefaultedMemberBuilder {
2482 (id: K.IdentifierKind): namedTypes.EnumDefaultedMember;
2483 from(
2484 params: {
2485 id: K.IdentifierKind
2486 }
2487 ): namedTypes.EnumDefaultedMember;
2488 }
2489
2490 export interface ExportDeclarationBuilder {
2491 (
2492 defaultParam: boolean,
2493 declaration: K.DeclarationKind | K.ExpressionKind | null,
2494 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[],
2495 source?: K.LiteralKind | null
2496 ): namedTypes.ExportDeclaration;
2497 from(
2498 params: {
2499 comments?: K.CommentKind[] | null,
2500 declaration: K.DeclarationKind | K.ExpressionKind | null,
2501 default: boolean,
2502 loc?: K.SourceLocationKind | null,
2503 source?: K.LiteralKind | null,
2504 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[]
2505 }
2506 ): namedTypes.ExportDeclaration;
2507 }
2508
2509 export interface BlockBuilder {
2510 (value: string, leading?: boolean, trailing?: boolean): namedTypes.Block;
2511 from(
2512 params: {
2513 leading?: boolean,
2514 loc?: K.SourceLocationKind | null,
2515 trailing?: boolean,
2516 value: string
2517 }
2518 ): namedTypes.Block;
2519 }
2520
2521 export interface LineBuilder {
2522 (value: string, leading?: boolean, trailing?: boolean): namedTypes.Line;
2523 from(
2524 params: {
2525 leading?: boolean,
2526 loc?: K.SourceLocationKind | null,
2527 trailing?: boolean,
2528 value: string
2529 }
2530 ): namedTypes.Line;
2531 }
2532
2533 export interface NoopBuilder {
2534 (): namedTypes.Noop;
2535 from(
2536 params: {
2537 comments?: K.CommentKind[] | null,
2538 loc?: K.SourceLocationKind | null
2539 }
2540 ): namedTypes.Noop;
2541 }
2542
2543 export interface DoExpressionBuilder {
2544 (body: K.StatementKind[]): namedTypes.DoExpression;
2545 from(
2546 params: {
2547 body: K.StatementKind[],
2548 comments?: K.CommentKind[] | null,
2549 loc?: K.SourceLocationKind | null
2550 }
2551 ): namedTypes.DoExpression;
2552 }
2553
2554 export interface BindExpressionBuilder {
2555 (object: K.ExpressionKind | null, callee: K.ExpressionKind): namedTypes.BindExpression;
2556 from(
2557 params: {
2558 callee: K.ExpressionKind,
2559 comments?: K.CommentKind[] | null,
2560 loc?: K.SourceLocationKind | null,
2561 object: K.ExpressionKind | null
2562 }
2563 ): namedTypes.BindExpression;
2564 }
2565
2566 export interface ParenthesizedExpressionBuilder {
2567 (expression: K.ExpressionKind): namedTypes.ParenthesizedExpression;
2568 from(
2569 params: {
2570 comments?: K.CommentKind[] | null,
2571 expression: K.ExpressionKind,
2572 loc?: K.SourceLocationKind | null
2573 }
2574 ): namedTypes.ParenthesizedExpression;
2575 }
2576
2577 export interface ExportNamespaceSpecifierBuilder {
2578 (exported: K.IdentifierKind): namedTypes.ExportNamespaceSpecifier;
2579 from(
2580 params: {
2581 comments?: K.CommentKind[] | null,
2582 exported: K.IdentifierKind,
2583 loc?: K.SourceLocationKind | null
2584 }
2585 ): namedTypes.ExportNamespaceSpecifier;
2586 }
2587
2588 export interface ExportDefaultSpecifierBuilder {
2589 (exported: K.IdentifierKind): namedTypes.ExportDefaultSpecifier;
2590 from(
2591 params: {
2592 comments?: K.CommentKind[] | null,
2593 exported: K.IdentifierKind,
2594 loc?: K.SourceLocationKind | null
2595 }
2596 ): namedTypes.ExportDefaultSpecifier;
2597 }
2598
2599 export interface CommentBlockBuilder {
2600 (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentBlock;
2601 from(
2602 params: {
2603 leading?: boolean,
2604 loc?: K.SourceLocationKind | null,
2605 trailing?: boolean,
2606 value: string
2607 }
2608 ): namedTypes.CommentBlock;
2609 }
2610
2611 export interface CommentLineBuilder {
2612 (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentLine;
2613 from(
2614 params: {
2615 leading?: boolean,
2616 loc?: K.SourceLocationKind | null,
2617 trailing?: boolean,
2618 value: string
2619 }
2620 ): namedTypes.CommentLine;
2621 }
2622
2623 export interface DirectiveBuilder {
2624 (value: K.DirectiveLiteralKind): namedTypes.Directive;
2625 from(
2626 params: {
2627 comments?: K.CommentKind[] | null,
2628 loc?: K.SourceLocationKind | null,
2629 value: K.DirectiveLiteralKind
2630 }
2631 ): namedTypes.Directive;
2632 }
2633
2634 export interface DirectiveLiteralBuilder {
2635 (value?: string): namedTypes.DirectiveLiteral;
2636 from(
2637 params: {
2638 comments?: K.CommentKind[] | null,
2639 loc?: K.SourceLocationKind | null,
2640 value?: string
2641 }
2642 ): namedTypes.DirectiveLiteral;
2643 }
2644
2645 export interface InterpreterDirectiveBuilder {
2646 (value: string): namedTypes.InterpreterDirective;
2647 from(
2648 params: {
2649 comments?: K.CommentKind[] | null,
2650 loc?: K.SourceLocationKind | null,
2651 value: string
2652 }
2653 ): namedTypes.InterpreterDirective;
2654 }
2655
2656 export interface StringLiteralBuilder {
2657 (value: string): namedTypes.StringLiteral;
2658 from(
2659 params: {
2660 comments?: K.CommentKind[] | null,
2661 loc?: K.SourceLocationKind | null,
2662 regex?: {
2663 pattern: string,
2664 flags: string
2665 } | null,
2666 value: string
2667 }
2668 ): namedTypes.StringLiteral;
2669 }
2670
2671 export interface NumericLiteralBuilder {
2672 (value: number): namedTypes.NumericLiteral;
2673 from(
2674 params: {
2675 comments?: K.CommentKind[] | null,
2676 extra?: {
2677 rawValue: number,
2678 raw: string
2679 },
2680 loc?: K.SourceLocationKind | null,
2681 raw?: string | null,
2682 regex?: {
2683 pattern: string,
2684 flags: string
2685 } | null,
2686 value: number
2687 }
2688 ): namedTypes.NumericLiteral;
2689 }
2690
2691 export interface BigIntLiteralBuilder {
2692 (value: string | number): namedTypes.BigIntLiteral;
2693 from(
2694 params: {
2695 comments?: K.CommentKind[] | null,
2696 extra?: {
2697 rawValue: string,
2698 raw: string
2699 },
2700 loc?: K.SourceLocationKind | null,
2701 regex?: {
2702 pattern: string,
2703 flags: string
2704 } | null,
2705 value: string | number
2706 }
2707 ): namedTypes.BigIntLiteral;
2708 }
2709
2710 export interface DecimalLiteralBuilder {
2711 (value: string): namedTypes.DecimalLiteral;
2712 from(
2713 params: {
2714 comments?: K.CommentKind[] | null,
2715 extra?: {
2716 rawValue: string,
2717 raw: string
2718 },
2719 loc?: K.SourceLocationKind | null,
2720 regex?: {
2721 pattern: string,
2722 flags: string
2723 } | null,
2724 value: string
2725 }
2726 ): namedTypes.DecimalLiteral;
2727 }
2728
2729 export interface NullLiteralBuilder {
2730 (): namedTypes.NullLiteral;
2731 from(
2732 params: {
2733 comments?: K.CommentKind[] | null,
2734 loc?: K.SourceLocationKind | null,
2735 regex?: {
2736 pattern: string,
2737 flags: string
2738 } | null,
2739 value?: null
2740 }
2741 ): namedTypes.NullLiteral;
2742 }
2743
2744 export interface BooleanLiteralBuilder {
2745 (value: boolean): namedTypes.BooleanLiteral;
2746 from(
2747 params: {
2748 comments?: K.CommentKind[] | null,
2749 loc?: K.SourceLocationKind | null,
2750 regex?: {
2751 pattern: string,
2752 flags: string
2753 } | null,
2754 value: boolean
2755 }
2756 ): namedTypes.BooleanLiteral;
2757 }
2758
2759 export interface RegExpLiteralBuilder {
2760 (pattern: string, flags: string): namedTypes.RegExpLiteral;
2761 from(
2762 params: {
2763 comments?: K.CommentKind[] | null,
2764 flags: string,
2765 loc?: K.SourceLocationKind | null,
2766 pattern: string,
2767 regex?: {
2768 pattern: string,
2769 flags: string
2770 } | null,
2771 value?: RegExp
2772 }
2773 ): namedTypes.RegExpLiteral;
2774 }
2775
26542776 export interface ClassMethodBuilder {
26552777 (
26562778 kind: "get" | "set" | "method" | "constructor" | undefined,
27632885 ): namedTypes.Import;
27642886 }
27652887
2888 export interface V8IntrinsicIdentifierBuilder {
2889 (name: string): namedTypes.V8IntrinsicIdentifier;
2890 from(
2891 params: {
2892 comments?: K.CommentKind[] | null,
2893 loc?: K.SourceLocationKind | null,
2894 name: string
2895 }
2896 ): namedTypes.V8IntrinsicIdentifier;
2897 }
2898
2899 export interface TopicReferenceBuilder {
2900 (): namedTypes.TopicReference;
2901 from(
2902 params: {
2903 comments?: K.CommentKind[] | null,
2904 loc?: K.SourceLocationKind | null
2905 }
2906 ): namedTypes.TopicReference;
2907 }
2908
27662909 export interface TSQualifiedNameBuilder {
27672910 (
27682911 left: K.IdentifierKind | K.TSQualifiedNameKind,
29373080 loc?: K.SourceLocationKind | null
29383081 }
29393082 ): namedTypes.TSVoidKeyword;
3083 }
3084
3085 export interface TSIntrinsicKeywordBuilder {
3086 (): namedTypes.TSIntrinsicKeyword;
3087 from(
3088 params: {
3089 comments?: K.CommentKind[] | null,
3090 loc?: K.SourceLocationKind | null
3091 }
3092 ): namedTypes.TSIntrinsicKeyword;
29403093 }
29413094
29423095 export interface TSThisTypeBuilder {
36223775 spreadProperty: SpreadPropertyBuilder;
36233776 spreadPropertyPattern: SpreadPropertyPatternBuilder;
36243777 importExpression: ImportExpressionBuilder;
3778 chainExpression: ChainExpressionBuilder;
3779 optionalCallExpression: OptionalCallExpressionBuilder;
36253780 optionalMemberExpression: OptionalMemberExpressionBuilder;
3626 optionalCallExpression: OptionalCallExpressionBuilder;
3781 staticBlock: StaticBlockBuilder;
3782 decorator: DecoratorBuilder;
3783 privateName: PrivateNameBuilder;
3784 classPrivateProperty: ClassPrivatePropertyBuilder;
3785 importAttribute: ImportAttributeBuilder;
3786 recordExpression: RecordExpressionBuilder;
3787 objectMethod: ObjectMethodBuilder;
3788 tupleExpression: TupleExpressionBuilder;
3789 moduleExpression: ModuleExpressionBuilder;
36273790 jsxAttribute: JSXAttributeBuilder;
36283791 jsxIdentifier: JSXIdentifierBuilder;
36293792 jsxNamespacedName: JSXNamespacedNameBuilder;
36393802 jsxClosingElement: JSXClosingElementBuilder;
36403803 jsxOpeningFragment: JSXOpeningFragmentBuilder;
36413804 jsxClosingFragment: JSXClosingFragmentBuilder;
3642 decorator: DecoratorBuilder;
3643 privateName: PrivateNameBuilder;
3644 classPrivateProperty: ClassPrivatePropertyBuilder;
36453805 typeParameterDeclaration: TypeParameterDeclarationBuilder;
36463806 tsTypeParameterDeclaration: TSTypeParameterDeclarationBuilder;
36473807 typeParameterInstantiation: TypeParameterInstantiationBuilder;
36813841 qualifiedTypeIdentifier: QualifiedTypeIdentifierBuilder;
36823842 genericTypeAnnotation: GenericTypeAnnotationBuilder;
36833843 memberTypeAnnotation: MemberTypeAnnotationBuilder;
3844 indexedAccessType: IndexedAccessTypeBuilder;
3845 optionalIndexedAccessType: OptionalIndexedAccessTypeBuilder;
36843846 unionTypeAnnotation: UnionTypeAnnotationBuilder;
36853847 intersectionTypeAnnotation: IntersectionTypeAnnotationBuilder;
36863848 typeofTypeAnnotation: TypeofTypeAnnotationBuilder;
37313893 stringLiteral: StringLiteralBuilder;
37323894 numericLiteral: NumericLiteralBuilder;
37333895 bigIntLiteral: BigIntLiteralBuilder;
3896 decimalLiteral: DecimalLiteralBuilder;
37343897 nullLiteral: NullLiteralBuilder;
37353898 booleanLiteral: BooleanLiteralBuilder;
37363899 regExpLiteral: RegExpLiteralBuilder;
3737 objectMethod: ObjectMethodBuilder;
37383900 classMethod: ClassMethodBuilder;
37393901 classPrivateMethod: ClassPrivateMethodBuilder;
37403902 restProperty: RestPropertyBuilder;
37413903 forAwaitStatement: ForAwaitStatementBuilder;
37423904 import: ImportBuilder;
3905 v8IntrinsicIdentifier: V8IntrinsicIdentifierBuilder;
3906 topicReference: TopicReferenceBuilder;
37433907 tsQualifiedName: TSQualifiedNameBuilder;
37443908 tsTypeReference: TSTypeReferenceBuilder;
37453909 tsAsExpression: TSAsExpressionBuilder;
37563920 tsUndefinedKeyword: TSUndefinedKeywordBuilder;
37573921 tsUnknownKeyword: TSUnknownKeywordBuilder;
37583922 tsVoidKeyword: TSVoidKeywordBuilder;
3923 tsIntrinsicKeyword: TSIntrinsicKeywordBuilder;
37593924 tsThisType: TSThisTypeBuilder;
37603925 tsArrayType: TSArrayTypeBuilder;
37613926 tsLiteralType: TSLiteralTypeBuilder;
00 /* !!! THIS FILE WAS AUTO-GENERATED BY `npm run gen` !!! */
11 import { namedTypes } from "./namedTypes";
2 export type PrintableKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.Super | namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.ImportExpression | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXEmptyExpression | namedTypes.JSXText | namedTypes.JSXSpreadChild | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.Decorator | namedTypes.PrivateName | namedTypes.ClassPrivateProperty | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Block | namedTypes.Line | namedTypes.Noop | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.CommentBlock | namedTypes.CommentLine | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ObjectMethod | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty;
2 export type PrintableKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.Super | namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.ImportExpression | namedTypes.ChainExpression | namedTypes.OptionalCallExpression | namedTypes.OptionalMemberExpression | namedTypes.StaticBlock | namedTypes.Decorator | namedTypes.PrivateName | namedTypes.ClassPrivateProperty | namedTypes.ImportAttribute | namedTypes.RecordExpression | namedTypes.ObjectMethod | namedTypes.TupleExpression | namedTypes.ModuleExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXEmptyExpression | namedTypes.JSXText | namedTypes.JSXSpreadChild | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.IndexedAccessType | namedTypes.OptionalIndexedAccessType | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Block | namedTypes.Line | namedTypes.Noop | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.CommentBlock | namedTypes.CommentLine | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.DecimalLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.V8IntrinsicIdentifier | namedTypes.TopicReference | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSIntrinsicKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty;
33 export type SourceLocationKind = namedTypes.SourceLocation;
4 export type NodeKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.Super | namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.ImportExpression | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXEmptyExpression | namedTypes.JSXText | namedTypes.JSXSpreadChild | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.Decorator | namedTypes.PrivateName | namedTypes.ClassPrivateProperty | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ObjectMethod | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty;
4 export type NodeKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.Super | namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.ImportExpression | namedTypes.ChainExpression | namedTypes.OptionalCallExpression | namedTypes.OptionalMemberExpression | namedTypes.StaticBlock | namedTypes.Decorator | namedTypes.PrivateName | namedTypes.ClassPrivateProperty | namedTypes.ImportAttribute | namedTypes.RecordExpression | namedTypes.ObjectMethod | namedTypes.TupleExpression | namedTypes.ModuleExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXEmptyExpression | namedTypes.JSXText | namedTypes.JSXSpreadChild | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.IndexedAccessType | namedTypes.OptionalIndexedAccessType | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.DecimalLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.V8IntrinsicIdentifier | namedTypes.TopicReference | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSIntrinsicKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty;
55 export type CommentKind = namedTypes.Block | namedTypes.Line | namedTypes.CommentBlock | namedTypes.CommentLine;
66 export type PositionKind = namedTypes.Position;
77 export type FileKind = namedTypes.File;
88 export type ProgramKind = namedTypes.Program;
9 export type StatementKind = namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.ForOfStatement | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.ForAwaitStatement | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
9 export type StatementKind = namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.ForOfStatement | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.StaticBlock | namedTypes.ClassPrivateProperty | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.ForAwaitStatement | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
1010 export type FunctionKind = namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.ArrowFunctionExpression | namedTypes.ObjectMethod | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod;
11 export type ExpressionKind = namedTypes.Identifier | namedTypes.FunctionExpression | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.ArrowFunctionExpression | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionExpression | namedTypes.ClassExpression | namedTypes.Super | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression | namedTypes.JSXIdentifier | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXText | namedTypes.PrivateName | namedTypes.TypeCastExpression | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.DirectiveLiteral | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.Import | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion;
12 export type PatternKind = namedTypes.Identifier | namedTypes.RestElement | namedTypes.SpreadElementPattern | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.AssignmentPattern | namedTypes.SpreadPropertyPattern | namedTypes.JSXIdentifier | namedTypes.PrivateName | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion | namedTypes.TSParameterProperty;
11 export type ExpressionKind = namedTypes.Identifier | namedTypes.FunctionExpression | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.ArrowFunctionExpression | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionExpression | namedTypes.ClassExpression | namedTypes.Super | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.MetaProperty | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.ChainExpression | namedTypes.OptionalCallExpression | namedTypes.OptionalMemberExpression | namedTypes.PrivateName | namedTypes.RecordExpression | namedTypes.TupleExpression | namedTypes.JSXIdentifier | namedTypes.JSXExpressionContainer | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXMemberExpression | namedTypes.JSXText | namedTypes.TypeCastExpression | namedTypes.DoExpression | namedTypes.BindExpression | namedTypes.ParenthesizedExpression | namedTypes.DirectiveLiteral | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.DecimalLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.Import | namedTypes.V8IntrinsicIdentifier | namedTypes.TopicReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion;
12 export type PatternKind = namedTypes.Identifier | namedTypes.RestElement | namedTypes.SpreadElementPattern | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.AssignmentPattern | namedTypes.SpreadPropertyPattern | namedTypes.PrivateName | namedTypes.JSXIdentifier | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion | namedTypes.TSParameterProperty;
1313 export type IdentifierKind = namedTypes.Identifier | namedTypes.JSXIdentifier | namedTypes.TSTypeParameter;
1414 export type BlockStatementKind = namedTypes.BlockStatement;
1515 export type EmptyStatementKind = namedTypes.EmptyStatement;
2828 export type WhileStatementKind = namedTypes.WhileStatement;
2929 export type DoWhileStatementKind = namedTypes.DoWhileStatement;
3030 export type ForStatementKind = namedTypes.ForStatement;
31 export type DeclarationKind = namedTypes.VariableDeclaration | namedTypes.FunctionDeclaration | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.DeclareClass | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
31 export type DeclarationKind = namedTypes.VariableDeclaration | namedTypes.FunctionDeclaration | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportAllDeclaration | namedTypes.StaticBlock | namedTypes.ClassPrivateProperty | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.OpaqueType | namedTypes.DeclareOpaqueType | namedTypes.DeclareClass | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.EnumDeclaration | namedTypes.ExportDeclaration | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
3232 export type VariableDeclarationKind = namedTypes.VariableDeclaration;
3333 export type ForInStatementKind = namedTypes.ForInStatement;
3434 export type DebuggerStatementKind = namedTypes.DebuggerStatement;
3939 export type ArrayExpressionKind = namedTypes.ArrayExpression;
4040 export type ObjectExpressionKind = namedTypes.ObjectExpression;
4141 export type PropertyKind = namedTypes.Property;
42 export type LiteralKind = namedTypes.Literal | namedTypes.JSXText | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral;
42 export type LiteralKind = namedTypes.Literal | namedTypes.JSXText | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.DecimalLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral;
4343 export type SequenceExpressionKind = namedTypes.SequenceExpression;
4444 export type UnaryExpressionKind = namedTypes.UnaryExpression;
4545 export type BinaryExpressionKind = namedTypes.BinaryExpression;
4646 export type AssignmentExpressionKind = namedTypes.AssignmentExpression;
47 export type ChainElementKind = namedTypes.MemberExpression | namedTypes.CallExpression | namedTypes.OptionalCallExpression | namedTypes.OptionalMemberExpression | namedTypes.JSXMemberExpression;
4748 export type MemberExpressionKind = namedTypes.MemberExpression | namedTypes.OptionalMemberExpression | namedTypes.JSXMemberExpression;
4849 export type UpdateExpressionKind = namedTypes.UpdateExpression;
4950 export type LogicalExpressionKind = namedTypes.LogicalExpression;
9192 export type SpreadPropertyKind = namedTypes.SpreadProperty;
9293 export type SpreadPropertyPatternKind = namedTypes.SpreadPropertyPattern;
9394 export type ImportExpressionKind = namedTypes.ImportExpression;
95 export type ChainExpressionKind = namedTypes.ChainExpression;
96 export type OptionalCallExpressionKind = namedTypes.OptionalCallExpression;
9497 export type OptionalMemberExpressionKind = namedTypes.OptionalMemberExpression;
95 export type OptionalCallExpressionKind = namedTypes.OptionalCallExpression;
98 export type StaticBlockKind = namedTypes.StaticBlock;
99 export type DecoratorKind = namedTypes.Decorator;
100 export type PrivateNameKind = namedTypes.PrivateName;
101 export type ClassPrivatePropertyKind = namedTypes.ClassPrivateProperty;
102 export type ImportAttributeKind = namedTypes.ImportAttribute;
103 export type RecordExpressionKind = namedTypes.RecordExpression;
104 export type ObjectMethodKind = namedTypes.ObjectMethod;
105 export type TupleExpressionKind = namedTypes.TupleExpression;
106 export type ModuleExpressionKind = namedTypes.ModuleExpression;
96107 export type JSXAttributeKind = namedTypes.JSXAttribute;
97108 export type JSXIdentifierKind = namedTypes.JSXIdentifier;
98109 export type JSXNamespacedNameKind = namedTypes.JSXNamespacedName;
108119 export type JSXClosingElementKind = namedTypes.JSXClosingElement;
109120 export type JSXOpeningFragmentKind = namedTypes.JSXOpeningFragment;
110121 export type JSXClosingFragmentKind = namedTypes.JSXClosingFragment;
111 export type DecoratorKind = namedTypes.Decorator;
112 export type PrivateNameKind = namedTypes.PrivateName;
113 export type ClassPrivatePropertyKind = namedTypes.ClassPrivateProperty;
114122 export type TypeParameterDeclarationKind = namedTypes.TypeParameterDeclaration;
115123 export type TSTypeParameterDeclarationKind = namedTypes.TSTypeParameterDeclaration;
116124 export type TypeParameterInstantiationKind = namedTypes.TypeParameterInstantiation;
117125 export type TSTypeParameterInstantiationKind = namedTypes.TSTypeParameterInstantiation;
118126 export type ClassImplementsKind = namedTypes.ClassImplements;
119 export type TSTypeKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSTypePredicate | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral;
127 export type TSTypeKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSIntrinsicKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSTypePredicate | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral;
120128 export type TSHasOptionalTypeParameterInstantiationKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSImportType;
121129 export type TSExpressionWithTypeArgumentsKind = namedTypes.TSExpressionWithTypeArguments;
122 export type FlowKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
123 export type FlowTypeKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation;
130 export type FlowKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.IndexedAccessType | namedTypes.OptionalIndexedAccessType | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
131 export type FlowTypeKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.SymbolTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.BigIntTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.BigIntLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.IndexedAccessType | namedTypes.OptionalIndexedAccessType | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation;
124132 export type AnyTypeAnnotationKind = namedTypes.AnyTypeAnnotation;
125133 export type EmptyTypeAnnotationKind = namedTypes.EmptyTypeAnnotation;
126134 export type MixedTypeAnnotationKind = namedTypes.MixedTypeAnnotation;
154162 export type QualifiedTypeIdentifierKind = namedTypes.QualifiedTypeIdentifier;
155163 export type GenericTypeAnnotationKind = namedTypes.GenericTypeAnnotation;
156164 export type MemberTypeAnnotationKind = namedTypes.MemberTypeAnnotation;
165 export type IndexedAccessTypeKind = namedTypes.IndexedAccessType;
166 export type OptionalIndexedAccessTypeKind = namedTypes.OptionalIndexedAccessType;
157167 export type UnionTypeAnnotationKind = namedTypes.UnionTypeAnnotation;
158168 export type IntersectionTypeAnnotationKind = namedTypes.IntersectionTypeAnnotation;
159169 export type TypeofTypeAnnotationKind = namedTypes.TypeofTypeAnnotation;
205215 export type StringLiteralKind = namedTypes.StringLiteral;
206216 export type NumericLiteralKind = namedTypes.NumericLiteral;
207217 export type BigIntLiteralKind = namedTypes.BigIntLiteral;
218 export type DecimalLiteralKind = namedTypes.DecimalLiteral;
208219 export type NullLiteralKind = namedTypes.NullLiteral;
209220 export type BooleanLiteralKind = namedTypes.BooleanLiteral;
210221 export type RegExpLiteralKind = namedTypes.RegExpLiteral;
211 export type ObjectMethodKind = namedTypes.ObjectMethod;
212222 export type ClassMethodKind = namedTypes.ClassMethod;
213223 export type ClassPrivateMethodKind = namedTypes.ClassPrivateMethod;
214224 export type RestPropertyKind = namedTypes.RestProperty;
215225 export type ForAwaitStatementKind = namedTypes.ForAwaitStatement;
216226 export type ImportKind = namedTypes.Import;
227 export type V8IntrinsicIdentifierKind = namedTypes.V8IntrinsicIdentifier;
228 export type TopicReferenceKind = namedTypes.TopicReference;
217229 export type TSQualifiedNameKind = namedTypes.TSQualifiedName;
218230 export type TSTypeReferenceKind = namedTypes.TSTypeReference;
219231 export type TSHasOptionalTypeParametersKind = namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSInterfaceDeclaration;
232244 export type TSUndefinedKeywordKind = namedTypes.TSUndefinedKeyword;
233245 export type TSUnknownKeywordKind = namedTypes.TSUnknownKeyword;
234246 export type TSVoidKeywordKind = namedTypes.TSVoidKeyword;
247 export type TSIntrinsicKeywordKind = namedTypes.TSIntrinsicKeyword;
235248 export type TSThisTypeKind = namedTypes.TSThisType;
236249 export type TSArrayTypeKind = namedTypes.TSArrayType;
237250 export type TSLiteralTypeKind = namedTypes.TSLiteralType;
260260
261261 export interface AssignmentExpression extends Omit<Expression, "type"> {
262262 type: "AssignmentExpression";
263 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=";
263 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=" | "||=" | "&&=" | "??=";
264264 left: K.PatternKind | K.MemberExpressionKind;
265265 right: K.ExpressionKind;
266266 }
267267
268 export interface MemberExpression extends Omit<Expression, "type"> {
268 export interface ChainElement extends Node {
269 optional?: boolean;
270 }
271
272 export interface MemberExpression extends Omit<Expression, "type">, Omit<ChainElement, "type"> {
269273 type: "MemberExpression";
270274 object: K.ExpressionKind;
271275 property: K.IdentifierKind | K.ExpressionKind;
300304 typeArguments?: null | K.TypeParameterInstantiationKind;
301305 }
302306
303 export interface CallExpression extends Omit<Expression, "type"> {
307 export interface CallExpression extends Omit<Expression, "type">, Omit<ChainElement, "type"> {
304308 type: "CallExpression";
305309 callee: K.ExpressionKind;
306310 arguments: (K.ExpressionKind | K.SpreadElementKind)[];
490494 specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
491495 source: K.LiteralKind;
492496 importKind?: "value" | "type" | "typeof";
497 assertions?: K.ImportAttributeKind[];
493498 }
494499
495500 export interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
497502 declaration: K.DeclarationKind | null;
498503 specifiers?: K.ExportSpecifierKind[];
499504 source?: K.LiteralKind | null;
505 assertions?: K.ImportAttributeKind[];
500506 }
501507
502508 export interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
513519 type: "ExportAllDeclaration";
514520 source: K.LiteralKind;
515521 exported: K.IdentifierKind | null;
522 assertions?: K.ImportAttributeKind[];
516523 }
517524
518525 export interface TaggedTemplateExpression extends Omit<Expression, "type"> {
524531 export interface TemplateLiteral extends Omit<Expression, "type"> {
525532 type: "TemplateLiteral";
526533 quasis: K.TemplateElementKind[];
527 expressions: K.ExpressionKind[];
534 expressions: K.ExpressionKind[] | K.TSTypeKind[];
528535 }
529536
530537 export interface TemplateElement extends Omit<Node, "type"> {
563570 source: K.ExpressionKind;
564571 }
565572
566 export interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
573 export interface ChainExpression extends Omit<Expression, "type"> {
574 type: "ChainExpression";
575 expression: K.ChainElementKind;
576 }
577
578 export interface OptionalCallExpression extends Omit<CallExpression, "type" | "optional"> {
579 type: "OptionalCallExpression";
580 optional?: boolean;
581 }
582
583 export interface OptionalMemberExpression extends Omit<MemberExpression, "type" | "optional"> {
567584 type: "OptionalMemberExpression";
568585 optional?: boolean;
569586 }
570587
571 export interface OptionalCallExpression extends Omit<CallExpression, "type"> {
572 type: "OptionalCallExpression";
573 optional?: boolean;
574 }
575
576 export interface JSXAttribute extends Omit<Node, "type"> {
577 type: "JSXAttribute";
578 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
579 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null;
580 }
581
582 export interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
583 type: "JSXIdentifier";
584 name: string;
585 }
586
587 export interface JSXNamespacedName extends Omit<Node, "type"> {
588 type: "JSXNamespacedName";
589 namespace: K.JSXIdentifierKind;
590 name: K.JSXIdentifierKind;
591 }
592
593 export interface JSXExpressionContainer extends Omit<Expression, "type"> {
594 type: "JSXExpressionContainer";
595 expression: K.ExpressionKind | K.JSXEmptyExpressionKind;
596 }
597
598 export interface JSXElement extends Omit<Expression, "type"> {
599 type: "JSXElement";
600 openingElement: K.JSXOpeningElementKind;
601 closingElement?: K.JSXClosingElementKind | null;
602 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
603 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
604 selfClosing?: boolean;
605 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
606 }
607
608 export interface JSXFragment extends Omit<Expression, "type"> {
609 type: "JSXFragment";
610 openingFragment: K.JSXOpeningFragmentKind;
611 closingFragment: K.JSXClosingFragmentKind;
612 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
613 }
614
615 export interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
616 type: "JSXMemberExpression";
617 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
618 property: K.JSXIdentifierKind;
619 computed?: boolean;
620 }
621
622 export interface JSXSpreadAttribute extends Omit<Node, "type"> {
623 type: "JSXSpreadAttribute";
624 argument: K.ExpressionKind;
625 }
626
627 export interface JSXEmptyExpression extends Omit<Node, "type"> {
628 type: "JSXEmptyExpression";
629 }
630
631 export interface JSXText extends Omit<Literal, "type" | "value"> {
632 type: "JSXText";
633 value: string;
634 raw?: string;
635 }
636
637 export interface JSXSpreadChild extends Omit<Node, "type"> {
638 type: "JSXSpreadChild";
639 expression: K.ExpressionKind;
640 }
641
642 export interface JSXOpeningElement extends Omit<Node, "type"> {
643 type: "JSXOpeningElement";
644 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
645 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
646 selfClosing?: boolean;
647 }
648
649 export interface JSXClosingElement extends Omit<Node, "type"> {
650 type: "JSXClosingElement";
651 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
652 }
653
654 export interface JSXOpeningFragment extends Omit<Node, "type"> {
655 type: "JSXOpeningFragment";
656 }
657
658 export interface JSXClosingFragment extends Omit<Node, "type"> {
659 type: "JSXClosingFragment";
588 export interface StaticBlock extends Omit<Declaration, "type"> {
589 type: "StaticBlock";
590 body: K.StatementKind[];
660591 }
661592
662593 export interface Decorator extends Omit<Node, "type"> {
675606 value?: K.ExpressionKind | null;
676607 }
677608
678 export interface TypeParameterDeclaration extends Omit<Node, "type"> {
679 type: "TypeParameterDeclaration";
680 params: K.TypeParameterKind[];
681 }
682
683 export interface TSTypeParameterDeclaration extends Omit<Declaration, "type"> {
684 type: "TSTypeParameterDeclaration";
685 params: K.TSTypeParameterKind[];
686 }
687
688 export interface TypeParameterInstantiation extends Omit<Node, "type"> {
689 type: "TypeParameterInstantiation";
690 params: K.FlowTypeKind[];
691 }
692
693 export interface TSTypeParameterInstantiation extends Omit<Node, "type"> {
694 type: "TSTypeParameterInstantiation";
695 params: K.TSTypeKind[];
696 }
697
698 export interface ClassImplements extends Omit<Node, "type"> {
699 type: "ClassImplements";
700 id: K.IdentifierKind;
701 superClass?: K.ExpressionKind | null;
702 typeParameters?: K.TypeParameterInstantiationKind | null;
703 }
704
705 export interface TSType extends Node {}
706
707 export interface TSHasOptionalTypeParameterInstantiation {
708 typeParameters?: K.TSTypeParameterInstantiationKind | null;
709 }
710
711 export interface TSExpressionWithTypeArguments extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
712 type: "TSExpressionWithTypeArguments";
713 expression: K.IdentifierKind | K.TSQualifiedNameKind;
714 }
715
716 export interface Flow extends Node {}
717 export interface FlowType extends Flow {}
718
719 export interface AnyTypeAnnotation extends Omit<FlowType, "type"> {
720 type: "AnyTypeAnnotation";
721 }
722
723 export interface EmptyTypeAnnotation extends Omit<FlowType, "type"> {
724 type: "EmptyTypeAnnotation";
725 }
726
727 export interface MixedTypeAnnotation extends Omit<FlowType, "type"> {
728 type: "MixedTypeAnnotation";
729 }
730
731 export interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
732 type: "VoidTypeAnnotation";
733 }
734
735 export interface SymbolTypeAnnotation extends Omit<FlowType, "type"> {
736 type: "SymbolTypeAnnotation";
737 }
738
739 export interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
740 type: "NumberTypeAnnotation";
741 }
742
743 export interface BigIntTypeAnnotation extends Omit<FlowType, "type"> {
744 type: "BigIntTypeAnnotation";
745 }
746
747 export interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
748 type: "NumberLiteralTypeAnnotation";
749 value: number;
750 raw: string;
751 }
752
753 export interface NumericLiteralTypeAnnotation extends Omit<FlowType, "type"> {
754 type: "NumericLiteralTypeAnnotation";
755 value: number;
756 raw: string;
757 }
758
759 export interface BigIntLiteralTypeAnnotation extends Omit<FlowType, "type"> {
760 type: "BigIntLiteralTypeAnnotation";
761 value: null;
762 raw: string;
763 }
764
765 export interface StringTypeAnnotation extends Omit<FlowType, "type"> {
766 type: "StringTypeAnnotation";
767 }
768
769 export interface StringLiteralTypeAnnotation extends Omit<FlowType, "type"> {
770 type: "StringLiteralTypeAnnotation";
771 value: string;
772 raw: string;
773 }
774
775 export interface BooleanTypeAnnotation extends Omit<FlowType, "type"> {
776 type: "BooleanTypeAnnotation";
777 }
778
779 export interface BooleanLiteralTypeAnnotation extends Omit<FlowType, "type"> {
780 type: "BooleanLiteralTypeAnnotation";
781 value: boolean;
782 raw: string;
783 }
784
785 export interface NullableTypeAnnotation extends Omit<FlowType, "type"> {
786 type: "NullableTypeAnnotation";
787 typeAnnotation: K.FlowTypeKind;
788 }
789
790 export interface NullLiteralTypeAnnotation extends Omit<FlowType, "type"> {
791 type: "NullLiteralTypeAnnotation";
792 }
793
794 export interface NullTypeAnnotation extends Omit<FlowType, "type"> {
795 type: "NullTypeAnnotation";
796 }
797
798 export interface ThisTypeAnnotation extends Omit<FlowType, "type"> {
799 type: "ThisTypeAnnotation";
800 }
801
802 export interface ExistsTypeAnnotation extends Omit<FlowType, "type"> {
803 type: "ExistsTypeAnnotation";
804 }
805
806 export interface ExistentialTypeParam extends Omit<FlowType, "type"> {
807 type: "ExistentialTypeParam";
808 }
809
810 export interface FunctionTypeAnnotation extends Omit<FlowType, "type"> {
811 type: "FunctionTypeAnnotation";
812 params: K.FunctionTypeParamKind[];
813 returnType: K.FlowTypeKind;
814 rest: K.FunctionTypeParamKind | null;
815 typeParameters: K.TypeParameterDeclarationKind | null;
816 }
817
818 export interface FunctionTypeParam extends Omit<Node, "type"> {
819 type: "FunctionTypeParam";
820 name: K.IdentifierKind | null;
821 typeAnnotation: K.FlowTypeKind;
822 optional: boolean;
823 }
824
825 export interface ArrayTypeAnnotation extends Omit<FlowType, "type"> {
826 type: "ArrayTypeAnnotation";
827 elementType: K.FlowTypeKind;
828 }
829
830 export interface ObjectTypeAnnotation extends Omit<FlowType, "type"> {
831 type: "ObjectTypeAnnotation";
832 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
833 indexers?: K.ObjectTypeIndexerKind[];
834 callProperties?: K.ObjectTypeCallPropertyKind[];
835 inexact?: boolean | undefined;
836 exact?: boolean;
837 internalSlots?: K.ObjectTypeInternalSlotKind[];
838 }
839
840 export interface ObjectTypeProperty extends Omit<Node, "type"> {
841 type: "ObjectTypeProperty";
842 key: K.LiteralKind | K.IdentifierKind;
843 value: K.FlowTypeKind;
844 optional: boolean;
845 variance?: K.VarianceKind | "plus" | "minus" | null;
846 }
847
848 export interface ObjectTypeSpreadProperty extends Omit<Node, "type"> {
849 type: "ObjectTypeSpreadProperty";
850 argument: K.FlowTypeKind;
851 }
852
853 export interface ObjectTypeIndexer extends Omit<Node, "type"> {
854 type: "ObjectTypeIndexer";
855 id: K.IdentifierKind;
856 key: K.FlowTypeKind;
857 value: K.FlowTypeKind;
858 variance?: K.VarianceKind | "plus" | "minus" | null;
859 static?: boolean;
860 }
861
862 export interface ObjectTypeCallProperty extends Omit<Node, "type"> {
863 type: "ObjectTypeCallProperty";
864 value: K.FunctionTypeAnnotationKind;
865 static?: boolean;
866 }
867
868 export interface ObjectTypeInternalSlot extends Omit<Node, "type"> {
869 type: "ObjectTypeInternalSlot";
870 id: K.IdentifierKind;
871 value: K.FlowTypeKind;
872 optional: boolean;
873 static: boolean;
874 method: boolean;
875 }
876
877 export interface Variance extends Omit<Node, "type"> {
878 type: "Variance";
879 kind: "plus" | "minus";
880 }
881
882 export interface QualifiedTypeIdentifier extends Omit<Node, "type"> {
883 type: "QualifiedTypeIdentifier";
884 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
885 id: K.IdentifierKind;
886 }
887
888 export interface GenericTypeAnnotation extends Omit<FlowType, "type"> {
889 type: "GenericTypeAnnotation";
890 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
891 typeParameters: K.TypeParameterInstantiationKind | null;
892 }
893
894 export interface MemberTypeAnnotation extends Omit<FlowType, "type"> {
895 type: "MemberTypeAnnotation";
896 object: K.IdentifierKind;
897 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
898 }
899
900 export interface UnionTypeAnnotation extends Omit<FlowType, "type"> {
901 type: "UnionTypeAnnotation";
902 types: K.FlowTypeKind[];
903 }
904
905 export interface IntersectionTypeAnnotation extends Omit<FlowType, "type"> {
906 type: "IntersectionTypeAnnotation";
907 types: K.FlowTypeKind[];
908 }
909
910 export interface TypeofTypeAnnotation extends Omit<FlowType, "type"> {
911 type: "TypeofTypeAnnotation";
912 argument: K.FlowTypeKind;
913 }
914
915 export interface TypeParameter extends Omit<FlowType, "type"> {
916 type: "TypeParameter";
917 name: string;
918 variance?: K.VarianceKind | "plus" | "minus" | null;
919 bound?: K.TypeAnnotationKind | null;
920 default?: K.FlowTypeKind | null;
921 }
922
923 export interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
924 type: "InterfaceTypeAnnotation";
925 body: K.ObjectTypeAnnotationKind;
926 extends?: K.InterfaceExtendsKind[] | null;
927 }
928
929 export interface InterfaceExtends extends Omit<Node, "type"> {
930 type: "InterfaceExtends";
931 id: K.IdentifierKind;
932 typeParameters?: K.TypeParameterInstantiationKind | null;
933 }
934
935 export interface InterfaceDeclaration extends Omit<Declaration, "type"> {
936 type: "InterfaceDeclaration";
937 id: K.IdentifierKind;
938 typeParameters?: K.TypeParameterDeclarationKind | null;
939 body: K.ObjectTypeAnnotationKind;
940 extends: K.InterfaceExtendsKind[];
941 }
942
943 export interface DeclareInterface extends Omit<InterfaceDeclaration, "type"> {
944 type: "DeclareInterface";
945 }
946
947 export interface TypeAlias extends Omit<Declaration, "type"> {
948 type: "TypeAlias";
949 id: K.IdentifierKind;
950 typeParameters: K.TypeParameterDeclarationKind | null;
951 right: K.FlowTypeKind;
952 }
953
954 export interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
955 type: "DeclareTypeAlias";
956 }
957
958 export interface OpaqueType extends Omit<Declaration, "type"> {
959 type: "OpaqueType";
960 id: K.IdentifierKind;
961 typeParameters: K.TypeParameterDeclarationKind | null;
962 impltype: K.FlowTypeKind;
963 supertype: K.FlowTypeKind | null;
964 }
965
966 export interface DeclareOpaqueType extends Omit<OpaqueType, "type" | "impltype"> {
967 type: "DeclareOpaqueType";
968 impltype: K.FlowTypeKind | null;
969 }
970
971 export interface TypeCastExpression extends Omit<Expression, "type"> {
972 type: "TypeCastExpression";
973 expression: K.ExpressionKind;
974 typeAnnotation: K.TypeAnnotationKind;
975 }
976
977 export interface TupleTypeAnnotation extends Omit<FlowType, "type"> {
978 type: "TupleTypeAnnotation";
979 types: K.FlowTypeKind[];
980 }
981
982 export interface DeclareVariable extends Omit<Statement, "type"> {
983 type: "DeclareVariable";
984 id: K.IdentifierKind;
985 }
986
987 export interface DeclareFunction extends Omit<Statement, "type"> {
988 type: "DeclareFunction";
989 id: K.IdentifierKind;
990 predicate?: K.FlowPredicateKind | null;
991 }
992
993 export interface FlowPredicate extends Flow {}
994
995 export interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
996 type: "DeclareClass";
997 }
998
999 export interface DeclareModule extends Omit<Statement, "type"> {
1000 type: "DeclareModule";
1001 id: K.IdentifierKind | K.LiteralKind;
1002 body: K.BlockStatementKind;
1003 }
1004
1005 export interface DeclareModuleExports extends Omit<Statement, "type"> {
1006 type: "DeclareModuleExports";
1007 typeAnnotation: K.TypeAnnotationKind;
1008 }
1009
1010 export interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
1011 type: "DeclareExportDeclaration";
1012 default: boolean;
1013 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null;
1014 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1015 source?: K.LiteralKind | null;
1016 }
1017
1018 export interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
1019 type: "ExportBatchSpecifier";
1020 }
1021
1022 export interface DeclareExportAllDeclaration extends Omit<Declaration, "type"> {
1023 type: "DeclareExportAllDeclaration";
1024 source?: K.LiteralKind | null;
1025 }
1026
1027 export interface InferredPredicate extends Omit<FlowPredicate, "type"> {
1028 type: "InferredPredicate";
1029 }
1030
1031 export interface DeclaredPredicate extends Omit<FlowPredicate, "type"> {
1032 type: "DeclaredPredicate";
609 export interface ImportAttribute extends Omit<Node, "type"> {
610 type: "ImportAttribute";
611 key: K.IdentifierKind | K.LiteralKind;
1033612 value: K.ExpressionKind;
1034613 }
1035614
1036 export interface EnumDeclaration extends Omit<Declaration, "type"> {
1037 type: "EnumDeclaration";
1038 id: K.IdentifierKind;
1039 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind;
1040 }
1041
1042 export interface EnumBooleanBody {
1043 type: "EnumBooleanBody";
1044 members: K.EnumBooleanMemberKind[];
1045 explicitType: boolean;
1046 }
1047
1048 export interface EnumNumberBody {
1049 type: "EnumNumberBody";
1050 members: K.EnumNumberMemberKind[];
1051 explicitType: boolean;
1052 }
1053
1054 export interface EnumStringBody {
1055 type: "EnumStringBody";
1056 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[];
1057 explicitType: boolean;
1058 }
1059
1060 export interface EnumSymbolBody {
1061 type: "EnumSymbolBody";
1062 members: K.EnumDefaultedMemberKind[];
1063 }
1064
1065 export interface EnumBooleanMember {
1066 type: "EnumBooleanMember";
1067 id: K.IdentifierKind;
1068 init: K.LiteralKind | boolean;
1069 }
1070
1071 export interface EnumNumberMember {
1072 type: "EnumNumberMember";
1073 id: K.IdentifierKind;
1074 init: K.LiteralKind;
1075 }
1076
1077 export interface EnumStringMember {
1078 type: "EnumStringMember";
1079 id: K.IdentifierKind;
1080 init: K.LiteralKind;
1081 }
1082
1083 export interface EnumDefaultedMember {
1084 type: "EnumDefaultedMember";
1085 id: K.IdentifierKind;
1086 }
1087
1088 export interface ExportDeclaration extends Omit<Declaration, "type"> {
1089 type: "ExportDeclaration";
1090 default: boolean;
1091 declaration: K.DeclarationKind | K.ExpressionKind | null;
1092 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1093 source?: K.LiteralKind | null;
1094 }
1095
1096 export interface Block extends Comment {
1097 type: "Block";
1098 }
1099
1100 export interface Line extends Comment {
1101 type: "Line";
1102 }
1103
1104 export interface Noop extends Omit<Statement, "type"> {
1105 type: "Noop";
1106 }
1107
1108 export interface DoExpression extends Omit<Expression, "type"> {
1109 type: "DoExpression";
1110 body: K.StatementKind[];
1111 }
1112
1113 export interface BindExpression extends Omit<Expression, "type"> {
1114 type: "BindExpression";
1115 object: K.ExpressionKind | null;
1116 callee: K.ExpressionKind;
1117 }
1118
1119 export interface ParenthesizedExpression extends Omit<Expression, "type"> {
1120 type: "ParenthesizedExpression";
1121 expression: K.ExpressionKind;
1122 }
1123
1124 export interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
1125 type: "ExportNamespaceSpecifier";
1126 exported: K.IdentifierKind;
1127 }
1128
1129 export interface ExportDefaultSpecifier extends Omit<Specifier, "type"> {
1130 type: "ExportDefaultSpecifier";
1131 exported: K.IdentifierKind;
1132 }
1133
1134 export interface CommentBlock extends Comment {
1135 type: "CommentBlock";
1136 }
1137
1138 export interface CommentLine extends Comment {
1139 type: "CommentLine";
1140 }
1141
1142 export interface Directive extends Omit<Node, "type"> {
1143 type: "Directive";
1144 value: K.DirectiveLiteralKind;
1145 }
1146
1147 export interface DirectiveLiteral extends Omit<Node, "type">, Omit<Expression, "type"> {
1148 type: "DirectiveLiteral";
1149 value?: string;
1150 }
1151
1152 export interface InterpreterDirective extends Omit<Node, "type"> {
1153 type: "InterpreterDirective";
1154 value: string;
1155 }
1156
1157 export interface StringLiteral extends Omit<Literal, "type" | "value"> {
1158 type: "StringLiteral";
1159 value: string;
1160 }
1161
1162 export interface NumericLiteral extends Omit<Literal, "type" | "value"> {
1163 type: "NumericLiteral";
1164 value: number;
1165 raw?: string | null;
1166 extra?: {
1167 rawValue: number,
1168 raw: string
1169 };
1170 }
1171
1172 export interface BigIntLiteral extends Omit<Literal, "type" | "value"> {
1173 type: "BigIntLiteral";
1174 value: string | number;
1175 extra?: {
1176 rawValue: string,
1177 raw: string
1178 };
1179 }
1180
1181 export interface NullLiteral extends Omit<Literal, "type" | "value"> {
1182 type: "NullLiteral";
1183 value?: null;
1184 }
1185
1186 export interface BooleanLiteral extends Omit<Literal, "type" | "value"> {
1187 type: "BooleanLiteral";
1188 value: boolean;
1189 }
1190
1191 export interface RegExpLiteral extends Omit<Literal, "type" | "value"> {
1192 type: "RegExpLiteral";
1193 pattern: string;
1194 flags: string;
1195 value?: RegExp;
615 export interface RecordExpression extends Omit<Expression, "type"> {
616 type: "RecordExpression";
617 properties: (K.ObjectPropertyKind | K.ObjectMethodKind | K.SpreadElementKind)[];
1196618 }
1197619
1198620 export interface ObjectMethod extends Omit<Node, "type">, Omit<Function, "type" | "params" | "body" | "generator" | "async"> {
1206628 async?: boolean;
1207629 accessibility?: K.LiteralKind | null;
1208630 decorators?: K.DecoratorKind[] | null;
631 }
632
633 export interface TupleExpression extends Omit<Expression, "type"> {
634 type: "TupleExpression";
635 elements: (K.ExpressionKind | K.SpreadElementKind | null)[];
636 }
637
638 export interface ModuleExpression extends Omit<Node, "type"> {
639 type: "ModuleExpression";
640 body: K.ProgramKind;
641 }
642
643 export interface JSXAttribute extends Omit<Node, "type"> {
644 type: "JSXAttribute";
645 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
646 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null;
647 }
648
649 export interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
650 type: "JSXIdentifier";
651 name: string;
652 }
653
654 export interface JSXNamespacedName extends Omit<Node, "type"> {
655 type: "JSXNamespacedName";
656 namespace: K.JSXIdentifierKind;
657 name: K.JSXIdentifierKind;
658 }
659
660 export interface JSXExpressionContainer extends Omit<Expression, "type"> {
661 type: "JSXExpressionContainer";
662 expression: K.ExpressionKind | K.JSXEmptyExpressionKind;
663 }
664
665 export interface JSXElement extends Omit<Expression, "type"> {
666 type: "JSXElement";
667 openingElement: K.JSXOpeningElementKind;
668 closingElement?: K.JSXClosingElementKind | null;
669 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
670 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
671 selfClosing?: boolean;
672 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
673 }
674
675 export interface JSXFragment extends Omit<Expression, "type"> {
676 type: "JSXFragment";
677 openingFragment: K.JSXOpeningFragmentKind;
678 closingFragment: K.JSXClosingFragmentKind;
679 children?: (K.JSXTextKind | K.JSXExpressionContainerKind | K.JSXSpreadChildKind | K.JSXElementKind | K.JSXFragmentKind | K.LiteralKind)[];
680 }
681
682 export interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
683 type: "JSXMemberExpression";
684 object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
685 property: K.JSXIdentifierKind;
686 computed?: boolean;
687 }
688
689 export interface JSXSpreadAttribute extends Omit<Node, "type"> {
690 type: "JSXSpreadAttribute";
691 argument: K.ExpressionKind;
692 }
693
694 export interface JSXEmptyExpression extends Omit<Node, "type"> {
695 type: "JSXEmptyExpression";
696 }
697
698 export interface JSXText extends Omit<Literal, "type" | "value"> {
699 type: "JSXText";
700 value: string;
701 raw?: string;
702 }
703
704 export interface JSXSpreadChild extends Omit<Node, "type"> {
705 type: "JSXSpreadChild";
706 expression: K.ExpressionKind;
707 }
708
709 export interface JSXOpeningElement extends Omit<Node, "type"> {
710 type: "JSXOpeningElement";
711 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
712 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
713 selfClosing?: boolean;
714 }
715
716 export interface JSXClosingElement extends Omit<Node, "type"> {
717 type: "JSXClosingElement";
718 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
719 }
720
721 export interface JSXOpeningFragment extends Omit<Node, "type"> {
722 type: "JSXOpeningFragment";
723 }
724
725 export interface JSXClosingFragment extends Omit<Node, "type"> {
726 type: "JSXClosingFragment";
727 }
728
729 export interface TypeParameterDeclaration extends Omit<Node, "type"> {
730 type: "TypeParameterDeclaration";
731 params: K.TypeParameterKind[];
732 }
733
734 export interface TSTypeParameterDeclaration extends Omit<Declaration, "type"> {
735 type: "TSTypeParameterDeclaration";
736 params: K.TSTypeParameterKind[];
737 }
738
739 export interface TypeParameterInstantiation extends Omit<Node, "type"> {
740 type: "TypeParameterInstantiation";
741 params: K.FlowTypeKind[];
742 }
743
744 export interface TSTypeParameterInstantiation extends Omit<Node, "type"> {
745 type: "TSTypeParameterInstantiation";
746 params: K.TSTypeKind[];
747 }
748
749 export interface ClassImplements extends Omit<Node, "type"> {
750 type: "ClassImplements";
751 id: K.IdentifierKind;
752 superClass?: K.ExpressionKind | null;
753 typeParameters?: K.TypeParameterInstantiationKind | null;
754 }
755
756 export interface TSType extends Node {}
757
758 export interface TSHasOptionalTypeParameterInstantiation {
759 typeParameters?: K.TSTypeParameterInstantiationKind | null;
760 }
761
762 export interface TSExpressionWithTypeArguments extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
763 type: "TSExpressionWithTypeArguments";
764 expression: K.IdentifierKind | K.TSQualifiedNameKind;
765 }
766
767 export interface Flow extends Node {}
768 export interface FlowType extends Flow {}
769
770 export interface AnyTypeAnnotation extends Omit<FlowType, "type"> {
771 type: "AnyTypeAnnotation";
772 }
773
774 export interface EmptyTypeAnnotation extends Omit<FlowType, "type"> {
775 type: "EmptyTypeAnnotation";
776 }
777
778 export interface MixedTypeAnnotation extends Omit<FlowType, "type"> {
779 type: "MixedTypeAnnotation";
780 }
781
782 export interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
783 type: "VoidTypeAnnotation";
784 }
785
786 export interface SymbolTypeAnnotation extends Omit<FlowType, "type"> {
787 type: "SymbolTypeAnnotation";
788 }
789
790 export interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
791 type: "NumberTypeAnnotation";
792 }
793
794 export interface BigIntTypeAnnotation extends Omit<FlowType, "type"> {
795 type: "BigIntTypeAnnotation";
796 }
797
798 export interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
799 type: "NumberLiteralTypeAnnotation";
800 value: number;
801 raw: string;
802 }
803
804 export interface NumericLiteralTypeAnnotation extends Omit<FlowType, "type"> {
805 type: "NumericLiteralTypeAnnotation";
806 value: number;
807 raw: string;
808 }
809
810 export interface BigIntLiteralTypeAnnotation extends Omit<FlowType, "type"> {
811 type: "BigIntLiteralTypeAnnotation";
812 value: null;
813 raw: string;
814 }
815
816 export interface StringTypeAnnotation extends Omit<FlowType, "type"> {
817 type: "StringTypeAnnotation";
818 }
819
820 export interface StringLiteralTypeAnnotation extends Omit<FlowType, "type"> {
821 type: "StringLiteralTypeAnnotation";
822 value: string;
823 raw: string;
824 }
825
826 export interface BooleanTypeAnnotation extends Omit<FlowType, "type"> {
827 type: "BooleanTypeAnnotation";
828 }
829
830 export interface BooleanLiteralTypeAnnotation extends Omit<FlowType, "type"> {
831 type: "BooleanLiteralTypeAnnotation";
832 value: boolean;
833 raw: string;
834 }
835
836 export interface NullableTypeAnnotation extends Omit<FlowType, "type"> {
837 type: "NullableTypeAnnotation";
838 typeAnnotation: K.FlowTypeKind;
839 }
840
841 export interface NullLiteralTypeAnnotation extends Omit<FlowType, "type"> {
842 type: "NullLiteralTypeAnnotation";
843 }
844
845 export interface NullTypeAnnotation extends Omit<FlowType, "type"> {
846 type: "NullTypeAnnotation";
847 }
848
849 export interface ThisTypeAnnotation extends Omit<FlowType, "type"> {
850 type: "ThisTypeAnnotation";
851 }
852
853 export interface ExistsTypeAnnotation extends Omit<FlowType, "type"> {
854 type: "ExistsTypeAnnotation";
855 }
856
857 export interface ExistentialTypeParam extends Omit<FlowType, "type"> {
858 type: "ExistentialTypeParam";
859 }
860
861 export interface FunctionTypeAnnotation extends Omit<FlowType, "type"> {
862 type: "FunctionTypeAnnotation";
863 params: K.FunctionTypeParamKind[];
864 returnType: K.FlowTypeKind;
865 rest: K.FunctionTypeParamKind | null;
866 typeParameters: K.TypeParameterDeclarationKind | null;
867 }
868
869 export interface FunctionTypeParam extends Omit<Node, "type"> {
870 type: "FunctionTypeParam";
871 name: K.IdentifierKind | null;
872 typeAnnotation: K.FlowTypeKind;
873 optional: boolean;
874 }
875
876 export interface ArrayTypeAnnotation extends Omit<FlowType, "type"> {
877 type: "ArrayTypeAnnotation";
878 elementType: K.FlowTypeKind;
879 }
880
881 export interface ObjectTypeAnnotation extends Omit<FlowType, "type"> {
882 type: "ObjectTypeAnnotation";
883 properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
884 indexers?: K.ObjectTypeIndexerKind[];
885 callProperties?: K.ObjectTypeCallPropertyKind[];
886 inexact?: boolean | undefined;
887 exact?: boolean;
888 internalSlots?: K.ObjectTypeInternalSlotKind[];
889 }
890
891 export interface ObjectTypeProperty extends Omit<Node, "type"> {
892 type: "ObjectTypeProperty";
893 key: K.LiteralKind | K.IdentifierKind;
894 value: K.FlowTypeKind;
895 optional: boolean;
896 variance?: K.VarianceKind | "plus" | "minus" | null;
897 }
898
899 export interface ObjectTypeSpreadProperty extends Omit<Node, "type"> {
900 type: "ObjectTypeSpreadProperty";
901 argument: K.FlowTypeKind;
902 }
903
904 export interface ObjectTypeIndexer extends Omit<Node, "type"> {
905 type: "ObjectTypeIndexer";
906 id: K.IdentifierKind;
907 key: K.FlowTypeKind;
908 value: K.FlowTypeKind;
909 variance?: K.VarianceKind | "plus" | "minus" | null;
910 static?: boolean;
911 }
912
913 export interface ObjectTypeCallProperty extends Omit<Node, "type"> {
914 type: "ObjectTypeCallProperty";
915 value: K.FunctionTypeAnnotationKind;
916 static?: boolean;
917 }
918
919 export interface ObjectTypeInternalSlot extends Omit<Node, "type"> {
920 type: "ObjectTypeInternalSlot";
921 id: K.IdentifierKind;
922 value: K.FlowTypeKind;
923 optional: boolean;
924 static: boolean;
925 method: boolean;
926 }
927
928 export interface Variance extends Omit<Node, "type"> {
929 type: "Variance";
930 kind: "plus" | "minus";
931 }
932
933 export interface QualifiedTypeIdentifier extends Omit<Node, "type"> {
934 type: "QualifiedTypeIdentifier";
935 qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
936 id: K.IdentifierKind;
937 }
938
939 export interface GenericTypeAnnotation extends Omit<FlowType, "type"> {
940 type: "GenericTypeAnnotation";
941 id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
942 typeParameters: K.TypeParameterInstantiationKind | null;
943 }
944
945 export interface MemberTypeAnnotation extends Omit<FlowType, "type"> {
946 type: "MemberTypeAnnotation";
947 object: K.IdentifierKind;
948 property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
949 }
950
951 export interface IndexedAccessType extends Omit<FlowType, "type"> {
952 type: "IndexedAccessType";
953 objectType: K.FlowTypeKind;
954 indexType: K.FlowTypeKind;
955 }
956
957 export interface OptionalIndexedAccessType extends Omit<FlowType, "type"> {
958 type: "OptionalIndexedAccessType";
959 objectType: K.FlowTypeKind;
960 indexType: K.FlowTypeKind;
961 optional: boolean;
962 }
963
964 export interface UnionTypeAnnotation extends Omit<FlowType, "type"> {
965 type: "UnionTypeAnnotation";
966 types: K.FlowTypeKind[];
967 }
968
969 export interface IntersectionTypeAnnotation extends Omit<FlowType, "type"> {
970 type: "IntersectionTypeAnnotation";
971 types: K.FlowTypeKind[];
972 }
973
974 export interface TypeofTypeAnnotation extends Omit<FlowType, "type"> {
975 type: "TypeofTypeAnnotation";
976 argument: K.FlowTypeKind;
977 }
978
979 export interface TypeParameter extends Omit<FlowType, "type"> {
980 type: "TypeParameter";
981 name: string;
982 variance?: K.VarianceKind | "plus" | "minus" | null;
983 bound?: K.TypeAnnotationKind | null;
984 default?: K.FlowTypeKind | null;
985 }
986
987 export interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
988 type: "InterfaceTypeAnnotation";
989 body: K.ObjectTypeAnnotationKind;
990 extends?: K.InterfaceExtendsKind[] | null;
991 }
992
993 export interface InterfaceExtends extends Omit<Node, "type"> {
994 type: "InterfaceExtends";
995 id: K.IdentifierKind;
996 typeParameters?: K.TypeParameterInstantiationKind | null;
997 }
998
999 export interface InterfaceDeclaration extends Omit<Declaration, "type"> {
1000 type: "InterfaceDeclaration";
1001 id: K.IdentifierKind;
1002 typeParameters?: K.TypeParameterDeclarationKind | null;
1003 body: K.ObjectTypeAnnotationKind;
1004 extends: K.InterfaceExtendsKind[];
1005 }
1006
1007 export interface DeclareInterface extends Omit<InterfaceDeclaration, "type"> {
1008 type: "DeclareInterface";
1009 }
1010
1011 export interface TypeAlias extends Omit<Declaration, "type"> {
1012 type: "TypeAlias";
1013 id: K.IdentifierKind;
1014 typeParameters: K.TypeParameterDeclarationKind | null;
1015 right: K.FlowTypeKind;
1016 }
1017
1018 export interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
1019 type: "DeclareTypeAlias";
1020 }
1021
1022 export interface OpaqueType extends Omit<Declaration, "type"> {
1023 type: "OpaqueType";
1024 id: K.IdentifierKind;
1025 typeParameters: K.TypeParameterDeclarationKind | null;
1026 impltype: K.FlowTypeKind;
1027 supertype: K.FlowTypeKind | null;
1028 }
1029
1030 export interface DeclareOpaqueType extends Omit<OpaqueType, "type" | "impltype"> {
1031 type: "DeclareOpaqueType";
1032 impltype: K.FlowTypeKind | null;
1033 }
1034
1035 export interface TypeCastExpression extends Omit<Expression, "type"> {
1036 type: "TypeCastExpression";
1037 expression: K.ExpressionKind;
1038 typeAnnotation: K.TypeAnnotationKind;
1039 }
1040
1041 export interface TupleTypeAnnotation extends Omit<FlowType, "type"> {
1042 type: "TupleTypeAnnotation";
1043 types: K.FlowTypeKind[];
1044 }
1045
1046 export interface DeclareVariable extends Omit<Statement, "type"> {
1047 type: "DeclareVariable";
1048 id: K.IdentifierKind;
1049 }
1050
1051 export interface DeclareFunction extends Omit<Statement, "type"> {
1052 type: "DeclareFunction";
1053 id: K.IdentifierKind;
1054 predicate?: K.FlowPredicateKind | null;
1055 }
1056
1057 export interface FlowPredicate extends Flow {}
1058
1059 export interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
1060 type: "DeclareClass";
1061 }
1062
1063 export interface DeclareModule extends Omit<Statement, "type"> {
1064 type: "DeclareModule";
1065 id: K.IdentifierKind | K.LiteralKind;
1066 body: K.BlockStatementKind;
1067 }
1068
1069 export interface DeclareModuleExports extends Omit<Statement, "type"> {
1070 type: "DeclareModuleExports";
1071 typeAnnotation: K.TypeAnnotationKind;
1072 }
1073
1074 export interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
1075 type: "DeclareExportDeclaration";
1076 default: boolean;
1077 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null;
1078 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1079 source?: K.LiteralKind | null;
1080 }
1081
1082 export interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
1083 type: "ExportBatchSpecifier";
1084 }
1085
1086 export interface DeclareExportAllDeclaration extends Omit<Declaration, "type"> {
1087 type: "DeclareExportAllDeclaration";
1088 source?: K.LiteralKind | null;
1089 }
1090
1091 export interface InferredPredicate extends Omit<FlowPredicate, "type"> {
1092 type: "InferredPredicate";
1093 }
1094
1095 export interface DeclaredPredicate extends Omit<FlowPredicate, "type"> {
1096 type: "DeclaredPredicate";
1097 value: K.ExpressionKind;
1098 }
1099
1100 export interface EnumDeclaration extends Omit<Declaration, "type"> {
1101 type: "EnumDeclaration";
1102 id: K.IdentifierKind;
1103 body: K.EnumBooleanBodyKind | K.EnumNumberBodyKind | K.EnumStringBodyKind | K.EnumSymbolBodyKind;
1104 }
1105
1106 export interface EnumBooleanBody {
1107 type: "EnumBooleanBody";
1108 members: K.EnumBooleanMemberKind[];
1109 explicitType: boolean;
1110 }
1111
1112 export interface EnumNumberBody {
1113 type: "EnumNumberBody";
1114 members: K.EnumNumberMemberKind[];
1115 explicitType: boolean;
1116 }
1117
1118 export interface EnumStringBody {
1119 type: "EnumStringBody";
1120 members: K.EnumStringMemberKind[] | K.EnumDefaultedMemberKind[];
1121 explicitType: boolean;
1122 }
1123
1124 export interface EnumSymbolBody {
1125 type: "EnumSymbolBody";
1126 members: K.EnumDefaultedMemberKind[];
1127 }
1128
1129 export interface EnumBooleanMember {
1130 type: "EnumBooleanMember";
1131 id: K.IdentifierKind;
1132 init: K.LiteralKind | boolean;
1133 }
1134
1135 export interface EnumNumberMember {
1136 type: "EnumNumberMember";
1137 id: K.IdentifierKind;
1138 init: K.LiteralKind;
1139 }
1140
1141 export interface EnumStringMember {
1142 type: "EnumStringMember";
1143 id: K.IdentifierKind;
1144 init: K.LiteralKind;
1145 }
1146
1147 export interface EnumDefaultedMember {
1148 type: "EnumDefaultedMember";
1149 id: K.IdentifierKind;
1150 }
1151
1152 export interface ExportDeclaration extends Omit<Declaration, "type"> {
1153 type: "ExportDeclaration";
1154 default: boolean;
1155 declaration: K.DeclarationKind | K.ExpressionKind | null;
1156 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
1157 source?: K.LiteralKind | null;
1158 }
1159
1160 export interface Block extends Comment {
1161 type: "Block";
1162 }
1163
1164 export interface Line extends Comment {
1165 type: "Line";
1166 }
1167
1168 export interface Noop extends Omit<Statement, "type"> {
1169 type: "Noop";
1170 }
1171
1172 export interface DoExpression extends Omit<Expression, "type"> {
1173 type: "DoExpression";
1174 body: K.StatementKind[];
1175 }
1176
1177 export interface BindExpression extends Omit<Expression, "type"> {
1178 type: "BindExpression";
1179 object: K.ExpressionKind | null;
1180 callee: K.ExpressionKind;
1181 }
1182
1183 export interface ParenthesizedExpression extends Omit<Expression, "type"> {
1184 type: "ParenthesizedExpression";
1185 expression: K.ExpressionKind;
1186 }
1187
1188 export interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
1189 type: "ExportNamespaceSpecifier";
1190 exported: K.IdentifierKind;
1191 }
1192
1193 export interface ExportDefaultSpecifier extends Omit<Specifier, "type"> {
1194 type: "ExportDefaultSpecifier";
1195 exported: K.IdentifierKind;
1196 }
1197
1198 export interface CommentBlock extends Comment {
1199 type: "CommentBlock";
1200 }
1201
1202 export interface CommentLine extends Comment {
1203 type: "CommentLine";
1204 }
1205
1206 export interface Directive extends Omit<Node, "type"> {
1207 type: "Directive";
1208 value: K.DirectiveLiteralKind;
1209 }
1210
1211 export interface DirectiveLiteral extends Omit<Node, "type">, Omit<Expression, "type"> {
1212 type: "DirectiveLiteral";
1213 value?: string;
1214 }
1215
1216 export interface InterpreterDirective extends Omit<Node, "type"> {
1217 type: "InterpreterDirective";
1218 value: string;
1219 }
1220
1221 export interface StringLiteral extends Omit<Literal, "type" | "value"> {
1222 type: "StringLiteral";
1223 value: string;
1224 }
1225
1226 export interface NumericLiteral extends Omit<Literal, "type" | "value"> {
1227 type: "NumericLiteral";
1228 value: number;
1229 raw?: string | null;
1230 extra?: {
1231 rawValue: number,
1232 raw: string
1233 };
1234 }
1235
1236 export interface BigIntLiteral extends Omit<Literal, "type" | "value"> {
1237 type: "BigIntLiteral";
1238 value: string | number;
1239 extra?: {
1240 rawValue: string,
1241 raw: string
1242 };
1243 }
1244
1245 export interface DecimalLiteral extends Omit<Literal, "type" | "value"> {
1246 type: "DecimalLiteral";
1247 value: string;
1248 extra?: {
1249 rawValue: string,
1250 raw: string
1251 };
1252 }
1253
1254 export interface NullLiteral extends Omit<Literal, "type" | "value"> {
1255 type: "NullLiteral";
1256 value?: null;
1257 }
1258
1259 export interface BooleanLiteral extends Omit<Literal, "type" | "value"> {
1260 type: "BooleanLiteral";
1261 value: boolean;
1262 }
1263
1264 export interface RegExpLiteral extends Omit<Literal, "type" | "value"> {
1265 type: "RegExpLiteral";
1266 pattern: string;
1267 flags: string;
1268 value?: RegExp;
12091269 }
12101270
12111271 export interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
12521312 type: "Import";
12531313 }
12541314
1315 export interface V8IntrinsicIdentifier extends Omit<Expression, "type"> {
1316 type: "V8IntrinsicIdentifier";
1317 name: string;
1318 }
1319
1320 export interface TopicReference extends Omit<Expression, "type"> {
1321 type: "TopicReference";
1322 }
1323
12551324 export interface TSQualifiedName extends Omit<Node, "type"> {
12561325 type: "TSQualifiedName";
12571326 left: K.IdentifierKind | K.TSQualifiedNameKind;
13311400
13321401 export interface TSVoidKeyword extends Omit<TSType, "type"> {
13331402 type: "TSVoidKeyword";
1403 }
1404
1405 export interface TSIntrinsicKeyword extends Omit<TSType, "type"> {
1406 type: "TSIntrinsicKeyword";
13341407 }
13351408
13361409 export interface TSThisType extends Omit<TSType, "type"> {
16031676 parameter: K.IdentifierKind | K.AssignmentPatternKind;
16041677 }
16051678
1606 export type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | SpreadElement | AssignmentPattern | MethodDefinition | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | Super | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportDeclaration | ExportNamedDeclaration | ExportSpecifier | ExportDefaultDeclaration | ExportAllDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | MetaProperty | AwaitExpression | SpreadProperty | SpreadPropertyPattern | ImportExpression | OptionalMemberExpression | OptionalCallExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXElement | JSXFragment | JSXMemberExpression | JSXSpreadAttribute | JSXEmptyExpression | JSXText | JSXSpreadChild | JSXOpeningElement | JSXClosingElement | JSXOpeningFragment | JSXClosingFragment | Decorator | PrivateName | ClassPrivateProperty | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | SymbolTypeAnnotation | NumberTypeAnnotation | BigIntTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | BigIntLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | DeclareTypeAlias | OpaqueType | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | ExportDeclaration | Block | Line | Noop | DoExpression | BindExpression | ParenthesizedExpression | ExportNamespaceSpecifier | ExportDefaultSpecifier | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassMethod | ClassPrivateMethod | RestProperty | ForAwaitStatement | Import | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSNamedTupleMember | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty;
1679 export type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | SpreadElement | AssignmentPattern | MethodDefinition | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | Super | ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportDeclaration | ExportNamedDeclaration | ExportSpecifier | ExportDefaultDeclaration | ExportAllDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | MetaProperty | AwaitExpression | SpreadProperty | SpreadPropertyPattern | ImportExpression | ChainExpression | OptionalCallExpression | OptionalMemberExpression | StaticBlock | Decorator | PrivateName | ClassPrivateProperty | ImportAttribute | RecordExpression | ObjectMethod | TupleExpression | ModuleExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXElement | JSXFragment | JSXMemberExpression | JSXSpreadAttribute | JSXEmptyExpression | JSXText | JSXSpreadChild | JSXOpeningElement | JSXClosingElement | JSXOpeningFragment | JSXClosingFragment | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | SymbolTypeAnnotation | NumberTypeAnnotation | BigIntTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | BigIntLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | DeclareTypeAlias | OpaqueType | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | ExportDeclaration | Block | Line | Noop | DoExpression | BindExpression | ParenthesizedExpression | ExportNamespaceSpecifier | ExportDefaultSpecifier | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ClassMethod | ClassPrivateMethod | RestProperty | ForAwaitStatement | Import | V8IntrinsicIdentifier | TopicReference | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSIntrinsicKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSNamedTupleMember | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty;
16071680 export let Printable: Type<Printable>;
16081681 export let SourceLocation: Type<SourceLocation>;
16091682 export let Node: Type<Node>;
16491722 export let UnaryExpression: Type<UnaryExpression>;
16501723 export let BinaryExpression: Type<BinaryExpression>;
16511724 export let AssignmentExpression: Type<AssignmentExpression>;
1725 export let ChainElement: Type<ChainElement>;
16521726 export let MemberExpression: Type<MemberExpression>;
16531727 export let UpdateExpression: Type<UpdateExpression>;
16541728 export let LogicalExpression: Type<LogicalExpression>;
16961770 export let SpreadProperty: Type<SpreadProperty>;
16971771 export let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
16981772 export let ImportExpression: Type<ImportExpression>;
1773 export let ChainExpression: Type<ChainExpression>;
1774 export let OptionalCallExpression: Type<OptionalCallExpression>;
16991775 export let OptionalMemberExpression: Type<OptionalMemberExpression>;
1700 export let OptionalCallExpression: Type<OptionalCallExpression>;
1776 export let StaticBlock: Type<StaticBlock>;
1777 export let Decorator: Type<Decorator>;
1778 export let PrivateName: Type<PrivateName>;
1779 export let ClassPrivateProperty: Type<ClassPrivateProperty>;
1780 export let ImportAttribute: Type<ImportAttribute>;
1781 export let RecordExpression: Type<RecordExpression>;
1782 export let ObjectMethod: Type<ObjectMethod>;
1783 export let TupleExpression: Type<TupleExpression>;
1784 export let ModuleExpression: Type<ModuleExpression>;
17011785 export let JSXAttribute: Type<JSXAttribute>;
17021786 export let JSXIdentifier: Type<JSXIdentifier>;
17031787 export let JSXNamespacedName: Type<JSXNamespacedName>;
17131797 export let JSXClosingElement: Type<JSXClosingElement>;
17141798 export let JSXOpeningFragment: Type<JSXOpeningFragment>;
17151799 export let JSXClosingFragment: Type<JSXClosingFragment>;
1716 export let Decorator: Type<Decorator>;
1717 export let PrivateName: Type<PrivateName>;
1718 export let ClassPrivateProperty: Type<ClassPrivateProperty>;
17191800 export let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
17201801 export let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
17211802 export let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
17591840 export let QualifiedTypeIdentifier: Type<QualifiedTypeIdentifier>;
17601841 export let GenericTypeAnnotation: Type<GenericTypeAnnotation>;
17611842 export let MemberTypeAnnotation: Type<MemberTypeAnnotation>;
1843 export let IndexedAccessType: Type<IndexedAccessType>;
1844 export let OptionalIndexedAccessType: Type<OptionalIndexedAccessType>;
17621845 export let UnionTypeAnnotation: Type<UnionTypeAnnotation>;
17631846 export let IntersectionTypeAnnotation: Type<IntersectionTypeAnnotation>;
17641847 export let TypeofTypeAnnotation: Type<TypeofTypeAnnotation>;
18101893 export let StringLiteral: Type<StringLiteral>;
18111894 export let NumericLiteral: Type<NumericLiteral>;
18121895 export let BigIntLiteral: Type<BigIntLiteral>;
1896 export let DecimalLiteral: Type<DecimalLiteral>;
18131897 export let NullLiteral: Type<NullLiteral>;
18141898 export let BooleanLiteral: Type<BooleanLiteral>;
18151899 export let RegExpLiteral: Type<RegExpLiteral>;
1816 export let ObjectMethod: Type<ObjectMethod>;
18171900 export let ClassMethod: Type<ClassMethod>;
18181901 export let ClassPrivateMethod: Type<ClassPrivateMethod>;
18191902 export let RestProperty: Type<RestProperty>;
18201903 export let ForAwaitStatement: Type<ForAwaitStatement>;
18211904 export let Import: Type<Import>;
1905 export let V8IntrinsicIdentifier: Type<V8IntrinsicIdentifier>;
1906 export let TopicReference: Type<TopicReference>;
18221907 export let TSQualifiedName: Type<TSQualifiedName>;
18231908 export let TSTypeReference: Type<TSTypeReference>;
18241909 export let TSHasOptionalTypeParameters: Type<TSHasOptionalTypeParameters>;
18371922 export let TSUndefinedKeyword: Type<TSUndefinedKeyword>;
18381923 export let TSUnknownKeyword: Type<TSUnknownKeyword>;
18391924 export let TSVoidKeyword: Type<TSVoidKeyword>;
1925 export let TSIntrinsicKeyword: Type<TSIntrinsicKeyword>;
18401926 export let TSThisType: Type<TSThisType>;
18411927 export let TSArrayType: Type<TSArrayType>;
18421928 export let TSLiteralType: Type<TSLiteralType>;
19272013 UnaryExpression: Type<namedTypes.UnaryExpression>;
19282014 BinaryExpression: Type<namedTypes.BinaryExpression>;
19292015 AssignmentExpression: Type<namedTypes.AssignmentExpression>;
2016 ChainElement: Type<namedTypes.ChainElement>;
19302017 MemberExpression: Type<namedTypes.MemberExpression>;
19312018 UpdateExpression: Type<namedTypes.UpdateExpression>;
19322019 LogicalExpression: Type<namedTypes.LogicalExpression>;
19742061 SpreadProperty: Type<namedTypes.SpreadProperty>;
19752062 SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
19762063 ImportExpression: Type<namedTypes.ImportExpression>;
2064 ChainExpression: Type<namedTypes.ChainExpression>;
2065 OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
19772066 OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1978 OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
2067 StaticBlock: Type<namedTypes.StaticBlock>;
2068 Decorator: Type<namedTypes.Decorator>;
2069 PrivateName: Type<namedTypes.PrivateName>;
2070 ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
2071 ImportAttribute: Type<namedTypes.ImportAttribute>;
2072 RecordExpression: Type<namedTypes.RecordExpression>;
2073 ObjectMethod: Type<namedTypes.ObjectMethod>;
2074 TupleExpression: Type<namedTypes.TupleExpression>;
2075 ModuleExpression: Type<namedTypes.ModuleExpression>;
19792076 JSXAttribute: Type<namedTypes.JSXAttribute>;
19802077 JSXIdentifier: Type<namedTypes.JSXIdentifier>;
19812078 JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
19912088 JSXClosingElement: Type<namedTypes.JSXClosingElement>;
19922089 JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
19932090 JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
1994 Decorator: Type<namedTypes.Decorator>;
1995 PrivateName: Type<namedTypes.PrivateName>;
1996 ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
19972091 TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
19982092 TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
19992093 TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
20372131 QualifiedTypeIdentifier: Type<namedTypes.QualifiedTypeIdentifier>;
20382132 GenericTypeAnnotation: Type<namedTypes.GenericTypeAnnotation>;
20392133 MemberTypeAnnotation: Type<namedTypes.MemberTypeAnnotation>;
2134 IndexedAccessType: Type<namedTypes.IndexedAccessType>;
2135 OptionalIndexedAccessType: Type<namedTypes.OptionalIndexedAccessType>;
20402136 UnionTypeAnnotation: Type<namedTypes.UnionTypeAnnotation>;
20412137 IntersectionTypeAnnotation: Type<namedTypes.IntersectionTypeAnnotation>;
20422138 TypeofTypeAnnotation: Type<namedTypes.TypeofTypeAnnotation>;
20882184 StringLiteral: Type<namedTypes.StringLiteral>;
20892185 NumericLiteral: Type<namedTypes.NumericLiteral>;
20902186 BigIntLiteral: Type<namedTypes.BigIntLiteral>;
2187 DecimalLiteral: Type<namedTypes.DecimalLiteral>;
20912188 NullLiteral: Type<namedTypes.NullLiteral>;
20922189 BooleanLiteral: Type<namedTypes.BooleanLiteral>;
20932190 RegExpLiteral: Type<namedTypes.RegExpLiteral>;
2094 ObjectMethod: Type<namedTypes.ObjectMethod>;
20952191 ClassMethod: Type<namedTypes.ClassMethod>;
20962192 ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
20972193 RestProperty: Type<namedTypes.RestProperty>;
20982194 ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
20992195 Import: Type<namedTypes.Import>;
2196 V8IntrinsicIdentifier: Type<namedTypes.V8IntrinsicIdentifier>;
2197 TopicReference: Type<namedTypes.TopicReference>;
21002198 TSQualifiedName: Type<namedTypes.TSQualifiedName>;
21012199 TSTypeReference: Type<namedTypes.TSTypeReference>;
21022200 TSHasOptionalTypeParameters: Type<namedTypes.TSHasOptionalTypeParameters>;
21152213 TSUndefinedKeyword: Type<namedTypes.TSUndefinedKeyword>;
21162214 TSUnknownKeyword: Type<namedTypes.TSUnknownKeyword>;
21172215 TSVoidKeyword: Type<namedTypes.TSVoidKeyword>;
2216 TSIntrinsicKeyword: Type<namedTypes.TSIntrinsicKeyword>;
21182217 TSThisType: Type<namedTypes.TSThisType>;
21192218 TSArrayType: Type<namedTypes.TSArrayType>;
21202219 TSLiteralType: Type<namedTypes.TSLiteralType>;
4848 visitUnaryExpression?(this: Context & M, path: NodePath<namedTypes.UnaryExpression>): any;
4949 visitBinaryExpression?(this: Context & M, path: NodePath<namedTypes.BinaryExpression>): any;
5050 visitAssignmentExpression?(this: Context & M, path: NodePath<namedTypes.AssignmentExpression>): any;
51 visitChainElement?(this: Context & M, path: NodePath<namedTypes.ChainElement>): any;
5152 visitMemberExpression?(this: Context & M, path: NodePath<namedTypes.MemberExpression>): any;
5253 visitUpdateExpression?(this: Context & M, path: NodePath<namedTypes.UpdateExpression>): any;
5354 visitLogicalExpression?(this: Context & M, path: NodePath<namedTypes.LogicalExpression>): any;
9596 visitSpreadProperty?(this: Context & M, path: NodePath<namedTypes.SpreadProperty>): any;
9697 visitSpreadPropertyPattern?(this: Context & M, path: NodePath<namedTypes.SpreadPropertyPattern>): any;
9798 visitImportExpression?(this: Context & M, path: NodePath<namedTypes.ImportExpression>): any;
99 visitChainExpression?(this: Context & M, path: NodePath<namedTypes.ChainExpression>): any;
100 visitOptionalCallExpression?(this: Context & M, path: NodePath<namedTypes.OptionalCallExpression>): any;
98101 visitOptionalMemberExpression?(this: Context & M, path: NodePath<namedTypes.OptionalMemberExpression>): any;
99 visitOptionalCallExpression?(this: Context & M, path: NodePath<namedTypes.OptionalCallExpression>): any;
102 visitStaticBlock?(this: Context & M, path: NodePath<namedTypes.StaticBlock>): any;
103 visitDecorator?(this: Context & M, path: NodePath<namedTypes.Decorator>): any;
104 visitPrivateName?(this: Context & M, path: NodePath<namedTypes.PrivateName>): any;
105 visitClassPrivateProperty?(this: Context & M, path: NodePath<namedTypes.ClassPrivateProperty>): any;
106 visitImportAttribute?(this: Context & M, path: NodePath<namedTypes.ImportAttribute>): any;
107 visitRecordExpression?(this: Context & M, path: NodePath<namedTypes.RecordExpression>): any;
108 visitObjectMethod?(this: Context & M, path: NodePath<namedTypes.ObjectMethod>): any;
109 visitTupleExpression?(this: Context & M, path: NodePath<namedTypes.TupleExpression>): any;
110 visitModuleExpression?(this: Context & M, path: NodePath<namedTypes.ModuleExpression>): any;
100111 visitJSXAttribute?(this: Context & M, path: NodePath<namedTypes.JSXAttribute>): any;
101112 visitJSXIdentifier?(this: Context & M, path: NodePath<namedTypes.JSXIdentifier>): any;
102113 visitJSXNamespacedName?(this: Context & M, path: NodePath<namedTypes.JSXNamespacedName>): any;
112123 visitJSXClosingElement?(this: Context & M, path: NodePath<namedTypes.JSXClosingElement>): any;
113124 visitJSXOpeningFragment?(this: Context & M, path: NodePath<namedTypes.JSXOpeningFragment>): any;
114125 visitJSXClosingFragment?(this: Context & M, path: NodePath<namedTypes.JSXClosingFragment>): any;
115 visitDecorator?(this: Context & M, path: NodePath<namedTypes.Decorator>): any;
116 visitPrivateName?(this: Context & M, path: NodePath<namedTypes.PrivateName>): any;
117 visitClassPrivateProperty?(this: Context & M, path: NodePath<namedTypes.ClassPrivateProperty>): any;
118126 visitTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TypeParameterDeclaration>): any;
119127 visitTSTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TSTypeParameterDeclaration>): any;
120128 visitTypeParameterInstantiation?(this: Context & M, path: NodePath<namedTypes.TypeParameterInstantiation>): any;
164172 visitQualifiedTypeIdentifier?(this: Context & M, path: NodePath<namedTypes.QualifiedTypeIdentifier>): any;
165173 visitGenericTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.GenericTypeAnnotation>): any;
166174 visitMemberTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.MemberTypeAnnotation>): any;
175 visitIndexedAccessType?(this: Context & M, path: NodePath<namedTypes.IndexedAccessType>): any;
176 visitOptionalIndexedAccessType?(this: Context & M, path: NodePath<namedTypes.OptionalIndexedAccessType>): any;
167177 visitUnionTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.UnionTypeAnnotation>): any;
168178 visitIntersectionTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.IntersectionTypeAnnotation>): any;
169179 visitTypeofTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TypeofTypeAnnotation>): any;
215225 visitStringLiteral?(this: Context & M, path: NodePath<namedTypes.StringLiteral>): any;
216226 visitNumericLiteral?(this: Context & M, path: NodePath<namedTypes.NumericLiteral>): any;
217227 visitBigIntLiteral?(this: Context & M, path: NodePath<namedTypes.BigIntLiteral>): any;
228 visitDecimalLiteral?(this: Context & M, path: NodePath<namedTypes.DecimalLiteral>): any;
218229 visitNullLiteral?(this: Context & M, path: NodePath<namedTypes.NullLiteral>): any;
219230 visitBooleanLiteral?(this: Context & M, path: NodePath<namedTypes.BooleanLiteral>): any;
220231 visitRegExpLiteral?(this: Context & M, path: NodePath<namedTypes.RegExpLiteral>): any;
221 visitObjectMethod?(this: Context & M, path: NodePath<namedTypes.ObjectMethod>): any;
222232 visitClassMethod?(this: Context & M, path: NodePath<namedTypes.ClassMethod>): any;
223233 visitClassPrivateMethod?(this: Context & M, path: NodePath<namedTypes.ClassPrivateMethod>): any;
224234 visitRestProperty?(this: Context & M, path: NodePath<namedTypes.RestProperty>): any;
225235 visitForAwaitStatement?(this: Context & M, path: NodePath<namedTypes.ForAwaitStatement>): any;
226236 visitImport?(this: Context & M, path: NodePath<namedTypes.Import>): any;
237 visitV8IntrinsicIdentifier?(this: Context & M, path: NodePath<namedTypes.V8IntrinsicIdentifier>): any;
238 visitTopicReference?(this: Context & M, path: NodePath<namedTypes.TopicReference>): any;
227239 visitTSQualifiedName?(this: Context & M, path: NodePath<namedTypes.TSQualifiedName>): any;
228240 visitTSTypeReference?(this: Context & M, path: NodePath<namedTypes.TSTypeReference>): any;
229241 visitTSHasOptionalTypeParameters?(this: Context & M, path: NodePath<namedTypes.TSHasOptionalTypeParameters>): any;
242254 visitTSUndefinedKeyword?(this: Context & M, path: NodePath<namedTypes.TSUndefinedKeyword>): any;
243255 visitTSUnknownKeyword?(this: Context & M, path: NodePath<namedTypes.TSUnknownKeyword>): any;
244256 visitTSVoidKeyword?(this: Context & M, path: NodePath<namedTypes.TSVoidKeyword>): any;
257 visitTSIntrinsicKeyword?(this: Context & M, path: NodePath<namedTypes.TSIntrinsicKeyword>): any;
245258 visitTSThisType?(this: Context & M, path: NodePath<namedTypes.TSThisType>): any;
246259 visitTSArrayType?(this: Context & M, path: NodePath<namedTypes.TSArrayType>): any;
247260 visitTSLiteralType?(this: Context & M, path: NodePath<namedTypes.TSLiteralType>): any;
1010 __childCache: object | null;
1111 getValueProperty(name: any): any;
1212 get(...names: any[]): any;
13 each(callback: any, context: any): any;
14 map(callback: any, context: any): any;
15 filter(callback: any, context: any): any;
13 each(callback: any, context?: any): any;
14 map(callback: any, context?: any): any;
15 filter(callback: any, context?: any): any;
1616 shift(): any;
1717 unshift(...args: any[]): any;
1818 push(...args: any[]): any;
00 import { Fork } from "../types";
1 import { NodePath } from "./node-path";
12 import typesPlugin from "./types";
23
34 var hasOwn = Object.prototype.hasOwnProperty;
45
56 export interface Scope {
6 path: any;
7 path: NodePath;
78 node: any;
89 isGlobal: boolean;
910 depth: number;
2425 }
2526
2627 export interface ScopeConstructor {
27 new(path: any, parentScope: any): Scope;
28 new(path: NodePath, parentScope: any): Scope;
2829 isEstablishedBy(node: any): any;
2930 }
3031
3738 var isArray = types.builtInTypes.array;
3839 var b = types.builders;
3940
40 const Scope = function Scope(this: Scope, path: any, parentScope: unknown) {
41 const Scope = function Scope(this: Scope, path: NodePath, parentScope: unknown) {
4142 if (!(this instanceof Scope)) {
4243 throw new Error("Scope constructor cannot be invoked without 'new'");
4344 }
44
45 ScopeType.assert(path.value);
45 if (!TypeParameterScopeType.check(path.value)) {
46 ScopeType.assert(path.value);
47 }
4648
4749 var depth: number;
4850
6769 });
6870 } as any as ScopeConstructor;
6971
70 var scopeTypes = [
72 var ScopeType = Type.or(
7173 // Program nodes introduce global scopes.
7274 namedTypes.Program,
7375
7880 // In case you didn't know, the caught parameter shadows any variable
7981 // of the same name in an outer scope.
8082 namedTypes.CatchClause
81 ];
82
83 var ScopeType = Type.or.apply(Type, scopeTypes);
83 );
84
85 // These types introduce scopes that are restricted to type parameters in
86 // Flow (this doesn't apply to ECMAScript).
87 var TypeParameterScopeType = Type.or(
88 namedTypes.Function,
89 namedTypes.ClassDeclaration,
90 namedTypes.ClassExpression,
91 namedTypes.InterfaceDeclaration,
92 namedTypes.TSInterfaceDeclaration,
93 namedTypes.TypeAlias,
94 namedTypes.TSTypeAliasDeclaration,
95 );
96
97 var FlowOrTSTypeParameterType = Type.or(
98 namedTypes.TypeParameter,
99 namedTypes.TSTypeParameter,
100 );
84101
85102 Scope.isEstablishedBy = function(node) {
86 return ScopeType.check(node);
103 return ScopeType.check(node) || TypeParameterScopeType.check(node);
87104 };
88105
89106 var Sp: Scope = Scope.prototype;
149166 // Empty out this.bindings, just in cases.
150167 delete this.bindings[name];
151168 }
169 for (var name in this.types) {
170 // Empty out this.types, just in cases.
171 delete this.types[name];
172 }
152173 scanScope(this.path, this.bindings, this.types);
153174 this.didScan = true;
154175 }
164185 return this.types;
165186 };
166187
167 function scanScope(path: any, bindings: any, scopeTypes: any) {
188 function scanScope(path: NodePath, bindings: any, scopeTypes: any) {
168189 var node = path.value;
169 ScopeType.assert(node);
170
171 if (namedTypes.CatchClause.check(node)) {
172 // A catch clause establishes a new scope but the only variable
173 // bound in that scope is the catch parameter. Any other
174 // declarations create bindings in the outer scope.
175 var param = path.get("param");
176 if (param.value) {
177 addPattern(param, bindings);
178 }
179
180 } else {
181 recursiveScanScope(path, bindings, scopeTypes);
182 }
183 }
184
185 function recursiveScanScope(path: any, bindings: any, scopeTypes: any) {
190 if (TypeParameterScopeType.check(node)) {
191 const params = path.get('typeParameters', 'params');
192 if (isArray.check(params.value)) {
193 params.each((childPath: NodePath) => {
194 addTypeParameter(childPath, scopeTypes);
195 });
196 }
197 }
198 if (ScopeType.check(node)) {
199 if (namedTypes.CatchClause.check(node)) {
200 // A catch clause establishes a new scope but the only variable
201 // bound in that scope is the catch parameter. Any other
202 // declarations create bindings in the outer scope.
203 addPattern(path.get("param"), bindings);
204 } else {
205 recursiveScanScope(path, bindings, scopeTypes);
206 }
207 }
208 }
209
210 function recursiveScanScope(path: NodePath, bindings: any, scopeTypes: any) {
186211 var node = path.value;
187212
188213 if (path.parent &&
195220 // None of the remaining cases matter if node is falsy.
196221
197222 } else if (isArray.check(node)) {
198 path.each(function(childPath: any) {
223 path.each((childPath: NodePath) => {
199224 recursiveScanChild(childPath, bindings, scopeTypes);
200225 });
201226
202227 } else if (namedTypes.Function.check(node)) {
203 path.get("params").each(function(paramPath: any) {
228 path.get("params").each((paramPath: NodePath) => {
204229 addPattern(paramPath, bindings);
205230 });
206231
207232 recursiveScanChild(path.get("body"), bindings, scopeTypes);
233 recursiveScanScope(path.get("typeParameters"), bindings, scopeTypes);
208234
209235 } else if (
210236 (namedTypes.TypeAlias && namedTypes.TypeAlias.check(node)) ||
242268 }
243269 }
244270
245 function pathHasValue(path: any, value: any) {
271 function pathHasValue(path: NodePath, value: any) {
246272 if (path.value === value) {
247273 return true;
248274 }
259285 return false;
260286 }
261287
262 function recursiveScanChild(path: any, bindings: any, scopeTypes: any) {
288 function recursiveScanChild(path: NodePath, bindings: any, scopeTypes: any) {
263289 var node = path.value;
264290
265291 if (!node || Expression.check(node)) {
270296 addPattern(path.get("id"), bindings);
271297
272298 } else if (namedTypes.ClassDeclaration &&
273 namedTypes.ClassDeclaration.check(node)) {
299 namedTypes.ClassDeclaration.check(node) &&
300 node.id !== null) {
274301 addPattern(path.get("id"), bindings);
302 recursiveScanScope(path.get("typeParameters"), bindings, scopeTypes);
303
304 } else if (
305 (namedTypes.InterfaceDeclaration &&
306 namedTypes.InterfaceDeclaration.check(node)) ||
307 (namedTypes.TSInterfaceDeclaration &&
308 namedTypes.TSInterfaceDeclaration.check(node))
309 ) {
310 addTypePattern(path.get("id"), scopeTypes);
275311
276312 } else if (ScopeType.check(node)) {
277313 if (
301337 }
302338 }
303339
304 function addPattern(patternPath: any, bindings: any) {
340 function addPattern(patternPath: NodePath, bindings: any) {
305341 var pattern = patternPath.value;
306342 namedTypes.Pattern.assert(pattern);
307343
316352 namedTypes.AssignmentPattern.check(pattern)) {
317353 addPattern(patternPath.get('left'), bindings);
318354
319 } else if (namedTypes.ObjectPattern &&
320 namedTypes.ObjectPattern.check(pattern)) {
355 } else if (
356 namedTypes.ObjectPattern &&
357 namedTypes.ObjectPattern.check(pattern)
358 ) {
321359 patternPath.get('properties').each(function(propertyPath: any) {
322360 var property = propertyPath.value;
323361 if (namedTypes.Pattern.check(property)) {
324362 addPattern(propertyPath, bindings);
325 } else if (namedTypes.Property.check(property)) {
363 } else if (
364 namedTypes.Property.check(property) ||
365 (namedTypes.ObjectProperty &&
366 namedTypes.ObjectProperty.check(property))
367 ) {
326368 addPattern(propertyPath.get('value'), bindings);
327 } else if (namedTypes.SpreadProperty &&
328 namedTypes.SpreadProperty.check(property)) {
369 } else if (
370 namedTypes.SpreadProperty &&
371 namedTypes.SpreadProperty.check(property)
372 ) {
329373 addPattern(propertyPath.get('argument'), bindings);
330374 }
331375 });
332376
333 } else if (namedTypes.ArrayPattern &&
334 namedTypes.ArrayPattern.check(pattern)) {
377 } else if (
378 namedTypes.ArrayPattern &&
379 namedTypes.ArrayPattern.check(pattern)
380 ) {
335381 patternPath.get('elements').each(function(elementPath: any) {
336382 var element = elementPath.value;
337383 if (namedTypes.Pattern.check(element)) {
338384 addPattern(elementPath, bindings);
339 } else if (namedTypes.SpreadElement &&
340 namedTypes.SpreadElement.check(element)) {
385 } else if (
386 namedTypes.SpreadElement &&
387 namedTypes.SpreadElement.check(element)
388 ) {
341389 addPattern(elementPath.get("argument"), bindings);
342390 }
343391 });
344392
345 } else if (namedTypes.PropertyPattern &&
346 namedTypes.PropertyPattern.check(pattern)) {
393 } else if (
394 namedTypes.PropertyPattern &&
395 namedTypes.PropertyPattern.check(pattern)
396 ) {
347397 addPattern(patternPath.get('pattern'), bindings);
348398
349 } else if ((namedTypes.SpreadElementPattern &&
350 namedTypes.SpreadElementPattern.check(pattern)) ||
399 } else if (
400 (namedTypes.SpreadElementPattern &&
401 namedTypes.SpreadElementPattern.check(pattern)) ||
402 (namedTypes.RestElement &&
403 namedTypes.RestElement.check(pattern)) ||
351404 (namedTypes.SpreadPropertyPattern &&
352 namedTypes.SpreadPropertyPattern.check(pattern))) {
405 namedTypes.SpreadPropertyPattern.check(pattern))
406 ) {
353407 addPattern(patternPath.get('argument'), bindings);
354408 }
355409 }
356410
357 function addTypePattern(patternPath: any, types: any) {
411 function addTypePattern(patternPath: NodePath, types: any) {
358412 var pattern = patternPath.value;
359413 namedTypes.Pattern.assert(pattern);
360414
364418 } else {
365419 types[pattern.name] = [patternPath];
366420 }
367
421 }
422 }
423
424 function addTypeParameter(parameterPath: NodePath, types: any) {
425 var parameter = parameterPath.value;
426 FlowOrTSTypeParameterType.assert(parameter);
427
428 if (hasOwn.call(types, parameter.name)) {
429 types[parameter.name].push(parameterPath);
430 } else {
431 types[parameter.name] = [parameterPath];
368432 }
369433 }
370434
00 import fork from "./fork";
1 import coreDef from "./def/core";
2 import es6Def from "./def/es6";
3 import es2016Def from "./def/es2016";
4 import es2017Def from "./def/es2017";
5 import es2018Def from "./def/es2018";
6 import es2019Def from "./def/es2019";
7 import es2020Def from "./def/es2020";
1 import esProposalsDef from "./def/es-proposals";
82 import jsxDef from "./def/jsx";
93 import flowDef from "./def/flow";
104 import esprimaDef from "./def/esprima";
115 import babelDef from "./def/babel";
126 import typescriptDef from "./def/typescript";
13 import esProposalsDef from "./def/es-proposals";
147 import { ASTNode, Type, AnyType, Field } from "./lib/types";
158 import { NodePath } from "./lib/node-path";
169 import { namedTypes } from "./gen/namedTypes";
3730 use,
3831 visit,
3932 } = fork([
40 // This core module of AST types captures ES5 as it is parsed today by
41 // git://github.com/ariya/esprima.git#master.
42 coreDef,
43
4433 // Feel free to add to or remove from this list of extension modules to
4534 // configure the precise type hierarchy that you need.
46 es6Def,
47 es2016Def,
48 es2017Def,
49 es2018Def,
50 es2019Def,
51 es2020Def,
35 esProposalsDef,
5236 jsxDef,
5337 flowDef,
5438 esprimaDef,
5539 babelDef,
5640 typescriptDef,
57 esProposalsDef,
5841 ]);
5942
6043 // Populate the exported fields of the namedTypes namespace, while still
00 {
11 "name": "ast-types",
2 "version": "0.14.1",
3 "lockfileVersion": 1,
2 "version": "0.15.1",
3 "lockfileVersion": 2,
44 "requires": true,
5 "dependencies": {
6 "@babel/parser": {
7 "version": "7.11.4",
8 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.4.tgz",
9 "integrity": "sha512-MggwidiH+E9j5Sh8pbrX5sJvMcsqS5o+7iB42M9/k0CD63MjYbdP4nhSh7uB5wnv2/RVzTZFTxzF/kIa5mrCqA==",
10 "dev": true
11 },
12 "@babel/types": {
13 "version": "7.4.4",
14 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz",
15 "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==",
16 "dev": true,
17 "requires": {
18 "esutils": "^2.0.2",
19 "lodash": "^4.17.11",
5 "packages": {
6 "": {
7 "name": "ast-types",
8 "version": "0.15.1",
9 "license": "MIT",
10 "dependencies": {
11 "tslib": "^2.0.1"
12 },
13 "devDependencies": {
14 "@babel/parser": "7.16.4",
15 "@babel/types": "7.16.0",
16 "@types/esprima": "4.0.3",
17 "@types/glob": "7.2.0",
18 "@types/mocha": "9.0.0",
19 "@types/node": "16.11.10",
20 "espree": "9.1.0",
21 "esprima": "4.0.1",
22 "esprima-fb": "15001.1001.0-dev-harmony-fb",
23 "flow-parser": "0.165.1",
24 "glob": "7.2.0",
25 "mocha": "^9.1.3",
26 "recast": "0.20.5",
27 "reify": "0.20.12",
28 "ts-add-module-exports": "1.0.0",
29 "ts-emit-clean": "1.0.0",
30 "ts-node": "10.4.0",
31 "typescript": "4.5.2"
32 },
33 "engines": {
34 "node": ">=4"
35 }
36 },
37 "node_modules/@babel/helper-validator-identifier": {
38 "version": "7.15.7",
39 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
40 "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
41 "dev": true,
42 "engines": {
43 "node": ">=6.9.0"
44 }
45 },
46 "node_modules/@babel/parser": {
47 "version": "7.16.4",
48 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
49 "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
50 "dev": true,
51 "bin": {
52 "parser": "bin/babel-parser.js"
53 },
54 "engines": {
55 "node": ">=6.0.0"
56 }
57 },
58 "node_modules/@babel/types": {
59 "version": "7.16.0",
60 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
61 "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
62 "dev": true,
63 "dependencies": {
64 "@babel/helper-validator-identifier": "^7.15.7",
2065 "to-fast-properties": "^2.0.0"
21 }
22 },
23 "@types/esprima": {
24 "version": "4.0.2",
25 "resolved": "https://registry.npmjs.org/@types/esprima/-/esprima-4.0.2.tgz",
26 "integrity": "sha512-DKqdyuy7Go7ir6iKhZ0jUvgt/h9Q5zb9xS+fLeeXD2QSHv8gC6TimgujBBGfw8dHrpx4+u2HlMv7pkYOOfuUqg==",
27 "dev": true,
28 "requires": {
66 },
67 "engines": {
68 "node": ">=6.9.0"
69 }
70 },
71 "node_modules/@cspotcode/source-map-consumer": {
72 "version": "0.8.0",
73 "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
74 "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
75 "dev": true,
76 "engines": {
77 "node": ">= 12"
78 }
79 },
80 "node_modules/@cspotcode/source-map-support": {
81 "version": "0.7.0",
82 "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
83 "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
84 "dev": true,
85 "dependencies": {
86 "@cspotcode/source-map-consumer": "0.8.0"
87 },
88 "engines": {
89 "node": ">=12"
90 }
91 },
92 "node_modules/@tsconfig/node10": {
93 "version": "1.0.8",
94 "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
95 "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
96 "dev": true
97 },
98 "node_modules/@tsconfig/node12": {
99 "version": "1.0.9",
100 "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
101 "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
102 "dev": true
103 },
104 "node_modules/@tsconfig/node14": {
105 "version": "1.0.1",
106 "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
107 "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
108 "dev": true
109 },
110 "node_modules/@tsconfig/node16": {
111 "version": "1.0.2",
112 "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
113 "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
114 "dev": true
115 },
116 "node_modules/@types/color-name": {
117 "version": "1.1.1",
118 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
119 "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
120 "dev": true
121 },
122 "node_modules/@types/esprima": {
123 "version": "4.0.3",
124 "resolved": "https://registry.npmjs.org/@types/esprima/-/esprima-4.0.3.tgz",
125 "integrity": "sha512-jo14dIWVVtF0iMsKkYek6++4cWJjwpvog+rchLulwgFJGTXqIeTdCOvY0B3yMLTaIwMcKCdJ6mQbSR6wYHy98A==",
126 "dev": true,
127 "dependencies": {
29128 "@types/estree": "*"
30129 }
31130 },
32 "@types/estree": {
131 "node_modules/@types/estree": {
33132 "version": "0.0.45",
34133 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz",
35134 "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
36135 "dev": true
37136 },
38 "@types/glob": {
39 "version": "7.1.3",
40 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
41 "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
42 "dev": true,
43 "requires": {
137 "node_modules/@types/glob": {
138 "version": "7.2.0",
139 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
140 "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
141 "dev": true,
142 "dependencies": {
44143 "@types/minimatch": "*",
45144 "@types/node": "*"
46145 }
47146 },
48 "@types/minimatch": {
147 "node_modules/@types/minimatch": {
49148 "version": "3.0.3",
50149 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
51150 "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
52151 "dev": true
53152 },
54 "@types/mocha": {
55 "version": "8.0.3",
56 "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.3.tgz",
57 "integrity": "sha512-vyxR57nv8NfcU0GZu8EUXZLTbCMupIUwy95LJ6lllN+JRPG25CwMHoB1q5xKh8YKhQnHYRAn4yW2yuHbf/5xgg==",
58 "dev": true
59 },
60 "@types/node": {
61 "version": "12.0.0",
62 "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz",
63 "integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==",
64 "dev": true
65 },
66 "acorn": {
67 "version": "7.4.0",
68 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
69 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
70 "dev": true
71 },
72 "acorn-dynamic-import": {
153 "node_modules/@types/mocha": {
154 "version": "9.0.0",
155 "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz",
156 "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==",
157 "dev": true
158 },
159 "node_modules/@types/node": {
160 "version": "16.11.10",
161 "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
162 "integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
163 "dev": true
164 },
165 "node_modules/@ungap/promise-all-settled": {
166 "version": "1.1.2",
167 "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
168 "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
169 "dev": true
170 },
171 "node_modules/acorn": {
172 "version": "6.4.2",
173 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
174 "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
175 "dev": true,
176 "bin": {
177 "acorn": "bin/acorn"
178 },
179 "engines": {
180 "node": ">=0.4.0"
181 }
182 },
183 "node_modules/acorn-dynamic-import": {
73184 "version": "4.0.0",
74185 "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
75186 "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
76 "dev": true
77 },
78 "acorn-jsx": {
79 "version": "5.2.0",
80 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
81 "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
82 "dev": true
83 },
84 "ansi-colors": {
187 "dev": true,
188 "peerDependencies": {
189 "acorn": "^6.0.0"
190 }
191 },
192 "node_modules/acorn-jsx": {
193 "version": "5.3.2",
194 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
195 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
196 "dev": true,
197 "peerDependencies": {
198 "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
199 }
200 },
201 "node_modules/acorn-walk": {
202 "version": "8.2.0",
203 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
204 "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
205 "dev": true,
206 "engines": {
207 "node": ">=0.4.0"
208 }
209 },
210 "node_modules/ansi-colors": {
85211 "version": "4.1.1",
86212 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
87213 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
88 "dev": true
89 },
90 "ansi-regex": {
91 "version": "3.0.0",
92 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
93 "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
94 "dev": true
95 },
96 "ansi-styles": {
97 "version": "3.2.1",
98 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
99 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
100 "dev": true,
101 "requires": {
102 "color-convert": "^1.9.0"
103 }
104 },
105 "anymatch": {
106 "version": "3.1.1",
107 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
108 "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
109 "dev": true,
110 "requires": {
214 "dev": true,
215 "engines": {
216 "node": ">=6"
217 }
218 },
219 "node_modules/ansi-styles": {
220 "version": "4.2.1",
221 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
222 "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
223 "dev": true,
224 "dependencies": {
225 "@types/color-name": "^1.1.1",
226 "color-convert": "^2.0.1"
227 },
228 "engines": {
229 "node": ">=8"
230 },
231 "funding": {
232 "url": "https://github.com/chalk/ansi-styles?sponsor=1"
233 }
234 },
235 "node_modules/anymatch": {
236 "version": "3.1.2",
237 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
238 "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
239 "dev": true,
240 "dependencies": {
111241 "normalize-path": "^3.0.0",
112242 "picomatch": "^2.0.4"
113 }
114 },
115 "argparse": {
116 "version": "1.0.10",
117 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
118 "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
119 "dev": true,
120 "requires": {
121 "sprintf-js": "~1.0.2"
122 }
123 },
124 "array.prototype.map": {
125 "version": "1.0.2",
126 "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz",
127 "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==",
128 "dev": true,
129 "requires": {
130 "define-properties": "^1.1.3",
131 "es-abstract": "^1.17.0-next.1",
132 "es-array-method-boxes-properly": "^1.0.0",
133 "is-string": "^1.0.4"
134 }
135 },
136 "arrify": {
137 "version": "1.0.1",
138 "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
139 "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
140 "dev": true
141 },
142 "ast-types": {
143 "version": "0.13.4",
144 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
145 "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
146 "dev": true,
147 "requires": {
243 },
244 "engines": {
245 "node": ">= 8"
246 }
247 },
248 "node_modules/arg": {
249 "version": "4.1.3",
250 "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
251 "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
252 "dev": true
253 },
254 "node_modules/argparse": {
255 "version": "2.0.1",
256 "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
257 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
258 "dev": true
259 },
260 "node_modules/ast-types": {
261 "version": "0.14.2",
262 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz",
263 "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==",
264 "dev": true,
265 "dependencies": {
148266 "tslib": "^2.0.1"
149 }
150 },
151 "balanced-match": {
267 },
268 "engines": {
269 "node": ">=4"
270 }
271 },
272 "node_modules/balanced-match": {
152273 "version": "1.0.0",
153274 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
154275 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
155276 "dev": true
156277 },
157 "binary-extensions": {
158 "version": "2.1.0",
159 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
160 "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
161 "dev": true
162 },
163 "brace-expansion": {
278 "node_modules/binary-extensions": {
279 "version": "2.2.0",
280 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
281 "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
282 "dev": true,
283 "engines": {
284 "node": ">=8"
285 }
286 },
287 "node_modules/brace-expansion": {
164288 "version": "1.1.11",
165289 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
166290 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
167291 "dev": true,
168 "requires": {
292 "dependencies": {
169293 "balanced-match": "^1.0.0",
170294 "concat-map": "0.0.1"
171295 }
172296 },
173 "braces": {
297 "node_modules/braces": {
174298 "version": "3.0.2",
175299 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
176300 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
177301 "dev": true,
178 "requires": {
302 "dependencies": {
179303 "fill-range": "^7.0.1"
180 }
181 },
182 "browser-stdout": {
304 },
305 "engines": {
306 "node": ">=8"
307 }
308 },
309 "node_modules/browser-stdout": {
183310 "version": "1.3.1",
184311 "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
185312 "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
186313 "dev": true
187314 },
188 "buffer-from": {
189 "version": "1.1.1",
190 "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
191 "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
192 "dev": true
193 },
194 "camelcase": {
195 "version": "5.3.1",
196 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
197 "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
198 "dev": true
199 },
200 "chalk": {
201 "version": "2.4.2",
202 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
203 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
204 "dev": true,
205 "requires": {
206 "ansi-styles": "^3.2.1",
207 "escape-string-regexp": "^1.0.5",
208 "supports-color": "^5.3.0"
209 },
210 "dependencies": {
211 "supports-color": {
212 "version": "5.5.0",
213 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
214 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
215 "dev": true,
216 "requires": {
217 "has-flag": "^3.0.0"
218 }
219 }
220 }
221 },
222 "chokidar": {
223 "version": "3.3.1",
224 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
225 "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
226 "dev": true,
227 "requires": {
228 "anymatch": "~3.1.1",
315 "node_modules/camelcase": {
316 "version": "6.2.1",
317 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
318 "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
319 "dev": true,
320 "engines": {
321 "node": ">=10"
322 },
323 "funding": {
324 "url": "https://github.com/sponsors/sindresorhus"
325 }
326 },
327 "node_modules/chalk": {
328 "version": "4.1.2",
329 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
330 "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
331 "dev": true,
332 "dependencies": {
333 "ansi-styles": "^4.1.0",
334 "supports-color": "^7.1.0"
335 },
336 "engines": {
337 "node": ">=10"
338 },
339 "funding": {
340 "url": "https://github.com/chalk/chalk?sponsor=1"
341 }
342 },
343 "node_modules/chokidar": {
344 "version": "3.5.2",
345 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
346 "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
347 "dev": true,
348 "dependencies": {
349 "anymatch": "~3.1.2",
229350 "braces": "~3.0.2",
230 "fsevents": "~2.1.2",
231 "glob-parent": "~5.1.0",
351 "glob-parent": "~5.1.2",
232352 "is-binary-path": "~2.1.0",
233353 "is-glob": "~4.0.1",
234354 "normalize-path": "~3.0.0",
235 "readdirp": "~3.3.0"
236 }
237 },
238 "cliui": {
239 "version": "5.0.0",
240 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
241 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
242 "dev": true,
243 "requires": {
244 "string-width": "^3.1.0",
245 "strip-ansi": "^5.2.0",
246 "wrap-ansi": "^5.1.0"
247 },
248 "dependencies": {
249 "ansi-regex": {
250 "version": "4.1.0",
251 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
252 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
253 "dev": true
254 },
255 "string-width": {
256 "version": "3.1.0",
257 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
258 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
259 "dev": true,
260 "requires": {
261 "emoji-regex": "^7.0.1",
262 "is-fullwidth-code-point": "^2.0.0",
263 "strip-ansi": "^5.1.0"
264 }
265 },
266 "strip-ansi": {
267 "version": "5.2.0",
268 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
269 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
270 "dev": true,
271 "requires": {
272 "ansi-regex": "^4.1.0"
273 }
274 }
275 }
276 },
277 "color-convert": {
278 "version": "1.9.3",
279 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
280 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
281 "dev": true,
282 "requires": {
283 "color-name": "1.1.3"
284 }
285 },
286 "color-name": {
287 "version": "1.1.3",
288 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
289 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
290 "dev": true
291 },
292 "concat-map": {
355 "readdirp": "~3.6.0"
356 },
357 "engines": {
358 "node": ">= 8.10.0"
359 },
360 "optionalDependencies": {
361 "fsevents": "~2.3.2"
362 }
363 },
364 "node_modules/cliui": {
365 "version": "7.0.4",
366 "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
367 "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
368 "dev": true,
369 "dependencies": {
370 "string-width": "^4.2.0",
371 "strip-ansi": "^6.0.0",
372 "wrap-ansi": "^7.0.0"
373 }
374 },
375 "node_modules/cliui/node_modules/ansi-regex": {
376 "version": "5.0.1",
377 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
378 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
379 "dev": true,
380 "engines": {
381 "node": ">=8"
382 }
383 },
384 "node_modules/cliui/node_modules/is-fullwidth-code-point": {
385 "version": "3.0.0",
386 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
387 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
388 "dev": true,
389 "engines": {
390 "node": ">=8"
391 }
392 },
393 "node_modules/cliui/node_modules/string-width": {
394 "version": "4.2.3",
395 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
396 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
397 "dev": true,
398 "dependencies": {
399 "emoji-regex": "^8.0.0",
400 "is-fullwidth-code-point": "^3.0.0",
401 "strip-ansi": "^6.0.1"
402 },
403 "engines": {
404 "node": ">=8"
405 }
406 },
407 "node_modules/cliui/node_modules/strip-ansi": {
408 "version": "6.0.1",
409 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
410 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
411 "dev": true,
412 "dependencies": {
413 "ansi-regex": "^5.0.1"
414 },
415 "engines": {
416 "node": ">=8"
417 }
418 },
419 "node_modules/color-convert": {
420 "version": "2.0.1",
421 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
422 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
423 "dev": true,
424 "dependencies": {
425 "color-name": "~1.1.4"
426 },
427 "engines": {
428 "node": ">=7.0.0"
429 }
430 },
431 "node_modules/color-name": {
432 "version": "1.1.4",
433 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
434 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
435 "dev": true
436 },
437 "node_modules/concat-map": {
293438 "version": "0.0.1",
294439 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
295440 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
296441 "dev": true
297442 },
298 "debug": {
299 "version": "3.2.6",
300 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
301 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
302 "dev": true,
303 "requires": {
304 "ms": "^2.1.1"
305 }
306 },
307 "decamelize": {
308 "version": "1.2.0",
309 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
310 "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
311 "dev": true
312 },
313 "define-properties": {
314 "version": "1.1.3",
315 "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
316 "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
317 "dev": true,
318 "requires": {
319 "object-keys": "^1.0.12"
320 }
321 },
322 "diff": {
323 "version": "3.5.0",
324 "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
325 "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
326 "dev": true
327 },
328 "emoji-regex": {
329 "version": "7.0.3",
330 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
331 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
332 "dev": true
333 },
334 "es-abstract": {
335 "version": "1.17.6",
336 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
337 "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
338 "dev": true,
339 "requires": {
340 "es-to-primitive": "^1.2.1",
341 "function-bind": "^1.1.1",
342 "has": "^1.0.3",
343 "has-symbols": "^1.0.1",
344 "is-callable": "^1.2.0",
345 "is-regex": "^1.1.0",
346 "object-inspect": "^1.7.0",
347 "object-keys": "^1.1.1",
348 "object.assign": "^4.1.0",
349 "string.prototype.trimend": "^1.0.1",
350 "string.prototype.trimstart": "^1.0.1"
351 }
352 },
353 "es-array-method-boxes-properly": {
354 "version": "1.0.0",
355 "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
356 "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==",
357 "dev": true
358 },
359 "es-get-iterator": {
360 "version": "1.1.0",
361 "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz",
362 "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==",
363 "dev": true,
364 "requires": {
365 "es-abstract": "^1.17.4",
366 "has-symbols": "^1.0.1",
367 "is-arguments": "^1.0.4",
368 "is-map": "^2.0.1",
369 "is-set": "^2.0.1",
370 "is-string": "^1.0.5",
371 "isarray": "^2.0.5"
372 }
373 },
374 "es-to-primitive": {
375 "version": "1.2.1",
376 "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
377 "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
378 "dev": true,
379 "requires": {
380 "is-callable": "^1.1.4",
381 "is-date-object": "^1.0.1",
382 "is-symbol": "^1.0.2"
383 }
384 },
385 "escape-string-regexp": {
386 "version": "1.0.5",
387 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
388 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
389 "dev": true
390 },
391 "eslint-visitor-keys": {
392 "version": "1.3.0",
393 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
394 "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
395 "dev": true
396 },
397 "espree": {
398 "version": "7.3.0",
399 "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
400 "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
401 "dev": true,
402 "requires": {
403 "acorn": "^7.4.0",
404 "acorn-jsx": "^5.2.0",
405 "eslint-visitor-keys": "^1.3.0"
406 }
407 },
408 "esprima": {
443 "node_modules/create-require": {
444 "version": "1.1.1",
445 "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
446 "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
447 "dev": true
448 },
449 "node_modules/debug": {
450 "version": "4.3.2",
451 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
452 "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
453 "dev": true,
454 "dependencies": {
455 "ms": "2.1.2"
456 },
457 "engines": {
458 "node": ">=6.0"
459 },
460 "peerDependenciesMeta": {
461 "supports-color": {
462 "optional": true
463 }
464 }
465 },
466 "node_modules/debug/node_modules/ms": {
467 "version": "2.1.2",
468 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
469 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
470 "dev": true
471 },
472 "node_modules/decamelize": {
473 "version": "4.0.0",
474 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
475 "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
476 "dev": true,
477 "engines": {
478 "node": ">=10"
479 },
480 "funding": {
481 "url": "https://github.com/sponsors/sindresorhus"
482 }
483 },
484 "node_modules/diff": {
485 "version": "4.0.2",
486 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
487 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
488 "dev": true,
489 "engines": {
490 "node": ">=0.3.1"
491 }
492 },
493 "node_modules/emoji-regex": {
494 "version": "8.0.0",
495 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
496 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
497 "dev": true
498 },
499 "node_modules/escalade": {
500 "version": "3.1.1",
501 "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
502 "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
503 "dev": true,
504 "engines": {
505 "node": ">=6"
506 }
507 },
508 "node_modules/escape-string-regexp": {
509 "version": "4.0.0",
510 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
511 "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
512 "dev": true,
513 "engines": {
514 "node": ">=10"
515 },
516 "funding": {
517 "url": "https://github.com/sponsors/sindresorhus"
518 }
519 },
520 "node_modules/eslint-visitor-keys": {
521 "version": "3.1.0",
522 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
523 "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
524 "dev": true,
525 "engines": {
526 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
527 }
528 },
529 "node_modules/espree": {
530 "version": "9.1.0",
531 "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
532 "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
533 "dev": true,
534 "dependencies": {
535 "acorn": "^8.6.0",
536 "acorn-jsx": "^5.3.1",
537 "eslint-visitor-keys": "^3.1.0"
538 },
539 "engines": {
540 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
541 }
542 },
543 "node_modules/espree/node_modules/acorn": {
544 "version": "8.6.0",
545 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
546 "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
547 "dev": true,
548 "bin": {
549 "acorn": "bin/acorn"
550 },
551 "engines": {
552 "node": ">=0.4.0"
553 }
554 },
555 "node_modules/esprima": {
409556 "version": "4.0.1",
410557 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
411558 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
412 "dev": true
413 },
414 "esprima-fb": {
559 "dev": true,
560 "bin": {
561 "esparse": "bin/esparse.js",
562 "esvalidate": "bin/esvalidate.js"
563 },
564 "engines": {
565 "node": ">=4"
566 }
567 },
568 "node_modules/esprima-fb": {
415569 "version": "15001.1001.0-dev-harmony-fb",
416570 "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
417571 "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=",
418 "dev": true
419 },
420 "esutils": {
421 "version": "2.0.3",
422 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
423 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
424 "dev": true
425 },
426 "fill-range": {
572 "dev": true,
573 "bin": {
574 "esparse": "bin/esparse.js",
575 "esvalidate": "bin/esvalidate.js"
576 },
577 "engines": {
578 "node": ">=0.4.0"
579 }
580 },
581 "node_modules/fill-range": {
427582 "version": "7.0.1",
428583 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
429584 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
430585 "dev": true,
431 "requires": {
586 "dependencies": {
432587 "to-regex-range": "^5.0.1"
433 }
434 },
435 "find-up": {
436 "version": "4.1.0",
437 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
438 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
439 "dev": true,
440 "requires": {
441 "locate-path": "^5.0.0",
588 },
589 "engines": {
590 "node": ">=8"
591 }
592 },
593 "node_modules/find-up": {
594 "version": "5.0.0",
595 "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
596 "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
597 "dev": true,
598 "dependencies": {
599 "locate-path": "^6.0.0",
442600 "path-exists": "^4.0.0"
443 }
444 },
445 "flat": {
446 "version": "4.1.0",
447 "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz",
448 "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==",
449 "dev": true,
450 "requires": {
451 "is-buffer": "~2.0.3"
452 }
453 },
454 "flow-parser": {
455 "version": "0.132.0",
456 "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.132.0.tgz",
457 "integrity": "sha512-y1P37zDCPSdphlk+w+roCqcOar6iQdNaAJldJ6xx5/2r4ZRv4KHO+qL+AXwPWp+34eN+oPxPjWnU7GybJnyISQ==",
458 "dev": true
459 },
460 "fs.realpath": {
601 },
602 "engines": {
603 "node": ">=10"
604 },
605 "funding": {
606 "url": "https://github.com/sponsors/sindresorhus"
607 }
608 },
609 "node_modules/flat": {
610 "version": "5.0.2",
611 "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
612 "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
613 "dev": true,
614 "bin": {
615 "flat": "cli.js"
616 }
617 },
618 "node_modules/flow-parser": {
619 "version": "0.165.1",
620 "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.165.1.tgz",
621 "integrity": "sha512-vz/5MZIePDCZO9FfnRaH398cc+XSwtgoUzR6pC5zbekpk5ttCaXOnxypho+hb0NzUyQNFV+6vpU8joRZ1llrCw==",
622 "dev": true,
623 "engines": {
624 "node": ">=0.4.0"
625 }
626 },
627 "node_modules/fs.realpath": {
461628 "version": "1.0.0",
462629 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
463630 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
464631 "dev": true
465632 },
466 "fsevents": {
467 "version": "2.1.3",
468 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
469 "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
470 "dev": true,
471 "optional": true
472 },
473 "function-bind": {
474 "version": "1.1.1",
475 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
476 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
477 "dev": true
478 },
479 "get-caller-file": {
633 "node_modules/fsevents": {
634 "version": "2.3.2",
635 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
636 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
637 "dev": true,
638 "hasInstallScript": true,
639 "optional": true,
640 "os": [
641 "darwin"
642 ],
643 "engines": {
644 "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
645 }
646 },
647 "node_modules/get-caller-file": {
480648 "version": "2.0.5",
481649 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
482650 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
483 "dev": true
484 },
485 "glob": {
486 "version": "7.1.6",
487 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
488 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
489 "dev": true,
490 "requires": {
651 "dev": true,
652 "engines": {
653 "node": "6.* || 8.* || >= 10.*"
654 }
655 },
656 "node_modules/glob": {
657 "version": "7.2.0",
658 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
659 "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
660 "dev": true,
661 "dependencies": {
491662 "fs.realpath": "^1.0.0",
492663 "inflight": "^1.0.4",
493664 "inherits": "2",
494665 "minimatch": "^3.0.4",
495666 "once": "^1.3.0",
496667 "path-is-absolute": "^1.0.0"
668 },
669 "engines": {
670 "node": "*"
671 },
672 "funding": {
673 "url": "https://github.com/sponsors/isaacs"
674 }
675 },
676 "node_modules/glob-parent": {
677 "version": "5.1.2",
678 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
679 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
680 "dev": true,
681 "dependencies": {
682 "is-glob": "^4.0.1"
683 },
684 "engines": {
685 "node": ">= 6"
686 }
687 },
688 "node_modules/growl": {
689 "version": "1.10.5",
690 "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
691 "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
692 "dev": true,
693 "engines": {
694 "node": ">=4.x"
695 }
696 },
697 "node_modules/has-flag": {
698 "version": "4.0.0",
699 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
700 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
701 "dev": true,
702 "engines": {
703 "node": ">=8"
704 }
705 },
706 "node_modules/he": {
707 "version": "1.2.0",
708 "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
709 "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
710 "dev": true,
711 "bin": {
712 "he": "bin/he"
713 }
714 },
715 "node_modules/inflight": {
716 "version": "1.0.6",
717 "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
718 "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
719 "dev": true,
720 "dependencies": {
721 "once": "^1.3.0",
722 "wrappy": "1"
723 }
724 },
725 "node_modules/inherits": {
726 "version": "2.0.4",
727 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
728 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
729 "dev": true
730 },
731 "node_modules/is-binary-path": {
732 "version": "2.1.0",
733 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
734 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
735 "dev": true,
736 "dependencies": {
737 "binary-extensions": "^2.0.0"
738 },
739 "engines": {
740 "node": ">=8"
741 }
742 },
743 "node_modules/is-extglob": {
744 "version": "2.1.1",
745 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
746 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
747 "dev": true,
748 "engines": {
749 "node": ">=0.10.0"
750 }
751 },
752 "node_modules/is-glob": {
753 "version": "4.0.3",
754 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
755 "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
756 "dev": true,
757 "dependencies": {
758 "is-extglob": "^2.1.1"
759 },
760 "engines": {
761 "node": ">=0.10.0"
762 }
763 },
764 "node_modules/is-number": {
765 "version": "7.0.0",
766 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
767 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
768 "dev": true,
769 "engines": {
770 "node": ">=0.12.0"
771 }
772 },
773 "node_modules/is-plain-obj": {
774 "version": "2.1.0",
775 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
776 "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
777 "dev": true,
778 "engines": {
779 "node": ">=8"
780 }
781 },
782 "node_modules/is-unicode-supported": {
783 "version": "0.1.0",
784 "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
785 "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
786 "dev": true,
787 "engines": {
788 "node": ">=10"
789 },
790 "funding": {
791 "url": "https://github.com/sponsors/sindresorhus"
792 }
793 },
794 "node_modules/isexe": {
795 "version": "2.0.0",
796 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
797 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
798 "dev": true
799 },
800 "node_modules/js-yaml": {
801 "version": "4.1.0",
802 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
803 "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
804 "dev": true,
805 "dependencies": {
806 "argparse": "^2.0.1"
807 },
808 "bin": {
809 "js-yaml": "bin/js-yaml.js"
810 }
811 },
812 "node_modules/locate-path": {
813 "version": "6.0.0",
814 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
815 "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
816 "dev": true,
817 "dependencies": {
818 "p-locate": "^5.0.0"
819 },
820 "engines": {
821 "node": ">=10"
822 },
823 "funding": {
824 "url": "https://github.com/sponsors/sindresorhus"
825 }
826 },
827 "node_modules/log-symbols": {
828 "version": "4.1.0",
829 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
830 "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
831 "dev": true,
832 "dependencies": {
833 "chalk": "^4.1.0",
834 "is-unicode-supported": "^0.1.0"
835 },
836 "engines": {
837 "node": ">=10"
838 },
839 "funding": {
840 "url": "https://github.com/sponsors/sindresorhus"
841 }
842 },
843 "node_modules/magic-string": {
844 "version": "0.25.7",
845 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
846 "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
847 "dev": true,
848 "dependencies": {
849 "sourcemap-codec": "^1.4.4"
850 }
851 },
852 "node_modules/make-error": {
853 "version": "1.3.6",
854 "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
855 "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
856 "dev": true
857 },
858 "node_modules/minimatch": {
859 "version": "3.0.4",
860 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
861 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
862 "dev": true,
863 "dependencies": {
864 "brace-expansion": "^1.1.7"
865 },
866 "engines": {
867 "node": "*"
868 }
869 },
870 "node_modules/mocha": {
871 "version": "9.1.3",
872 "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
873 "integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==",
874 "dev": true,
875 "dependencies": {
876 "@ungap/promise-all-settled": "1.1.2",
877 "ansi-colors": "4.1.1",
878 "browser-stdout": "1.3.1",
879 "chokidar": "3.5.2",
880 "debug": "4.3.2",
881 "diff": "5.0.0",
882 "escape-string-regexp": "4.0.0",
883 "find-up": "5.0.0",
884 "glob": "7.1.7",
885 "growl": "1.10.5",
886 "he": "1.2.0",
887 "js-yaml": "4.1.0",
888 "log-symbols": "4.1.0",
889 "minimatch": "3.0.4",
890 "ms": "2.1.3",
891 "nanoid": "3.1.25",
892 "serialize-javascript": "6.0.0",
893 "strip-json-comments": "3.1.1",
894 "supports-color": "8.1.1",
895 "which": "2.0.2",
896 "workerpool": "6.1.5",
897 "yargs": "16.2.0",
898 "yargs-parser": "20.2.4",
899 "yargs-unparser": "2.0.0"
900 },
901 "bin": {
902 "_mocha": "bin/_mocha",
903 "mocha": "bin/mocha"
904 },
905 "engines": {
906 "node": ">= 12.0.0"
907 },
908 "funding": {
909 "type": "opencollective",
910 "url": "https://opencollective.com/mochajs"
911 }
912 },
913 "node_modules/mocha/node_modules/diff": {
914 "version": "5.0.0",
915 "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
916 "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
917 "dev": true,
918 "engines": {
919 "node": ">=0.3.1"
920 }
921 },
922 "node_modules/mocha/node_modules/glob": {
923 "version": "7.1.7",
924 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
925 "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
926 "dev": true,
927 "dependencies": {
928 "fs.realpath": "^1.0.0",
929 "inflight": "^1.0.4",
930 "inherits": "2",
931 "minimatch": "^3.0.4",
932 "once": "^1.3.0",
933 "path-is-absolute": "^1.0.0"
934 },
935 "engines": {
936 "node": "*"
937 },
938 "funding": {
939 "url": "https://github.com/sponsors/isaacs"
940 }
941 },
942 "node_modules/mocha/node_modules/supports-color": {
943 "version": "8.1.1",
944 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
945 "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
946 "dev": true,
947 "dependencies": {
948 "has-flag": "^4.0.0"
949 },
950 "engines": {
951 "node": ">=10"
952 },
953 "funding": {
954 "url": "https://github.com/chalk/supports-color?sponsor=1"
955 }
956 },
957 "node_modules/ms": {
958 "version": "2.1.3",
959 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
960 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
961 "dev": true
962 },
963 "node_modules/nanoid": {
964 "version": "3.1.25",
965 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
966 "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
967 "dev": true,
968 "bin": {
969 "nanoid": "bin/nanoid.cjs"
970 },
971 "engines": {
972 "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
973 }
974 },
975 "node_modules/normalize-path": {
976 "version": "3.0.0",
977 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
978 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
979 "dev": true,
980 "engines": {
981 "node": ">=0.10.0"
982 }
983 },
984 "node_modules/once": {
985 "version": "1.4.0",
986 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
987 "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
988 "dev": true,
989 "dependencies": {
990 "wrappy": "1"
991 }
992 },
993 "node_modules/p-limit": {
994 "version": "3.0.2",
995 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
996 "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
997 "dev": true,
998 "dependencies": {
999 "p-try": "^2.0.0"
1000 },
1001 "engines": {
1002 "node": ">=10"
1003 },
1004 "funding": {
1005 "url": "https://github.com/sponsors/sindresorhus"
1006 }
1007 },
1008 "node_modules/p-locate": {
1009 "version": "5.0.0",
1010 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1011 "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1012 "dev": true,
1013 "dependencies": {
1014 "p-limit": "^3.0.2"
1015 },
1016 "engines": {
1017 "node": ">=10"
1018 },
1019 "funding": {
1020 "url": "https://github.com/sponsors/sindresorhus"
1021 }
1022 },
1023 "node_modules/p-try": {
1024 "version": "2.2.0",
1025 "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
1026 "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
1027 "dev": true,
1028 "engines": {
1029 "node": ">=6"
1030 }
1031 },
1032 "node_modules/path-exists": {
1033 "version": "4.0.0",
1034 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1035 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1036 "dev": true,
1037 "engines": {
1038 "node": ">=8"
1039 }
1040 },
1041 "node_modules/path-is-absolute": {
1042 "version": "1.0.1",
1043 "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1044 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1045 "dev": true,
1046 "engines": {
1047 "node": ">=0.10.0"
1048 }
1049 },
1050 "node_modules/picomatch": {
1051 "version": "2.3.0",
1052 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
1053 "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
1054 "dev": true,
1055 "engines": {
1056 "node": ">=8.6"
1057 },
1058 "funding": {
1059 "url": "https://github.com/sponsors/jonschlinkert"
1060 }
1061 },
1062 "node_modules/private": {
1063 "version": "0.1.8",
1064 "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
1065 "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
1066 "dev": true,
1067 "engines": {
1068 "node": ">= 0.6"
1069 }
1070 },
1071 "node_modules/randombytes": {
1072 "version": "2.1.0",
1073 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1074 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1075 "dev": true,
1076 "dependencies": {
1077 "safe-buffer": "^5.1.0"
1078 }
1079 },
1080 "node_modules/readdirp": {
1081 "version": "3.6.0",
1082 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1083 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1084 "dev": true,
1085 "dependencies": {
1086 "picomatch": "^2.2.1"
1087 },
1088 "engines": {
1089 "node": ">=8.10.0"
1090 }
1091 },
1092 "node_modules/recast": {
1093 "version": "0.20.5",
1094 "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz",
1095 "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==",
1096 "dev": true,
1097 "dependencies": {
1098 "ast-types": "0.14.2",
1099 "esprima": "~4.0.0",
1100 "source-map": "~0.6.1",
1101 "tslib": "^2.0.1"
1102 },
1103 "engines": {
1104 "node": ">= 4"
1105 }
1106 },
1107 "node_modules/reify": {
1108 "version": "0.20.12",
1109 "resolved": "https://registry.npmjs.org/reify/-/reify-0.20.12.tgz",
1110 "integrity": "sha512-4BzKwDWyJJbukwI6xIJRh+BDTitoGzxdgYPiQQ1zbcTZW6I8xgHPw1DnVuEs/mEZQlYm1e09DcFSApb4UaR5bQ==",
1111 "dev": true,
1112 "dependencies": {
1113 "acorn": "^6.1.1",
1114 "acorn-dynamic-import": "^4.0.0",
1115 "magic-string": "^0.25.3",
1116 "semver": "^5.4.1"
1117 },
1118 "engines": {
1119 "node": ">=4"
1120 }
1121 },
1122 "node_modules/require-directory": {
1123 "version": "2.1.1",
1124 "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
1125 "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
1126 "dev": true,
1127 "engines": {
1128 "node": ">=0.10.0"
1129 }
1130 },
1131 "node_modules/safe-buffer": {
1132 "version": "5.2.1",
1133 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1134 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1135 "dev": true,
1136 "funding": [
1137 {
1138 "type": "github",
1139 "url": "https://github.com/sponsors/feross"
1140 },
1141 {
1142 "type": "patreon",
1143 "url": "https://www.patreon.com/feross"
1144 },
1145 {
1146 "type": "consulting",
1147 "url": "https://feross.org/support"
1148 }
1149 ]
1150 },
1151 "node_modules/semver": {
1152 "version": "5.7.1",
1153 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1154 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1155 "dev": true,
1156 "bin": {
1157 "semver": "bin/semver"
1158 }
1159 },
1160 "node_modules/serialize-javascript": {
1161 "version": "6.0.0",
1162 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
1163 "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
1164 "dev": true,
1165 "dependencies": {
1166 "randombytes": "^2.1.0"
1167 }
1168 },
1169 "node_modules/source-map": {
1170 "version": "0.6.1",
1171 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1172 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1173 "dev": true,
1174 "engines": {
1175 "node": ">=0.10.0"
1176 }
1177 },
1178 "node_modules/sourcemap-codec": {
1179 "version": "1.4.8",
1180 "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1181 "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
1182 "dev": true
1183 },
1184 "node_modules/strip-json-comments": {
1185 "version": "3.1.1",
1186 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1187 "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1188 "dev": true,
1189 "engines": {
1190 "node": ">=8"
1191 },
1192 "funding": {
1193 "url": "https://github.com/sponsors/sindresorhus"
1194 }
1195 },
1196 "node_modules/supports-color": {
1197 "version": "7.2.0",
1198 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1199 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1200 "dev": true,
1201 "dependencies": {
1202 "has-flag": "^4.0.0"
1203 },
1204 "engines": {
1205 "node": ">=8"
1206 }
1207 },
1208 "node_modules/to-fast-properties": {
1209 "version": "2.0.0",
1210 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1211 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
1212 "dev": true,
1213 "engines": {
1214 "node": ">=4"
1215 }
1216 },
1217 "node_modules/to-regex-range": {
1218 "version": "5.0.1",
1219 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1220 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1221 "dev": true,
1222 "dependencies": {
1223 "is-number": "^7.0.0"
1224 },
1225 "engines": {
1226 "node": ">=8.0"
1227 }
1228 },
1229 "node_modules/ts-add-module-exports": {
1230 "version": "1.0.0",
1231 "resolved": "https://registry.npmjs.org/ts-add-module-exports/-/ts-add-module-exports-1.0.0.tgz",
1232 "integrity": "sha512-oMRGz9WWbdTB7+d6aZDXvJK9N0NZkbi9+LQzn0siP8papRonpaCcT+Z6AuA9ira7QXwYBmXbJBK4x7CVKhFvZQ==",
1233 "dev": true,
1234 "dependencies": {
1235 "ast-types": "^0.11.6",
1236 "recast": "^0.16.1"
1237 },
1238 "bin": {
1239 "ts-add-module-exports": "bin/ts-add-module-exports"
1240 }
1241 },
1242 "node_modules/ts-add-module-exports/node_modules/ast-types": {
1243 "version": "0.11.7",
1244 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz",
1245 "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==",
1246 "dev": true,
1247 "engines": {
1248 "node": ">=4"
1249 }
1250 },
1251 "node_modules/ts-add-module-exports/node_modules/recast": {
1252 "version": "0.16.2",
1253 "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz",
1254 "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==",
1255 "dev": true,
1256 "dependencies": {
1257 "ast-types": "0.11.7",
1258 "esprima": "~4.0.0",
1259 "private": "~0.1.5",
1260 "source-map": "~0.6.1"
1261 },
1262 "engines": {
1263 "node": ">= 4"
1264 }
1265 },
1266 "node_modules/ts-emit-clean": {
1267 "version": "1.0.0",
1268 "resolved": "https://registry.npmjs.org/ts-emit-clean/-/ts-emit-clean-1.0.0.tgz",
1269 "integrity": "sha512-cwp8QhJtPn5oVL5hlP+5LMILhhXVIrtoEk5U9MYeuseOHy3DPLyM+aZk5iNma6rPsy/7QYCELMWx8TMQ84r67g==",
1270 "dev": true,
1271 "bin": {
1272 "ts-emit-clean": "bin/ts-emit-clean"
1273 },
1274 "peerDependencies": {
1275 "typescript": "^3.0.0"
1276 }
1277 },
1278 "node_modules/ts-node": {
1279 "version": "10.4.0",
1280 "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz",
1281 "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==",
1282 "dev": true,
1283 "dependencies": {
1284 "@cspotcode/source-map-support": "0.7.0",
1285 "@tsconfig/node10": "^1.0.7",
1286 "@tsconfig/node12": "^1.0.7",
1287 "@tsconfig/node14": "^1.0.0",
1288 "@tsconfig/node16": "^1.0.2",
1289 "acorn": "^8.4.1",
1290 "acorn-walk": "^8.1.1",
1291 "arg": "^4.1.0",
1292 "create-require": "^1.1.0",
1293 "diff": "^4.0.1",
1294 "make-error": "^1.1.1",
1295 "yn": "3.1.1"
1296 },
1297 "bin": {
1298 "ts-node": "dist/bin.js",
1299 "ts-node-cwd": "dist/bin-cwd.js",
1300 "ts-node-script": "dist/bin-script.js",
1301 "ts-node-transpile-only": "dist/bin-transpile.js",
1302 "ts-script": "dist/bin-script-deprecated.js"
1303 },
1304 "peerDependencies": {
1305 "@swc/core": ">=1.2.50",
1306 "@swc/wasm": ">=1.2.50",
1307 "@types/node": "*",
1308 "typescript": ">=2.7"
1309 },
1310 "peerDependenciesMeta": {
1311 "@swc/core": {
1312 "optional": true
1313 },
1314 "@swc/wasm": {
1315 "optional": true
1316 }
1317 }
1318 },
1319 "node_modules/ts-node/node_modules/acorn": {
1320 "version": "8.6.0",
1321 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
1322 "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
1323 "dev": true,
1324 "bin": {
1325 "acorn": "bin/acorn"
1326 },
1327 "engines": {
1328 "node": ">=0.4.0"
1329 }
1330 },
1331 "node_modules/tslib": {
1332 "version": "2.3.1",
1333 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
1334 "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
1335 },
1336 "node_modules/typescript": {
1337 "version": "4.5.2",
1338 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
1339 "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
1340 "dev": true,
1341 "bin": {
1342 "tsc": "bin/tsc",
1343 "tsserver": "bin/tsserver"
1344 },
1345 "engines": {
1346 "node": ">=4.2.0"
1347 }
1348 },
1349 "node_modules/which": {
1350 "version": "2.0.2",
1351 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1352 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1353 "dev": true,
1354 "dependencies": {
1355 "isexe": "^2.0.0"
1356 },
1357 "bin": {
1358 "node-which": "bin/node-which"
1359 },
1360 "engines": {
1361 "node": ">= 8"
1362 }
1363 },
1364 "node_modules/workerpool": {
1365 "version": "6.1.5",
1366 "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
1367 "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
1368 "dev": true
1369 },
1370 "node_modules/wrap-ansi": {
1371 "version": "7.0.0",
1372 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
1373 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
1374 "dev": true,
1375 "dependencies": {
1376 "ansi-styles": "^4.0.0",
1377 "string-width": "^4.1.0",
1378 "strip-ansi": "^6.0.0"
1379 },
1380 "engines": {
1381 "node": ">=10"
1382 },
1383 "funding": {
1384 "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
1385 }
1386 },
1387 "node_modules/wrap-ansi/node_modules/ansi-regex": {
1388 "version": "5.0.1",
1389 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1390 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1391 "dev": true,
1392 "engines": {
1393 "node": ">=8"
1394 }
1395 },
1396 "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
1397 "version": "3.0.0",
1398 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1399 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1400 "dev": true,
1401 "engines": {
1402 "node": ">=8"
1403 }
1404 },
1405 "node_modules/wrap-ansi/node_modules/string-width": {
1406 "version": "4.2.3",
1407 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1408 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1409 "dev": true,
1410 "dependencies": {
1411 "emoji-regex": "^8.0.0",
1412 "is-fullwidth-code-point": "^3.0.0",
1413 "strip-ansi": "^6.0.1"
1414 },
1415 "engines": {
1416 "node": ">=8"
1417 }
1418 },
1419 "node_modules/wrap-ansi/node_modules/strip-ansi": {
1420 "version": "6.0.1",
1421 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1422 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1423 "dev": true,
1424 "dependencies": {
1425 "ansi-regex": "^5.0.1"
1426 },
1427 "engines": {
1428 "node": ">=8"
1429 }
1430 },
1431 "node_modules/wrappy": {
1432 "version": "1.0.2",
1433 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1434 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1435 "dev": true
1436 },
1437 "node_modules/y18n": {
1438 "version": "5.0.8",
1439 "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
1440 "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
1441 "dev": true,
1442 "engines": {
1443 "node": ">=10"
1444 }
1445 },
1446 "node_modules/yargs": {
1447 "version": "16.2.0",
1448 "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
1449 "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
1450 "dev": true,
1451 "dependencies": {
1452 "cliui": "^7.0.2",
1453 "escalade": "^3.1.1",
1454 "get-caller-file": "^2.0.5",
1455 "require-directory": "^2.1.1",
1456 "string-width": "^4.2.0",
1457 "y18n": "^5.0.5",
1458 "yargs-parser": "^20.2.2"
1459 },
1460 "engines": {
1461 "node": ">=10"
1462 }
1463 },
1464 "node_modules/yargs-parser": {
1465 "version": "20.2.4",
1466 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
1467 "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
1468 "dev": true,
1469 "engines": {
1470 "node": ">=10"
1471 }
1472 },
1473 "node_modules/yargs-unparser": {
1474 "version": "2.0.0",
1475 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
1476 "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
1477 "dev": true,
1478 "dependencies": {
1479 "camelcase": "^6.0.0",
1480 "decamelize": "^4.0.0",
1481 "flat": "^5.0.2",
1482 "is-plain-obj": "^2.1.0"
1483 },
1484 "engines": {
1485 "node": ">=10"
1486 }
1487 },
1488 "node_modules/yargs/node_modules/ansi-regex": {
1489 "version": "5.0.1",
1490 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1491 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1492 "dev": true,
1493 "engines": {
1494 "node": ">=8"
1495 }
1496 },
1497 "node_modules/yargs/node_modules/is-fullwidth-code-point": {
1498 "version": "3.0.0",
1499 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1500 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1501 "dev": true,
1502 "engines": {
1503 "node": ">=8"
1504 }
1505 },
1506 "node_modules/yargs/node_modules/string-width": {
1507 "version": "4.2.3",
1508 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1509 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1510 "dev": true,
1511 "dependencies": {
1512 "emoji-regex": "^8.0.0",
1513 "is-fullwidth-code-point": "^3.0.0",
1514 "strip-ansi": "^6.0.1"
1515 },
1516 "engines": {
1517 "node": ">=8"
1518 }
1519 },
1520 "node_modules/yargs/node_modules/strip-ansi": {
1521 "version": "6.0.1",
1522 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1523 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1524 "dev": true,
1525 "dependencies": {
1526 "ansi-regex": "^5.0.1"
1527 },
1528 "engines": {
1529 "node": ">=8"
1530 }
1531 },
1532 "node_modules/yn": {
1533 "version": "3.1.1",
1534 "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
1535 "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
1536 "dev": true,
1537 "engines": {
1538 "node": ">=6"
1539 }
1540 }
1541 },
1542 "dependencies": {
1543 "@babel/helper-validator-identifier": {
1544 "version": "7.15.7",
1545 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
1546 "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
1547 "dev": true
1548 },
1549 "@babel/parser": {
1550 "version": "7.16.4",
1551 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
1552 "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
1553 "dev": true
1554 },
1555 "@babel/types": {
1556 "version": "7.16.0",
1557 "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
1558 "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
1559 "dev": true,
1560 "requires": {
1561 "@babel/helper-validator-identifier": "^7.15.7",
1562 "to-fast-properties": "^2.0.0"
1563 }
1564 },
1565 "@cspotcode/source-map-consumer": {
1566 "version": "0.8.0",
1567 "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz",
1568 "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==",
1569 "dev": true
1570 },
1571 "@cspotcode/source-map-support": {
1572 "version": "0.7.0",
1573 "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz",
1574 "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==",
1575 "dev": true,
1576 "requires": {
1577 "@cspotcode/source-map-consumer": "0.8.0"
1578 }
1579 },
1580 "@tsconfig/node10": {
1581 "version": "1.0.8",
1582 "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz",
1583 "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==",
1584 "dev": true
1585 },
1586 "@tsconfig/node12": {
1587 "version": "1.0.9",
1588 "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz",
1589 "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==",
1590 "dev": true
1591 },
1592 "@tsconfig/node14": {
1593 "version": "1.0.1",
1594 "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz",
1595 "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==",
1596 "dev": true
1597 },
1598 "@tsconfig/node16": {
1599 "version": "1.0.2",
1600 "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz",
1601 "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==",
1602 "dev": true
1603 },
1604 "@types/color-name": {
1605 "version": "1.1.1",
1606 "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
1607 "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
1608 "dev": true
1609 },
1610 "@types/esprima": {
1611 "version": "4.0.3",
1612 "resolved": "https://registry.npmjs.org/@types/esprima/-/esprima-4.0.3.tgz",
1613 "integrity": "sha512-jo14dIWVVtF0iMsKkYek6++4cWJjwpvog+rchLulwgFJGTXqIeTdCOvY0B3yMLTaIwMcKCdJ6mQbSR6wYHy98A==",
1614 "dev": true,
1615 "requires": {
1616 "@types/estree": "*"
1617 }
1618 },
1619 "@types/estree": {
1620 "version": "0.0.45",
1621 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz",
1622 "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
1623 "dev": true
1624 },
1625 "@types/glob": {
1626 "version": "7.2.0",
1627 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
1628 "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
1629 "dev": true,
1630 "requires": {
1631 "@types/minimatch": "*",
1632 "@types/node": "*"
1633 }
1634 },
1635 "@types/minimatch": {
1636 "version": "3.0.3",
1637 "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
1638 "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
1639 "dev": true
1640 },
1641 "@types/mocha": {
1642 "version": "9.0.0",
1643 "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz",
1644 "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==",
1645 "dev": true
1646 },
1647 "@types/node": {
1648 "version": "16.11.10",
1649 "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
1650 "integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==",
1651 "dev": true
1652 },
1653 "@ungap/promise-all-settled": {
1654 "version": "1.1.2",
1655 "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
1656 "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==",
1657 "dev": true
1658 },
1659 "acorn": {
1660 "version": "6.4.2",
1661 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
1662 "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
1663 "dev": true
1664 },
1665 "acorn-dynamic-import": {
1666 "version": "4.0.0",
1667 "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
1668 "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
1669 "dev": true,
1670 "requires": {}
1671 },
1672 "acorn-jsx": {
1673 "version": "5.3.2",
1674 "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
1675 "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
1676 "dev": true,
1677 "requires": {}
1678 },
1679 "acorn-walk": {
1680 "version": "8.2.0",
1681 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
1682 "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
1683 "dev": true
1684 },
1685 "ansi-colors": {
1686 "version": "4.1.1",
1687 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
1688 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
1689 "dev": true
1690 },
1691 "ansi-styles": {
1692 "version": "4.2.1",
1693 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
1694 "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
1695 "dev": true,
1696 "requires": {
1697 "@types/color-name": "^1.1.1",
1698 "color-convert": "^2.0.1"
1699 }
1700 },
1701 "anymatch": {
1702 "version": "3.1.2",
1703 "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
1704 "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
1705 "dev": true,
1706 "requires": {
1707 "normalize-path": "^3.0.0",
1708 "picomatch": "^2.0.4"
1709 }
1710 },
1711 "arg": {
1712 "version": "4.1.3",
1713 "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
1714 "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
1715 "dev": true
1716 },
1717 "argparse": {
1718 "version": "2.0.1",
1719 "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
1720 "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
1721 "dev": true
1722 },
1723 "ast-types": {
1724 "version": "0.14.2",
1725 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz",
1726 "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==",
1727 "dev": true,
1728 "requires": {
1729 "tslib": "^2.0.1"
1730 }
1731 },
1732 "balanced-match": {
1733 "version": "1.0.0",
1734 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1735 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1736 "dev": true
1737 },
1738 "binary-extensions": {
1739 "version": "2.2.0",
1740 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
1741 "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
1742 "dev": true
1743 },
1744 "brace-expansion": {
1745 "version": "1.1.11",
1746 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1747 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1748 "dev": true,
1749 "requires": {
1750 "balanced-match": "^1.0.0",
1751 "concat-map": "0.0.1"
1752 }
1753 },
1754 "braces": {
1755 "version": "3.0.2",
1756 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1757 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1758 "dev": true,
1759 "requires": {
1760 "fill-range": "^7.0.1"
1761 }
1762 },
1763 "browser-stdout": {
1764 "version": "1.3.1",
1765 "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
1766 "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
1767 "dev": true
1768 },
1769 "camelcase": {
1770 "version": "6.2.1",
1771 "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz",
1772 "integrity": "sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==",
1773 "dev": true
1774 },
1775 "chalk": {
1776 "version": "4.1.2",
1777 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
1778 "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
1779 "dev": true,
1780 "requires": {
1781 "ansi-styles": "^4.1.0",
1782 "supports-color": "^7.1.0"
1783 }
1784 },
1785 "chokidar": {
1786 "version": "3.5.2",
1787 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
1788 "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
1789 "dev": true,
1790 "requires": {
1791 "anymatch": "~3.1.2",
1792 "braces": "~3.0.2",
1793 "fsevents": "~2.3.2",
1794 "glob-parent": "~5.1.2",
1795 "is-binary-path": "~2.1.0",
1796 "is-glob": "~4.0.1",
1797 "normalize-path": "~3.0.0",
1798 "readdirp": "~3.6.0"
1799 }
1800 },
1801 "cliui": {
1802 "version": "7.0.4",
1803 "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
1804 "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
1805 "dev": true,
1806 "requires": {
1807 "string-width": "^4.2.0",
1808 "strip-ansi": "^6.0.0",
1809 "wrap-ansi": "^7.0.0"
1810 },
1811 "dependencies": {
1812 "ansi-regex": {
1813 "version": "5.0.1",
1814 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
1815 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
1816 "dev": true
1817 },
1818 "is-fullwidth-code-point": {
1819 "version": "3.0.0",
1820 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
1821 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
1822 "dev": true
1823 },
1824 "string-width": {
1825 "version": "4.2.3",
1826 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
1827 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
1828 "dev": true,
1829 "requires": {
1830 "emoji-regex": "^8.0.0",
1831 "is-fullwidth-code-point": "^3.0.0",
1832 "strip-ansi": "^6.0.1"
1833 }
1834 },
1835 "strip-ansi": {
1836 "version": "6.0.1",
1837 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1838 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1839 "dev": true,
1840 "requires": {
1841 "ansi-regex": "^5.0.1"
1842 }
1843 }
1844 }
1845 },
1846 "color-convert": {
1847 "version": "2.0.1",
1848 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1849 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1850 "dev": true,
1851 "requires": {
1852 "color-name": "~1.1.4"
1853 }
1854 },
1855 "color-name": {
1856 "version": "1.1.4",
1857 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1858 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1859 "dev": true
1860 },
1861 "concat-map": {
1862 "version": "0.0.1",
1863 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1864 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1865 "dev": true
1866 },
1867 "create-require": {
1868 "version": "1.1.1",
1869 "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
1870 "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
1871 "dev": true
1872 },
1873 "debug": {
1874 "version": "4.3.2",
1875 "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
1876 "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
1877 "dev": true,
1878 "requires": {
1879 "ms": "2.1.2"
1880 },
1881 "dependencies": {
1882 "ms": {
1883 "version": "2.1.2",
1884 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1885 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1886 "dev": true
1887 }
1888 }
1889 },
1890 "decamelize": {
1891 "version": "4.0.0",
1892 "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
1893 "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
1894 "dev": true
1895 },
1896 "diff": {
1897 "version": "4.0.2",
1898 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
1899 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
1900 "dev": true
1901 },
1902 "emoji-regex": {
1903 "version": "8.0.0",
1904 "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
1905 "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
1906 "dev": true
1907 },
1908 "escalade": {
1909 "version": "3.1.1",
1910 "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
1911 "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
1912 "dev": true
1913 },
1914 "escape-string-regexp": {
1915 "version": "4.0.0",
1916 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1917 "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1918 "dev": true
1919 },
1920 "eslint-visitor-keys": {
1921 "version": "3.1.0",
1922 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
1923 "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
1924 "dev": true
1925 },
1926 "espree": {
1927 "version": "9.1.0",
1928 "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
1929 "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
1930 "dev": true,
1931 "requires": {
1932 "acorn": "^8.6.0",
1933 "acorn-jsx": "^5.3.1",
1934 "eslint-visitor-keys": "^3.1.0"
1935 },
1936 "dependencies": {
1937 "acorn": {
1938 "version": "8.6.0",
1939 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
1940 "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
1941 "dev": true
1942 }
1943 }
1944 },
1945 "esprima": {
1946 "version": "4.0.1",
1947 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
1948 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
1949 "dev": true
1950 },
1951 "esprima-fb": {
1952 "version": "15001.1001.0-dev-harmony-fb",
1953 "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz",
1954 "integrity": "sha1-Q761fsJujPI3092LM+QlM1d/Jlk=",
1955 "dev": true
1956 },
1957 "fill-range": {
1958 "version": "7.0.1",
1959 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1960 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1961 "dev": true,
1962 "requires": {
1963 "to-regex-range": "^5.0.1"
1964 }
1965 },
1966 "find-up": {
1967 "version": "5.0.0",
1968 "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1969 "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1970 "dev": true,
1971 "requires": {
1972 "locate-path": "^6.0.0",
1973 "path-exists": "^4.0.0"
1974 }
1975 },
1976 "flat": {
1977 "version": "5.0.2",
1978 "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
1979 "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
1980 "dev": true
1981 },
1982 "flow-parser": {
1983 "version": "0.165.1",
1984 "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.165.1.tgz",
1985 "integrity": "sha512-vz/5MZIePDCZO9FfnRaH398cc+XSwtgoUzR6pC5zbekpk5ttCaXOnxypho+hb0NzUyQNFV+6vpU8joRZ1llrCw==",
1986 "dev": true
1987 },
1988 "fs.realpath": {
1989 "version": "1.0.0",
1990 "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1991 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1992 "dev": true
1993 },
1994 "fsevents": {
1995 "version": "2.3.2",
1996 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1997 "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1998 "dev": true,
1999 "optional": true
2000 },
2001 "get-caller-file": {
2002 "version": "2.0.5",
2003 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
2004 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
2005 "dev": true
2006 },
2007 "glob": {
2008 "version": "7.2.0",
2009 "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
2010 "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
2011 "dev": true,
2012 "requires": {
2013 "fs.realpath": "^1.0.0",
2014 "inflight": "^1.0.4",
2015 "inherits": "2",
2016 "minimatch": "^3.0.4",
2017 "once": "^1.3.0",
2018 "path-is-absolute": "^1.0.0"
4972019 }
4982020 },
4992021 "glob-parent": {
500 "version": "5.1.1",
501 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
502 "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
2022 "version": "5.1.2",
2023 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
2024 "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
5032025 "dev": true,
5042026 "requires": {
5052027 "is-glob": "^4.0.1"
5112033 "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
5122034 "dev": true
5132035 },
514 "has": {
515 "version": "1.0.3",
516 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
517 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
518 "dev": true,
519 "requires": {
520 "function-bind": "^1.1.1"
521 }
522 },
5232036 "has-flag": {
524 "version": "3.0.0",
525 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
526 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
527 "dev": true
528 },
529 "has-symbols": {
530 "version": "1.0.1",
531 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
532 "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
2037 "version": "4.0.0",
2038 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2039 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
5332040 "dev": true
5342041 },
5352042 "he": {
5542061 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
5552062 "dev": true
5562063 },
557 "is-arguments": {
558 "version": "1.0.4",
559 "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
560 "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
561 "dev": true
562 },
5632064 "is-binary-path": {
5642065 "version": "2.1.0",
5652066 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
5692070 "binary-extensions": "^2.0.0"
5702071 }
5712072 },
572 "is-buffer": {
573 "version": "2.0.4",
574 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
575 "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
576 "dev": true
577 },
578 "is-callable": {
579 "version": "1.2.0",
580 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
581 "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
582 "dev": true
583 },
584 "is-date-object": {
585 "version": "1.0.2",
586 "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
587 "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
588 "dev": true
589 },
5902073 "is-extglob": {
5912074 "version": "2.1.1",
5922075 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
5932076 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
5942077 "dev": true
5952078 },
596 "is-fullwidth-code-point": {
597 "version": "2.0.0",
598 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
599 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
600 "dev": true
601 },
6022079 "is-glob": {
603 "version": "4.0.1",
604 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
605 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
2080 "version": "4.0.3",
2081 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2082 "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
6062083 "dev": true,
6072084 "requires": {
6082085 "is-extglob": "^2.1.1"
6092086 }
610 },
611 "is-map": {
612 "version": "2.0.1",
613 "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz",
614 "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==",
615 "dev": true
6162087 },
6172088 "is-number": {
6182089 "version": "7.0.0",
6212092 "dev": true
6222093 },
6232094 "is-plain-obj": {
624 "version": "1.1.0",
625 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
626 "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
627 "dev": true
628 },
629 "is-regex": {
630 "version": "1.1.1",
631 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
632 "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
633 "dev": true,
634 "requires": {
635 "has-symbols": "^1.0.1"
636 }
637 },
638 "is-set": {
639 "version": "2.0.1",
640 "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz",
641 "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==",
642 "dev": true
643 },
644 "is-string": {
645 "version": "1.0.5",
646 "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
647 "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
648 "dev": true
649 },
650 "is-symbol": {
651 "version": "1.0.3",
652 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
653 "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
654 "dev": true,
655 "requires": {
656 "has-symbols": "^1.0.1"
657 }
658 },
659 "isarray": {
660 "version": "2.0.5",
661 "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
662 "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
2095 "version": "2.1.0",
2096 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
2097 "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
2098 "dev": true
2099 },
2100 "is-unicode-supported": {
2101 "version": "0.1.0",
2102 "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
2103 "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
6632104 "dev": true
6642105 },
6652106 "isexe": {
6682109 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
6692110 "dev": true
6702111 },
671 "iterate-iterator": {
672 "version": "1.0.1",
673 "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz",
674 "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==",
675 "dev": true
676 },
677 "iterate-value": {
678 "version": "1.0.2",
679 "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz",
680 "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==",
681 "dev": true,
682 "requires": {
683 "es-get-iterator": "^1.0.2",
684 "iterate-iterator": "^1.0.1"
685 }
686 },
6872112 "js-yaml": {
688 "version": "3.13.1",
689 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
690 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
691 "dev": true,
692 "requires": {
693 "argparse": "^1.0.7",
694 "esprima": "^4.0.0"
2113 "version": "4.1.0",
2114 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2115 "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2116 "dev": true,
2117 "requires": {
2118 "argparse": "^2.0.1"
6952119 }
6962120 },
6972121 "locate-path": {
698 "version": "5.0.0",
699 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
700 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
701 "dev": true,
702 "requires": {
703 "p-locate": "^4.1.0"
704 }
705 },
706 "lodash": {
707 "version": "4.17.20",
708 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
709 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
710 "dev": true
2122 "version": "6.0.0",
2123 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2124 "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2125 "dev": true,
2126 "requires": {
2127 "p-locate": "^5.0.0"
2128 }
7112129 },
7122130 "log-symbols": {
713 "version": "3.0.0",
714 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
715 "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
716 "dev": true,
717 "requires": {
718 "chalk": "^2.4.2"
2131 "version": "4.1.0",
2132 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
2133 "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
2134 "dev": true,
2135 "requires": {
2136 "chalk": "^4.1.0",
2137 "is-unicode-supported": "^0.1.0"
7192138 }
7202139 },
7212140 "magic-string": {
7422161 "brace-expansion": "^1.1.7"
7432162 }
7442163 },
745 "minimist": {
746 "version": "0.0.8",
747 "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
748 "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
749 "dev": true
750 },
751 "mkdirp": {
752 "version": "0.5.1",
753 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
754 "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
755 "dev": true,
756 "requires": {
757 "minimist": "0.0.8"
758 }
759 },
7602164 "mocha": {
761 "version": "8.1.1",
762 "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.1.tgz",
763 "integrity": "sha512-p7FuGlYH8t7gaiodlFreseLxEmxTgvyG9RgPHODFPySNhwUehu8NIb0vdSt3WFckSneswZ0Un5typYcWElk7HQ==",
764 "dev": true,
765 "requires": {
2165 "version": "9.1.3",
2166 "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
2167 "integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==",
2168 "dev": true,
2169 "requires": {
2170 "@ungap/promise-all-settled": "1.1.2",
7662171 "ansi-colors": "4.1.1",
7672172 "browser-stdout": "1.3.1",
768 "chokidar": "3.3.1",
769 "debug": "3.2.6",
770 "diff": "4.0.2",
771 "escape-string-regexp": "1.0.5",
772 "find-up": "4.1.0",
773 "glob": "7.1.6",
2173 "chokidar": "3.5.2",
2174 "debug": "4.3.2",
2175 "diff": "5.0.0",
2176 "escape-string-regexp": "4.0.0",
2177 "find-up": "5.0.0",
2178 "glob": "7.1.7",
7742179 "growl": "1.10.5",
7752180 "he": "1.2.0",
776 "js-yaml": "3.13.1",
777 "log-symbols": "3.0.0",
2181 "js-yaml": "4.1.0",
2182 "log-symbols": "4.1.0",
7782183 "minimatch": "3.0.4",
779 "ms": "2.1.2",
780 "object.assign": "4.1.0",
781 "promise.allsettled": "1.0.2",
782 "serialize-javascript": "4.0.0",
783 "strip-json-comments": "3.0.1",
784 "supports-color": "7.1.0",
2184 "ms": "2.1.3",
2185 "nanoid": "3.1.25",
2186 "serialize-javascript": "6.0.0",
2187 "strip-json-comments": "3.1.1",
2188 "supports-color": "8.1.1",
7852189 "which": "2.0.2",
786 "wide-align": "1.1.3",
787 "workerpool": "6.0.0",
788 "yargs": "13.3.2",
789 "yargs-parser": "13.1.2",
790 "yargs-unparser": "1.6.1"
2190 "workerpool": "6.1.5",
2191 "yargs": "16.2.0",
2192 "yargs-parser": "20.2.4",
2193 "yargs-unparser": "2.0.0"
7912194 },
7922195 "dependencies": {
7932196 "diff": {
794 "version": "4.0.2",
795 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
796 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
2197 "version": "5.0.0",
2198 "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
2199 "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==",
7972200 "dev": true
2201 },
2202 "glob": {
2203 "version": "7.1.7",
2204 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
2205 "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
2206 "dev": true,
2207 "requires": {
2208 "fs.realpath": "^1.0.0",
2209 "inflight": "^1.0.4",
2210 "inherits": "2",
2211 "minimatch": "^3.0.4",
2212 "once": "^1.3.0",
2213 "path-is-absolute": "^1.0.0"
2214 }
2215 },
2216 "supports-color": {
2217 "version": "8.1.1",
2218 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
2219 "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
2220 "dev": true,
2221 "requires": {
2222 "has-flag": "^4.0.0"
2223 }
7982224 }
7992225 }
8002226 },
8012227 "ms": {
802 "version": "2.1.2",
803 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
804 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
2228 "version": "2.1.3",
2229 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2230 "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2231 "dev": true
2232 },
2233 "nanoid": {
2234 "version": "3.1.25",
2235 "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
2236 "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
8052237 "dev": true
8062238 },
8072239 "normalize-path": {
8102242 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
8112243 "dev": true
8122244 },
813 "object-inspect": {
814 "version": "1.8.0",
815 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
816 "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
817 "dev": true
818 },
819 "object-keys": {
820 "version": "1.1.1",
821 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
822 "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
823 "dev": true
824 },
825 "object.assign": {
826 "version": "4.1.0",
827 "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
828 "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
829 "dev": true,
830 "requires": {
831 "define-properties": "^1.1.2",
832 "function-bind": "^1.1.1",
833 "has-symbols": "^1.0.0",
834 "object-keys": "^1.0.11"
835 }
836 },
8372245 "once": {
8382246 "version": "1.4.0",
8392247 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
8442252 }
8452253 },
8462254 "p-limit": {
847 "version": "2.3.0",
848 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
849 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2255 "version": "3.0.2",
2256 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
2257 "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
8502258 "dev": true,
8512259 "requires": {
8522260 "p-try": "^2.0.0"
8532261 }
8542262 },
8552263 "p-locate": {
856 "version": "4.1.0",
857 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
858 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
859 "dev": true,
860 "requires": {
861 "p-limit": "^2.2.0"
2264 "version": "5.0.0",
2265 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
2266 "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
2267 "dev": true,
2268 "requires": {
2269 "p-limit": "^3.0.2"
8622270 }
8632271 },
8642272 "p-try": {
8802288 "dev": true
8812289 },
8822290 "picomatch": {
883 "version": "2.2.2",
884 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
885 "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
2291 "version": "2.3.0",
2292 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
2293 "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
8862294 "dev": true
8872295 },
8882296 "private": {
8912299 "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
8922300 "dev": true
8932301 },
894 "promise.allsettled": {
895 "version": "1.0.2",
896 "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz",
897 "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==",
898 "dev": true,
899 "requires": {
900 "array.prototype.map": "^1.0.1",
901 "define-properties": "^1.1.3",
902 "es-abstract": "^1.17.0-next.1",
903 "function-bind": "^1.1.1",
904 "iterate-value": "^1.0.0"
905 }
906 },
9072302 "randombytes": {
9082303 "version": "2.1.0",
9092304 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
9142309 }
9152310 },
9162311 "readdirp": {
917 "version": "3.3.0",
918 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
919 "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
920 "dev": true,
921 "requires": {
922 "picomatch": "^2.0.7"
2312 "version": "3.6.0",
2313 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2314 "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2315 "dev": true,
2316 "requires": {
2317 "picomatch": "^2.2.1"
9232318 }
9242319 },
9252320 "recast": {
926 "version": "0.20.1",
927 "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.1.tgz",
928 "integrity": "sha512-WffDnzdel4JZE6NV/gWkOPLvQOerO6PyIpwkS6hVt5ApKyn7GcF2FjdSKVaZIHkDa4B7XM0gz/nBzy0hsQg/lw==",
929 "dev": true,
930 "requires": {
931 "ast-types": "^0.13.4",
2321 "version": "0.20.5",
2322 "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz",
2323 "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==",
2324 "dev": true,
2325 "requires": {
2326 "ast-types": "0.14.2",
9322327 "esprima": "~4.0.0",
933 "private": "^0.1.8",
934 "source-map": "~0.6.1"
2328 "source-map": "~0.6.1",
2329 "tslib": "^2.0.1"
9352330 }
9362331 },
9372332 "reify": {
9442339 "acorn-dynamic-import": "^4.0.0",
9452340 "magic-string": "^0.25.3",
9462341 "semver": "^5.4.1"
947 },
948 "dependencies": {
949 "acorn": {
950 "version": "6.4.1",
951 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
952 "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
953 "dev": true
954 }
9552342 }
9562343 },
9572344 "require-directory": {
9602347 "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
9612348 "dev": true
9622349 },
963 "require-main-filename": {
964 "version": "2.0.0",
965 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
966 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
967 "dev": true
968 },
9692350 "safe-buffer": {
9702351 "version": "5.2.1",
9712352 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
9792360 "dev": true
9802361 },
9812362 "serialize-javascript": {
982 "version": "4.0.0",
983 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
984 "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
2363 "version": "6.0.0",
2364 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
2365 "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
9852366 "dev": true,
9862367 "requires": {
9872368 "randombytes": "^2.1.0"
9882369 }
989 },
990 "set-blocking": {
991 "version": "2.0.0",
992 "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
993 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
994 "dev": true
9952370 },
9962371 "source-map": {
9972372 "version": "0.6.1",
9992374 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
10002375 "dev": true
10012376 },
1002 "source-map-support": {
1003 "version": "0.5.19",
1004 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
1005 "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
1006 "dev": true,
1007 "requires": {
1008 "buffer-from": "^1.0.0",
1009 "source-map": "^0.6.0"
1010 }
1011 },
10122377 "sourcemap-codec": {
10132378 "version": "1.4.8",
10142379 "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
10152380 "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
10162381 "dev": true
10172382 },
1018 "sprintf-js": {
1019 "version": "1.0.3",
1020 "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1021 "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1022 "dev": true
1023 },
1024 "string-width": {
1025 "version": "2.1.1",
1026 "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1027 "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1028 "dev": true,
1029 "requires": {
1030 "is-fullwidth-code-point": "^2.0.0",
1031 "strip-ansi": "^4.0.0"
1032 }
1033 },
1034 "string.prototype.trimend": {
1035 "version": "1.0.1",
1036 "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
1037 "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
1038 "dev": true,
1039 "requires": {
1040 "define-properties": "^1.1.3",
1041 "es-abstract": "^1.17.5"
1042 }
1043 },
1044 "string.prototype.trimstart": {
1045 "version": "1.0.1",
1046 "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
1047 "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
1048 "dev": true,
1049 "requires": {
1050 "define-properties": "^1.1.3",
1051 "es-abstract": "^1.17.5"
1052 }
1053 },
1054 "strip-ansi": {
1055 "version": "4.0.0",
1056 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1057 "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1058 "dev": true,
1059 "requires": {
1060 "ansi-regex": "^3.0.0"
1061 }
1062 },
10632383 "strip-json-comments": {
1064 "version": "3.0.1",
1065 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1066 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
2384 "version": "3.1.1",
2385 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2386 "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
10672387 "dev": true
10682388 },
10692389 "supports-color": {
1070 "version": "7.1.0",
1071 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
1072 "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
2390 "version": "7.2.0",
2391 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
2392 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
10732393 "dev": true,
10742394 "requires": {
10752395 "has-flag": "^4.0.0"
1076 },
1077 "dependencies": {
1078 "has-flag": {
1079 "version": "4.0.0",
1080 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1081 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1082 "dev": true
1083 }
10842396 }
10852397 },
10862398 "to-fast-properties": {
11322444 "version": "1.0.0",
11332445 "resolved": "https://registry.npmjs.org/ts-emit-clean/-/ts-emit-clean-1.0.0.tgz",
11342446 "integrity": "sha512-cwp8QhJtPn5oVL5hlP+5LMILhhXVIrtoEk5U9MYeuseOHy3DPLyM+aZk5iNma6rPsy/7QYCELMWx8TMQ84r67g==",
1135 "dev": true
2447 "dev": true,
2448 "requires": {}
11362449 },
11372450 "ts-node": {
1138 "version": "7.0.1",
1139 "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
1140 "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
1141 "dev": true,
1142 "requires": {
1143 "arrify": "^1.0.0",
1144 "buffer-from": "^1.1.0",
1145 "diff": "^3.1.0",
2451 "version": "10.4.0",
2452 "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz",
2453 "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==",
2454 "dev": true,
2455 "requires": {
2456 "@cspotcode/source-map-support": "0.7.0",
2457 "@tsconfig/node10": "^1.0.7",
2458 "@tsconfig/node12": "^1.0.7",
2459 "@tsconfig/node14": "^1.0.0",
2460 "@tsconfig/node16": "^1.0.2",
2461 "acorn": "^8.4.1",
2462 "acorn-walk": "^8.1.1",
2463 "arg": "^4.1.0",
2464 "create-require": "^1.1.0",
2465 "diff": "^4.0.1",
11462466 "make-error": "^1.1.1",
1147 "minimist": "^1.2.0",
1148 "mkdirp": "^0.5.1",
1149 "source-map-support": "^0.5.6",
1150 "yn": "^2.0.0"
1151 },
1152 "dependencies": {
1153 "minimist": {
1154 "version": "1.2.5",
1155 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1156 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
2467 "yn": "3.1.1"
2468 },
2469 "dependencies": {
2470 "acorn": {
2471 "version": "8.6.0",
2472 "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
2473 "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
11572474 "dev": true
11582475 }
11592476 }
11602477 },
11612478 "tslib": {
1162 "version": "2.0.1",
1163 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
1164 "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ=="
2479 "version": "2.3.1",
2480 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
2481 "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
11652482 },
11662483 "typescript": {
1167 "version": "3.9.7",
1168 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
1169 "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
2484 "version": "4.5.2",
2485 "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz",
2486 "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==",
11702487 "dev": true
11712488 },
11722489 "which": {
11782495 "isexe": "^2.0.0"
11792496 }
11802497 },
1181 "which-module": {
1182 "version": "2.0.0",
1183 "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
1184 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
1185 "dev": true
1186 },
1187 "wide-align": {
1188 "version": "1.1.3",
1189 "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
1190 "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
1191 "dev": true,
1192 "requires": {
1193 "string-width": "^1.0.2 || 2"
1194 }
1195 },
11962498 "workerpool": {
1197 "version": "6.0.0",
1198 "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz",
1199 "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==",
2499 "version": "6.1.5",
2500 "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
2501 "integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
12002502 "dev": true
12012503 },
12022504 "wrap-ansi": {
1203 "version": "5.1.0",
1204 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
1205 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
1206 "dev": true,
1207 "requires": {
1208 "ansi-styles": "^3.2.0",
1209 "string-width": "^3.0.0",
1210 "strip-ansi": "^5.0.0"
2505 "version": "7.0.0",
2506 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
2507 "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
2508 "dev": true,
2509 "requires": {
2510 "ansi-styles": "^4.0.0",
2511 "string-width": "^4.1.0",
2512 "strip-ansi": "^6.0.0"
12112513 },
12122514 "dependencies": {
12132515 "ansi-regex": {
1214 "version": "4.1.0",
1215 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1216 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2516 "version": "5.0.1",
2517 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2518 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2519 "dev": true
2520 },
2521 "is-fullwidth-code-point": {
2522 "version": "3.0.0",
2523 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2524 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
12172525 "dev": true
12182526 },
12192527 "string-width": {
1220 "version": "3.1.0",
1221 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1222 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2528 "version": "4.2.3",
2529 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2530 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
12232531 "dev": true,
12242532 "requires": {
1225 "emoji-regex": "^7.0.1",
1226 "is-fullwidth-code-point": "^2.0.0",
1227 "strip-ansi": "^5.1.0"
2533 "emoji-regex": "^8.0.0",
2534 "is-fullwidth-code-point": "^3.0.0",
2535 "strip-ansi": "^6.0.1"
12282536 }
12292537 },
12302538 "strip-ansi": {
1231 "version": "5.2.0",
1232 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1233 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2539 "version": "6.0.1",
2540 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2541 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
12342542 "dev": true,
12352543 "requires": {
1236 "ansi-regex": "^4.1.0"
2544 "ansi-regex": "^5.0.1"
12372545 }
12382546 }
12392547 }
12452553 "dev": true
12462554 },
12472555 "y18n": {
1248 "version": "4.0.0",
1249 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
1250 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
2556 "version": "5.0.8",
2557 "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
2558 "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
12512559 "dev": true
12522560 },
12532561 "yargs": {
1254 "version": "13.3.2",
1255 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
1256 "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
1257 "dev": true,
1258 "requires": {
1259 "cliui": "^5.0.0",
1260 "find-up": "^3.0.0",
1261 "get-caller-file": "^2.0.1",
2562 "version": "16.2.0",
2563 "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
2564 "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
2565 "dev": true,
2566 "requires": {
2567 "cliui": "^7.0.2",
2568 "escalade": "^3.1.1",
2569 "get-caller-file": "^2.0.5",
12622570 "require-directory": "^2.1.1",
1263 "require-main-filename": "^2.0.0",
1264 "set-blocking": "^2.0.0",
1265 "string-width": "^3.0.0",
1266 "which-module": "^2.0.0",
1267 "y18n": "^4.0.0",
1268 "yargs-parser": "^13.1.2"
2571 "string-width": "^4.2.0",
2572 "y18n": "^5.0.5",
2573 "yargs-parser": "^20.2.2"
12692574 },
12702575 "dependencies": {
12712576 "ansi-regex": {
1272 "version": "4.1.0",
1273 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1274 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2577 "version": "5.0.1",
2578 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2579 "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
12752580 "dev": true
12762581 },
1277 "find-up": {
2582 "is-fullwidth-code-point": {
12782583 "version": "3.0.0",
1279 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1280 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1281 "dev": true,
1282 "requires": {
1283 "locate-path": "^3.0.0"
1284 }
1285 },
1286 "locate-path": {
1287 "version": "3.0.0",
1288 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1289 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1290 "dev": true,
1291 "requires": {
1292 "p-locate": "^3.0.0",
1293 "path-exists": "^3.0.0"
1294 }
1295 },
1296 "p-locate": {
1297 "version": "3.0.0",
1298 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1299 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1300 "dev": true,
1301 "requires": {
1302 "p-limit": "^2.0.0"
1303 }
1304 },
1305 "path-exists": {
1306 "version": "3.0.0",
1307 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1308 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2584 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
2585 "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
13092586 "dev": true
13102587 },
13112588 "string-width": {
1312 "version": "3.1.0",
1313 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1314 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
2589 "version": "4.2.3",
2590 "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
2591 "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
13152592 "dev": true,
13162593 "requires": {
1317 "emoji-regex": "^7.0.1",
1318 "is-fullwidth-code-point": "^2.0.0",
1319 "strip-ansi": "^5.1.0"
2594 "emoji-regex": "^8.0.0",
2595 "is-fullwidth-code-point": "^3.0.0",
2596 "strip-ansi": "^6.0.1"
13202597 }
13212598 },
13222599 "strip-ansi": {
1323 "version": "5.2.0",
1324 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1325 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2600 "version": "6.0.1",
2601 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
2602 "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
13262603 "dev": true,
13272604 "requires": {
1328 "ansi-regex": "^4.1.0"
2605 "ansi-regex": "^5.0.1"
13292606 }
13302607 }
13312608 }
13322609 },
13332610 "yargs-parser": {
1334 "version": "13.1.2",
1335 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
1336 "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
1337 "dev": true,
1338 "requires": {
1339 "camelcase": "^5.0.0",
1340 "decamelize": "^1.2.0"
1341 }
2611 "version": "20.2.4",
2612 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
2613 "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
2614 "dev": true
13422615 },
13432616 "yargs-unparser": {
1344 "version": "1.6.1",
1345 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz",
1346 "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==",
1347 "dev": true,
1348 "requires": {
1349 "camelcase": "^5.3.1",
1350 "decamelize": "^1.2.0",
1351 "flat": "^4.1.0",
1352 "is-plain-obj": "^1.1.0",
1353 "yargs": "^14.2.3"
1354 },
1355 "dependencies": {
1356 "ansi-regex": {
1357 "version": "4.1.0",
1358 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1359 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1360 "dev": true
1361 },
1362 "find-up": {
1363 "version": "3.0.0",
1364 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1365 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1366 "dev": true,
1367 "requires": {
1368 "locate-path": "^3.0.0"
1369 }
1370 },
1371 "locate-path": {
1372 "version": "3.0.0",
1373 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1374 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1375 "dev": true,
1376 "requires": {
1377 "p-locate": "^3.0.0",
1378 "path-exists": "^3.0.0"
1379 }
1380 },
1381 "p-locate": {
1382 "version": "3.0.0",
1383 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1384 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1385 "dev": true,
1386 "requires": {
1387 "p-limit": "^2.0.0"
1388 }
1389 },
1390 "path-exists": {
1391 "version": "3.0.0",
1392 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1393 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1394 "dev": true
1395 },
1396 "string-width": {
1397 "version": "3.1.0",
1398 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1399 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1400 "dev": true,
1401 "requires": {
1402 "emoji-regex": "^7.0.1",
1403 "is-fullwidth-code-point": "^2.0.0",
1404 "strip-ansi": "^5.1.0"
1405 }
1406 },
1407 "strip-ansi": {
1408 "version": "5.2.0",
1409 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1410 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1411 "dev": true,
1412 "requires": {
1413 "ansi-regex": "^4.1.0"
1414 }
1415 },
1416 "yargs": {
1417 "version": "14.2.3",
1418 "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
1419 "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
1420 "dev": true,
1421 "requires": {
1422 "cliui": "^5.0.0",
1423 "decamelize": "^1.2.0",
1424 "find-up": "^3.0.0",
1425 "get-caller-file": "^2.0.1",
1426 "require-directory": "^2.1.1",
1427 "require-main-filename": "^2.0.0",
1428 "set-blocking": "^2.0.0",
1429 "string-width": "^3.0.0",
1430 "which-module": "^2.0.0",
1431 "y18n": "^4.0.0",
1432 "yargs-parser": "^15.0.1"
1433 }
1434 },
1435 "yargs-parser": {
1436 "version": "15.0.1",
1437 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
1438 "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
1439 "dev": true,
1440 "requires": {
1441 "camelcase": "^5.0.0",
1442 "decamelize": "^1.2.0"
1443 }
1444 }
2617 "version": "2.0.0",
2618 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
2619 "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
2620 "dev": true,
2621 "requires": {
2622 "camelcase": "^6.0.0",
2623 "decamelize": "^4.0.0",
2624 "flat": "^5.0.2",
2625 "is-plain-obj": "^2.1.0"
14452626 }
14462627 },
14472628 "yn": {
1448 "version": "2.0.0",
1449 "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
1450 "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
2629 "version": "3.1.1",
2630 "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
2631 "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
14512632 "dev": true
14522633 }
14532634 }
00 {
11 "author": "Ben Newman <bn@cs.stanford.edu>",
22 "name": "ast-types",
3 "version": "0.14.1",
3 "version": "0.15.1",
44 "description": "Esprima-compatible implementation of the Mozilla JS Parser API",
55 "keywords": [
66 "ast",
3232 "test": "npm run gen && npm run build && npm run mocha",
3333 "clean": "ts-emit-clean",
3434 "build": "tsc && ts-add-module-exports",
35 "prepack": "npm run clean && npm run gen && npm run build",
35 "prepare": "npm run clean && npm run gen && npm run build",
3636 "postpack": "npm run clean"
3737 },
3838 "dependencies": {
3939 "tslib": "^2.0.1"
4040 },
4141 "devDependencies": {
42 "@babel/parser": "7.11.4",
43 "@babel/types": "7.4.4",
44 "@types/esprima": "4.0.2",
45 "@types/glob": "7.1.3",
46 "@types/mocha": "8.0.3",
47 "@types/node": "12.0.0",
48 "espree": "7.3.0",
42 "@babel/parser": "7.16.4",
43 "@babel/types": "7.16.0",
44 "@types/esprima": "4.0.3",
45 "@types/glob": "7.2.0",
46 "@types/mocha": "9.0.0",
47 "@types/node": "16.11.10",
48 "espree": "9.1.0",
4949 "esprima": "4.0.1",
5050 "esprima-fb": "15001.1001.0-dev-harmony-fb",
51 "flow-parser": "0.132.0",
52 "glob": "7.1.6",
53 "mocha": "^8.1.1",
54 "recast": "0.20.1",
51 "flow-parser": "0.165.1",
52 "glob": "7.2.0",
53 "mocha": "^9.1.3",
54 "recast": "0.20.5",
5555 "reify": "0.20.12",
5656 "ts-add-module-exports": "1.0.0",
5757 "ts-emit-clean": "1.0.0",
58 "ts-node": "7.0.1",
59 "typescript": "3.9.7"
58 "ts-node": "10.4.0",
59 "typescript": "4.5.2"
6060 },
6161 "engines": {
6262 "node": ">=4"
2929 import esprimaDef from "../def/esprima";
3030 import coreDef from "../def/core";
3131 import es6Def from "../def/es6";
32 import es2020Def from "../def/es2020";
32 import esProposalsDef from "../def/es-proposals";
3333 import babelDef from "../def/babel";
3434
3535 const {
228228
229229 it("should fail when expected", function() {
230230 // Not an Expression.
231 assert.ok(!n.Expression.check(decl));
231 assert.strictEqual(n.Expression.check(decl), false);
232232
233233 // This makes decl cease to conform to n.VariableDeclaration.
234234 decl.declarations.push(b.literal("bar") as $InvalidType);
436436 try {
437437 check({ type: "asdf" }, ["type"]);
438438 throw new Error("should have thrown");
439 } catch (e) {
439 } catch (e: any) {
440440 assert.strictEqual(
441441 e.message,
442442 'did not recognize object of type "asdf"'
570570 visitMemberExpression: function(path) {
571571 try {
572572 this.traverse(path);
573 } catch (err) {
573 } catch (err: any) {
574574 assert.ok(err instanceof this.AbortRequest);
575575 err.cancel();
576576 }
12081208 assert.deepEqual(names, ["x", "xyDefault", "xyNamespace", "z"]);
12091209 });
12101210
1211 describe("getBindings should work with destructuring operations", function() {
1212 const code = `
1213 function aFunction(arg1, { arg2 }) {
1214 const { arg3, nested: { something: arg4 } } = arg1;
1215 const [arg5] = arg1;
1216 return 0;
1217 }`;
1218 for (const { parser, parserName } of [
1219 { parser: parse, parserName: "esprima" },
1220 { parser: babylonParse, parserName: "babel" }
1221 ]) {
1222 it(`produces the correct bindings with ${parserName} parser`, function() {
1223 const ast = parser(code);
1224
1225 visit(ast, {
1226 visitReturnStatement: function(path) {
1227 const names = Object.keys(path.scope.getBindings()).sort();
1228 assert.deepEqual(names, ["arg1", "arg2", "arg3", "arg4", "arg5"]);
1229 return false;
1230 }
1231 })
1232 });
1233 }
1234 });
1235
12111236 (nodeMajorVersion >= 6 ? it : xit)
12121237 ("should work for ES6 syntax (espree)", function() {
12131238 var names;
12251250
12261251 visit(ast, {
12271252 visitFunctionDeclaration: function(path) {
1253 names = Object.keys(path.scope.lookup("zap").getBindings()).sort();
1254 assert.deepEqual(names, ["zap"]);
1255 this.traverse(path);
1256 }
1257 });
1258 });
1259
1260 (nodeMajorVersion >= 6 ? it : xit)
1261 ("should work with classes for ES6 syntax (espree)", function() {
1262 var names;
1263
1264 var ast = espree.parse([
1265 "var zap;",
1266 "export default class {",
1267 " render () {",
1268 " var innerFn = function(zip) {};",
1269 " return innerFn(zom);",
1270 " }",
1271 "};"
1272 ].join("\n"), {
1273 sourceType: "module",
1274 ecmaVersion: 2020,
1275 });
1276
1277 visit(ast, {
1278 visitCallExpression: function(path) {
12281279 names = Object.keys(path.scope.lookup("zap").getBindings()).sort();
12291280 assert.deepEqual(names, ["zap"]);
12301281 this.traverse(path);
14431494 var types = fork([
14441495 coreDef,
14451496 es6Def,
1446 es2020Def,
1497 esProposalsDef,
14471498 ]);
14481499 var b = types.builders;
14491500
15821633
15831634 assert.ok(false, "should have thrown an exception");
15841635
1585 } catch (err) {
1636 } catch (err: any) {
15861637 assert.strictEqual(
15871638 err.message,
15881639 "Must either call this.traverse or return false in visitIdentifier"
24142465 });
24152466 });
24162467
2417 describe("Optional Chaining", function() {
2418 describe('OptionalMemberExpression', function() {
2419 it("should set optional to true by default", function(){
2420 var optionalMemberExpression = b.optionalMemberExpression(
2468 describe("Optional Chaining", function () {
2469 describe("ChainExpression", function () {
2470 it("should set expression.optional in CallExpression to false by default", function () {
2471 const chainExpression = b.chainExpression(
2472 b.callExpression(
2473 b.identifier("call"),
2474 [],
2475 ),
2476 );
2477
2478 n.CallExpression.assert(chainExpression.expression);
2479 n.ChainElement.assert(chainExpression.expression);
2480
2481 assert.strictEqual(chainExpression.expression.optional, false);
2482 });
2483
2484 it("can set expression.optional in CallExpression to true", function () {
2485 const chainExpression = b.chainExpression(
2486 b.callExpression.from({
2487 callee: b.identifier("fn"),
2488 arguments: [],
2489 optional: true,
2490 }),
2491 );
2492
2493 n.CallExpression.assert(chainExpression.expression);
2494 n.ChainElement.assert(chainExpression.expression);
2495
2496 assert.strictEqual(chainExpression.expression.optional, true);
2497 });
2498
2499 it("should set expression.optional in MemberExpression to false by default", function () {
2500 const chainExpression = b.chainExpression(
2501 b.memberExpression(
2502 b.identifier("a"),
2503 b.identifier("b"),
2504 false,
2505 ),
2506 );
2507
2508 n.MemberExpression.assert(chainExpression.expression);
2509 n.ChainElement.assert(chainExpression.expression);
2510
2511 assert.strictEqual(chainExpression.expression.optional, false);
2512 });
2513
2514 it("can set expression.optional in MemberExpression to true", function () {
2515 const chainExpression = b.chainExpression(
2516 b.memberExpression.from({
2517 object: b.identifier("a"),
2518 property: b.identifier("b"),
2519 computed: false,
2520 optional: true,
2521 }),
2522 );
2523
2524 n.MemberExpression.assert(chainExpression.expression);
2525 n.ChainElement.assert(chainExpression.expression);
2526
2527 assert.strictEqual(chainExpression.expression.optional, true);
2528 });
2529 });
2530
2531 describe('OptionalCallExpression', function() {
2532 it("should set optional to true by default", function () {
2533 const optionalCallExpression = b.optionalCallExpression(
2534 b.identifier('foo'),
2535 []
2536 );
2537
2538 n.OptionalCallExpression.assert(optionalCallExpression);
2539 n.CallExpression.assert(optionalCallExpression);
2540 n.ChainElement.assert(optionalCallExpression);
2541
2542 assert.strictEqual(optionalCallExpression.optional, true);
2543 });
2544
2545 it("should allow optional to be false", function () {
2546 const optionalCallExpression = b.optionalCallExpression(
2547 b.identifier('foo'),
2548 [],
2549 false
2550 );
2551
2552 n.OptionalCallExpression.assert(optionalCallExpression);
2553 n.CallExpression.assert(optionalCallExpression);
2554 n.ChainElement.assert(optionalCallExpression);
2555
2556 assert.strictEqual(optionalCallExpression.optional, false);
2557 });
2558 });
2559
2560 describe('OptionalMemberExpression', function () {
2561 it("should set optional to true by default", function () {
2562 const optionalMemberExpression = b.optionalMemberExpression(
24212563 b.identifier('foo'),
24222564 b.identifier('bar')
24232565 );
24242566
2567 n.OptionalMemberExpression.assert(optionalMemberExpression);
2568 n.MemberExpression.assert(optionalMemberExpression);
2569 n.ChainElement.assert(optionalMemberExpression);
2570
24252571 assert.strictEqual(optionalMemberExpression.optional, true);
24262572 });
24272573
2428 it("should allow optional to be false", function(){
2429 var optionalMemberExpression = b.optionalMemberExpression(
2574 it("should allow optional to be false", function () {
2575 const optionalMemberExpression = b.optionalMemberExpression(
24302576 b.identifier('foo'),
24312577 b.identifier('bar'),
24322578 true,
24332579 false
24342580 );
24352581
2582 n.OptionalMemberExpression.assert(optionalMemberExpression);
2583 n.MemberExpression.assert(optionalMemberExpression);
2584 n.ChainElement.assert(optionalMemberExpression);
2585
24362586 assert.strictEqual(optionalMemberExpression.optional, false);
2437 });
2438 });
2439
2440 describe('OptionalCallExpression', function() {
2441 it("should set optional to true by default", function(){
2442 var optionalCallExpression = b.optionalCallExpression(
2443 b.identifier('foo'),
2444 []
2445 );
2446
2447 assert.strictEqual(optionalCallExpression.optional, true);
2448 });
2449
2450 it("should allow optional to be false", function(){
2451 var optionalCallExpression = b.optionalCallExpression(
2452 b.identifier('foo'),
2453 [],
2454 false
2455 );
2456
2457 assert.strictEqual(optionalCallExpression.optional, false);
24582587 });
24592588 });
24602589 });
24862615 visit,
24872616 namedTypes: n,
24882617 builders: b,
2489 } = fork([ es2020Def ]);
2618 } = fork([ esProposalsDef ]);
24902619
24912620 it('should work with expression values', () => {
24922621 const importExpression = b.importExpression(
11 import flowParser from "flow-parser";
22 import forkFn from "../fork";
33 import flowDef from "../def/flow";
4 import { ASTNode } from "../lib/types";
5 import { NodePath } from "../lib/node-path";
6 import { Visitor } from "../gen/visitor";
7 import { Context } from "../lib/path-visitor";
48
59 var types = forkFn([
610 flowDef,
104108 });
105109 });
106110 });
111
112 function assertVisited(node: ASTNode, visitors: Visitor<any>): any {
113 const visitedSet: Set<string> = new Set();
114 const wrappedVisitors: Visitor<any> = {}
115 for (const _key of Object.keys(visitors)) {
116 const key = _key as keyof Visitor<any>
117 wrappedVisitors[key] = function (this: Context, path: NodePath<any>) {
118 visitedSet.add(key);
119 (visitors[key] as any)?.call(this, path)
120 }
121 }
122 types.visit(node, wrappedVisitors);
123
124 for (const key of Object.keys(visitors)) {
125 assert.equal(visitedSet.has(key), true);
126 }
127 }
128
129 it("issue #294 - function declarations", function () {
130 const parser = {
131 parse(code: string) {
132 return require('flow-parser').parse(code, {
133 types: true
134 });
135 }
136 };
137
138 const program = parser.parse([
139 "function foo<T>(): T { }",
140 "let bar: T",
141 ].join("\n"));
142
143 assertVisited(program, {
144 visitFunctionDeclaration(path) {
145 assert.ok(path.scope.lookupType('T'));
146 this.traverse(path);
147 },
148 visitVariableDeclarator(path) {
149 assert.equal(path.scope.lookupType('T'), null);
150 this.traverse(path);
151 }
152 });
153 });
154
155 it("issue #294 - function expressions", function () {
156 const parser = {
157 parse(code: string) {
158 return require('flow-parser').parse(code, {
159 types: true
160 });
161 }
162 };
163
164 const program = parser.parse([
165 "const foo = function <T>(): T { }",
166 "let bar: T",
167 ].join("\n"));
168
169 assertVisited(program, {
170 visitFunctionExpression(path) {
171 assert.ok(path.scope.lookupType('T'));
172 this.traverse(path);
173 },
174 visitVariableDeclarator(path) {
175 if (path.node.id.type === 'Identifier' && path.node.id.name === 'bar') {
176 assert.equal(path.scope.lookupType('T'), null);
177 }
178 this.traverse(path);
179 }
180 });
181 });
182
183 it("issue #294 - arrow function expressions", function () {
184 const parser = {
185 parse(code: string) {
186 return require('flow-parser').parse(code, {
187 types: true
188 });
189 }
190 };
191
192 const program = parser.parse([
193 "const foo = <T>(): T => { }",
194 "let bar: T"
195 ].join("\n"));
196
197 assertVisited(program, {
198 visitArrowFunctionExpression(path) {
199 assert.ok(path.scope.lookupType('T'));
200 this.traverse(path);
201 },
202 visitVariableDeclarator(path) {
203 assert.equal(path.scope.lookupType('T'), null);
204 this.traverse(path);
205 }
206 });
207 });
208
209 it("issue #294 - class declarations", function () {
210 const parser = {
211 parse(code: string) {
212 return require('flow-parser').parse(code, {
213 types: true
214 });
215 }
216 };
217
218 const program = parser.parse([
219 "class Foo<T> extends Bar<Array<T>> { }",
220 "let bar: T"
221 ].join("\n"));
222
223 assertVisited(program, {
224 visitTypeParameterInstantiation(path) {
225 assert.ok(path.scope.lookupType('T'));
226 this.traverse(path);
227 },
228 visitVariableDeclarator(path) {
229 assert.equal(path.scope.lookupType('T'), null);
230 this.traverse(path);
231 }
232 });
233 });
234
235 it("issue #294 - class expressions", function () {
236 const parser = {
237 parse(code: string) {
238 return require('flow-parser').parse(code, {
239 types: true
240 });
241 }
242 };
243
244 const program = parser.parse([
245 "const foo = class Foo<T> extends Bar<Array<T>> { }",
246 "let bar: T"
247 ].join("\n"));
248
249 assertVisited(program, {
250 visitTypeParameterInstantiation(path) {
251 assert.ok(path.scope.lookupType('T'));
252 this.traverse(path);
253 },
254 visitVariableDeclarator(path) {
255 if (path.node.id.type === 'Identifier' && path.node.id.name === 'bar') {
256 assert.equal(path.scope.lookupType('T'), null);
257 assert.equal(path.scope.lookupType('Foo'), null);
258 }
259 this.traverse(path);
260 }
261 });
262 });
263
264 it("issue #296 - interface declarations", function () {
265 const parser = {
266 parse(code: string) {
267 return require('flow-parser').parse(code, {
268 types: true
269 });
270 }
271 };
272
273 const program = parser.parse([
274 "interface Foo<T> extends Bar<Array<T>> { }",
275 "let bar: T"
276 ].join("\n"));
277
278 assertVisited(program, {
279 visitTypeParameterInstantiation(path) {
280 assert.ok(path.scope.lookupType('T'));
281 this.traverse(path);
282 },
283 visitVariableDeclarator(path) {
284 assert.equal(path.scope.lookupType('T'), null);
285 assert.ok(path.scope.lookupType('Foo'));
286 this.traverse(path);
287 }
288 });
289 });
107290 });
77 import typescriptDef from "../def/typescript";
88 import jsxDef from "../def/jsx";
99 import { visit } from "../main";
10 import { ASTNode } from "../lib/types";
11 import { NodePath } from "../lib/node-path";
12 import { Visitor } from "../gen/visitor";
13 import { Context } from "../lib/path-visitor";
1014
1115 var pkgRootDir = path.resolve(__dirname, "..");
1216 var tsTypes = fork([
6266 try {
6367 return babelParse(code, parseOptions).program;
6468
65 } catch (error) {
69 } catch (error: any) {
6670 // If parsing fails, check options.json to see if the failure was
6771 // expected.
6872 try {
6973 var options = JSON.parse(fs.readFileSync(
7074 path.join(path.dirname(fullPath), "options.json")).toString());
71 } catch (optionsError) {
75 } catch (optionsError: any) {
7276 console.error(optionsError.message);
7377 }
7478
188192 });
189193 });
190194 });
191 });
195
196 function assertVisited(node: ASTNode, visitors: Visitor<any>): any {
197 const visitedSet: Set<string> = new Set();
198 const wrappedVisitors: Visitor<any> = {}
199 for (const _key of Object.keys(visitors)) {
200 const key = _key as keyof Visitor<any>
201 wrappedVisitors[key] = function (this: Context, path: NodePath<any>) {
202 visitedSet.add(key);
203 (visitors[key] as any)?.call(this, path)
204 }
205 }
206 tsTypes.visit(node, wrappedVisitors);
207
208 for (const key of Object.keys(visitors)) {
209 assert.equal(visitedSet.has(key), true);
210 }
211 }
212
213 describe('typescript types', () => {
214 it("issue #294 - function declarations", function () {
215 const program = babelParse([
216 "function foo<T>(): T { }",
217 "let bar: T",
218 ].join("\n"),
219 { plugins: ['typescript'] }
220 )
221
222 assertVisited(program, {
223 visitFunctionDeclaration(path) {
224 assert.ok(path.scope.lookupType('T'));
225 this.traverse(path);
226 },
227 visitVariableDeclarator(path) {
228 assert.equal(path.scope.lookupType('T'), null);
229 this.traverse(path);
230 }
231 });
232 });
233
234 it("issue #294 - function expressions", function () {
235 const program = babelParse([
236 "const foo = function <T>(): T { }",
237 "let bar: T",
238 ].join("\n"), {
239 plugins: ["typescript"]
240 });
241
242 assertVisited(program, {
243 visitFunctionExpression(path) {
244 assert.ok(path.scope.lookupType('T'));
245 this.traverse(path);
246 },
247 visitVariableDeclarator(path) {
248 if (path.node.id.type === 'Identifier' && path.node.id.name === 'bar') {
249 assert.equal(path.scope.lookupType('T'), null);
250 }
251 this.traverse(path);
252 }
253 });
254 });
255
256 it("issue #294 - arrow function expressions", function () {
257 const program = babelParse([
258 "const foo = <T>(): T => { }",
259 "let bar: T"
260 ].join("\n"), {
261 plugins: ["typescript"]
262 });
263
264 assertVisited(program, {
265 visitArrowFunctionExpression(path) {
266 assert.ok(path.scope.lookupType('T'));
267 this.traverse(path);
268 },
269 visitVariableDeclarator(path) {
270 assert.equal(path.scope.lookupType('T'), null);
271 this.traverse(path);
272 }
273 });
274 });
275
276 it("issue #294 - class declarations", function () {
277 const program = babelParse([
278 "class Foo<T> extends Bar<Array<T>> { }",
279 "let bar: T"
280 ].join("\n"), {
281 plugins: ["typescript"]
282 });
283
284 assertVisited(program, {
285 visitTSTypeParameterInstantiation(path) {
286 assert.ok(path.scope.lookupType('T'));
287 this.traverse(path);
288 },
289 visitVariableDeclarator(path) {
290 assert.equal(path.scope.lookupType('T'), null);
291 this.traverse(path);
292 }
293 });
294 });
295
296 it("issue #294 - class expressions", function () {
297 const program = babelParse([
298 "const foo = class Foo<T> extends Bar<Array<T>> { }",
299 "let bar: T"
300 ].join("\n"), {
301 plugins: ["typescript"]
302 });
303
304 assertVisited(program, {
305 visitTSTypeParameterInstantiation(path) {
306 assert.ok(path.scope.lookupType('T'));
307 this.traverse(path);
308 },
309 visitVariableDeclarator(path) {
310 if (path.node.id.type === 'Identifier' && path.node.id.name === 'bar') {
311 assert.equal(path.scope.lookupType('T'), null);
312 assert.equal(path.scope.lookupType('Foo'), null);
313 }
314 this.traverse(path);
315 }
316 });
317 });
318
319 it("issue #296 - interface declarations", function () {
320 const program = babelParse([
321 "interface Foo<T> extends Bar<Array<T>> { }",
322 "let bar: T"
323 ].join("\n"), {
324 plugins: ["typescript"]
325 });
326
327 assertVisited(program, {
328 visitTSTypeParameterInstantiation(path) {
329 assert.ok(path.scope.lookupType('T'));
330 this.traverse(path);
331 },
332 visitVariableDeclarator(path) {
333 assert.equal(path.scope.lookupType('T'), null);
334 assert.ok(path.scope.lookupType('Foo'));
335 this.traverse(path);
336 }
337 });
338 });
339 });
340 });