Codebase list node-ast-types / a9b4013
Update upstream source from tag 'upstream/0.14.0' Update to upstream version '0.14.0' with Debian dir 6baa5a5e6220c0319c523c2d7596c34f4743268a Julien Puydt 3 years ago
32 changed file(s) with 2177 addition(s) and 1449 deletion(s). Raw diff Collapse all Expand all
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 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
-11
.travis.yml less more
0 language: node_js
1 node_js:
2 - "12"
3 - "11"
4 - "10"
5 - "9"
6 - "8"
7 - "7"
8 - "6"
9
10 sudo: false
0 # AST Types [![Build Status](https://travis-ci.org/benjamn/ast-types.svg?branch=master)](https://travis-ci.org/benjamn/ast-types) [![Greenkeeper badge](https://badges.greenkeeper.io/benjamn/ast-types.svg)](https://greenkeeper.io/)
0 # AST Types ![CI](https://github.com/benjamn/ast-types/workflows/CI/badge.svg)
11
22 This module provides an efficient, modular,
33 [Esprima](https://github.com/ariya/esprima)-compatible implementation of
00 import { Fork } from "../types";
1 import esProposalsDef from "./es-proposals";
12 import typesPlugin from "../lib/types";
23 import sharedPlugin from "../lib/shared";
3 import es7Def from "./es7";
44 import { namedTypes as N } from "../gen/namedTypes";
55
66 export default function (fork: Fork) {
7 fork.use(es7Def);
7 fork.use(esProposalsDef);
88
99 var types = fork.use(typesPlugin);
1010 var defaults = fork.use(sharedPlugin).defaults;
2020 .build("body")
2121 .field("body", [def("Statement")]);
2222
23 def("Super")
24 .bases("Expression")
25 .build();
26
2723 def("BindExpression")
2824 .bases("Expression")
2925 .build("object", "callee")
3026 .field("object", or(def("Expression"), null))
3127 .field("callee", def("Expression"));
3228
33 def("Decorator")
34 .bases("Node")
29 def("ParenthesizedExpression")
30 .bases("Expression")
3531 .build("expression")
3632 .field("expression", def("Expression"));
37
38 def("Property")
39 .field("decorators",
40 or([def("Decorator")], null),
41 defaults["null"]);
42
43 def("MethodDefinition")
44 .field("decorators",
45 or([def("Decorator")], null),
46 defaults["null"]);
47
48 def("MetaProperty")
49 .bases("Expression")
50 .build("meta", "property")
51 .field("meta", def("Identifier"))
52 .field("property", def("Identifier"));
53
54 def("ParenthesizedExpression")
55 .bases("Expression")
56 .build("expression")
57 .field("expression", def("Expression"));
58
59 def("ImportSpecifier")
60 .bases("ModuleSpecifier")
61 .build("imported", "local")
62 .field("imported", def("Identifier"));
63
64 def("ImportDefaultSpecifier")
65 .bases("ModuleSpecifier")
66 .build("local");
67
68 def("ImportNamespaceSpecifier")
69 .bases("ModuleSpecifier")
70 .build("local");
71
72 def("ExportDefaultDeclaration")
73 .bases("Declaration")
74 .build("declaration")
75 .field("declaration", or(def("Declaration"), def("Expression")));
76
77 def("ExportNamedDeclaration")
78 .bases("Declaration")
79 .build("declaration", "specifiers", "source")
80 .field("declaration", or(def("Declaration"), null))
81 .field("specifiers", [def("ExportSpecifier")], defaults.emptyArray)
82 .field("source", or(def("Literal"), null), defaults["null"]);
83
84 def("ExportSpecifier")
85 .bases("ModuleSpecifier")
86 .build("local", "exported")
87 .field("exported", def("Identifier"));
8833
8934 def("ExportNamespaceSpecifier")
9035 .bases("Specifier")
9540 .bases("Specifier")
9641 .build("exported")
9742 .field("exported", def("Identifier"));
98
99 def("ExportAllDeclaration")
100 .bases("Declaration")
101 .build("exported", "source")
102 .field("exported", or(def("Identifier"), null))
103 .field("source", def("Literal"));
10443
10544 def("CommentBlock")
10645 .bases("Comment")
277216 .field("optional", or(Boolean, null), defaults["null"]);
278217 });
279218
280 def("ClassPrivateProperty")
281 .bases("ClassProperty")
282 .build("key", "value")
283 .field("key", def("PrivateName"))
284 .field("value", or(def("Expression"), null), defaults["null"]);
285
286 def("PrivateName")
287 .bases("Expression", "Pattern")
288 .build("id")
289 .field("id", def("Identifier"));
290
291219 var ObjectPatternProperty = or(
292220 def("Property"),
293221 def("PropertyPattern"),
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";
12 import typesPlugin from "../lib/types";
23 import sharedPlugin from "../lib/shared";
34 import { namedTypes as N } from "../gen/namedTypes";
135136 def("CatchClause")
136137 .bases("Node")
137138 .build("param", "guard", "body")
138 // https://github.com/tc39/proposal-optional-catch-binding
139 .field("param", or(def("Pattern"), null), defaults["null"])
139 .field("param", def("Pattern"))
140140 .field("guard", or(def("Expression"), null), defaults["null"])
141141 .field("body", def("BlockStatement"));
142142
237237 // always true for unary operators.
238238 .field("prefix", Boolean, defaults["true"]);
239239
240 var BinaryOperator = or(
241 "==", "!=", "===", "!==",
242 "<", "<=", ">", ">=",
243 "<<", ">>", ">>>",
244 "+", "-", "*", "/", "%", "**",
245 "&", // TODO Missing from the Parser API.
246 "|", "^", "in",
247 "instanceof");
240 const BinaryOperator = or(...BinaryOperators);
248241
249242 def("BinaryExpression")
250243 .bases("Expression")
253246 .field("left", def("Expression"))
254247 .field("right", def("Expression"));
255248
256 var AssignmentOperator = or(
257 "=", "+=", "-=", "*=", "/=", "%=",
258 "<<=", ">>=", ">>>=",
259 "|=", "^=", "&=");
249 const AssignmentOperator = or(...AssignmentOperators);
260250
261251 def("AssignmentExpression")
262252 .bases("Expression")
274264 .field("argument", def("Expression"))
275265 .field("prefix", Boolean);
276266
277 var LogicalOperator = or("||", "&&");
267 var LogicalOperator = or(...LogicalOperators);
278268
279269 def("LogicalExpression")
280270 .bases("Expression")
00 import { Fork } from "../types";
11 import typesPlugin from "../lib/types";
22 import sharedPlugin from "../lib/shared";
3 import coreDef from "./core";
3 import es2020Def from "./es2020";
44
55 export default function (fork: Fork) {
6 fork.use(coreDef);
6 fork.use(es2020Def);
77
8 var types = fork.use(typesPlugin);
9 var Type = types.Type;
10 var def = types.Type.def;
11 var or = Type.or;
8 const types = fork.use(typesPlugin);
9 const Type = types.Type;
10 const def = types.Type.def;
11 const or = Type.or;
1212
13 var shared = fork.use(sharedPlugin);
14 var defaults = shared.defaults;
13 const shared = fork.use(sharedPlugin);
14 const defaults = shared.defaults;
1515
16 def("AwaitExpression")
17 .build("argument", "all")
18 .field("argument", or(def("Expression"), null))
19 .field("all", Boolean, defaults["false"]);
1620
17 // https://github.com/tc39/proposal-optional-chaining
18 // `a?.b` as per https://github.com/estree/estree/issues/146
19 def("OptionalMemberExpression")
20 .bases("MemberExpression")
21 .build("object", "property", "computed", "optional")
22 .field("optional", Boolean, defaults["true"])
21 // Decorators
22 def("Decorator")
23 .bases("Node")
24 .build("expression")
25 .field("expression", def("Expression"));
2326
24 // a?.b()
25 def("OptionalCallExpression")
26 .bases("CallExpression")
27 .build("callee", "arguments", "optional")
28 .field("optional", Boolean, defaults["true"])
27 def("Property")
28 .field("decorators",
29 or([def("Decorator")], null),
30 defaults["null"]);
2931
32 def("MethodDefinition")
33 .field("decorators",
34 or([def("Decorator")], null),
35 defaults["null"]);
3036
31 // https://github.com/tc39/proposal-nullish-coalescing
32 // `a ?? b` as per https://github.com/babel/babylon/pull/761/files
33 var LogicalOperator = or("||", "&&", "??");
37 // Private names
38 def("PrivateName")
39 .bases("Expression", "Pattern")
40 .build("id")
41 .field("id", def("Identifier"));
3442
35 def("LogicalExpression")
36 .field("operator", LogicalOperator)
43 def("ClassPrivateProperty")
44 .bases("ClassProperty")
45 .build("key", "value")
46 .field("key", def("PrivateName"))
47 .field("value", or(def("Expression"), null), defaults["null"]);
3748 };
0 import { Fork } from "../types";
1 import { BinaryOperators, AssignmentOperators } from "./core-operators";
2 import es6Def from "./es6";
3 import typesPlugin from "../lib/types";
4
5 export default function (fork: Fork) {
6 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)
27 };
0 import { Fork } from "../types";
1 import es2016Def from "./es2016";
2 import typesPlugin from "../lib/types";
3 import sharedPlugin from "../lib/shared";
4
5 export default function (fork: Fork) {
6 fork.use(es2016Def);
7
8 const types = fork.use(typesPlugin);
9 const def = types.Type.def;
10 const defaults = fork.use(sharedPlugin).defaults;
11
12 def("Function")
13 .field("async", Boolean, defaults["false"]);
14
15 def("AwaitExpression")
16 .bases("Expression")
17 .build("argument")
18 .field("argument", def("Expression"));
19 };
0 import { Fork } from "../types";
1 import es2017Def from "./es2017";
2 import typesPlugin from "../lib/types";
3 import sharedPlugin from "../lib/shared";
4
5 export default function (fork: Fork) {
6 fork.use(es2017Def);
7
8 const types = fork.use(typesPlugin);
9 const def = types.Type.def;
10 const or = types.Type.or;
11 const defaults = fork.use(sharedPlugin).defaults;
12
13 def("ForOfStatement")
14 .field("await", Boolean, defaults["false"]);
15
16 // Legacy
17 def("SpreadProperty")
18 .bases("Node")
19 .build("argument")
20 .field("argument", def("Expression"));
21
22 def("ObjectExpression")
23 .field("properties", [or(
24 def("Property"),
25 def("SpreadProperty"), // Legacy
26 def("SpreadElement")
27 )]);
28
29 def("TemplateElement")
30 .field("value", {"cooked": or(String, null), "raw": String});
31
32 // Legacy
33 def("SpreadPropertyPattern")
34 .bases("Pattern")
35 .build("argument")
36 .field("argument", def("Pattern"));
37
38 def("ObjectPattern")
39 .field("properties", [or(def("PropertyPattern"), def("Property"), def("RestElement"), def("SpreadPropertyPattern"))]);
40 };
0 import { Fork } from "../types";
1 import es2018Def from "./es2018";
2 import typesPlugin from "../lib/types";
3 import sharedPlugin from "../lib/shared";
4
5 export default function (fork: Fork) {
6 fork.use(es2018Def);
7
8 const types = fork.use(typesPlugin);
9 const def = types.Type.def;
10 const or = types.Type.or;
11 const defaults = fork.use(sharedPlugin).defaults;
12
13 def("CatchClause")
14 .field("param", or(def("Pattern"), null), defaults["null"]);
15 };
00 import { Fork } from "../types";
1 import es7Def from "./es7";
1 import { LogicalOperators } from "./core-operators";
2 import es2019Def from "./es2019";
23 import typesPlugin from "../lib/types";
4 import sharedPlugin from "../lib/shared";
35
46 export default function (fork: Fork) {
5 fork.use(es7Def);
7 fork.use(es2019Def);
68
79 const types = fork.use(typesPlugin);
810 const def = types.Type.def;
11 const or = types.Type.or;
12
13 const shared = fork.use(sharedPlugin);
14 const defaults = shared.defaults;
915
1016 def("ImportExpression")
1117 .bases("Expression")
1218 .build("source")
1319 .field("source", def("Expression"));
20
21 def("ExportAllDeclaration")
22 .build("source", "exported")
23 .field("source", def("Literal"))
24 .field("exported", or(def("Identifier"), null));
25
26 // Optional chaining
27 def("OptionalMemberExpression")
28 .bases("MemberExpression")
29 .build("object", "property", "computed", "optional")
30 .field("optional", Boolean, defaults["true"])
31
32 def("OptionalCallExpression")
33 .bases("CallExpression")
34 .build("callee", "arguments", "optional")
35 .field("optional", Boolean, defaults["true"])
36
37 // Nullish coalescing
38 const LogicalOperator = or(...LogicalOperators, "??");
39
40 def("LogicalExpression")
41 .field("operator", LogicalOperator)
1442 };
55 export default function (fork: Fork) {
66 fork.use(coreDef);
77
8 var types = fork.use(typesPlugin);
9 var def = types.Type.def;
10 var or = types.Type.or;
11 var defaults = fork.use(sharedPlugin).defaults;
8 const types = fork.use(typesPlugin);
9 const def = types.Type.def;
10 const or = types.Type.or;
11 const defaults = fork.use(sharedPlugin).defaults;
1212
1313 def("Function")
1414 .field("generator", Boolean, defaults["false"])
1515 .field("expression", Boolean, defaults["false"])
1616 .field("defaults", [or(def("Expression"), null)], defaults.emptyArray)
17 // TODO This could be represented as a RestElement in .params.
17 // Legacy
1818 .field("rest", or(def("Identifier"), null), defaults["null"]);
1919
2020 // The ESTree way of representing a ...rest parameter.
3131 .field("argument", def("Pattern"));
3232
3333 def("FunctionDeclaration")
34 .build("id", "params", "body", "generator", "expression");
34 .build("id", "params", "body", "generator", "expression")
35 // May be `null` in the context of `export default function () {}`
36 .field("id", or(def("Identifier"), null))
3537
3638 def("FunctionExpression")
3739 .build("id", "params", "body", "generator", "expression");
3840
39 // The Parser API calls this ArrowExpression, but Esprima and all other
40 // actual parsers use ArrowFunctionExpression.
4141 def("ArrowFunctionExpression")
4242 .bases("Function", "Expression")
4343 .build("params", "body", "expression")
113113 .build("elements")
114114 .field("elements", [or(def("Pattern"), null)]);
115115
116 def("MethodDefinition")
117 .bases("Declaration")
118 .build("kind", "key", "value", "static")
119 .field("kind", or("constructor", "method", "get", "set"))
120 .field("key", def("Expression"))
121 .field("value", def("Function"))
122 .field("computed", Boolean, defaults["false"])
123 .field("static", Boolean, defaults["false"]);
124
125116 def("SpreadElement")
126117 .bases("Node")
127118 .build("argument")
153144 .field("left", def("Pattern"))
154145 .field("right", def("Expression"));
155146
156 var ClassBodyElement = or(
147 def("MethodDefinition")
148 .bases("Declaration")
149 .build("kind", "key", "value", "static")
150 .field("kind", or("constructor", "method", "get", "set"))
151 .field("key", def("Expression"))
152 .field("value", def("Function"))
153 .field("computed", Boolean, defaults["false"])
154 .field("static", Boolean, defaults["false"]);
155
156 const ClassBodyElement = or(
157157 def("MethodDefinition"),
158158 def("VariableDeclarator"),
159159 def("ClassPropertyDefinition"),
190190 .field("id", or(def("Identifier"), null), defaults["null"])
191191 .field("body", def("ClassBody"))
192192 .field("superClass", or(def("Expression"), null), defaults["null"]);
193
194 def("Super")
195 .bases("Expression")
196 .build();
193197
194198 // Specifier and ModuleSpecifier are abstract non-standard types
195199 // introduced for definitional convenience.
211215 .field("id", or(def("Identifier"), null), defaults["null"])
212216 .field("name", or(def("Identifier"), null), defaults["null"]);
213217
214 // Like ModuleSpecifier, except type:"ImportSpecifier" and buildable.
215218 // import {<id [as name]>} from ...;
216219 def("ImportSpecifier")
217220 .bases("ModuleSpecifier")
218 .build("id", "name");
221 .build("imported", "local")
222 .field("imported", def("Identifier"));
223
224 // import <id> from ...;
225 def("ImportDefaultSpecifier")
226 .bases("ModuleSpecifier")
227 .build("local");
219228
220229 // import <* as id> from ...;
221230 def("ImportNamespaceSpecifier")
222231 .bases("ModuleSpecifier")
223 .build("id");
224
225 // import <id> from ...;
226 def("ImportDefaultSpecifier")
227 .bases("ModuleSpecifier")
228 .build("id");
232 .build("local");
229233
230234 def("ImportDeclaration")
231235 .bases("Declaration")
243247 return "value";
244248 });
245249
250 def("ExportNamedDeclaration")
251 .bases("Declaration")
252 .build("declaration", "specifiers", "source")
253 .field("declaration", or(def("Declaration"), null))
254 .field("specifiers", [def("ExportSpecifier")], defaults.emptyArray)
255 .field("source", or(def("Literal"), null), defaults["null"]);
256
257 def("ExportSpecifier")
258 .bases("ModuleSpecifier")
259 .build("local", "exported")
260 .field("exported", def("Identifier"));
261
262 def("ExportDefaultDeclaration")
263 .bases("Declaration")
264 .build("declaration")
265 .field("declaration", or(def("Declaration"), def("Expression")));
266
267 def("ExportAllDeclaration")
268 .bases("Declaration")
269 .build("source")
270 .field("source", def("Literal"));
271
246272 def("TaggedTemplateExpression")
247273 .bases("Expression")
248274 .build("tag", "quasi")
260286 .build("value", "tail")
261287 .field("value", {"cooked": String, "raw": String})
262288 .field("tail", Boolean);
289
290 def("MetaProperty")
291 .bases("Expression")
292 .build("meta", "property")
293 .field("meta", def("Identifier"))
294 .field("property", def("Identifier"));
263295 };
+0
-46
def/es7.ts less more
0 import { Fork } from "../types";
1 import es6Def from "./es6";
2 import typesPlugin from "../lib/types";
3 import sharedPlugin from "../lib/shared";
4
5 export default function (fork: Fork) {
6 fork.use(es6Def);
7
8 var types = fork.use(typesPlugin);
9 var def = types.Type.def;
10 var or = types.Type.or;
11 var defaults = fork.use(sharedPlugin).defaults;
12
13 def("Function")
14 .field("async", Boolean, defaults["false"]);
15
16 def("SpreadProperty")
17 .bases("Node")
18 .build("argument")
19 .field("argument", def("Expression"));
20
21 def("ObjectExpression")
22 .field("properties", [or(
23 def("Property"),
24 def("SpreadProperty"),
25 def("SpreadElement")
26 )]);
27
28 def("SpreadPropertyPattern")
29 .bases("Pattern")
30 .build("argument")
31 .field("argument", def("Pattern"));
32
33 def("ObjectPattern")
34 .field("properties", [or(
35 def("Property"),
36 def("PropertyPattern"),
37 def("SpreadPropertyPattern")
38 )]);
39
40 def("AwaitExpression")
41 .bases("Expression")
42 .build("argument", "all")
43 .field("argument", or(def("Expression"), null))
44 .field("all", Boolean, defaults["false"]);
45 };
00 import { Fork } from "../types";
1 import es7Def from "./es7";
1 import es2020Def from "./es2020";
22 import typesPlugin from "../lib/types";
33 import sharedPlugin from "../lib/shared";
44
55 export default function (fork: Fork) {
6 fork.use(es7Def);
6 fork.use(es2020Def);
77
88 var types = fork.use(typesPlugin);
99 var defaults = fork.use(sharedPlugin).defaults;
00 import { Fork } from "../types";
1 import es7Def from "./es7";
1 import esProposalsDef from "./es-proposals";
22 import typeAnnotationsDef from "./type-annotations";
33 import typesPlugin from "../lib/types";
44 import sharedPlugin from "../lib/shared";
55
66 export default function (fork: Fork) {
7 fork.use(es7Def);
7 fork.use(esProposalsDef);
88 fork.use(typeAnnotationsDef);
99
10 var types = fork.use(typesPlugin);
11 var def = types.Type.def;
12 var or = types.Type.or;
13 var defaults = fork.use(sharedPlugin).defaults;
10 const types = fork.use(typesPlugin);
11 const def = types.Type.def;
12 const or = types.Type.or;
13 const defaults = fork.use(sharedPlugin).defaults;
1414
1515 // Base types
1616
3535 .bases("FlowType")
3636 .build();
3737
38 def("SymbolTypeAnnotation")
39 .bases("FlowType")
40 .build();
41
3842 def("NumberTypeAnnotation")
43 .bases("FlowType")
44 .build();
45
46 def("BigIntTypeAnnotation")
3947 .bases("FlowType")
4048 .build();
4149
5159 .bases("FlowType")
5260 .build("value", "raw")
5361 .field("value", Number)
62 .field("raw", String);
63
64 def("BigIntLiteralTypeAnnotation")
65 .bases("FlowType")
66 .build("value", "raw")
67 .field("value", null)
5468 .field("raw", String);
5569
5670 def("StringTypeAnnotation")
114128 def("FunctionTypeParam")
115129 .bases("Node")
116130 .build("name", "typeAnnotation", "optional")
117 .field("name", def("Identifier"))
131 .field("name", or(def("Identifier"), null))
118132 .field("typeAnnotation", def("FlowType"))
119133 .field("optional", Boolean);
120134
138152 .field("exact", Boolean, defaults["false"])
139153 .field("internalSlots", [def("ObjectTypeInternalSlot")], defaults.emptyArray);
140154
155 def("ObjectTypeIndexer")
156 .field("id", or(def("Identifier"), null))
157 .field("static", Boolean);
158
141159 def("Variance")
142160 .bases("Node")
143161 .build("kind")
144162 .field("kind", or("plus", "minus"));
145163
146 var LegacyVariance = or(
164 const LegacyVariance = or(
147165 def("Variance"),
148166 "plus",
149167 "minus",
235253
236254 def("TypeParameter")
237255 .bases("FlowType")
238 .build("name", "variance", "bound")
256 .build("name", "variance", "bound", "default")
239257 .field("name", String)
240258 .field("variance", LegacyVariance, defaults["null"])
241 .field("bound",
242 or(def("TypeAnnotation"), null),
243 defaults["null"]);
259 .field("bound", or(def("TypeAnnotation"), null), defaults["null"])
260 .field("default", or(def("FlowType"), null), defaults["null"]);
244261
245262 def("ClassProperty")
246263 .field("variance", LegacyVariance, defaults["null"]);
289306 .field("typeParameters", or(def("TypeParameterDeclaration"), null))
290307 .field("right", def("FlowType"));
291308
292 def("OpaqueType")
293 .bases("Declaration")
294 .build("id", "typeParameters", "impltype", "supertype")
295 .field("id", def("Identifier"))
296 .field("typeParameters", or(def("TypeParameterDeclaration"), null))
297 .field("impltype", def("FlowType"))
298 .field("supertype", def("FlowType"));
299
300309 def("DeclareTypeAlias")
301310 .bases("TypeAlias")
302311 .build("id", "typeParameters", "right");
303312
313 def("OpaqueType")
314 .bases("Declaration")
315 .build("id", "typeParameters", "impltype", "supertype")
316 .field("id", def("Identifier"))
317 .field("typeParameters", or(def("TypeParameterDeclaration"), null))
318 .field("impltype", def("FlowType"))
319 .field("supertype", or(def("FlowType"), null));
320
304321 def("DeclareOpaqueType")
305 .bases("TypeAlias")
306 .build("id", "typeParameters", "supertype");
322 .bases("OpaqueType")
323 .build("id", "typeParameters", "supertype")
324 .field("impltype", or(def("FlowType"), null));
307325
308326 def("TypeCastExpression")
309327 .bases("Expression")
324342 def("DeclareFunction")
325343 .bases("Statement")
326344 .build("id")
327 .field("id", def("Identifier"));
345 .field("id", def("Identifier"))
346 .field("predicate", or(def("FlowPredicate"), null), defaults["null"]);
328347
329348 def("DeclareClass")
330349 .bases("InterfaceDeclaration")
350369 def("DeclareFunction"),
351370 def("DeclareClass"),
352371 def("FlowType"), // Implies default.
372 def("TypeAlias"), // Implies named type
373 def("DeclareOpaqueType"), // Implies named opaque type
374 def("InterfaceDeclaration"),
353375 null
354376 ))
355377 .field("specifiers", [or(
369391 null
370392 ), defaults["null"]);
371393
394 def("ImportDeclaration")
395 .field("importKind", or("value", "type", "typeof"), () => "value");
396
372397 def("FlowPredicate").bases("Flow");
373398
374399 def("InferredPredicate")
379404 .bases("FlowPredicate")
380405 .build("value")
381406 .field("value", def("Expression"));
407
408 def("Function")
409 .field("predicate", or(def("FlowPredicate"), null), defaults["null"]);
382410
383411 def("CallExpression")
384412 .field("typeArguments", or(
391419 null,
392420 def("TypeParameterInstantiation"),
393421 ), defaults["null"]);
422
423 // Enums
424 def("EnumDeclaration")
425 .bases("Declaration")
426 .build("id", "body")
427 .field("id", def("Identifier"))
428 .field("body", or(
429 def("EnumBooleanBody"),
430 def("EnumNumberBody"),
431 def("EnumStringBody"),
432 def("EnumSymbolBody")));
433
434 def("EnumBooleanBody")
435 .build("members", "explicitType")
436 .field("members", [def("EnumBooleanMember")])
437 .field("explicitType", Boolean);
438
439 def("EnumNumberBody")
440 .build("members", "explicitType")
441 .field("members", [def("EnumNumberMember")])
442 .field("explicitType", Boolean);
443
444 def("EnumStringBody")
445 .build("members", "explicitType")
446 .field("members", or([def("EnumStringMember")], [def("EnumDefaultedMember")]))
447 .field("explicitType", Boolean);
448
449 def("EnumSymbolBody")
450 .build("members")
451 .field("members", [def("EnumDefaultedMember")]);
452
453 def("EnumBooleanMember")
454 .build("id", "init")
455 .field("id", def("Identifier"))
456 .field("init", or(def("Literal"), Boolean));
457
458 def("EnumNumberMember")
459 .build("id", "init")
460 .field("id", def("Identifier"))
461 .field("init", def("Literal"));
462
463 def("EnumStringMember")
464 .build("id", "init")
465 .field("id", def("Identifier"))
466 .field("init", def("Literal"));
467
468 def("EnumDefaultedMember")
469 .build("id")
470 .field("id", def("Identifier"));
394471 };
00 import { Fork } from "../types";
1 import es7Def from "./es7";
1 import es2020Def from "./es2020";
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(es7Def);
7 fork.use(es2020Def);
88
9 var types = fork.use(typesPlugin);
10 var def = types.Type.def;
11 var or = types.Type.or;
12 var defaults = fork.use(sharedPlugin).defaults;
9 const types = fork.use(typesPlugin);
10 const def = types.Type.def;
11 const or = types.Type.or;
12 const defaults = fork.use(sharedPlugin).defaults;
1313
1414 def("JSXAttribute")
1515 .bases("Node")
1818 .field("value", or(
1919 def("Literal"), // attr="value"
2020 def("JSXExpressionContainer"), // attr={value}
21 def("JSXElement"), // attr=<div />
22 def("JSXFragment"), // attr=<></>
2123 null // attr= or just attr
2224 ), defaults["null"]);
2325
3941 .field("property", def("JSXIdentifier"))
4042 .field("computed", Boolean, defaults.false);
4143
42 var JSXElementName = or(
44 const JSXElementName = or(
4345 def("JSXIdentifier"),
4446 def("JSXNamespacedName"),
4547 def("JSXMemberExpression")
5052 .build("argument")
5153 .field("argument", def("Expression"));
5254
53 var JSXAttributes = [or(
55 const JSXAttributes = [or(
5456 def("JSXAttribute"),
5557 def("JSXSpreadAttribute")
5658 )];
5860 def("JSXExpressionContainer")
5961 .bases("Expression")
6062 .build("expression")
61 .field("expression", def("Expression"));
63 .field("expression", or(def("Expression"), def("JSXEmptyExpression")));
64
65 const JSXChildren = [or(
66 def("JSXText"),
67 def("JSXExpressionContainer"),
68 def("JSXSpreadChild"),
69 def("JSXElement"),
70 def("JSXFragment"),
71 def("Literal") // Legacy: Esprima should return JSXText instead.
72 )];
6273
6374 def("JSXElement")
6475 .bases("Expression")
6576 .build("openingElement", "closingElement", "children")
6677 .field("openingElement", def("JSXOpeningElement"))
6778 .field("closingElement", or(def("JSXClosingElement"), null), defaults["null"])
68 .field("children", [or(
69 def("JSXElement"),
70 def("JSXExpressionContainer"),
71 def("JSXFragment"),
72 def("JSXText"),
73 def("Literal") // TODO Esprima should return JSXText instead.
74 )], defaults.emptyArray)
79 .field("children", JSXChildren, defaults.emptyArray)
7580 .field("name", JSXElementName, function (this: N.JSXElement) {
7681 // Little-known fact: the `this` object inside a default function
7782 // is none other than the partially-built object itself, and any
8893 }, true); // hidden from traversal
8994
9095 def("JSXOpeningElement")
91 .bases("Node") // TODO Does this make sense? Can't really be an JSXElement.
96 .bases("Node")
9297 .build("name", "attributes", "selfClosing")
9398 .field("name", JSXElementName)
9499 .field("attributes", JSXAttributes, defaults.emptyArray)
95100 .field("selfClosing", Boolean, defaults["false"]);
96101
97102 def("JSXClosingElement")
98 .bases("Node") // TODO Same concern.
103 .bases("Node")
99104 .build("name")
100105 .field("name", JSXElementName);
101106
102107 def("JSXFragment")
103108 .bases("Expression")
104 .build("openingElement", "closingElement", "children")
105 .field("openingElement", def("JSXOpeningFragment"))
106 .field("closingElement", def("JSXClosingFragment"))
107 .field("children", [or(
108 def("JSXElement"),
109 def("JSXExpressionContainer"),
110 def("JSXFragment"),
111 def("JSXText"),
112 def("Literal") // TODO Esprima should return JSXText instead.
113 )], defaults.emptyArray)
109 .build("openingFragment", "closingFragment", "children")
110 .field("openingFragment", def("JSXOpeningFragment"))
111 .field("closingFragment", def("JSXClosingFragment"))
112 .field("children", JSXChildren, defaults.emptyArray);
114113
115114 def("JSXOpeningFragment")
116 .bases("Node") // TODO Same concern.
115 .bases("Node")
117116 .build();
118117
119118 def("JSXClosingFragment")
120 .bases("Node") // TODO Same concern.
119 .bases("Node")
121120 .build();
122121
123122 def("JSXText")
124123 .bases("Literal")
125 .build("value")
126 .field("value", String);
124 .build("value", "raw")
125 .field("value", String)
126 .field("raw", String, function (this: N.JSXText) {
127 return this.value;
128 });
127129
128 def("JSXEmptyExpression").bases("Expression").build();
130 def("JSXEmptyExpression")
131 .bases("Node")
132 .build();
129133
130 // This PR has caused many people issues, but supporting it seems like a
131 // good idea anyway: https://github.com/babel/babel/pull/4988
132134 def("JSXSpreadChild")
133 .bases("Expression")
135 .bases("Node")
134136 .build("expression")
135137 .field("expression", def("Expression"));
136138 };
227227 def("TSTupleType")
228228 .bases("TSType")
229229 .build("elementTypes")
230 .field("elementTypes", [def("TSType")]);
230 .field("elementTypes", [or(
231 def("TSType"),
232 def("TSNamedTupleMember")
233 )]);
234
235 def("TSNamedTupleMember")
236 .bases("TSType")
237 .build("label", "elementType", "optional")
238 .field("label", def("Identifier"))
239 .field("optional", Boolean, defaults["false"])
240 .field("elementType", def("TSType"));
231241
232242 def("TSRestType")
233243 .bases("TSType")
286296 .field("parameters", ParametersType);
287297
288298 def("TSTypePredicate")
289 .bases("TSTypeAnnotation")
290 .build("parameterName", "typeAnnotation")
299 .bases("TSTypeAnnotation", "TSType")
300 .build("parameterName", "typeAnnotation", "asserts")
291301 .field("parameterName",
292302 or(def("Identifier"),
293303 def("TSThisType")))
294 .field("typeAnnotation", def("TSTypeAnnotation"));
304 .field("typeAnnotation", or(def("TSTypeAnnotation"), null),
305 defaults["null"])
306 .field("asserts", Boolean, defaults["false"]);
295307
296308 ["TSCallSignatureDeclaration",
297309 "TSConstructSignatureDeclaration",
309309
310310 export interface FunctionDeclarationBuilder {
311311 (
312 id: K.IdentifierKind,
312 id: K.IdentifierKind | null,
313313 params: K.PatternKind[],
314314 body: K.BlockStatementKind,
315315 generator?: boolean,
323323 defaults?: (K.ExpressionKind | null)[],
324324 expression?: boolean,
325325 generator?: boolean,
326 id: K.IdentifierKind,
326 id: K.IdentifierKind | null,
327327 loc?: K.SourceLocationKind | null,
328328 params: K.PatternKind[],
329 predicate?: K.FlowPredicateKind | null,
329330 rest?: K.IdentifierKind | null,
330331 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
331332 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null
352353 id?: K.IdentifierKind | null,
353354 loc?: K.SourceLocationKind | null,
354355 params: K.PatternKind[],
356 predicate?: K.FlowPredicateKind | null,
355357 rest?: K.IdentifierKind | null,
356358 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
357359 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null
473475
474476 export interface BinaryExpressionBuilder {
475477 (
476 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof",
478 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**",
477479 left: K.ExpressionKind,
478480 right: K.ExpressionKind
479481 ): namedTypes.BinaryExpression;
482484 comments?: K.CommentKind[] | null,
483485 left: K.ExpressionKind,
484486 loc?: K.SourceLocationKind | null,
485 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof",
487 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**",
486488 right: K.ExpressionKind
487489 }
488490 ): namedTypes.BinaryExpression;
490492
491493 export interface AssignmentExpressionBuilder {
492494 (
493 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=",
495 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=",
494496 left: K.PatternKind | K.MemberExpressionKind,
495497 right: K.ExpressionKind
496498 ): namedTypes.AssignmentExpression;
499501 comments?: K.CommentKind[] | null,
500502 left: K.PatternKind | K.MemberExpressionKind,
501503 loc?: K.SourceLocationKind | null,
502 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=",
504 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=",
503505 right: K.ExpressionKind
504506 }
505507 ): namedTypes.AssignmentExpression;
663665 id?: null,
664666 loc?: K.SourceLocationKind | null,
665667 params: K.PatternKind[],
668 predicate?: K.FlowPredicateKind | null,
666669 rest?: K.IdentifierKind | null,
667670 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
668671 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null
678681 ): namedTypes.ForOfStatement;
679682 from(
680683 params: {
684 await?: boolean,
681685 body: K.StatementKind,
682686 comments?: K.CommentKind[] | null,
683687 left: K.VariableDeclarationKind | K.PatternKind,
804808 loc?: K.SourceLocationKind | null
805809 }
806810 ): namedTypes.ArrayPattern;
811 }
812
813 export interface SpreadElementBuilder {
814 (argument: K.ExpressionKind): namedTypes.SpreadElement;
815 from(
816 params: {
817 argument: K.ExpressionKind,
818 comments?: K.CommentKind[] | null,
819 loc?: K.SourceLocationKind | null
820 }
821 ): namedTypes.SpreadElement;
822 }
823
824 export interface AssignmentPatternBuilder {
825 (left: K.PatternKind, right: K.ExpressionKind): namedTypes.AssignmentPattern;
826 from(
827 params: {
828 comments?: K.CommentKind[] | null,
829 left: K.PatternKind,
830 loc?: K.SourceLocationKind | null,
831 right: K.ExpressionKind
832 }
833 ): namedTypes.AssignmentPattern;
807834 }
808835
809836 export interface MethodDefinitionBuilder {
827854 ): namedTypes.MethodDefinition;
828855 }
829856
830 export interface SpreadElementBuilder {
831 (argument: K.ExpressionKind): namedTypes.SpreadElement;
832 from(
833 params: {
834 argument: K.ExpressionKind,
835 comments?: K.CommentKind[] | null,
836 loc?: K.SourceLocationKind | null
837 }
838 ): namedTypes.SpreadElement;
839 }
840
841 export interface AssignmentPatternBuilder {
842 (left: K.PatternKind, right: K.ExpressionKind): namedTypes.AssignmentPattern;
843 from(
844 params: {
845 comments?: K.CommentKind[] | null,
846 left: K.PatternKind,
847 loc?: K.SourceLocationKind | null,
848 right: K.ExpressionKind
849 }
850 ): namedTypes.AssignmentPattern;
851 }
852
853857 export interface ClassPropertyDefinitionBuilder {
854858 (
855859 definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind
938942 ): namedTypes.ClassExpression;
939943 }
940944
945 export interface SuperBuilder {
946 (): namedTypes.Super;
947 from(
948 params: {
949 comments?: K.CommentKind[] | null,
950 loc?: K.SourceLocationKind | null
951 }
952 ): namedTypes.Super;
953 }
954
941955 export interface ImportSpecifierBuilder {
942956 (imported: K.IdentifierKind, local?: K.IdentifierKind | null): namedTypes.ImportSpecifier;
943957 from(
952966 ): namedTypes.ImportSpecifier;
953967 }
954968
969 export interface ImportDefaultSpecifierBuilder {
970 (local?: K.IdentifierKind | null): namedTypes.ImportDefaultSpecifier;
971 from(
972 params: {
973 comments?: K.CommentKind[] | null,
974 id?: K.IdentifierKind | null,
975 loc?: K.SourceLocationKind | null,
976 local?: K.IdentifierKind | null,
977 name?: K.IdentifierKind | null
978 }
979 ): namedTypes.ImportDefaultSpecifier;
980 }
981
955982 export interface ImportNamespaceSpecifierBuilder {
956983 (local?: K.IdentifierKind | null): namedTypes.ImportNamespaceSpecifier;
957984 from(
965992 ): namedTypes.ImportNamespaceSpecifier;
966993 }
967994
968 export interface ImportDefaultSpecifierBuilder {
969 (local?: K.IdentifierKind | null): namedTypes.ImportDefaultSpecifier;
970 from(
971 params: {
972 comments?: K.CommentKind[] | null,
995 export interface ImportDeclarationBuilder {
996 (
997 specifiers: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[] | undefined,
998 source: K.LiteralKind,
999 importKind?: "value" | "type" | "typeof"
1000 ): namedTypes.ImportDeclaration;
1001 from(
1002 params: {
1003 comments?: K.CommentKind[] | null,
1004 importKind?: "value" | "type" | "typeof",
1005 loc?: K.SourceLocationKind | null,
1006 source: K.LiteralKind,
1007 specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[]
1008 }
1009 ): namedTypes.ImportDeclaration;
1010 }
1011
1012 export interface ExportNamedDeclarationBuilder {
1013 (
1014 declaration: K.DeclarationKind | null,
1015 specifiers?: K.ExportSpecifierKind[],
1016 source?: K.LiteralKind | null
1017 ): namedTypes.ExportNamedDeclaration;
1018 from(
1019 params: {
1020 comments?: K.CommentKind[] | null,
1021 declaration: K.DeclarationKind | null,
1022 loc?: K.SourceLocationKind | null,
1023 source?: K.LiteralKind | null,
1024 specifiers?: K.ExportSpecifierKind[]
1025 }
1026 ): namedTypes.ExportNamedDeclaration;
1027 }
1028
1029 export interface ExportSpecifierBuilder {
1030 (id?: K.IdentifierKind | null, name?: K.IdentifierKind | null): namedTypes.ExportSpecifier;
1031 from(
1032 params: {
1033 comments?: K.CommentKind[] | null,
1034 exported: K.IdentifierKind,
9731035 id?: K.IdentifierKind | null,
9741036 loc?: K.SourceLocationKind | null,
9751037 local?: K.IdentifierKind | null,
9761038 name?: K.IdentifierKind | null
9771039 }
978 ): namedTypes.ImportDefaultSpecifier;
979 }
980
981 export interface ImportDeclarationBuilder {
982 (
983 specifiers: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[] | undefined,
984 source: K.LiteralKind,
985 importKind?: "value" | "type"
986 ): namedTypes.ImportDeclaration;
987 from(
988 params: {
989 comments?: K.CommentKind[] | null,
990 importKind?: "value" | "type",
991 loc?: K.SourceLocationKind | null,
992 source: K.LiteralKind,
993 specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[]
994 }
995 ): namedTypes.ImportDeclaration;
1040 ): namedTypes.ExportSpecifier;
1041 }
1042
1043 export interface ExportDefaultDeclarationBuilder {
1044 (declaration: K.DeclarationKind | K.ExpressionKind): namedTypes.ExportDefaultDeclaration;
1045 from(
1046 params: {
1047 comments?: K.CommentKind[] | null,
1048 declaration: K.DeclarationKind | K.ExpressionKind,
1049 loc?: K.SourceLocationKind | null
1050 }
1051 ): namedTypes.ExportDefaultDeclaration;
1052 }
1053
1054 export interface ExportAllDeclarationBuilder {
1055 (source: K.LiteralKind, exported: K.IdentifierKind | null): namedTypes.ExportAllDeclaration;
1056 from(
1057 params: {
1058 comments?: K.CommentKind[] | null,
1059 exported: K.IdentifierKind | null,
1060 loc?: K.SourceLocationKind | null,
1061 source: K.LiteralKind
1062 }
1063 ): namedTypes.ExportAllDeclaration;
9961064 }
9971065
9981066 export interface TaggedTemplateExpressionBuilder {
10221090 export interface TemplateElementBuilder {
10231091 (
10241092 value: {
1025 cooked: string,
1093 cooked: string | null,
10261094 raw: string
10271095 },
10281096 tail: boolean
10331101 loc?: K.SourceLocationKind | null,
10341102 tail: boolean,
10351103 value: {
1036 cooked: string,
1104 cooked: string | null,
10371105 raw: string
10381106 }
10391107 }
10401108 ): namedTypes.TemplateElement;
10411109 }
10421110
1111 export interface MetaPropertyBuilder {
1112 (meta: K.IdentifierKind, property: K.IdentifierKind): namedTypes.MetaProperty;
1113 from(
1114 params: {
1115 comments?: K.CommentKind[] | null,
1116 loc?: K.SourceLocationKind | null,
1117 meta: K.IdentifierKind,
1118 property: K.IdentifierKind
1119 }
1120 ): namedTypes.MetaProperty;
1121 }
1122
1123 export interface AwaitExpressionBuilder {
1124 (argument: K.ExpressionKind | null, all?: boolean): namedTypes.AwaitExpression;
1125 from(
1126 params: {
1127 all?: boolean,
1128 argument: K.ExpressionKind | null,
1129 comments?: K.CommentKind[] | null,
1130 loc?: K.SourceLocationKind | null
1131 }
1132 ): namedTypes.AwaitExpression;
1133 }
1134
10431135 export interface SpreadPropertyBuilder {
10441136 (argument: K.ExpressionKind): namedTypes.SpreadProperty;
10451137 from(
10621154 ): namedTypes.SpreadPropertyPattern;
10631155 }
10641156
1065 export interface AwaitExpressionBuilder {
1066 (argument: K.ExpressionKind | null, all?: boolean): namedTypes.AwaitExpression;
1067 from(
1068 params: {
1069 all?: boolean,
1070 argument: K.ExpressionKind | null,
1071 comments?: K.CommentKind[] | null,
1072 loc?: K.SourceLocationKind | null
1073 }
1074 ): namedTypes.AwaitExpression;
1075 }
1076
10771157 export interface ImportExpressionBuilder {
10781158 (source: K.ExpressionKind): namedTypes.ImportExpression;
10791159 from(
10851165 ): namedTypes.ImportExpression;
10861166 }
10871167
1168 export interface OptionalMemberExpressionBuilder {
1169 (
1170 object: K.ExpressionKind,
1171 property: K.IdentifierKind | K.ExpressionKind,
1172 computed?: boolean,
1173 optional?: boolean
1174 ): namedTypes.OptionalMemberExpression;
1175 from(
1176 params: {
1177 comments?: K.CommentKind[] | null,
1178 computed?: boolean,
1179 loc?: K.SourceLocationKind | null,
1180 object: K.ExpressionKind,
1181 optional?: boolean,
1182 property: K.IdentifierKind | K.ExpressionKind
1183 }
1184 ): namedTypes.OptionalMemberExpression;
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
10881205 export interface JSXAttributeBuilder {
10891206 (
10901207 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1091 value?: K.LiteralKind | K.JSXExpressionContainerKind | null
1208 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
10921209 ): namedTypes.JSXAttribute;
10931210 from(
10941211 params: {
10951212 comments?: K.CommentKind[] | null,
10961213 loc?: K.SourceLocationKind | null,
10971214 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind,
1098 value?: K.LiteralKind | K.JSXExpressionContainerKind | null
1215 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null
10991216 }
11001217 ): namedTypes.JSXAttribute;
11011218 }
11261243 }
11271244
11281245 export interface JSXExpressionContainerBuilder {
1129 (expression: K.ExpressionKind): namedTypes.JSXExpressionContainer;
1130 from(
1131 params: {
1132 comments?: K.CommentKind[] | null,
1133 expression: K.ExpressionKind,
1246 (expression: K.ExpressionKind | K.JSXEmptyExpressionKind): namedTypes.JSXExpressionContainer;
1247 from(
1248 params: {
1249 comments?: K.CommentKind[] | null,
1250 expression: K.ExpressionKind | K.JSXEmptyExpressionKind,
11341251 loc?: K.SourceLocationKind | null
11351252 }
11361253 ): 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;
11371291 }
11381292
11391293 export interface JSXMemberExpressionBuilder {
11631317 ): namedTypes.JSXSpreadAttribute;
11641318 }
11651319
1166 export interface JSXElementBuilder {
1167 (
1168 openingElement: K.JSXOpeningElementKind,
1169 closingElement?: K.JSXClosingElementKind | null,
1170 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]
1171 ): namedTypes.JSXElement;
1172 from(
1173 params: {
1174 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1175 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[],
1176 closingElement?: K.JSXClosingElementKind | null,
1177 comments?: K.CommentKind[] | null,
1178 loc?: K.SourceLocationKind | null,
1179 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1180 openingElement: K.JSXOpeningElementKind,
1181 selfClosing?: boolean
1182 }
1183 ): namedTypes.JSXElement;
1184 }
1185
1186 export interface JSXOpeningElementBuilder {
1187 (
1188 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1189 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1190 selfClosing?: boolean
1191 ): namedTypes.JSXOpeningElement;
1192 from(
1193 params: {
1194 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[],
1195 comments?: K.CommentKind[] | null,
1196 loc?: K.SourceLocationKind | null,
1197 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind,
1198 selfClosing?: boolean
1199 }
1200 ): namedTypes.JSXOpeningElement;
1201 }
1202
1203 export interface JSXClosingElementBuilder {
1204 (
1205 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1206 ): namedTypes.JSXClosingElement;
1207 from(
1208 params: {
1209 comments?: K.CommentKind[] | null,
1210 loc?: K.SourceLocationKind | null,
1211 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind
1212 }
1213 ): namedTypes.JSXClosingElement;
1214 }
1215
1216 export interface JSXFragmentBuilder {
1217 (
1218 openingElement: K.JSXOpeningFragmentKind,
1219 closingElement: K.JSXClosingFragmentKind,
1220 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]
1221 ): namedTypes.JSXFragment;
1222 from(
1223 params: {
1224 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[],
1225 closingElement: K.JSXClosingFragmentKind,
1226 comments?: K.CommentKind[] | null,
1227 loc?: K.SourceLocationKind | null,
1228 openingElement: K.JSXOpeningFragmentKind
1229 }
1230 ): namedTypes.JSXFragment;
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;
12311328 }
12321329
12331330 export interface JSXTextBuilder {
1234 (value: string): namedTypes.JSXText;
1235 from(
1236 params: {
1237 comments?: K.CommentKind[] | null,
1238 loc?: K.SourceLocationKind | null,
1331 (value: string, raw?: string): namedTypes.JSXText;
1332 from(
1333 params: {
1334 comments?: K.CommentKind[] | null,
1335 loc?: K.SourceLocationKind | null,
1336 raw?: string,
12391337 regex?: {
12401338 pattern: string,
12411339 flags: string
12451343 ): namedTypes.JSXText;
12461344 }
12471345
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
12481387 export interface JSXOpeningFragmentBuilder {
12491388 (): namedTypes.JSXOpeningFragment;
12501389 from(
12651404 ): namedTypes.JSXClosingFragment;
12661405 }
12671406
1268 export interface JSXEmptyExpressionBuilder {
1269 (): namedTypes.JSXEmptyExpression;
1270 from(
1271 params: {
1272 comments?: K.CommentKind[] | null,
1273 loc?: K.SourceLocationKind | null
1274 }
1275 ): namedTypes.JSXEmptyExpression;
1276 }
1277
1278 export interface JSXSpreadChildBuilder {
1279 (expression: K.ExpressionKind): namedTypes.JSXSpreadChild;
1407 export interface DecoratorBuilder {
1408 (expression: K.ExpressionKind): namedTypes.Decorator;
12801409 from(
12811410 params: {
12821411 comments?: K.CommentKind[] | null,
12831412 expression: K.ExpressionKind,
12841413 loc?: K.SourceLocationKind | null
12851414 }
1286 ): namedTypes.JSXSpreadChild;
1415 ): namedTypes.Decorator;
1416 }
1417
1418 export interface PrivateNameBuilder {
1419 (id: K.IdentifierKind): namedTypes.PrivateName;
1420 from(
1421 params: {
1422 comments?: K.CommentKind[] | null,
1423 id: K.IdentifierKind,
1424 loc?: K.SourceLocationKind | null
1425 }
1426 ): namedTypes.PrivateName;
1427 }
1428
1429 export interface ClassPrivatePropertyBuilder {
1430 (key: K.PrivateNameKind, value?: K.ExpressionKind | null): namedTypes.ClassPrivateProperty;
1431 from(
1432 params: {
1433 access?: "public" | "private" | "protected" | undefined,
1434 comments?: K.CommentKind[] | null,
1435 computed?: boolean,
1436 key: K.PrivateNameKind,
1437 loc?: K.SourceLocationKind | null,
1438 static?: boolean,
1439 typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
1440 value?: K.ExpressionKind | null,
1441 variance?: K.VarianceKind | "plus" | "minus" | null
1442 }
1443 ): namedTypes.ClassPrivateProperty;
12871444 }
12881445
12891446 export interface TypeParameterDeclarationBuilder {
13981555 ): namedTypes.VoidTypeAnnotation;
13991556 }
14001557
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
14011568 export interface NumberTypeAnnotationBuilder {
14021569 (): namedTypes.NumberTypeAnnotation;
14031570 from(
14081575 ): namedTypes.NumberTypeAnnotation;
14091576 }
14101577
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
14111588 export interface NumberLiteralTypeAnnotationBuilder {
14121589 (value: number, raw: string): namedTypes.NumberLiteralTypeAnnotation;
14131590 from(
14301607 value: number
14311608 }
14321609 ): 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;
14331622 }
14341623
14351624 export interface StringTypeAnnotationBuilder {
15571746 }
15581747
15591748 export interface FunctionTypeParamBuilder {
1560 (name: K.IdentifierKind, typeAnnotation: K.FlowTypeKind, optional: boolean): namedTypes.FunctionTypeParam;
1561 from(
1562 params: {
1563 comments?: K.CommentKind[] | null,
1564 loc?: K.SourceLocationKind | null,
1565 name: K.IdentifierKind,
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,
15661759 optional: boolean,
15671760 typeAnnotation: K.FlowTypeKind
15681761 }
16371830 id: K.IdentifierKind,
16381831 key: K.FlowTypeKind,
16391832 loc?: K.SourceLocationKind | null,
1833 static: boolean,
16401834 value: K.FlowTypeKind,
16411835 variance?: K.VarianceKind | "plus" | "minus" | null
16421836 }
17691963 (
17701964 name: string,
17711965 variance?: K.VarianceKind | "plus" | "minus" | null,
1772 bound?: K.TypeAnnotationKind | null
1966 bound?: K.TypeAnnotationKind | null,
1967 defaultParam?: K.FlowTypeKind | null
17731968 ): namedTypes.TypeParameter;
17741969 from(
17751970 params: {
17761971 bound?: K.TypeAnnotationKind | null,
17771972 comments?: K.CommentKind[] | null,
1973 default?: K.FlowTypeKind | null,
17781974 loc?: K.SourceLocationKind | null,
17791975 name: string,
17801976 variance?: K.VarianceKind | "plus" | "minus" | null
18622058 ): namedTypes.TypeAlias;
18632059 }
18642060
1865 export interface OpaqueTypeBuilder {
1866 (
1867 id: K.IdentifierKind,
1868 typeParameters: K.TypeParameterDeclarationKind | null,
1869 impltype: K.FlowTypeKind,
1870 supertype: K.FlowTypeKind
1871 ): namedTypes.OpaqueType;
1872 from(
1873 params: {
1874 comments?: K.CommentKind[] | null,
1875 id: K.IdentifierKind,
1876 impltype: K.FlowTypeKind,
1877 loc?: K.SourceLocationKind | null,
1878 supertype: K.FlowTypeKind,
1879 typeParameters: K.TypeParameterDeclarationKind | null
1880 }
1881 ): namedTypes.OpaqueType;
1882 }
1883
18842061 export interface DeclareTypeAliasBuilder {
18852062 (
18862063 id: K.IdentifierKind,
18982075 ): namedTypes.DeclareTypeAlias;
18992076 }
19002077
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
19012097 export interface DeclareOpaqueTypeBuilder {
19022098 (
19032099 id: K.IdentifierKind,
1904 typeParameters: K.TypeParameterDeclarationKind | null
2100 typeParameters: K.TypeParameterDeclarationKind | null,
2101 supertype: K.FlowTypeKind | null
19052102 ): namedTypes.DeclareOpaqueType;
19062103 from(
19072104 params: {
19082105 comments?: K.CommentKind[] | null,
19092106 id: K.IdentifierKind,
1910 loc?: K.SourceLocationKind | null,
1911 right: K.FlowTypeKind,
2107 impltype: K.FlowTypeKind | null,
2108 loc?: K.SourceLocationKind | null,
2109 supertype: K.FlowTypeKind | null,
19122110 typeParameters: K.TypeParameterDeclarationKind | null
19132111 }
19142112 ): namedTypes.DeclareOpaqueType;
19542152 params: {
19552153 comments?: K.CommentKind[] | null,
19562154 id: K.IdentifierKind,
1957 loc?: K.SourceLocationKind | null
2155 loc?: K.SourceLocationKind | null,
2156 predicate?: K.FlowPredicateKind | null
19582157 }
19592158 ): namedTypes.DeclareFunction;
19602159 }
19992198 export interface DeclareExportDeclarationBuilder {
20002199 (
20012200 defaultParam: boolean,
2002 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null,
2201 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
20032202 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[],
20042203 source?: K.LiteralKind | null
20052204 ): namedTypes.DeclareExportDeclaration;
20062205 from(
20072206 params: {
20082207 comments?: K.CommentKind[] | null,
2009 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null,
2208 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null,
20102209 default: boolean,
20112210 loc?: K.SourceLocationKind | null,
20122211 source?: K.LiteralKind | null,
20152214 ): namedTypes.DeclareExportDeclaration;
20162215 }
20172216
2018 export interface ExportSpecifierBuilder {
2019 (local: K.IdentifierKind | null | undefined, exported: K.IdentifierKind): namedTypes.ExportSpecifier;
2020 from(
2021 params: {
2022 comments?: K.CommentKind[] | null,
2023 exported: K.IdentifierKind,
2024 id?: K.IdentifierKind | null,
2025 loc?: K.SourceLocationKind | null,
2026 local?: K.IdentifierKind | null,
2027 name?: K.IdentifierKind | null
2028 }
2029 ): namedTypes.ExportSpecifier;
2030 }
2031
20322217 export interface ExportBatchSpecifierBuilder {
20332218 (): namedTypes.ExportBatchSpecifier;
20342219 from(
20692254 value: K.ExpressionKind
20702255 }
20712256 ): 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;
20722353 }
20732354
20742355 export interface ExportDeclarationBuilder {
21352416 ): namedTypes.DoExpression;
21362417 }
21372418
2138 export interface SuperBuilder {
2139 (): namedTypes.Super;
2140 from(
2141 params: {
2142 comments?: K.CommentKind[] | null,
2143 loc?: K.SourceLocationKind | null
2144 }
2145 ): namedTypes.Super;
2146 }
2147
21482419 export interface BindExpressionBuilder {
21492420 (object: K.ExpressionKind | null, callee: K.ExpressionKind): namedTypes.BindExpression;
21502421 from(
21572428 ): namedTypes.BindExpression;
21582429 }
21592430
2160 export interface DecoratorBuilder {
2161 (expression: K.ExpressionKind): namedTypes.Decorator;
2162 from(
2163 params: {
2164 comments?: K.CommentKind[] | null,
2165 expression: K.ExpressionKind,
2166 loc?: K.SourceLocationKind | null
2167 }
2168 ): namedTypes.Decorator;
2169 }
2170
2171 export interface MetaPropertyBuilder {
2172 (meta: K.IdentifierKind, property: K.IdentifierKind): namedTypes.MetaProperty;
2173 from(
2174 params: {
2175 comments?: K.CommentKind[] | null,
2176 loc?: K.SourceLocationKind | null,
2177 meta: K.IdentifierKind,
2178 property: K.IdentifierKind
2179 }
2180 ): namedTypes.MetaProperty;
2181 }
2182
21832431 export interface ParenthesizedExpressionBuilder {
21842432 (expression: K.ExpressionKind): namedTypes.ParenthesizedExpression;
21852433 from(
21912439 ): namedTypes.ParenthesizedExpression;
21922440 }
21932441
2194 export interface ExportDefaultDeclarationBuilder {
2195 (declaration: K.DeclarationKind | K.ExpressionKind): namedTypes.ExportDefaultDeclaration;
2196 from(
2197 params: {
2198 comments?: K.CommentKind[] | null,
2199 declaration: K.DeclarationKind | K.ExpressionKind,
2200 loc?: K.SourceLocationKind | null
2201 }
2202 ): namedTypes.ExportDefaultDeclaration;
2203 }
2204
2205 export interface ExportNamedDeclarationBuilder {
2206 (
2207 declaration: K.DeclarationKind | null,
2208 specifiers?: K.ExportSpecifierKind[],
2209 source?: K.LiteralKind | null
2210 ): namedTypes.ExportNamedDeclaration;
2211 from(
2212 params: {
2213 comments?: K.CommentKind[] | null,
2214 declaration: K.DeclarationKind | null,
2215 loc?: K.SourceLocationKind | null,
2216 source?: K.LiteralKind | null,
2217 specifiers?: K.ExportSpecifierKind[]
2218 }
2219 ): namedTypes.ExportNamedDeclaration;
2220 }
2221
22222442 export interface ExportNamespaceSpecifierBuilder {
22232443 (exported: K.IdentifierKind): namedTypes.ExportNamespaceSpecifier;
22242444 from(
22392459 loc?: K.SourceLocationKind | null
22402460 }
22412461 ): namedTypes.ExportDefaultSpecifier;
2242 }
2243
2244 export interface ExportAllDeclarationBuilder {
2245 (exported: K.IdentifierKind | null, source: K.LiteralKind): namedTypes.ExportAllDeclaration;
2246 from(
2247 params: {
2248 comments?: K.CommentKind[] | null,
2249 exported: K.IdentifierKind | null,
2250 loc?: K.SourceLocationKind | null,
2251 source: K.LiteralKind
2252 }
2253 ): namedTypes.ExportAllDeclaration;
22542462 }
22552463
22562464 export interface CommentBlockBuilder {
24352643 kind: "method" | "get" | "set",
24362644 loc?: K.SourceLocationKind | null,
24372645 params: K.PatternKind[],
2646 predicate?: K.FlowPredicateKind | null,
24382647 rest?: K.IdentifierKind | null,
24392648 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
24402649 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null
24412650 }
24422651 ): namedTypes.ObjectMethod;
2443 }
2444
2445 export interface ClassPrivatePropertyBuilder {
2446 (key: K.PrivateNameKind, value?: K.ExpressionKind | null): namedTypes.ClassPrivateProperty;
2447 from(
2448 params: {
2449 access?: "public" | "private" | "protected" | undefined,
2450 comments?: K.CommentKind[] | null,
2451 computed?: boolean,
2452 key: K.PrivateNameKind,
2453 loc?: K.SourceLocationKind | null,
2454 static?: boolean,
2455 typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
2456 value?: K.ExpressionKind | null,
2457 variance?: K.VarianceKind | "plus" | "minus" | null
2458 }
2459 ): namedTypes.ClassPrivateProperty;
24602652 }
24612653
24622654 export interface ClassMethodBuilder {
24872679 loc?: K.SourceLocationKind | null,
24882680 optional?: boolean | null,
24892681 params: K.PatternKind[],
2682 predicate?: K.FlowPredicateKind | null,
24902683 rest?: K.IdentifierKind | null,
24912684 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
24922685 static?: boolean | null,
25232716 loc?: K.SourceLocationKind | null,
25242717 optional?: boolean | null,
25252718 params: K.PatternKind[],
2719 predicate?: K.FlowPredicateKind | null,
25262720 rest?: K.IdentifierKind | null,
25272721 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null,
25282722 static?: boolean | null,
25292723 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null
25302724 }
25312725 ): namedTypes.ClassPrivateMethod;
2532 }
2533
2534 export interface PrivateNameBuilder {
2535 (id: K.IdentifierKind): namedTypes.PrivateName;
2536 from(
2537 params: {
2538 comments?: K.CommentKind[] | null,
2539 id: K.IdentifierKind,
2540 loc?: K.SourceLocationKind | null
2541 }
2542 ): namedTypes.PrivateName;
25432726 }
25442727
25452728 export interface RestPropertyBuilder {
29663149 }
29673150
29683151 export interface TSTupleTypeBuilder {
2969 (elementTypes: K.TSTypeKind[]): namedTypes.TSTupleType;
2970 from(
2971 params: {
2972 comments?: K.CommentKind[] | null,
2973 elementTypes: K.TSTypeKind[],
3152 (elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[]): namedTypes.TSTupleType;
3153 from(
3154 params: {
3155 comments?: K.CommentKind[] | null,
3156 elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[],
29743157 loc?: K.SourceLocationKind | null
29753158 }
29763159 ): namedTypes.TSTupleType;
3160 }
3161
3162 export interface TSNamedTupleMemberBuilder {
3163 (label: K.IdentifierKind, elementType: K.TSTypeKind, optional?: boolean): namedTypes.TSNamedTupleMember;
3164 from(
3165 params: {
3166 comments?: K.CommentKind[] | null,
3167 elementType: K.TSTypeKind,
3168 label: K.IdentifierKind,
3169 loc?: K.SourceLocationKind | null,
3170 optional?: boolean
3171 }
3172 ): namedTypes.TSNamedTupleMember;
29773173 }
29783174
29793175 export interface TSRestTypeBuilder {
30813277 export interface TSTypePredicateBuilder {
30823278 (
30833279 parameterName: K.IdentifierKind | K.TSThisTypeKind,
3084 typeAnnotation: K.TSTypeAnnotationKind
3280 typeAnnotation?: K.TSTypeAnnotationKind | null,
3281 asserts?: boolean
30853282 ): namedTypes.TSTypePredicate;
30863283 from(
30873284 params: {
3285 asserts?: boolean,
30883286 comments?: K.CommentKind[] | null,
30893287 loc?: K.SourceLocationKind | null,
30903288 parameterName: K.IdentifierKind | K.TSThisTypeKind,
3091 typeAnnotation: K.TSTypeAnnotationKind
3289 typeAnnotation?: K.TSTypeAnnotationKind | null
30923290 }
30933291 ): namedTypes.TSTypePredicate;
30943292 }
33413539 readonly?: boolean
33423540 }
33433541 ): namedTypes.TSParameterProperty;
3344 }
3345
3346 export interface OptionalMemberExpressionBuilder {
3347 (
3348 object: K.ExpressionKind,
3349 property: K.IdentifierKind | K.ExpressionKind,
3350 computed?: boolean,
3351 optional?: boolean
3352 ): namedTypes.OptionalMemberExpression;
3353 from(
3354 params: {
3355 comments?: K.CommentKind[] | null,
3356 computed?: boolean,
3357 loc?: K.SourceLocationKind | null,
3358 object: K.ExpressionKind,
3359 optional?: boolean,
3360 property: K.IdentifierKind | K.ExpressionKind
3361 }
3362 ): namedTypes.OptionalMemberExpression;
3363 }
3364
3365 export interface OptionalCallExpressionBuilder {
3366 (
3367 callee: K.ExpressionKind,
3368 argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[],
3369 optional?: boolean
3370 ): namedTypes.OptionalCallExpression;
3371 from(
3372 params: {
3373 arguments: (K.ExpressionKind | K.SpreadElementKind)[],
3374 callee: K.ExpressionKind,
3375 comments?: K.CommentKind[] | null,
3376 loc?: K.SourceLocationKind | null,
3377 optional?: boolean,
3378 typeArguments?: null | K.TypeParameterInstantiationKind
3379 }
3380 ): namedTypes.OptionalCallExpression;
33813542 }
33823543
33833544 export interface builders {
34363597 propertyPattern: PropertyPatternBuilder;
34373598 objectPattern: ObjectPatternBuilder;
34383599 arrayPattern: ArrayPatternBuilder;
3439 methodDefinition: MethodDefinitionBuilder;
34403600 spreadElement: SpreadElementBuilder;
34413601 assignmentPattern: AssignmentPatternBuilder;
3602 methodDefinition: MethodDefinitionBuilder;
34423603 classPropertyDefinition: ClassPropertyDefinitionBuilder;
34433604 classProperty: ClassPropertyBuilder;
34443605 classBody: ClassBodyBuilder;
34453606 classDeclaration: ClassDeclarationBuilder;
34463607 classExpression: ClassExpressionBuilder;
3608 super: SuperBuilder;
34473609 importSpecifier: ImportSpecifierBuilder;
3610 importDefaultSpecifier: ImportDefaultSpecifierBuilder;
34483611 importNamespaceSpecifier: ImportNamespaceSpecifierBuilder;
3449 importDefaultSpecifier: ImportDefaultSpecifierBuilder;
34503612 importDeclaration: ImportDeclarationBuilder;
3613 exportNamedDeclaration: ExportNamedDeclarationBuilder;
3614 exportSpecifier: ExportSpecifierBuilder;
3615 exportDefaultDeclaration: ExportDefaultDeclarationBuilder;
3616 exportAllDeclaration: ExportAllDeclarationBuilder;
34513617 taggedTemplateExpression: TaggedTemplateExpressionBuilder;
34523618 templateLiteral: TemplateLiteralBuilder;
34533619 templateElement: TemplateElementBuilder;
3620 metaProperty: MetaPropertyBuilder;
3621 awaitExpression: AwaitExpressionBuilder;
34543622 spreadProperty: SpreadPropertyBuilder;
34553623 spreadPropertyPattern: SpreadPropertyPatternBuilder;
3456 awaitExpression: AwaitExpressionBuilder;
34573624 importExpression: ImportExpressionBuilder;
3625 optionalMemberExpression: OptionalMemberExpressionBuilder;
3626 optionalCallExpression: OptionalCallExpressionBuilder;
34583627 jsxAttribute: JSXAttributeBuilder;
34593628 jsxIdentifier: JSXIdentifierBuilder;
34603629 jsxNamespacedName: JSXNamespacedNameBuilder;
34613630 jsxExpressionContainer: JSXExpressionContainerBuilder;
3631 jsxElement: JSXElementBuilder;
3632 jsxFragment: JSXFragmentBuilder;
34623633 jsxMemberExpression: JSXMemberExpressionBuilder;
34633634 jsxSpreadAttribute: JSXSpreadAttributeBuilder;
3464 jsxElement: JSXElementBuilder;
3635 jsxEmptyExpression: JSXEmptyExpressionBuilder;
3636 jsxText: JSXTextBuilder;
3637 jsxSpreadChild: JSXSpreadChildBuilder;
34653638 jsxOpeningElement: JSXOpeningElementBuilder;
34663639 jsxClosingElement: JSXClosingElementBuilder;
3467 jsxFragment: JSXFragmentBuilder;
3468 jsxText: JSXTextBuilder;
34693640 jsxOpeningFragment: JSXOpeningFragmentBuilder;
34703641 jsxClosingFragment: JSXClosingFragmentBuilder;
3471 jsxEmptyExpression: JSXEmptyExpressionBuilder;
3472 jsxSpreadChild: JSXSpreadChildBuilder;
3642 decorator: DecoratorBuilder;
3643 privateName: PrivateNameBuilder;
3644 classPrivateProperty: ClassPrivatePropertyBuilder;
34733645 typeParameterDeclaration: TypeParameterDeclarationBuilder;
34743646 tsTypeParameterDeclaration: TSTypeParameterDeclarationBuilder;
34753647 typeParameterInstantiation: TypeParameterInstantiationBuilder;
34803652 emptyTypeAnnotation: EmptyTypeAnnotationBuilder;
34813653 mixedTypeAnnotation: MixedTypeAnnotationBuilder;
34823654 voidTypeAnnotation: VoidTypeAnnotationBuilder;
3655 symbolTypeAnnotation: SymbolTypeAnnotationBuilder;
34833656 numberTypeAnnotation: NumberTypeAnnotationBuilder;
3657 bigIntTypeAnnotation: BigIntTypeAnnotationBuilder;
34843658 numberLiteralTypeAnnotation: NumberLiteralTypeAnnotationBuilder;
34853659 numericLiteralTypeAnnotation: NumericLiteralTypeAnnotationBuilder;
3660 bigIntLiteralTypeAnnotation: BigIntLiteralTypeAnnotationBuilder;
34863661 stringTypeAnnotation: StringTypeAnnotationBuilder;
34873662 stringLiteralTypeAnnotation: StringLiteralTypeAnnotationBuilder;
34883663 booleanTypeAnnotation: BooleanTypeAnnotationBuilder;
35153690 interfaceDeclaration: InterfaceDeclarationBuilder;
35163691 declareInterface: DeclareInterfaceBuilder;
35173692 typeAlias: TypeAliasBuilder;
3693 declareTypeAlias: DeclareTypeAliasBuilder;
35183694 opaqueType: OpaqueTypeBuilder;
3519 declareTypeAlias: DeclareTypeAliasBuilder;
35203695 declareOpaqueType: DeclareOpaqueTypeBuilder;
35213696 typeCastExpression: TypeCastExpressionBuilder;
35223697 tupleTypeAnnotation: TupleTypeAnnotationBuilder;
35263701 declareModule: DeclareModuleBuilder;
35273702 declareModuleExports: DeclareModuleExportsBuilder;
35283703 declareExportDeclaration: DeclareExportDeclarationBuilder;
3529 exportSpecifier: ExportSpecifierBuilder;
35303704 exportBatchSpecifier: ExportBatchSpecifierBuilder;
35313705 declareExportAllDeclaration: DeclareExportAllDeclarationBuilder;
35323706 inferredPredicate: InferredPredicateBuilder;
35333707 declaredPredicate: DeclaredPredicateBuilder;
3708 enumDeclaration: EnumDeclarationBuilder;
3709 enumBooleanBody: EnumBooleanBodyBuilder;
3710 enumNumberBody: EnumNumberBodyBuilder;
3711 enumStringBody: EnumStringBodyBuilder;
3712 enumSymbolBody: EnumSymbolBodyBuilder;
3713 enumBooleanMember: EnumBooleanMemberBuilder;
3714 enumNumberMember: EnumNumberMemberBuilder;
3715 enumStringMember: EnumStringMemberBuilder;
3716 enumDefaultedMember: EnumDefaultedMemberBuilder;
35343717 exportDeclaration: ExportDeclarationBuilder;
35353718 block: BlockBuilder;
35363719 line: LineBuilder;
35373720 noop: NoopBuilder;
35383721 doExpression: DoExpressionBuilder;
3539 super: SuperBuilder;
35403722 bindExpression: BindExpressionBuilder;
3541 decorator: DecoratorBuilder;
3542 metaProperty: MetaPropertyBuilder;
35433723 parenthesizedExpression: ParenthesizedExpressionBuilder;
3544 exportDefaultDeclaration: ExportDefaultDeclarationBuilder;
3545 exportNamedDeclaration: ExportNamedDeclarationBuilder;
35463724 exportNamespaceSpecifier: ExportNamespaceSpecifierBuilder;
35473725 exportDefaultSpecifier: ExportDefaultSpecifierBuilder;
3548 exportAllDeclaration: ExportAllDeclarationBuilder;
35493726 commentBlock: CommentBlockBuilder;
35503727 commentLine: CommentLineBuilder;
35513728 directive: DirectiveBuilder;
35583735 booleanLiteral: BooleanLiteralBuilder;
35593736 regExpLiteral: RegExpLiteralBuilder;
35603737 objectMethod: ObjectMethodBuilder;
3561 classPrivateProperty: ClassPrivatePropertyBuilder;
35623738 classMethod: ClassMethodBuilder;
35633739 classPrivateMethod: ClassPrivateMethodBuilder;
3564 privateName: PrivateNameBuilder;
35653740 restProperty: RestPropertyBuilder;
35663741 forAwaitStatement: ForAwaitStatementBuilder;
35673742 import: ImportBuilder;
35963771 tsDeclareMethod: TSDeclareMethodBuilder;
35973772 tsMappedType: TSMappedTypeBuilder;
35983773 tsTupleType: TSTupleTypeBuilder;
3774 tsNamedTupleMember: TSNamedTupleMemberBuilder;
35993775 tsRestType: TSRestTypeBuilder;
36003776 tsOptionalType: TSOptionalTypeBuilder;
36013777 tsIndexedAccessType: TSIndexedAccessTypeBuilder;
36223798 tsInterfaceBody: TSInterfaceBodyBuilder;
36233799 tsInterfaceDeclaration: TSInterfaceDeclarationBuilder;
36243800 tsParameterProperty: TSParameterPropertyBuilder;
3625 optionalMemberExpression: OptionalMemberExpressionBuilder;
3626 optionalCallExpression: OptionalCallExpressionBuilder;
36273801 [builderName: string]: any;
36283802 }
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.MethodDefinition | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXElement | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | 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.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.ExportDeclaration | namedTypes.Block | namedTypes.Line | namedTypes.Noop | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.Decorator | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.ExportAllDeclaration | 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.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.PrivateName | 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.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 | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
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;
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.MethodDefinition | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXElement | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | 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.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.Decorator | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.ExportAllDeclaration | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ObjectMethod | namedTypes.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.PrivateName | 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.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 | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
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;
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.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | 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.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.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXIdentifier | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeCastExpression | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.DirectiveLiteral | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.PrivateName | namedTypes.Import | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
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;
1212 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;
1313 export type IdentifierKind = namedTypes.Identifier | namedTypes.JSXIdentifier | namedTypes.TSTypeParameter;
1414 export type BlockStatementKind = namedTypes.BlockStatement;
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.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.DeclareClass | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.ExportDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | 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.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;
4444 export type UnaryExpressionKind = namedTypes.UnaryExpression;
4545 export type BinaryExpressionKind = namedTypes.BinaryExpression;
4646 export type AssignmentExpressionKind = namedTypes.AssignmentExpression;
47 export type MemberExpressionKind = namedTypes.MemberExpression | namedTypes.JSXMemberExpression | namedTypes.OptionalMemberExpression;
47 export type MemberExpressionKind = namedTypes.MemberExpression | namedTypes.OptionalMemberExpression | namedTypes.JSXMemberExpression;
4848 export type UpdateExpressionKind = namedTypes.UpdateExpression;
4949 export type LogicalExpressionKind = namedTypes.LogicalExpression;
5050 export type ConditionalExpressionKind = namedTypes.ConditionalExpression;
6464 export type PropertyPatternKind = namedTypes.PropertyPattern;
6565 export type ObjectPatternKind = namedTypes.ObjectPattern;
6666 export type ArrayPatternKind = namedTypes.ArrayPattern;
67 export type MethodDefinitionKind = namedTypes.MethodDefinition;
6867 export type SpreadElementKind = namedTypes.SpreadElement;
6968 export type AssignmentPatternKind = namedTypes.AssignmentPattern;
69 export type MethodDefinitionKind = namedTypes.MethodDefinition;
7070 export type ClassPropertyDefinitionKind = namedTypes.ClassPropertyDefinition;
7171 export type ClassPropertyKind = namedTypes.ClassProperty | namedTypes.ClassPrivateProperty;
7272 export type ClassBodyKind = namedTypes.ClassBody;
7373 export type ClassDeclarationKind = namedTypes.ClassDeclaration;
7474 export type ClassExpressionKind = namedTypes.ClassExpression;
75 export type SpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier;
76 export type ModuleSpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ExportSpecifier;
75 export type SuperKind = namedTypes.Super;
76 export type SpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier;
77 export type ModuleSpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ExportSpecifier;
7778 export type ImportSpecifierKind = namedTypes.ImportSpecifier;
79 export type ImportDefaultSpecifierKind = namedTypes.ImportDefaultSpecifier;
7880 export type ImportNamespaceSpecifierKind = namedTypes.ImportNamespaceSpecifier;
79 export type ImportDefaultSpecifierKind = namedTypes.ImportDefaultSpecifier;
8081 export type ImportDeclarationKind = namedTypes.ImportDeclaration;
82 export type ExportNamedDeclarationKind = namedTypes.ExportNamedDeclaration;
83 export type ExportSpecifierKind = namedTypes.ExportSpecifier;
84 export type ExportDefaultDeclarationKind = namedTypes.ExportDefaultDeclaration;
85 export type ExportAllDeclarationKind = namedTypes.ExportAllDeclaration;
8186 export type TaggedTemplateExpressionKind = namedTypes.TaggedTemplateExpression;
8287 export type TemplateLiteralKind = namedTypes.TemplateLiteral;
8388 export type TemplateElementKind = namedTypes.TemplateElement;
89 export type MetaPropertyKind = namedTypes.MetaProperty;
90 export type AwaitExpressionKind = namedTypes.AwaitExpression;
8491 export type SpreadPropertyKind = namedTypes.SpreadProperty;
8592 export type SpreadPropertyPatternKind = namedTypes.SpreadPropertyPattern;
86 export type AwaitExpressionKind = namedTypes.AwaitExpression;
8793 export type ImportExpressionKind = namedTypes.ImportExpression;
94 export type OptionalMemberExpressionKind = namedTypes.OptionalMemberExpression;
95 export type OptionalCallExpressionKind = namedTypes.OptionalCallExpression;
8896 export type JSXAttributeKind = namedTypes.JSXAttribute;
8997 export type JSXIdentifierKind = namedTypes.JSXIdentifier;
9098 export type JSXNamespacedNameKind = namedTypes.JSXNamespacedName;
9199 export type JSXExpressionContainerKind = namedTypes.JSXExpressionContainer;
100 export type JSXElementKind = namedTypes.JSXElement;
101 export type JSXFragmentKind = namedTypes.JSXFragment;
92102 export type JSXMemberExpressionKind = namedTypes.JSXMemberExpression;
93103 export type JSXSpreadAttributeKind = namedTypes.JSXSpreadAttribute;
94 export type JSXElementKind = namedTypes.JSXElement;
104 export type JSXEmptyExpressionKind = namedTypes.JSXEmptyExpression;
105 export type JSXTextKind = namedTypes.JSXText;
106 export type JSXSpreadChildKind = namedTypes.JSXSpreadChild;
95107 export type JSXOpeningElementKind = namedTypes.JSXOpeningElement;
96108 export type JSXClosingElementKind = namedTypes.JSXClosingElement;
97 export type JSXFragmentKind = namedTypes.JSXFragment;
98 export type JSXTextKind = namedTypes.JSXText;
99109 export type JSXOpeningFragmentKind = namedTypes.JSXOpeningFragment;
100110 export type JSXClosingFragmentKind = namedTypes.JSXClosingFragment;
101 export type JSXEmptyExpressionKind = namedTypes.JSXEmptyExpression;
102 export type JSXSpreadChildKind = namedTypes.JSXSpreadChild;
111 export type DecoratorKind = namedTypes.Decorator;
112 export type PrivateNameKind = namedTypes.PrivateName;
113 export type ClassPrivatePropertyKind = namedTypes.ClassPrivateProperty;
103114 export type TypeParameterDeclarationKind = namedTypes.TypeParameterDeclaration;
104115 export type TSTypeParameterDeclarationKind = namedTypes.TSTypeParameterDeclaration;
105116 export type TypeParameterInstantiationKind = namedTypes.TypeParameterInstantiation;
106117 export type TSTypeParameterInstantiationKind = namedTypes.TSTypeParameterInstantiation;
107118 export type ClassImplementsKind = namedTypes.ClassImplements;
108 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.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral;
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;
109120 export type TSHasOptionalTypeParameterInstantiationKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSImportType;
110121 export type TSExpressionWithTypeArgumentsKind = namedTypes.TSExpressionWithTypeArguments;
111 export type FlowKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | 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;
112 export type FlowTypeKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | 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;
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;
113124 export type AnyTypeAnnotationKind = namedTypes.AnyTypeAnnotation;
114125 export type EmptyTypeAnnotationKind = namedTypes.EmptyTypeAnnotation;
115126 export type MixedTypeAnnotationKind = namedTypes.MixedTypeAnnotation;
116127 export type VoidTypeAnnotationKind = namedTypes.VoidTypeAnnotation;
128 export type SymbolTypeAnnotationKind = namedTypes.SymbolTypeAnnotation;
117129 export type NumberTypeAnnotationKind = namedTypes.NumberTypeAnnotation;
130 export type BigIntTypeAnnotationKind = namedTypes.BigIntTypeAnnotation;
118131 export type NumberLiteralTypeAnnotationKind = namedTypes.NumberLiteralTypeAnnotation;
119132 export type NumericLiteralTypeAnnotationKind = namedTypes.NumericLiteralTypeAnnotation;
133 export type BigIntLiteralTypeAnnotationKind = namedTypes.BigIntLiteralTypeAnnotation;
120134 export type StringTypeAnnotationKind = namedTypes.StringTypeAnnotation;
121135 export type StringLiteralTypeAnnotationKind = namedTypes.StringLiteralTypeAnnotation;
122136 export type BooleanTypeAnnotationKind = namedTypes.BooleanTypeAnnotation;
148162 export type InterfaceExtendsKind = namedTypes.InterfaceExtends;
149163 export type InterfaceDeclarationKind = namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.DeclareClass;
150164 export type DeclareInterfaceKind = namedTypes.DeclareInterface;
151 export type TypeAliasKind = namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType;
152 export type OpaqueTypeKind = namedTypes.OpaqueType;
165 export type TypeAliasKind = namedTypes.TypeAlias | namedTypes.DeclareTypeAlias;
153166 export type DeclareTypeAliasKind = namedTypes.DeclareTypeAlias;
167 export type OpaqueTypeKind = namedTypes.OpaqueType | namedTypes.DeclareOpaqueType;
154168 export type DeclareOpaqueTypeKind = namedTypes.DeclareOpaqueType;
155169 export type TypeCastExpressionKind = namedTypes.TypeCastExpression;
156170 export type TupleTypeAnnotationKind = namedTypes.TupleTypeAnnotation;
157171 export type DeclareVariableKind = namedTypes.DeclareVariable;
158172 export type DeclareFunctionKind = namedTypes.DeclareFunction;
173 export type FlowPredicateKind = namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
159174 export type DeclareClassKind = namedTypes.DeclareClass;
160175 export type DeclareModuleKind = namedTypes.DeclareModule;
161176 export type DeclareModuleExportsKind = namedTypes.DeclareModuleExports;
162177 export type DeclareExportDeclarationKind = namedTypes.DeclareExportDeclaration;
163 export type ExportSpecifierKind = namedTypes.ExportSpecifier;
164178 export type ExportBatchSpecifierKind = namedTypes.ExportBatchSpecifier;
165179 export type DeclareExportAllDeclarationKind = namedTypes.DeclareExportAllDeclaration;
166 export type FlowPredicateKind = namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
167180 export type InferredPredicateKind = namedTypes.InferredPredicate;
168181 export type DeclaredPredicateKind = namedTypes.DeclaredPredicate;
182 export type EnumDeclarationKind = namedTypes.EnumDeclaration;
183 export type EnumBooleanBodyKind = namedTypes.EnumBooleanBody;
184 export type EnumNumberBodyKind = namedTypes.EnumNumberBody;
185 export type EnumStringBodyKind = namedTypes.EnumStringBody;
186 export type EnumSymbolBodyKind = namedTypes.EnumSymbolBody;
187 export type EnumBooleanMemberKind = namedTypes.EnumBooleanMember;
188 export type EnumNumberMemberKind = namedTypes.EnumNumberMember;
189 export type EnumStringMemberKind = namedTypes.EnumStringMember;
190 export type EnumDefaultedMemberKind = namedTypes.EnumDefaultedMember;
169191 export type ExportDeclarationKind = namedTypes.ExportDeclaration;
170192 export type BlockKind = namedTypes.Block;
171193 export type LineKind = namedTypes.Line;
172194 export type NoopKind = namedTypes.Noop;
173195 export type DoExpressionKind = namedTypes.DoExpression;
174 export type SuperKind = namedTypes.Super;
175196 export type BindExpressionKind = namedTypes.BindExpression;
176 export type DecoratorKind = namedTypes.Decorator;
177 export type MetaPropertyKind = namedTypes.MetaProperty;
178197 export type ParenthesizedExpressionKind = namedTypes.ParenthesizedExpression;
179 export type ExportDefaultDeclarationKind = namedTypes.ExportDefaultDeclaration;
180 export type ExportNamedDeclarationKind = namedTypes.ExportNamedDeclaration;
181198 export type ExportNamespaceSpecifierKind = namedTypes.ExportNamespaceSpecifier;
182199 export type ExportDefaultSpecifierKind = namedTypes.ExportDefaultSpecifier;
183 export type ExportAllDeclarationKind = namedTypes.ExportAllDeclaration;
184200 export type CommentBlockKind = namedTypes.CommentBlock;
185201 export type CommentLineKind = namedTypes.CommentLine;
186202 export type DirectiveKind = namedTypes.Directive;
193209 export type BooleanLiteralKind = namedTypes.BooleanLiteral;
194210 export type RegExpLiteralKind = namedTypes.RegExpLiteral;
195211 export type ObjectMethodKind = namedTypes.ObjectMethod;
196 export type ClassPrivatePropertyKind = namedTypes.ClassPrivateProperty;
197212 export type ClassMethodKind = namedTypes.ClassMethod;
198213 export type ClassPrivateMethodKind = namedTypes.ClassPrivateMethod;
199 export type PrivateNameKind = namedTypes.PrivateName;
200214 export type RestPropertyKind = namedTypes.RestProperty;
201215 export type ForAwaitStatementKind = namedTypes.ForAwaitStatement;
202216 export type ImportKind = namedTypes.Import;
233247 export type TSDeclareMethodKind = namedTypes.TSDeclareMethod;
234248 export type TSMappedTypeKind = namedTypes.TSMappedType;
235249 export type TSTupleTypeKind = namedTypes.TSTupleType;
250 export type TSNamedTupleMemberKind = namedTypes.TSNamedTupleMember;
236251 export type TSRestTypeKind = namedTypes.TSRestType;
237252 export type TSOptionalTypeKind = namedTypes.TSOptionalType;
238253 export type TSIndexedAccessTypeKind = namedTypes.TSIndexedAccessType;
258273 export type TSNamespaceExportDeclarationKind = namedTypes.TSNamespaceExportDeclaration;
259274 export type TSInterfaceBodyKind = namedTypes.TSInterfaceBody;
260275 export type TSInterfaceDeclarationKind = namedTypes.TSInterfaceDeclaration;
261 export type TSParameterPropertyKind = namedTypes.TSParameterProperty;
262 export type OptionalMemberExpressionKind = namedTypes.OptionalMemberExpression;
263 export type OptionalCallExpressionKind = namedTypes.OptionalCallExpression;
276 export type TSParameterPropertyKind = namedTypes.TSParameterProperty;
5555 rest?: K.IdentifierKind | null;
5656 returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
5757 typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
58 predicate?: K.FlowPredicateKind | null;
5859 }
5960
6061 export interface Expression extends Node {}
191192
192193 export interface FunctionDeclaration extends Omit<Function, "type" | "id">, Omit<Declaration, "type"> {
193194 type: "FunctionDeclaration";
194 id: K.IdentifierKind;
195 id: K.IdentifierKind | null;
195196 }
196197
197198 export interface FunctionExpression extends Omit<Function, "type">, Omit<Expression, "type"> {
252253
253254 export interface BinaryExpression extends Omit<Expression, "type"> {
254255 type: "BinaryExpression";
255 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof";
256 operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "&" | "|" | "^" | "in" | "instanceof" | "**";
256257 left: K.ExpressionKind;
257258 right: K.ExpressionKind;
258259 }
259260
260261 export interface AssignmentExpression extends Omit<Expression, "type"> {
261262 type: "AssignmentExpression";
262 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
263 operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=" | "**=";
263264 left: K.PatternKind | K.MemberExpressionKind;
264265 right: K.ExpressionKind;
265266 }
339340 left: K.VariableDeclarationKind | K.PatternKind;
340341 right: K.ExpressionKind;
341342 body: K.StatementKind;
343 await?: boolean;
342344 }
343345
344346 export interface YieldExpression extends Omit<Expression, "type"> {
394396 export interface ArrayPattern extends Omit<Pattern, "type"> {
395397 type: "ArrayPattern";
396398 elements: (K.PatternKind | K.SpreadElementKind | null)[];
399 }
400
401 export interface SpreadElement extends Omit<Node, "type"> {
402 type: "SpreadElement";
403 argument: K.ExpressionKind;
404 }
405
406 export interface AssignmentPattern extends Omit<Pattern, "type"> {
407 type: "AssignmentPattern";
408 left: K.PatternKind;
409 right: K.ExpressionKind;
397410 }
398411
399412 export interface MethodDefinition extends Omit<Declaration, "type"> {
404417 computed?: boolean;
405418 static?: boolean;
406419 decorators?: K.DecoratorKind[] | null;
407 }
408
409 export interface SpreadElement extends Omit<Node, "type"> {
410 type: "SpreadElement";
411 argument: K.ExpressionKind;
412 }
413
414 export interface AssignmentPattern extends Omit<Pattern, "type"> {
415 type: "AssignmentPattern";
416 left: K.PatternKind;
417 right: K.ExpressionKind;
418420 }
419421
420422 export interface ClassPropertyDefinition extends Omit<Declaration, "type"> {
458460 implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
459461 }
460462
463 export interface Super extends Omit<Expression, "type"> {
464 type: "Super";
465 }
466
461467 export interface Specifier extends Node {}
462468
463469 export interface ModuleSpecifier extends Specifier {
471477 imported: K.IdentifierKind;
472478 }
473479
480 export interface ImportDefaultSpecifier extends Omit<ModuleSpecifier, "type"> {
481 type: "ImportDefaultSpecifier";
482 }
483
474484 export interface ImportNamespaceSpecifier extends Omit<ModuleSpecifier, "type"> {
475485 type: "ImportNamespaceSpecifier";
476 }
477
478 export interface ImportDefaultSpecifier extends Omit<ModuleSpecifier, "type"> {
479 type: "ImportDefaultSpecifier";
480486 }
481487
482488 export interface ImportDeclaration extends Omit<Declaration, "type"> {
483489 type: "ImportDeclaration";
484490 specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
485491 source: K.LiteralKind;
486 importKind?: "value" | "type";
492 importKind?: "value" | "type" | "typeof";
493 }
494
495 export interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
496 type: "ExportNamedDeclaration";
497 declaration: K.DeclarationKind | null;
498 specifiers?: K.ExportSpecifierKind[];
499 source?: K.LiteralKind | null;
500 }
501
502 export interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
503 type: "ExportSpecifier";
504 exported: K.IdentifierKind;
505 }
506
507 export interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
508 type: "ExportDefaultDeclaration";
509 declaration: K.DeclarationKind | K.ExpressionKind;
510 }
511
512 export interface ExportAllDeclaration extends Omit<Declaration, "type"> {
513 type: "ExportAllDeclaration";
514 source: K.LiteralKind;
515 exported: K.IdentifierKind | null;
487516 }
488517
489518 export interface TaggedTemplateExpression extends Omit<Expression, "type"> {
501530 export interface TemplateElement extends Omit<Node, "type"> {
502531 type: "TemplateElement";
503532 value: {
504 cooked: string,
533 cooked: string | null,
505534 raw: string
506535 };
507536 tail: boolean;
508537 }
509538
510 export interface SpreadProperty extends Omit<Node, "type"> {
511 type: "SpreadProperty";
512 argument: K.ExpressionKind;
513 }
514
515 export interface SpreadPropertyPattern extends Omit<Pattern, "type"> {
516 type: "SpreadPropertyPattern";
517 argument: K.PatternKind;
539 export interface MetaProperty extends Omit<Expression, "type"> {
540 type: "MetaProperty";
541 meta: K.IdentifierKind;
542 property: K.IdentifierKind;
518543 }
519544
520545 export interface AwaitExpression extends Omit<Expression, "type"> {
523548 all?: boolean;
524549 }
525550
551 export interface SpreadProperty extends Omit<Node, "type"> {
552 type: "SpreadProperty";
553 argument: K.ExpressionKind;
554 }
555
556 export interface SpreadPropertyPattern extends Omit<Pattern, "type"> {
557 type: "SpreadPropertyPattern";
558 argument: K.PatternKind;
559 }
560
526561 export interface ImportExpression extends Omit<Expression, "type"> {
527562 type: "ImportExpression";
528563 source: K.ExpressionKind;
529564 }
530565
566 export interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
567 type: "OptionalMemberExpression";
568 optional?: boolean;
569 }
570
571 export interface OptionalCallExpression extends Omit<CallExpression, "type"> {
572 type: "OptionalCallExpression";
573 optional?: boolean;
574 }
575
531576 export interface JSXAttribute extends Omit<Node, "type"> {
532577 type: "JSXAttribute";
533578 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
534 value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
579 value?: K.LiteralKind | K.JSXExpressionContainerKind | K.JSXElementKind | K.JSXFragmentKind | null;
535580 }
536581
537582 export interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
547592
548593 export interface JSXExpressionContainer extends Omit<Expression, "type"> {
549594 type: "JSXExpressionContainer";
550 expression: K.ExpressionKind;
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)[];
551613 }
552614
553615 export interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
562624 argument: K.ExpressionKind;
563625 }
564626
565 export interface JSXElement extends Omit<Expression, "type"> {
566 type: "JSXElement";
567 openingElement: K.JSXOpeningElementKind;
568 closingElement?: K.JSXClosingElementKind | null;
569 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
570 name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
571 selfClosing?: boolean;
572 attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
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;
573640 }
574641
575642 export interface JSXOpeningElement extends Omit<Node, "type"> {
584651 name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
585652 }
586653
587 export interface JSXFragment extends Omit<Expression, "type"> {
588 type: "JSXFragment";
589 openingElement: K.JSXOpeningFragmentKind;
590 closingElement: K.JSXClosingFragmentKind;
591 children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
592 }
593
594 export interface JSXText extends Omit<Literal, "type" | "value"> {
595 type: "JSXText";
596 value: string;
597 }
598
599654 export interface JSXOpeningFragment extends Omit<Node, "type"> {
600655 type: "JSXOpeningFragment";
601656 }
604659 type: "JSXClosingFragment";
605660 }
606661
607 export interface JSXEmptyExpression extends Omit<Expression, "type"> {
608 type: "JSXEmptyExpression";
609 }
610
611 export interface JSXSpreadChild extends Omit<Expression, "type"> {
612 type: "JSXSpreadChild";
662 export interface Decorator extends Omit<Node, "type"> {
663 type: "Decorator";
613664 expression: K.ExpressionKind;
665 }
666
667 export interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
668 type: "PrivateName";
669 id: K.IdentifierKind;
670 }
671
672 export interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
673 type: "ClassPrivateProperty";
674 key: K.PrivateNameKind;
675 value?: K.ExpressionKind | null;
614676 }
615677
616678 export interface TypeParameterDeclaration extends Omit<Node, "type"> {
670732 type: "VoidTypeAnnotation";
671733 }
672734
735 export interface SymbolTypeAnnotation extends Omit<FlowType, "type"> {
736 type: "SymbolTypeAnnotation";
737 }
738
673739 export interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
674740 type: "NumberTypeAnnotation";
741 }
742
743 export interface BigIntTypeAnnotation extends Omit<FlowType, "type"> {
744 type: "BigIntTypeAnnotation";
675745 }
676746
677747 export interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
683753 export interface NumericLiteralTypeAnnotation extends Omit<FlowType, "type"> {
684754 type: "NumericLiteralTypeAnnotation";
685755 value: number;
756 raw: string;
757 }
758
759 export interface BigIntLiteralTypeAnnotation extends Omit<FlowType, "type"> {
760 type: "BigIntLiteralTypeAnnotation";
761 value: null;
686762 raw: string;
687763 }
688764
741817
742818 export interface FunctionTypeParam extends Omit<Node, "type"> {
743819 type: "FunctionTypeParam";
744 name: K.IdentifierKind;
820 name: K.IdentifierKind | null;
745821 typeAnnotation: K.FlowTypeKind;
746822 optional: boolean;
747823 }
775851 }
776852
777853 export interface ObjectTypeIndexer extends Omit<Node, "type"> {
854 id: K.IdentifierKind;
855 static: boolean;
778856 type: "ObjectTypeIndexer";
779 id: K.IdentifierKind;
780857 key: K.FlowTypeKind;
781858 value: K.FlowTypeKind;
782859 variance?: K.VarianceKind | "plus" | "minus" | null;
840917 name: string;
841918 variance?: K.VarianceKind | "plus" | "minus" | null;
842919 bound?: K.TypeAnnotationKind | null;
920 default?: K.FlowTypeKind | null;
843921 }
844922
845923 export interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
873951 right: K.FlowTypeKind;
874952 }
875953
954 export interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
955 type: "DeclareTypeAlias";
956 }
957
876958 export interface OpaqueType extends Omit<Declaration, "type"> {
877959 type: "OpaqueType";
878960 id: K.IdentifierKind;
879961 typeParameters: K.TypeParameterDeclarationKind | null;
880962 impltype: K.FlowTypeKind;
881 supertype: K.FlowTypeKind;
882 }
883
884 export interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
885 type: "DeclareTypeAlias";
886 }
887
888 export interface DeclareOpaqueType extends Omit<TypeAlias, "type"> {
963 supertype: K.FlowTypeKind | null;
964 }
965
966 export interface DeclareOpaqueType extends Omit<OpaqueType, "type" | "impltype"> {
889967 type: "DeclareOpaqueType";
968 impltype: K.FlowTypeKind | null;
890969 }
891970
892971 export interface TypeCastExpression extends Omit<Expression, "type"> {
908987 export interface DeclareFunction extends Omit<Statement, "type"> {
909988 type: "DeclareFunction";
910989 id: K.IdentifierKind;
911 }
990 predicate?: K.FlowPredicateKind | null;
991 }
992
993 export interface FlowPredicate extends Flow {}
912994
913995 export interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
914996 type: "DeclareClass";
9281010 export interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
9291011 type: "DeclareExportDeclaration";
9301012 default: boolean;
931 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
1013 declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | K.TypeAliasKind | K.DeclareOpaqueTypeKind | K.InterfaceDeclarationKind | null;
9321014 specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
9331015 source?: K.LiteralKind | null;
934 }
935
936 export interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
937 type: "ExportSpecifier";
938 exported: K.IdentifierKind;
9391016 }
9401017
9411018 export interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
9471024 source?: K.LiteralKind | null;
9481025 }
9491026
950 export interface FlowPredicate extends Flow {}
951
9521027 export interface InferredPredicate extends Omit<FlowPredicate, "type"> {
9531028 type: "InferredPredicate";
9541029 }
9561031 export interface DeclaredPredicate extends Omit<FlowPredicate, "type"> {
9571032 type: "DeclaredPredicate";
9581033 value: K.ExpressionKind;
1034 }
1035
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;
9591086 }
9601087
9611088 export interface ExportDeclaration extends Omit<Declaration, "type"> {
9831110 body: K.StatementKind[];
9841111 }
9851112
986 export interface Super extends Omit<Expression, "type"> {
987 type: "Super";
988 }
989
9901113 export interface BindExpression extends Omit<Expression, "type"> {
9911114 type: "BindExpression";
9921115 object: K.ExpressionKind | null;
9931116 callee: K.ExpressionKind;
9941117 }
9951118
996 export interface Decorator extends Omit<Node, "type"> {
997 type: "Decorator";
998 expression: K.ExpressionKind;
999 }
1000
1001 export interface MetaProperty extends Omit<Expression, "type"> {
1002 type: "MetaProperty";
1003 meta: K.IdentifierKind;
1004 property: K.IdentifierKind;
1005 }
1006
10071119 export interface ParenthesizedExpression extends Omit<Expression, "type"> {
10081120 type: "ParenthesizedExpression";
10091121 expression: K.ExpressionKind;
10101122 }
10111123
1012 export interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
1013 type: "ExportDefaultDeclaration";
1014 declaration: K.DeclarationKind | K.ExpressionKind;
1015 }
1016
1017 export interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
1018 type: "ExportNamedDeclaration";
1019 declaration: K.DeclarationKind | null;
1020 specifiers?: K.ExportSpecifierKind[];
1021 source?: K.LiteralKind | null;
1022 }
1023
10241124 export interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
10251125 type: "ExportNamespaceSpecifier";
10261126 exported: K.IdentifierKind;
10291129 export interface ExportDefaultSpecifier extends Omit<Specifier, "type"> {
10301130 type: "ExportDefaultSpecifier";
10311131 exported: K.IdentifierKind;
1032 }
1033
1034 export interface ExportAllDeclaration extends Omit<Declaration, "type"> {
1035 type: "ExportAllDeclaration";
1036 exported: K.IdentifierKind | null;
1037 source: K.LiteralKind;
10381132 }
10391133
10401134 export interface CommentBlock extends Comment {
11121206 async?: boolean;
11131207 accessibility?: K.LiteralKind | null;
11141208 decorators?: K.DecoratorKind[] | null;
1115 }
1116
1117 export interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
1118 type: "ClassPrivateProperty";
1119 key: K.PrivateNameKind;
1120 value?: K.ExpressionKind | null;
11211209 }
11221210
11231211 export interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
11461234 accessibility?: "public" | "private" | "protected" | null;
11471235 decorators?: K.DecoratorKind[] | null;
11481236 optional?: boolean | null;
1149 }
1150
1151 export interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
1152 type: "PrivateName";
1153 id: K.IdentifierKind;
11541237 }
11551238
11561239 export interface RestProperty extends Omit<Node, "type"> {
13461429
13471430 export interface TSTupleType extends Omit<TSType, "type"> {
13481431 type: "TSTupleType";
1349 elementTypes: K.TSTypeKind[];
1432 elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[];
1433 }
1434
1435 export interface TSNamedTupleMember extends Omit<TSType, "type"> {
1436 type: "TSNamedTupleMember";
1437 label: K.IdentifierKind;
1438 optional?: boolean;
1439 elementType: K.TSTypeKind;
13501440 }
13511441
13521442 export interface TSRestType extends Omit<TSType, "type"> {
13941484 parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
13951485 }
13961486
1397 export interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation"> {
1487 export interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation">, Omit<TSType, "type"> {
13981488 type: "TSTypePredicate";
13991489 parameterName: K.IdentifierKind | K.TSThisTypeKind;
1400 typeAnnotation: K.TSTypeAnnotationKind;
1490 typeAnnotation?: K.TSTypeAnnotationKind | null;
1491 asserts?: boolean;
14011492 }
14021493
14031494 export interface TSCallSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
15121603 parameter: K.IdentifierKind | K.AssignmentPatternKind;
15131604 }
15141605
1515 export interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
1516 type: "OptionalMemberExpression";
1517 optional?: boolean;
1518 }
1519
1520 export interface OptionalCallExpression extends Omit<CallExpression, "type"> {
1521 type: "OptionalCallExpression";
1522 optional?: boolean;
1523 }
1524
1525 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 | MethodDefinition | SpreadElement | AssignmentPattern | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | ImportSpecifier | ImportNamespaceSpecifier | ImportDefaultSpecifier | ImportDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | SpreadProperty | SpreadPropertyPattern | AwaitExpression | ImportExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXMemberExpression | JSXSpreadAttribute | JSXElement | JSXOpeningElement | JSXClosingElement | JSXFragment | JSXText | JSXOpeningFragment | JSXClosingFragment | JSXEmptyExpression | JSXSpreadChild | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | 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 | OpaqueType | DeclareTypeAlias | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportSpecifier | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | ExportDeclaration | Block | Line | Noop | DoExpression | Super | BindExpression | Decorator | MetaProperty | ParenthesizedExpression | ExportDefaultDeclaration | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportDefaultSpecifier | ExportAllDeclaration | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassPrivateProperty | ClassMethod | ClassPrivateMethod | PrivateName | 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 | 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 | OptionalMemberExpression | OptionalCallExpression;
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;
15261607 export let Printable: Type<Printable>;
15271608 export let SourceLocation: Type<SourceLocation>;
15281609 export let Node: Type<Node>;
15881669 export let PropertyPattern: Type<PropertyPattern>;
15891670 export let ObjectPattern: Type<ObjectPattern>;
15901671 export let ArrayPattern: Type<ArrayPattern>;
1591 export let MethodDefinition: Type<MethodDefinition>;
15921672 export let SpreadElement: Type<SpreadElement>;
15931673 export let AssignmentPattern: Type<AssignmentPattern>;
1674 export let MethodDefinition: Type<MethodDefinition>;
15941675 export let ClassPropertyDefinition: Type<ClassPropertyDefinition>;
15951676 export let ClassProperty: Type<ClassProperty>;
15961677 export let ClassBody: Type<ClassBody>;
15971678 export let ClassDeclaration: Type<ClassDeclaration>;
15981679 export let ClassExpression: Type<ClassExpression>;
1680 export let Super: Type<Super>;
15991681 export let Specifier: Type<Specifier>;
16001682 export let ModuleSpecifier: Type<ModuleSpecifier>;
16011683 export let ImportSpecifier: Type<ImportSpecifier>;
1684 export let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
16021685 export let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
1603 export let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
16041686 export let ImportDeclaration: Type<ImportDeclaration>;
1687 export let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
1688 export let ExportSpecifier: Type<ExportSpecifier>;
1689 export let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1690 export let ExportAllDeclaration: Type<ExportAllDeclaration>;
16051691 export let TaggedTemplateExpression: Type<TaggedTemplateExpression>;
16061692 export let TemplateLiteral: Type<TemplateLiteral>;
16071693 export let TemplateElement: Type<TemplateElement>;
1694 export let MetaProperty: Type<MetaProperty>;
1695 export let AwaitExpression: Type<AwaitExpression>;
16081696 export let SpreadProperty: Type<SpreadProperty>;
16091697 export let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
1610 export let AwaitExpression: Type<AwaitExpression>;
16111698 export let ImportExpression: Type<ImportExpression>;
1699 export let OptionalMemberExpression: Type<OptionalMemberExpression>;
1700 export let OptionalCallExpression: Type<OptionalCallExpression>;
16121701 export let JSXAttribute: Type<JSXAttribute>;
16131702 export let JSXIdentifier: Type<JSXIdentifier>;
16141703 export let JSXNamespacedName: Type<JSXNamespacedName>;
16151704 export let JSXExpressionContainer: Type<JSXExpressionContainer>;
1705 export let JSXElement: Type<JSXElement>;
1706 export let JSXFragment: Type<JSXFragment>;
16161707 export let JSXMemberExpression: Type<JSXMemberExpression>;
16171708 export let JSXSpreadAttribute: Type<JSXSpreadAttribute>;
1618 export let JSXElement: Type<JSXElement>;
1709 export let JSXEmptyExpression: Type<JSXEmptyExpression>;
1710 export let JSXText: Type<JSXText>;
1711 export let JSXSpreadChild: Type<JSXSpreadChild>;
16191712 export let JSXOpeningElement: Type<JSXOpeningElement>;
16201713 export let JSXClosingElement: Type<JSXClosingElement>;
1621 export let JSXFragment: Type<JSXFragment>;
1622 export let JSXText: Type<JSXText>;
16231714 export let JSXOpeningFragment: Type<JSXOpeningFragment>;
16241715 export let JSXClosingFragment: Type<JSXClosingFragment>;
1625 export let JSXEmptyExpression: Type<JSXEmptyExpression>;
1626 export let JSXSpreadChild: Type<JSXSpreadChild>;
1716 export let Decorator: Type<Decorator>;
1717 export let PrivateName: Type<PrivateName>;
1718 export let ClassPrivateProperty: Type<ClassPrivateProperty>;
16271719 export let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
16281720 export let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
16291721 export let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
16381730 export let EmptyTypeAnnotation: Type<EmptyTypeAnnotation>;
16391731 export let MixedTypeAnnotation: Type<MixedTypeAnnotation>;
16401732 export let VoidTypeAnnotation: Type<VoidTypeAnnotation>;
1733 export let SymbolTypeAnnotation: Type<SymbolTypeAnnotation>;
16411734 export let NumberTypeAnnotation: Type<NumberTypeAnnotation>;
1735 export let BigIntTypeAnnotation: Type<BigIntTypeAnnotation>;
16421736 export let NumberLiteralTypeAnnotation: Type<NumberLiteralTypeAnnotation>;
16431737 export let NumericLiteralTypeAnnotation: Type<NumericLiteralTypeAnnotation>;
1738 export let BigIntLiteralTypeAnnotation: Type<BigIntLiteralTypeAnnotation>;
16441739 export let StringTypeAnnotation: Type<StringTypeAnnotation>;
16451740 export let StringLiteralTypeAnnotation: Type<StringLiteralTypeAnnotation>;
16461741 export let BooleanTypeAnnotation: Type<BooleanTypeAnnotation>;
16731768 export let InterfaceDeclaration: Type<InterfaceDeclaration>;
16741769 export let DeclareInterface: Type<DeclareInterface>;
16751770 export let TypeAlias: Type<TypeAlias>;
1771 export let DeclareTypeAlias: Type<DeclareTypeAlias>;
16761772 export let OpaqueType: Type<OpaqueType>;
1677 export let DeclareTypeAlias: Type<DeclareTypeAlias>;
16781773 export let DeclareOpaqueType: Type<DeclareOpaqueType>;
16791774 export let TypeCastExpression: Type<TypeCastExpression>;
16801775 export let TupleTypeAnnotation: Type<TupleTypeAnnotation>;
16811776 export let DeclareVariable: Type<DeclareVariable>;
16821777 export let DeclareFunction: Type<DeclareFunction>;
1778 export let FlowPredicate: Type<FlowPredicate>;
16831779 export let DeclareClass: Type<DeclareClass>;
16841780 export let DeclareModule: Type<DeclareModule>;
16851781 export let DeclareModuleExports: Type<DeclareModuleExports>;
16861782 export let DeclareExportDeclaration: Type<DeclareExportDeclaration>;
1687 export let ExportSpecifier: Type<ExportSpecifier>;
16881783 export let ExportBatchSpecifier: Type<ExportBatchSpecifier>;
16891784 export let DeclareExportAllDeclaration: Type<DeclareExportAllDeclaration>;
1690 export let FlowPredicate: Type<FlowPredicate>;
16911785 export let InferredPredicate: Type<InferredPredicate>;
16921786 export let DeclaredPredicate: Type<DeclaredPredicate>;
1787 export let EnumDeclaration: Type<EnumDeclaration>;
1788 export let EnumBooleanBody: Type<EnumBooleanBody>;
1789 export let EnumNumberBody: Type<EnumNumberBody>;
1790 export let EnumStringBody: Type<EnumStringBody>;
1791 export let EnumSymbolBody: Type<EnumSymbolBody>;
1792 export let EnumBooleanMember: Type<EnumBooleanMember>;
1793 export let EnumNumberMember: Type<EnumNumberMember>;
1794 export let EnumStringMember: Type<EnumStringMember>;
1795 export let EnumDefaultedMember: Type<EnumDefaultedMember>;
16931796 export let ExportDeclaration: Type<ExportDeclaration>;
16941797 export let Block: Type<Block>;
16951798 export let Line: Type<Line>;
16961799 export let Noop: Type<Noop>;
16971800 export let DoExpression: Type<DoExpression>;
1698 export let Super: Type<Super>;
16991801 export let BindExpression: Type<BindExpression>;
1700 export let Decorator: Type<Decorator>;
1701 export let MetaProperty: Type<MetaProperty>;
17021802 export let ParenthesizedExpression: Type<ParenthesizedExpression>;
1703 export let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
1704 export let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
17051803 export let ExportNamespaceSpecifier: Type<ExportNamespaceSpecifier>;
17061804 export let ExportDefaultSpecifier: Type<ExportDefaultSpecifier>;
1707 export let ExportAllDeclaration: Type<ExportAllDeclaration>;
17081805 export let CommentBlock: Type<CommentBlock>;
17091806 export let CommentLine: Type<CommentLine>;
17101807 export let Directive: Type<Directive>;
17171814 export let BooleanLiteral: Type<BooleanLiteral>;
17181815 export let RegExpLiteral: Type<RegExpLiteral>;
17191816 export let ObjectMethod: Type<ObjectMethod>;
1720 export let ClassPrivateProperty: Type<ClassPrivateProperty>;
17211817 export let ClassMethod: Type<ClassMethod>;
17221818 export let ClassPrivateMethod: Type<ClassPrivateMethod>;
1723 export let PrivateName: Type<PrivateName>;
17241819 export let RestProperty: Type<RestProperty>;
17251820 export let ForAwaitStatement: Type<ForAwaitStatement>;
17261821 export let Import: Type<Import>;
17571852 export let TSDeclareMethod: Type<TSDeclareMethod>;
17581853 export let TSMappedType: Type<TSMappedType>;
17591854 export let TSTupleType: Type<TSTupleType>;
1855 export let TSNamedTupleMember: Type<TSNamedTupleMember>;
17601856 export let TSRestType: Type<TSRestType>;
17611857 export let TSOptionalType: Type<TSOptionalType>;
17621858 export let TSIndexedAccessType: Type<TSIndexedAccessType>;
17831879 export let TSInterfaceBody: Type<TSInterfaceBody>;
17841880 export let TSInterfaceDeclaration: Type<TSInterfaceDeclaration>;
17851881 export let TSParameterProperty: Type<TSParameterProperty>;
1786 export let OptionalMemberExpression: Type<OptionalMemberExpression>;
1787 export let OptionalCallExpression: Type<OptionalCallExpression>;
17881882 }
17891883
17901884 export interface NamedTypes {
18531947 PropertyPattern: Type<namedTypes.PropertyPattern>;
18541948 ObjectPattern: Type<namedTypes.ObjectPattern>;
18551949 ArrayPattern: Type<namedTypes.ArrayPattern>;
1856 MethodDefinition: Type<namedTypes.MethodDefinition>;
18571950 SpreadElement: Type<namedTypes.SpreadElement>;
18581951 AssignmentPattern: Type<namedTypes.AssignmentPattern>;
1952 MethodDefinition: Type<namedTypes.MethodDefinition>;
18591953 ClassPropertyDefinition: Type<namedTypes.ClassPropertyDefinition>;
18601954 ClassProperty: Type<namedTypes.ClassProperty>;
18611955 ClassBody: Type<namedTypes.ClassBody>;
18621956 ClassDeclaration: Type<namedTypes.ClassDeclaration>;
18631957 ClassExpression: Type<namedTypes.ClassExpression>;
1958 Super: Type<namedTypes.Super>;
18641959 Specifier: Type<namedTypes.Specifier>;
18651960 ModuleSpecifier: Type<namedTypes.ModuleSpecifier>;
18661961 ImportSpecifier: Type<namedTypes.ImportSpecifier>;
1962 ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
18671963 ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
1868 ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
18691964 ImportDeclaration: Type<namedTypes.ImportDeclaration>;
1965 ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
1966 ExportSpecifier: Type<namedTypes.ExportSpecifier>;
1967 ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1968 ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
18701969 TaggedTemplateExpression: Type<namedTypes.TaggedTemplateExpression>;
18711970 TemplateLiteral: Type<namedTypes.TemplateLiteral>;
18721971 TemplateElement: Type<namedTypes.TemplateElement>;
1972 MetaProperty: Type<namedTypes.MetaProperty>;
1973 AwaitExpression: Type<namedTypes.AwaitExpression>;
18731974 SpreadProperty: Type<namedTypes.SpreadProperty>;
18741975 SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
1875 AwaitExpression: Type<namedTypes.AwaitExpression>;
18761976 ImportExpression: Type<namedTypes.ImportExpression>;
1977 OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
1978 OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
18771979 JSXAttribute: Type<namedTypes.JSXAttribute>;
18781980 JSXIdentifier: Type<namedTypes.JSXIdentifier>;
18791981 JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
18801982 JSXExpressionContainer: Type<namedTypes.JSXExpressionContainer>;
1983 JSXElement: Type<namedTypes.JSXElement>;
1984 JSXFragment: Type<namedTypes.JSXFragment>;
18811985 JSXMemberExpression: Type<namedTypes.JSXMemberExpression>;
18821986 JSXSpreadAttribute: Type<namedTypes.JSXSpreadAttribute>;
1883 JSXElement: Type<namedTypes.JSXElement>;
1987 JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1988 JSXText: Type<namedTypes.JSXText>;
1989 JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
18841990 JSXOpeningElement: Type<namedTypes.JSXOpeningElement>;
18851991 JSXClosingElement: Type<namedTypes.JSXClosingElement>;
1886 JSXFragment: Type<namedTypes.JSXFragment>;
1887 JSXText: Type<namedTypes.JSXText>;
18881992 JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
18891993 JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
1890 JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
1891 JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
1994 Decorator: Type<namedTypes.Decorator>;
1995 PrivateName: Type<namedTypes.PrivateName>;
1996 ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
18921997 TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
18931998 TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
18941999 TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
19032008 EmptyTypeAnnotation: Type<namedTypes.EmptyTypeAnnotation>;
19042009 MixedTypeAnnotation: Type<namedTypes.MixedTypeAnnotation>;
19052010 VoidTypeAnnotation: Type<namedTypes.VoidTypeAnnotation>;
2011 SymbolTypeAnnotation: Type<namedTypes.SymbolTypeAnnotation>;
19062012 NumberTypeAnnotation: Type<namedTypes.NumberTypeAnnotation>;
2013 BigIntTypeAnnotation: Type<namedTypes.BigIntTypeAnnotation>;
19072014 NumberLiteralTypeAnnotation: Type<namedTypes.NumberLiteralTypeAnnotation>;
19082015 NumericLiteralTypeAnnotation: Type<namedTypes.NumericLiteralTypeAnnotation>;
2016 BigIntLiteralTypeAnnotation: Type<namedTypes.BigIntLiteralTypeAnnotation>;
19092017 StringTypeAnnotation: Type<namedTypes.StringTypeAnnotation>;
19102018 StringLiteralTypeAnnotation: Type<namedTypes.StringLiteralTypeAnnotation>;
19112019 BooleanTypeAnnotation: Type<namedTypes.BooleanTypeAnnotation>;
19382046 InterfaceDeclaration: Type<namedTypes.InterfaceDeclaration>;
19392047 DeclareInterface: Type<namedTypes.DeclareInterface>;
19402048 TypeAlias: Type<namedTypes.TypeAlias>;
2049 DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
19412050 OpaqueType: Type<namedTypes.OpaqueType>;
1942 DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
19432051 DeclareOpaqueType: Type<namedTypes.DeclareOpaqueType>;
19442052 TypeCastExpression: Type<namedTypes.TypeCastExpression>;
19452053 TupleTypeAnnotation: Type<namedTypes.TupleTypeAnnotation>;
19462054 DeclareVariable: Type<namedTypes.DeclareVariable>;
19472055 DeclareFunction: Type<namedTypes.DeclareFunction>;
2056 FlowPredicate: Type<namedTypes.FlowPredicate>;
19482057 DeclareClass: Type<namedTypes.DeclareClass>;
19492058 DeclareModule: Type<namedTypes.DeclareModule>;
19502059 DeclareModuleExports: Type<namedTypes.DeclareModuleExports>;
19512060 DeclareExportDeclaration: Type<namedTypes.DeclareExportDeclaration>;
1952 ExportSpecifier: Type<namedTypes.ExportSpecifier>;
19532061 ExportBatchSpecifier: Type<namedTypes.ExportBatchSpecifier>;
19542062 DeclareExportAllDeclaration: Type<namedTypes.DeclareExportAllDeclaration>;
1955 FlowPredicate: Type<namedTypes.FlowPredicate>;
19562063 InferredPredicate: Type<namedTypes.InferredPredicate>;
19572064 DeclaredPredicate: Type<namedTypes.DeclaredPredicate>;
2065 EnumDeclaration: Type<namedTypes.EnumDeclaration>;
2066 EnumBooleanBody: Type<namedTypes.EnumBooleanBody>;
2067 EnumNumberBody: Type<namedTypes.EnumNumberBody>;
2068 EnumStringBody: Type<namedTypes.EnumStringBody>;
2069 EnumSymbolBody: Type<namedTypes.EnumSymbolBody>;
2070 EnumBooleanMember: Type<namedTypes.EnumBooleanMember>;
2071 EnumNumberMember: Type<namedTypes.EnumNumberMember>;
2072 EnumStringMember: Type<namedTypes.EnumStringMember>;
2073 EnumDefaultedMember: Type<namedTypes.EnumDefaultedMember>;
19582074 ExportDeclaration: Type<namedTypes.ExportDeclaration>;
19592075 Block: Type<namedTypes.Block>;
19602076 Line: Type<namedTypes.Line>;
19612077 Noop: Type<namedTypes.Noop>;
19622078 DoExpression: Type<namedTypes.DoExpression>;
1963 Super: Type<namedTypes.Super>;
19642079 BindExpression: Type<namedTypes.BindExpression>;
1965 Decorator: Type<namedTypes.Decorator>;
1966 MetaProperty: Type<namedTypes.MetaProperty>;
19672080 ParenthesizedExpression: Type<namedTypes.ParenthesizedExpression>;
1968 ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
1969 ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
19702081 ExportNamespaceSpecifier: Type<namedTypes.ExportNamespaceSpecifier>;
19712082 ExportDefaultSpecifier: Type<namedTypes.ExportDefaultSpecifier>;
1972 ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
19732083 CommentBlock: Type<namedTypes.CommentBlock>;
19742084 CommentLine: Type<namedTypes.CommentLine>;
19752085 Directive: Type<namedTypes.Directive>;
19822092 BooleanLiteral: Type<namedTypes.BooleanLiteral>;
19832093 RegExpLiteral: Type<namedTypes.RegExpLiteral>;
19842094 ObjectMethod: Type<namedTypes.ObjectMethod>;
1985 ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
19862095 ClassMethod: Type<namedTypes.ClassMethod>;
19872096 ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
1988 PrivateName: Type<namedTypes.PrivateName>;
19892097 RestProperty: Type<namedTypes.RestProperty>;
19902098 ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
19912099 Import: Type<namedTypes.Import>;
20222130 TSDeclareMethod: Type<namedTypes.TSDeclareMethod>;
20232131 TSMappedType: Type<namedTypes.TSMappedType>;
20242132 TSTupleType: Type<namedTypes.TSTupleType>;
2133 TSNamedTupleMember: Type<namedTypes.TSNamedTupleMember>;
20252134 TSRestType: Type<namedTypes.TSRestType>;
20262135 TSOptionalType: Type<namedTypes.TSOptionalType>;
20272136 TSIndexedAccessType: Type<namedTypes.TSIndexedAccessType>;
20482157 TSInterfaceBody: Type<namedTypes.TSInterfaceBody>;
20492158 TSInterfaceDeclaration: Type<namedTypes.TSInterfaceDeclaration>;
20502159 TSParameterProperty: Type<namedTypes.TSParameterProperty>;
2051 OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
2052 OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
20532160 }
6868 visitPropertyPattern?(this: Context & M, path: NodePath<namedTypes.PropertyPattern>): any;
6969 visitObjectPattern?(this: Context & M, path: NodePath<namedTypes.ObjectPattern>): any;
7070 visitArrayPattern?(this: Context & M, path: NodePath<namedTypes.ArrayPattern>): any;
71 visitMethodDefinition?(this: Context & M, path: NodePath<namedTypes.MethodDefinition>): any;
7271 visitSpreadElement?(this: Context & M, path: NodePath<namedTypes.SpreadElement>): any;
7372 visitAssignmentPattern?(this: Context & M, path: NodePath<namedTypes.AssignmentPattern>): any;
73 visitMethodDefinition?(this: Context & M, path: NodePath<namedTypes.MethodDefinition>): any;
7474 visitClassPropertyDefinition?(this: Context & M, path: NodePath<namedTypes.ClassPropertyDefinition>): any;
7575 visitClassProperty?(this: Context & M, path: NodePath<namedTypes.ClassProperty>): any;
7676 visitClassBody?(this: Context & M, path: NodePath<namedTypes.ClassBody>): any;
7777 visitClassDeclaration?(this: Context & M, path: NodePath<namedTypes.ClassDeclaration>): any;
7878 visitClassExpression?(this: Context & M, path: NodePath<namedTypes.ClassExpression>): any;
79 visitSuper?(this: Context & M, path: NodePath<namedTypes.Super>): any;
7980 visitSpecifier?(this: Context & M, path: NodePath<namedTypes.Specifier>): any;
8081 visitModuleSpecifier?(this: Context & M, path: NodePath<namedTypes.ModuleSpecifier>): any;
8182 visitImportSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportSpecifier>): any;
83 visitImportDefaultSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportDefaultSpecifier>): any;
8284 visitImportNamespaceSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportNamespaceSpecifier>): any;
83 visitImportDefaultSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportDefaultSpecifier>): any;
8485 visitImportDeclaration?(this: Context & M, path: NodePath<namedTypes.ImportDeclaration>): any;
86 visitExportNamedDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportNamedDeclaration>): any;
87 visitExportSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportSpecifier>): any;
88 visitExportDefaultDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportDefaultDeclaration>): any;
89 visitExportAllDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportAllDeclaration>): any;
8590 visitTaggedTemplateExpression?(this: Context & M, path: NodePath<namedTypes.TaggedTemplateExpression>): any;
8691 visitTemplateLiteral?(this: Context & M, path: NodePath<namedTypes.TemplateLiteral>): any;
8792 visitTemplateElement?(this: Context & M, path: NodePath<namedTypes.TemplateElement>): any;
93 visitMetaProperty?(this: Context & M, path: NodePath<namedTypes.MetaProperty>): any;
94 visitAwaitExpression?(this: Context & M, path: NodePath<namedTypes.AwaitExpression>): any;
8895 visitSpreadProperty?(this: Context & M, path: NodePath<namedTypes.SpreadProperty>): any;
8996 visitSpreadPropertyPattern?(this: Context & M, path: NodePath<namedTypes.SpreadPropertyPattern>): any;
90 visitAwaitExpression?(this: Context & M, path: NodePath<namedTypes.AwaitExpression>): any;
9197 visitImportExpression?(this: Context & M, path: NodePath<namedTypes.ImportExpression>): any;
98 visitOptionalMemberExpression?(this: Context & M, path: NodePath<namedTypes.OptionalMemberExpression>): any;
99 visitOptionalCallExpression?(this: Context & M, path: NodePath<namedTypes.OptionalCallExpression>): any;
92100 visitJSXAttribute?(this: Context & M, path: NodePath<namedTypes.JSXAttribute>): any;
93101 visitJSXIdentifier?(this: Context & M, path: NodePath<namedTypes.JSXIdentifier>): any;
94102 visitJSXNamespacedName?(this: Context & M, path: NodePath<namedTypes.JSXNamespacedName>): any;
95103 visitJSXExpressionContainer?(this: Context & M, path: NodePath<namedTypes.JSXExpressionContainer>): any;
104 visitJSXElement?(this: Context & M, path: NodePath<namedTypes.JSXElement>): any;
105 visitJSXFragment?(this: Context & M, path: NodePath<namedTypes.JSXFragment>): any;
96106 visitJSXMemberExpression?(this: Context & M, path: NodePath<namedTypes.JSXMemberExpression>): any;
97107 visitJSXSpreadAttribute?(this: Context & M, path: NodePath<namedTypes.JSXSpreadAttribute>): any;
98 visitJSXElement?(this: Context & M, path: NodePath<namedTypes.JSXElement>): any;
108 visitJSXEmptyExpression?(this: Context & M, path: NodePath<namedTypes.JSXEmptyExpression>): any;
109 visitJSXText?(this: Context & M, path: NodePath<namedTypes.JSXText>): any;
110 visitJSXSpreadChild?(this: Context & M, path: NodePath<namedTypes.JSXSpreadChild>): any;
99111 visitJSXOpeningElement?(this: Context & M, path: NodePath<namedTypes.JSXOpeningElement>): any;
100112 visitJSXClosingElement?(this: Context & M, path: NodePath<namedTypes.JSXClosingElement>): any;
101 visitJSXFragment?(this: Context & M, path: NodePath<namedTypes.JSXFragment>): any;
102 visitJSXText?(this: Context & M, path: NodePath<namedTypes.JSXText>): any;
103113 visitJSXOpeningFragment?(this: Context & M, path: NodePath<namedTypes.JSXOpeningFragment>): any;
104114 visitJSXClosingFragment?(this: Context & M, path: NodePath<namedTypes.JSXClosingFragment>): any;
105 visitJSXEmptyExpression?(this: Context & M, path: NodePath<namedTypes.JSXEmptyExpression>): any;
106 visitJSXSpreadChild?(this: Context & M, path: NodePath<namedTypes.JSXSpreadChild>): 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;
107118 visitTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TypeParameterDeclaration>): any;
108119 visitTSTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TSTypeParameterDeclaration>): any;
109120 visitTypeParameterInstantiation?(this: Context & M, path: NodePath<namedTypes.TypeParameterInstantiation>): any;
124135 visitEmptyTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.EmptyTypeAnnotation>): any;
125136 visitMixedTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.MixedTypeAnnotation>): any;
126137 visitVoidTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.VoidTypeAnnotation>): any;
138 visitSymbolTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.SymbolTypeAnnotation>): any;
127139 visitNumberTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumberTypeAnnotation>): any;
140 visitBigIntTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.BigIntTypeAnnotation>): any;
128141 visitNumberLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumberLiteralTypeAnnotation>): any;
129142 visitNumericLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumericLiteralTypeAnnotation>): any;
143 visitBigIntLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.BigIntLiteralTypeAnnotation>): any;
130144 visitStringTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.StringTypeAnnotation>): any;
131145 visitStringLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.StringLiteralTypeAnnotation>): any;
132146 visitBooleanTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.BooleanTypeAnnotation>): any;
159173 visitInterfaceDeclaration?(this: Context & M, path: NodePath<namedTypes.InterfaceDeclaration>): any;
160174 visitDeclareInterface?(this: Context & M, path: NodePath<namedTypes.DeclareInterface>): any;
161175 visitTypeAlias?(this: Context & M, path: NodePath<namedTypes.TypeAlias>): any;
176 visitDeclareTypeAlias?(this: Context & M, path: NodePath<namedTypes.DeclareTypeAlias>): any;
162177 visitOpaqueType?(this: Context & M, path: NodePath<namedTypes.OpaqueType>): any;
163 visitDeclareTypeAlias?(this: Context & M, path: NodePath<namedTypes.DeclareTypeAlias>): any;
164178 visitDeclareOpaqueType?(this: Context & M, path: NodePath<namedTypes.DeclareOpaqueType>): any;
165179 visitTypeCastExpression?(this: Context & M, path: NodePath<namedTypes.TypeCastExpression>): any;
166180 visitTupleTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TupleTypeAnnotation>): any;
167181 visitDeclareVariable?(this: Context & M, path: NodePath<namedTypes.DeclareVariable>): any;
168182 visitDeclareFunction?(this: Context & M, path: NodePath<namedTypes.DeclareFunction>): any;
183 visitFlowPredicate?(this: Context & M, path: NodePath<namedTypes.FlowPredicate>): any;
169184 visitDeclareClass?(this: Context & M, path: NodePath<namedTypes.DeclareClass>): any;
170185 visitDeclareModule?(this: Context & M, path: NodePath<namedTypes.DeclareModule>): any;
171186 visitDeclareModuleExports?(this: Context & M, path: NodePath<namedTypes.DeclareModuleExports>): any;
172187 visitDeclareExportDeclaration?(this: Context & M, path: NodePath<namedTypes.DeclareExportDeclaration>): any;
173 visitExportSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportSpecifier>): any;
174188 visitExportBatchSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportBatchSpecifier>): any;
175189 visitDeclareExportAllDeclaration?(this: Context & M, path: NodePath<namedTypes.DeclareExportAllDeclaration>): any;
176 visitFlowPredicate?(this: Context & M, path: NodePath<namedTypes.FlowPredicate>): any;
177190 visitInferredPredicate?(this: Context & M, path: NodePath<namedTypes.InferredPredicate>): any;
178191 visitDeclaredPredicate?(this: Context & M, path: NodePath<namedTypes.DeclaredPredicate>): any;
192 visitEnumDeclaration?(this: Context & M, path: NodePath<namedTypes.EnumDeclaration>): any;
193 visitEnumBooleanBody?(this: Context & M, path: NodePath<namedTypes.EnumBooleanBody>): any;
194 visitEnumNumberBody?(this: Context & M, path: NodePath<namedTypes.EnumNumberBody>): any;
195 visitEnumStringBody?(this: Context & M, path: NodePath<namedTypes.EnumStringBody>): any;
196 visitEnumSymbolBody?(this: Context & M, path: NodePath<namedTypes.EnumSymbolBody>): any;
197 visitEnumBooleanMember?(this: Context & M, path: NodePath<namedTypes.EnumBooleanMember>): any;
198 visitEnumNumberMember?(this: Context & M, path: NodePath<namedTypes.EnumNumberMember>): any;
199 visitEnumStringMember?(this: Context & M, path: NodePath<namedTypes.EnumStringMember>): any;
200 visitEnumDefaultedMember?(this: Context & M, path: NodePath<namedTypes.EnumDefaultedMember>): any;
179201 visitExportDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportDeclaration>): any;
180202 visitBlock?(this: Context & M, path: NodePath<namedTypes.Block>): any;
181203 visitLine?(this: Context & M, path: NodePath<namedTypes.Line>): any;
182204 visitNoop?(this: Context & M, path: NodePath<namedTypes.Noop>): any;
183205 visitDoExpression?(this: Context & M, path: NodePath<namedTypes.DoExpression>): any;
184 visitSuper?(this: Context & M, path: NodePath<namedTypes.Super>): any;
185206 visitBindExpression?(this: Context & M, path: NodePath<namedTypes.BindExpression>): any;
186 visitDecorator?(this: Context & M, path: NodePath<namedTypes.Decorator>): any;
187 visitMetaProperty?(this: Context & M, path: NodePath<namedTypes.MetaProperty>): any;
188207 visitParenthesizedExpression?(this: Context & M, path: NodePath<namedTypes.ParenthesizedExpression>): any;
189 visitExportDefaultDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportDefaultDeclaration>): any;
190 visitExportNamedDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportNamedDeclaration>): any;
191208 visitExportNamespaceSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportNamespaceSpecifier>): any;
192209 visitExportDefaultSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportDefaultSpecifier>): any;
193 visitExportAllDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportAllDeclaration>): any;
194210 visitCommentBlock?(this: Context & M, path: NodePath<namedTypes.CommentBlock>): any;
195211 visitCommentLine?(this: Context & M, path: NodePath<namedTypes.CommentLine>): any;
196212 visitDirective?(this: Context & M, path: NodePath<namedTypes.Directive>): any;
203219 visitBooleanLiteral?(this: Context & M, path: NodePath<namedTypes.BooleanLiteral>): any;
204220 visitRegExpLiteral?(this: Context & M, path: NodePath<namedTypes.RegExpLiteral>): any;
205221 visitObjectMethod?(this: Context & M, path: NodePath<namedTypes.ObjectMethod>): any;
206 visitClassPrivateProperty?(this: Context & M, path: NodePath<namedTypes.ClassPrivateProperty>): any;
207222 visitClassMethod?(this: Context & M, path: NodePath<namedTypes.ClassMethod>): any;
208223 visitClassPrivateMethod?(this: Context & M, path: NodePath<namedTypes.ClassPrivateMethod>): any;
209 visitPrivateName?(this: Context & M, path: NodePath<namedTypes.PrivateName>): any;
210224 visitRestProperty?(this: Context & M, path: NodePath<namedTypes.RestProperty>): any;
211225 visitForAwaitStatement?(this: Context & M, path: NodePath<namedTypes.ForAwaitStatement>): any;
212226 visitImport?(this: Context & M, path: NodePath<namedTypes.Import>): any;
243257 visitTSDeclareMethod?(this: Context & M, path: NodePath<namedTypes.TSDeclareMethod>): any;
244258 visitTSMappedType?(this: Context & M, path: NodePath<namedTypes.TSMappedType>): any;
245259 visitTSTupleType?(this: Context & M, path: NodePath<namedTypes.TSTupleType>): any;
260 visitTSNamedTupleMember?(this: Context & M, path: NodePath<namedTypes.TSNamedTupleMember>): any;
246261 visitTSRestType?(this: Context & M, path: NodePath<namedTypes.TSRestType>): any;
247262 visitTSOptionalType?(this: Context & M, path: NodePath<namedTypes.TSOptionalType>): any;
248263 visitTSIndexedAccessType?(this: Context & M, path: NodePath<namedTypes.TSIndexedAccessType>): any;
272287 visitTSInterfaceBody?(this: Context & M, path: NodePath<namedTypes.TSInterfaceBody>): any;
273288 visitTSInterfaceDeclaration?(this: Context & M, path: NodePath<namedTypes.TSInterfaceDeclaration>): any;
274289 visitTSParameterProperty?(this: Context & M, path: NodePath<namedTypes.TSParameterProperty>): any;
275 visitOptionalMemberExpression?(this: Context & M, path: NodePath<namedTypes.OptionalMemberExpression>): any;
276 visitOptionalCallExpression?(this: Context & M, path: NodePath<namedTypes.OptionalCallExpression>): any;
277290 }
172172 // A catch clause establishes a new scope but the only variable
173173 // bound in that scope is the catch parameter. Any other
174174 // declarations create bindings in the outer scope.
175 addPattern(path.get("param"), bindings);
175 var param = path.get("param");
176 if (param.value) {
177 addPattern(param, bindings);
178 }
176179
177180 } else {
178181 recursiveScanScope(path, bindings, scopeTypes);
389389 var builtInCtorTypes: Type<any>[] = [];
390390
391391 type BuiltInTypes = {
392 string: typeof isString;
393 function: typeof isFunction;
394 array: typeof isArray;
395 object: typeof isObject;
396 RegExp: typeof isRegExp;
397 Date: typeof isDate;
398 number: typeof isNumber;
399 boolean: typeof isBoolean;
400 null: typeof isNull;
401 undefined: typeof isUndefined;
392 string: string;
393 function: Function;
394 array: any[];
395 object: { [key: string]: any };
396 RegExp: RegExp;
397 Date: Date;
398 number: number;
399 boolean: boolean;
400 null: null;
401 undefined: undefined;
402402 };
403 var builtInTypes = {} as BuiltInTypes;
404
405 function defBuiltInType<T>(example: T, name: keyof BuiltInTypes): Type<T> {
406 const objStr = objToStr.call(example);
407
408 const type = new PredicateType<T>(name, value => objToStr.call(value) === objStr);
409
410 builtInTypes[name] = type;
403
404 function defBuiltInType<K extends keyof BuiltInTypes>(
405 name: K,
406 example: BuiltInTypes[K]
407 ): Type<BuiltInTypes[K]> {
408 const objStr: string = objToStr.call(example);
409
410 const type = new PredicateType<BuiltInTypes[K]>(
411 name,
412 value => objToStr.call(value) === objStr);
411413
412414 if (example && typeof example.constructor === "function") {
413415 builtInCtorFns.push(example.constructor);
421423 // value, rather than using the problematic typeof operator. Note however
422424 // that no subtyping is considered; so, for instance, isObject.check
423425 // returns false for [], /./, new Date, and null.
424 var isString = defBuiltInType<string>("truthy", "string");
425 var isFunction = defBuiltInType<Function>(function () {}, "function");
426 var isArray = defBuiltInType<any[]>([], "array");
427 var isObject = defBuiltInType<{ [key: string]: any }>({}, "object");
428 var isRegExp = defBuiltInType<RegExp>(/./, "RegExp");
429 var isDate = defBuiltInType<Date>(new Date, "Date");
430 var isNumber = defBuiltInType<number>(3, "number");
431 var isBoolean = defBuiltInType<boolean>(true, "boolean");
432 var isNull = defBuiltInType<null>(null, "null");
433 var isUndefined = defBuiltInType<undefined>(void 0, "undefined");
426 const isString = defBuiltInType("string", "truthy");
427 const isFunction = defBuiltInType("function", function () {});
428 const isArray = defBuiltInType("array", []);
429 const isObject = defBuiltInType("object", {});
430 const isRegExp = defBuiltInType("RegExp", /./);
431 const isDate = defBuiltInType("Date", new Date());
432 const isNumber = defBuiltInType("number", 3);
433 const isBoolean = defBuiltInType("boolean", true);
434 const isNull = defBuiltInType("null", null);
435 const isUndefined = defBuiltInType("undefined", undefined);
436
437 const builtInTypes = {
438 string: isString,
439 function: isFunction,
440 array: isArray,
441 object: isObject,
442 RegExp: isRegExp,
443 Date: isDate,
444 number: isNumber,
445 boolean: isBoolean,
446 null: isNull,
447 undefined: isUndefined,
448 };
434449
435450 // In order to return the same Def instance every time Type.def is called
436451 // with a particular name, those instances need to be stored in a cache.
00 import fork from "./fork";
11 import coreDef from "./def/core";
22 import es6Def from "./def/es6";
3 import es7Def from "./def/es7";
3 import es2016Def from "./def/es2016";
4 import es2017Def from "./def/es2017";
5 import es2018Def from "./def/es2018";
6 import es2019Def from "./def/es2019";
47 import es2020Def from "./def/es2020";
58 import jsxDef from "./def/jsx";
69 import flowDef from "./def/flow";
4144 // Feel free to add to or remove from this list of extension modules to
4245 // configure the precise type hierarchy that you need.
4346 es6Def,
44 es7Def,
47 es2016Def,
48 es2017Def,
49 es2018Def,
50 es2019Def,
4551 es2020Def,
4652 jsxDef,
4753 flowDef,
00 {
11 "name": "ast-types",
2 "version": "0.13.3",
2 "version": "0.14.0",
33 "lockfileVersion": 1,
44 "requires": true,
55 "dependencies": {
66 "@babel/parser": {
7 "version": "7.4.4",
8 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz",
9 "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==",
7 "version": "7.7.7",
8 "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.7.tgz",
9 "integrity": "sha512-WtTZMZAZLbeymhkd/sEaPD8IQyGAhmuTuvTzLiCFM7iXiVdY0gc0IaI+cW0fh1BnSMbJSzXX6/fHllgHKwHhXw==",
1010 "dev": true
1111 },
1212 "@babel/types": {
3030 }
3131 },
3232 "@types/estree": {
33 "version": "0.0.39",
34 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
35 "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
36 "dev": true
37 },
38 "@types/events": {
39 "version": "3.0.0",
40 "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
41 "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
33 "version": "0.0.45",
34 "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz",
35 "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==",
4236 "dev": true
4337 },
4438 "@types/glob": {
45 "version": "7.1.1",
46 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
47 "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
48 "dev": true,
49 "requires": {
50 "@types/events": "*",
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": {
5144 "@types/minimatch": "*",
5245 "@types/node": "*"
5346 }
5952 "dev": true
6053 },
6154 "@types/mocha": {
62 "version": "5.2.6",
63 "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.6.tgz",
64 "integrity": "sha512-1axi39YdtBI7z957vdqXI4Ac25e7YihYQtJa+Clnxg1zTJEaIRbndt71O3sP4GAMgiAm0pY26/b9BrY4MR/PMw==",
55 "version": "8.0.3",
56 "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.0.3.tgz",
57 "integrity": "sha512-vyxR57nv8NfcU0GZu8EUXZLTbCMupIUwy95LJ6lllN+JRPG25CwMHoB1q5xKh8YKhQnHYRAn4yW2yuHbf/5xgg==",
6558 "dev": true
6659 },
6760 "@types/node": {
7164 "dev": true
7265 },
7366 "acorn": {
74 "version": "6.1.1",
75 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
76 "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
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==",
7770 "dev": true
7871 },
7972 "acorn-dynamic-import": {
8376 "dev": true
8477 },
8578 "acorn-jsx": {
86 "version": "5.0.2",
87 "resolved": "http://artprod.dev.bloomberg.com/artifactory/api/npm/npm-repos/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
88 "integrity": "sha1-hLaOpEs3PE+GhgI6VR9hoht8Sk8=",
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==",
8982 "dev": true
9083 },
9184 "ansi-colors": {
92 "version": "3.2.3",
93 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
94 "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
85 "version": "4.1.1",
86 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
87 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
9588 "dev": true
9689 },
9790 "ansi-regex": {
109102 "color-convert": "^1.9.0"
110103 }
111104 },
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": {
111 "normalize-path": "^3.0.0",
112 "picomatch": "^2.0.4"
113 }
114 },
112115 "argparse": {
113116 "version": "1.0.10",
114117 "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
118121 "sprintf-js": "~1.0.2"
119122 }
120123 },
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 },
121136 "arrify": {
122137 "version": "1.0.1",
123138 "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
125140 "dev": true
126141 },
127142 "ast-types": {
128 "version": "0.13.1",
129 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.1.tgz",
130 "integrity": "sha512-b+EeK0WlzrSmpMw5jktWvQGxblpWnvMrV+vOp69RLjzGiHwWV0vgq75DPKtUjppKni3yWwSW8WLGV3Ch/XIWcQ==",
143 "version": "0.13.3",
144 "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz",
145 "integrity": "sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==",
131146 "dev": true
132147 },
133148 "balanced-match": {
136151 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
137152 "dev": true
138153 },
154 "binary-extensions": {
155 "version": "2.1.0",
156 "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
157 "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
158 "dev": true
159 },
139160 "brace-expansion": {
140161 "version": "1.1.11",
141162 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
144165 "requires": {
145166 "balanced-match": "^1.0.0",
146167 "concat-map": "0.0.1"
168 }
169 },
170 "braces": {
171 "version": "3.0.2",
172 "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
173 "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
174 "dev": true,
175 "requires": {
176 "fill-range": "^7.0.1"
147177 }
148178 },
149179 "browser-stdout": {
186216 }
187217 }
188218 },
219 "chokidar": {
220 "version": "3.3.1",
221 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
222 "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
223 "dev": true,
224 "requires": {
225 "anymatch": "~3.1.1",
226 "braces": "~3.0.2",
227 "fsevents": "~2.1.2",
228 "glob-parent": "~5.1.0",
229 "is-binary-path": "~2.1.0",
230 "is-glob": "~4.0.1",
231 "normalize-path": "~3.0.0",
232 "readdirp": "~3.3.0"
233 }
234 },
189235 "cliui": {
190 "version": "4.1.0",
191 "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
192 "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
193 "dev": true,
194 "requires": {
195 "string-width": "^2.1.1",
196 "strip-ansi": "^4.0.0",
197 "wrap-ansi": "^2.0.0"
198 }
199 },
200 "code-point-at": {
201 "version": "1.1.0",
202 "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
203 "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
204 "dev": true
236 "version": "5.0.0",
237 "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
238 "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
239 "dev": true,
240 "requires": {
241 "string-width": "^3.1.0",
242 "strip-ansi": "^5.2.0",
243 "wrap-ansi": "^5.1.0"
244 },
245 "dependencies": {
246 "ansi-regex": {
247 "version": "4.1.0",
248 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
249 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
250 "dev": true
251 },
252 "string-width": {
253 "version": "3.1.0",
254 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
255 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
256 "dev": true,
257 "requires": {
258 "emoji-regex": "^7.0.1",
259 "is-fullwidth-code-point": "^2.0.0",
260 "strip-ansi": "^5.1.0"
261 }
262 },
263 "strip-ansi": {
264 "version": "5.2.0",
265 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
266 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
267 "dev": true,
268 "requires": {
269 "ansi-regex": "^4.1.0"
270 }
271 }
272 }
205273 },
206274 "color-convert": {
207275 "version": "1.9.3",
224292 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
225293 "dev": true
226294 },
227 "cross-spawn": {
228 "version": "6.0.5",
229 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
230 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
231 "dev": true,
232 "requires": {
233 "nice-try": "^1.0.4",
234 "path-key": "^2.0.1",
235 "semver": "^5.5.0",
236 "shebang-command": "^1.2.0",
237 "which": "^1.2.9"
238 }
239 },
240295 "debug": {
241296 "version": "3.2.6",
242297 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
273328 "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
274329 "dev": true
275330 },
276 "end-of-stream": {
277 "version": "1.4.1",
278 "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
279 "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
280 "dev": true,
281 "requires": {
282 "once": "^1.4.0"
283 }
284 },
285331 "es-abstract": {
286 "version": "1.13.0",
287 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
288 "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
289 "dev": true,
290 "requires": {
291 "es-to-primitive": "^1.2.0",
332 "version": "1.17.6",
333 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
334 "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
335 "dev": true,
336 "requires": {
337 "es-to-primitive": "^1.2.1",
292338 "function-bind": "^1.1.1",
293339 "has": "^1.0.3",
294 "is-callable": "^1.1.4",
295 "is-regex": "^1.0.4",
296 "object-keys": "^1.0.12"
340 "has-symbols": "^1.0.1",
341 "is-callable": "^1.2.0",
342 "is-regex": "^1.1.0",
343 "object-inspect": "^1.7.0",
344 "object-keys": "^1.1.1",
345 "object.assign": "^4.1.0",
346 "string.prototype.trimend": "^1.0.1",
347 "string.prototype.trimstart": "^1.0.1"
348 }
349 },
350 "es-array-method-boxes-properly": {
351 "version": "1.0.0",
352 "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
353 "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==",
354 "dev": true
355 },
356 "es-get-iterator": {
357 "version": "1.1.0",
358 "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz",
359 "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==",
360 "dev": true,
361 "requires": {
362 "es-abstract": "^1.17.4",
363 "has-symbols": "^1.0.1",
364 "is-arguments": "^1.0.4",
365 "is-map": "^2.0.1",
366 "is-set": "^2.0.1",
367 "is-string": "^1.0.5",
368 "isarray": "^2.0.5"
297369 }
298370 },
299371 "es-to-primitive": {
300 "version": "1.2.0",
301 "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
302 "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
372 "version": "1.2.1",
373 "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
374 "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
303375 "dev": true,
304376 "requires": {
305377 "is-callable": "^1.1.4",
314386 "dev": true
315387 },
316388 "eslint-visitor-keys": {
317 "version": "1.1.0",
318 "resolved": "http://artprod.dev.bloomberg.com/artifactory/api/npm/npm-repos/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
319 "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=",
389 "version": "1.3.0",
390 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
391 "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
320392 "dev": true
321393 },
322394 "espree": {
323 "version": "6.1.1",
324 "resolved": "http://artprod.dev.bloomberg.com/artifactory/api/npm/npm-repos/espree/-/espree-6.1.1.tgz",
325 "integrity": "sha1-f4Dl9yV/xH20UAItcj41ba6x5d4=",
326 "dev": true,
327 "requires": {
328 "acorn": "^7.0.0",
329 "acorn-jsx": "^5.0.2",
330 "eslint-visitor-keys": "^1.1.0"
331 },
332 "dependencies": {
333 "acorn": {
334 "version": "7.0.0",
335 "resolved": "http://artprod.dev.bloomberg.com/artifactory/api/npm/npm-repos/acorn/-/acorn-7.0.0.tgz",
336 "integrity": "sha1-JrjRzZqbcANQtxwJBVRvZNEoTno=",
337 "dev": true
338 }
395 "version": "7.3.0",
396 "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
397 "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
398 "dev": true,
399 "requires": {
400 "acorn": "^7.4.0",
401 "acorn-jsx": "^5.2.0",
402 "eslint-visitor-keys": "^1.3.0"
339403 }
340404 },
341405 "esprima": {
351415 "dev": true
352416 },
353417 "esutils": {
354 "version": "2.0.2",
355 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
356 "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
357 "dev": true
358 },
359 "execa": {
360 "version": "1.0.0",
361 "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
362 "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
363 "dev": true,
364 "requires": {
365 "cross-spawn": "^6.0.0",
366 "get-stream": "^4.0.0",
367 "is-stream": "^1.1.0",
368 "npm-run-path": "^2.0.0",
369 "p-finally": "^1.0.0",
370 "signal-exit": "^3.0.0",
371 "strip-eof": "^1.0.0"
418 "version": "2.0.3",
419 "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
420 "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
421 "dev": true
422 },
423 "fill-range": {
424 "version": "7.0.1",
425 "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
426 "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
427 "dev": true,
428 "requires": {
429 "to-regex-range": "^5.0.1"
372430 }
373431 },
374432 "find-up": {
375 "version": "3.0.0",
376 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
377 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
378 "dev": true,
379 "requires": {
380 "locate-path": "^3.0.0"
433 "version": "4.1.0",
434 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
435 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
436 "dev": true,
437 "requires": {
438 "locate-path": "^5.0.0",
439 "path-exists": "^4.0.0"
381440 }
382441 },
383442 "flat": {
390449 }
391450 },
392451 "flow-parser": {
393 "version": "0.98.1",
394 "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.98.1.tgz",
395 "integrity": "sha512-vpDh0ZTGzUH/Ge5kvt4KdTNBatTm1OGfOSUM4hUDBs3bktvitoqzFRQPv/u5Goi9a/rGyuRRF02QIsIG5YQigg==",
452 "version": "0.132.0",
453 "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.132.0.tgz",
454 "integrity": "sha512-y1P37zDCPSdphlk+w+roCqcOar6iQdNaAJldJ6xx5/2r4ZRv4KHO+qL+AXwPWp+34eN+oPxPjWnU7GybJnyISQ==",
396455 "dev": true
397456 },
398457 "fs.realpath": {
401460 "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
402461 "dev": true
403462 },
463 "fsevents": {
464 "version": "2.1.3",
465 "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
466 "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
467 "dev": true,
468 "optional": true
469 },
404470 "function-bind": {
405471 "version": "1.1.1",
406472 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
413479 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
414480 "dev": true
415481 },
416 "get-stream": {
417 "version": "4.1.0",
418 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
419 "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
420 "dev": true,
421 "requires": {
422 "pump": "^3.0.0"
423 }
424 },
425482 "glob": {
426 "version": "7.1.4",
427 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
428 "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
483 "version": "7.1.6",
484 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
485 "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
429486 "dev": true,
430487 "requires": {
431488 "fs.realpath": "^1.0.0",
436493 "path-is-absolute": "^1.0.0"
437494 }
438495 },
496 "glob-parent": {
497 "version": "5.1.1",
498 "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
499 "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
500 "dev": true,
501 "requires": {
502 "is-glob": "^4.0.1"
503 }
504 },
439505 "growl": {
440506 "version": "1.10.5",
441507 "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
458524 "dev": true
459525 },
460526 "has-symbols": {
461 "version": "1.0.0",
462 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
463 "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
527 "version": "1.0.1",
528 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
529 "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
464530 "dev": true
465531 },
466532 "he": {
480546 }
481547 },
482548 "inherits": {
483 "version": "2.0.3",
484 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
485 "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
486 "dev": true
487 },
488 "invert-kv": {
489 "version": "2.0.0",
490 "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
491 "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
492 "dev": true
549 "version": "2.0.4",
550 "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
551 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
552 "dev": true
553 },
554 "is-arguments": {
555 "version": "1.0.4",
556 "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
557 "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
558 "dev": true
559 },
560 "is-binary-path": {
561 "version": "2.1.0",
562 "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
563 "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
564 "dev": true,
565 "requires": {
566 "binary-extensions": "^2.0.0"
567 }
493568 },
494569 "is-buffer": {
495 "version": "2.0.3",
496 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
497 "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
570 "version": "2.0.4",
571 "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
572 "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
498573 "dev": true
499574 },
500575 "is-callable": {
501 "version": "1.1.4",
502 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
503 "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
576 "version": "1.2.0",
577 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
578 "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
504579 "dev": true
505580 },
506581 "is-date-object": {
507 "version": "1.0.1",
508 "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
509 "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
582 "version": "1.0.2",
583 "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
584 "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
585 "dev": true
586 },
587 "is-extglob": {
588 "version": "2.1.1",
589 "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
590 "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
510591 "dev": true
511592 },
512593 "is-fullwidth-code-point": {
515596 "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
516597 "dev": true
517598 },
599 "is-glob": {
600 "version": "4.0.1",
601 "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
602 "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
603 "dev": true,
604 "requires": {
605 "is-extglob": "^2.1.1"
606 }
607 },
608 "is-map": {
609 "version": "2.0.1",
610 "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz",
611 "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==",
612 "dev": true
613 },
614 "is-number": {
615 "version": "7.0.0",
616 "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
617 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
618 "dev": true
619 },
620 "is-plain-obj": {
621 "version": "1.1.0",
622 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
623 "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
624 "dev": true
625 },
518626 "is-regex": {
519 "version": "1.0.4",
520 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
521 "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
522 "dev": true,
523 "requires": {
524 "has": "^1.0.1"
525 }
526 },
527 "is-stream": {
528 "version": "1.1.0",
529 "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
530 "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
627 "version": "1.1.1",
628 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
629 "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
630 "dev": true,
631 "requires": {
632 "has-symbols": "^1.0.1"
633 }
634 },
635 "is-set": {
636 "version": "2.0.1",
637 "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz",
638 "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==",
639 "dev": true
640 },
641 "is-string": {
642 "version": "1.0.5",
643 "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
644 "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
531645 "dev": true
532646 },
533647 "is-symbol": {
534 "version": "1.0.2",
535 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
536 "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
537 "dev": true,
538 "requires": {
539 "has-symbols": "^1.0.0"
540 }
648 "version": "1.0.3",
649 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
650 "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
651 "dev": true,
652 "requires": {
653 "has-symbols": "^1.0.1"
654 }
655 },
656 "isarray": {
657 "version": "2.0.5",
658 "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
659 "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
660 "dev": true
541661 },
542662 "isexe": {
543663 "version": "2.0.0",
545665 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
546666 "dev": true
547667 },
668 "iterate-iterator": {
669 "version": "1.0.1",
670 "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz",
671 "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==",
672 "dev": true
673 },
674 "iterate-value": {
675 "version": "1.0.2",
676 "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz",
677 "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==",
678 "dev": true,
679 "requires": {
680 "es-get-iterator": "^1.0.2",
681 "iterate-iterator": "^1.0.1"
682 }
683 },
548684 "js-yaml": {
549685 "version": "3.13.1",
550686 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
555691 "esprima": "^4.0.0"
556692 }
557693 },
558 "lcid": {
559 "version": "2.0.0",
560 "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
561 "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
562 "dev": true,
563 "requires": {
564 "invert-kv": "^2.0.0"
565 }
566 },
567694 "locate-path": {
695 "version": "5.0.0",
696 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
697 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
698 "dev": true,
699 "requires": {
700 "p-locate": "^4.1.0"
701 }
702 },
703 "lodash": {
704 "version": "4.17.20",
705 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
706 "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==",
707 "dev": true
708 },
709 "log-symbols": {
568710 "version": "3.0.0",
569 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
570 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
571 "dev": true,
572 "requires": {
573 "p-locate": "^3.0.0",
574 "path-exists": "^3.0.0"
575 }
576 },
577 "lodash": {
578 "version": "4.17.11",
579 "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
580 "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
581 "dev": true
582 },
583 "log-symbols": {
584 "version": "2.2.0",
585 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
586 "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
587 "dev": true,
588 "requires": {
589 "chalk": "^2.0.1"
711 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
712 "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
713 "dev": true,
714 "requires": {
715 "chalk": "^2.4.2"
716 }
717 },
718 "magic-string": {
719 "version": "0.25.7",
720 "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
721 "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
722 "dev": true,
723 "requires": {
724 "sourcemap-codec": "^1.4.4"
590725 }
591726 },
592727 "make-error": {
593 "version": "1.3.5",
594 "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
595 "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
596 "dev": true
597 },
598 "map-age-cleaner": {
599 "version": "0.1.3",
600 "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
601 "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
602 "dev": true,
603 "requires": {
604 "p-defer": "^1.0.0"
605 }
606 },
607 "mem": {
608 "version": "4.3.0",
609 "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
610 "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
611 "dev": true,
612 "requires": {
613 "map-age-cleaner": "^0.1.1",
614 "mimic-fn": "^2.0.0",
615 "p-is-promise": "^2.0.0"
616 }
617 },
618 "mimic-fn": {
619 "version": "2.1.0",
620 "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
621 "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
728 "version": "1.3.6",
729 "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
730 "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
622731 "dev": true
623732 },
624733 "minimatch": {
646755 }
647756 },
648757 "mocha": {
649 "version": "6.1.4",
650 "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz",
651 "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==",
652 "dev": true,
653 "requires": {
654 "ansi-colors": "3.2.3",
758 "version": "8.1.1",
759 "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.1.tgz",
760 "integrity": "sha512-p7FuGlYH8t7gaiodlFreseLxEmxTgvyG9RgPHODFPySNhwUehu8NIb0vdSt3WFckSneswZ0Un5typYcWElk7HQ==",
761 "dev": true,
762 "requires": {
763 "ansi-colors": "4.1.1",
655764 "browser-stdout": "1.3.1",
765 "chokidar": "3.3.1",
656766 "debug": "3.2.6",
657 "diff": "3.5.0",
767 "diff": "4.0.2",
658768 "escape-string-regexp": "1.0.5",
659 "find-up": "3.0.0",
660 "glob": "7.1.3",
769 "find-up": "4.1.0",
770 "glob": "7.1.6",
661771 "growl": "1.10.5",
662772 "he": "1.2.0",
663773 "js-yaml": "3.13.1",
664 "log-symbols": "2.2.0",
774 "log-symbols": "3.0.0",
665775 "minimatch": "3.0.4",
666 "mkdirp": "0.5.1",
667 "ms": "2.1.1",
668 "node-environment-flags": "1.0.5",
776 "ms": "2.1.2",
669777 "object.assign": "4.1.0",
670 "strip-json-comments": "2.0.1",
671 "supports-color": "6.0.0",
672 "which": "1.3.1",
778 "promise.allsettled": "1.0.2",
779 "serialize-javascript": "4.0.0",
780 "strip-json-comments": "3.0.1",
781 "supports-color": "7.1.0",
782 "which": "2.0.2",
673783 "wide-align": "1.1.3",
674 "yargs": "13.2.2",
675 "yargs-parser": "13.0.0",
676 "yargs-unparser": "1.5.0"
784 "workerpool": "6.0.0",
785 "yargs": "13.3.2",
786 "yargs-parser": "13.1.2",
787 "yargs-unparser": "1.6.1"
677788 },
678789 "dependencies": {
679 "glob": {
680 "version": "7.1.3",
681 "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
682 "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
683 "dev": true,
684 "requires": {
685 "fs.realpath": "^1.0.0",
686 "inflight": "^1.0.4",
687 "inherits": "2",
688 "minimatch": "^3.0.4",
689 "once": "^1.3.0",
690 "path-is-absolute": "^1.0.0"
691 }
790 "diff": {
791 "version": "4.0.2",
792 "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
793 "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
794 "dev": true
692795 }
693796 }
694797 },
695798 "ms": {
696 "version": "2.1.1",
697 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
698 "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
699 "dev": true
700 },
701 "nice-try": {
702 "version": "1.0.5",
703 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
704 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
705 "dev": true
706 },
707 "node-environment-flags": {
708 "version": "1.0.5",
709 "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
710 "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
711 "dev": true,
712 "requires": {
713 "object.getownpropertydescriptors": "^2.0.3",
714 "semver": "^5.7.0"
715 }
716 },
717 "npm-run-path": {
718 "version": "2.0.2",
719 "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
720 "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
721 "dev": true,
722 "requires": {
723 "path-key": "^2.0.0"
724 }
725 },
726 "number-is-nan": {
727 "version": "1.0.1",
728 "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
729 "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
799 "version": "2.1.2",
800 "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
801 "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
802 "dev": true
803 },
804 "normalize-path": {
805 "version": "3.0.0",
806 "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
807 "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
808 "dev": true
809 },
810 "object-inspect": {
811 "version": "1.8.0",
812 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
813 "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
730814 "dev": true
731815 },
732816 "object-keys": {
747831 "object-keys": "^1.0.11"
748832 }
749833 },
750 "object.getownpropertydescriptors": {
751 "version": "2.0.3",
752 "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
753 "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
754 "dev": true,
755 "requires": {
756 "define-properties": "^1.1.2",
757 "es-abstract": "^1.5.1"
758 }
759 },
760834 "once": {
761835 "version": "1.4.0",
762836 "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
766840 "wrappy": "1"
767841 }
768842 },
769 "os-locale": {
770 "version": "3.1.0",
771 "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
772 "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
773 "dev": true,
774 "requires": {
775 "execa": "^1.0.0",
776 "lcid": "^2.0.0",
777 "mem": "^4.0.0"
778 }
779 },
780 "p-defer": {
781 "version": "1.0.0",
782 "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
783 "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
784 "dev": true
785 },
786 "p-finally": {
787 "version": "1.0.0",
788 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
789 "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
790 "dev": true
791 },
792 "p-is-promise": {
793 "version": "2.1.0",
794 "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
795 "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
796 "dev": true
797 },
798843 "p-limit": {
799 "version": "2.2.0",
800 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
801 "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
844 "version": "2.3.0",
845 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
846 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
802847 "dev": true,
803848 "requires": {
804849 "p-try": "^2.0.0"
805850 }
806851 },
807852 "p-locate": {
808 "version": "3.0.0",
809 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
810 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
811 "dev": true,
812 "requires": {
813 "p-limit": "^2.0.0"
853 "version": "4.1.0",
854 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
855 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
856 "dev": true,
857 "requires": {
858 "p-limit": "^2.2.0"
814859 }
815860 },
816861 "p-try": {
820865 "dev": true
821866 },
822867 "path-exists": {
823 "version": "3.0.0",
824 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
825 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
868 "version": "4.0.0",
869 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
870 "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
826871 "dev": true
827872 },
828873 "path-is-absolute": {
831876 "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
832877 "dev": true
833878 },
834 "path-key": {
835 "version": "2.0.1",
836 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
837 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
879 "picomatch": {
880 "version": "2.2.2",
881 "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
882 "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
838883 "dev": true
839884 },
840885 "private": {
843888 "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
844889 "dev": true
845890 },
846 "pump": {
847 "version": "3.0.0",
848 "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
849 "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
850 "dev": true,
851 "requires": {
852 "end-of-stream": "^1.1.0",
853 "once": "^1.3.1"
891 "promise.allsettled": {
892 "version": "1.0.2",
893 "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz",
894 "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==",
895 "dev": true,
896 "requires": {
897 "array.prototype.map": "^1.0.1",
898 "define-properties": "^1.1.3",
899 "es-abstract": "^1.17.0-next.1",
900 "function-bind": "^1.1.1",
901 "iterate-value": "^1.0.0"
902 }
903 },
904 "randombytes": {
905 "version": "2.1.0",
906 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
907 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
908 "dev": true,
909 "requires": {
910 "safe-buffer": "^5.1.0"
911 }
912 },
913 "readdirp": {
914 "version": "3.3.0",
915 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
916 "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
917 "dev": true,
918 "requires": {
919 "picomatch": "^2.0.7"
854920 }
855921 },
856922 "recast": {
857 "version": "0.18.1",
858 "resolved": "https://registry.npmjs.org/recast/-/recast-0.18.1.tgz",
859 "integrity": "sha512-Ri42yIOwHetqKgEhQSS4N1B9wSLn+eYcyLoQfuSpvd661Jty1Q3P0FXkzjIQ9XxTN+3+kRu1JFXbRmUCUmde5Q==",
860 "dev": true,
861 "requires": {
862 "ast-types": "0.13.1",
923 "version": "0.20.0",
924 "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.0.tgz",
925 "integrity": "sha512-4fxsO5q170W1Ihz3uUXY5dkb+zNTK0CUt44K7avxhbkXbLFAzorfpj+7PNlrYWI2AaNWGzcnNuKwIQfVp1d6XQ==",
926 "dev": true,
927 "requires": {
928 "ast-types": "0.13.3",
863929 "esprima": "~4.0.0",
864930 "private": "^0.1.8",
865931 "source-map": "~0.6.1"
866932 }
867933 },
868934 "reify": {
869 "version": "0.20.6",
870 "resolved": "https://registry.npmjs.org/reify/-/reify-0.20.6.tgz",
871 "integrity": "sha512-kCgL6HyzFBK3fIKwurPn0O4+mzdK4R4uOYyQxXaYm4B+QgrQ1EHiQ222qsLPEhB1ReBRh+njO0I4kw7hCGfM2w==",
935 "version": "0.20.12",
936 "resolved": "https://registry.npmjs.org/reify/-/reify-0.20.12.tgz",
937 "integrity": "sha512-4BzKwDWyJJbukwI6xIJRh+BDTitoGzxdgYPiQQ1zbcTZW6I8xgHPw1DnVuEs/mEZQlYm1e09DcFSApb4UaR5bQ==",
872938 "dev": true,
873939 "requires": {
874940 "acorn": "^6.1.1",
875941 "acorn-dynamic-import": "^4.0.0",
942 "magic-string": "^0.25.3",
876943 "semver": "^5.4.1"
944 },
945 "dependencies": {
946 "acorn": {
947 "version": "6.4.1",
948 "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
949 "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
950 "dev": true
951 }
877952 }
878953 },
879954 "require-directory": {
888963 "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
889964 "dev": true
890965 },
966 "safe-buffer": {
967 "version": "5.2.1",
968 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
969 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
970 "dev": true
971 },
891972 "semver": {
892 "version": "5.7.0",
893 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
894 "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
895 "dev": true
973 "version": "5.7.1",
974 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
975 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
976 "dev": true
977 },
978 "serialize-javascript": {
979 "version": "4.0.0",
980 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
981 "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
982 "dev": true,
983 "requires": {
984 "randombytes": "^2.1.0"
985 }
896986 },
897987 "set-blocking": {
898988 "version": "2.0.0",
900990 "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
901991 "dev": true
902992 },
903 "shebang-command": {
904 "version": "1.2.0",
905 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
906 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
907 "dev": true,
908 "requires": {
909 "shebang-regex": "^1.0.0"
910 }
911 },
912 "shebang-regex": {
913 "version": "1.0.0",
914 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
915 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
916 "dev": true
917 },
918 "signal-exit": {
919 "version": "3.0.2",
920 "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
921 "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
922 "dev": true
923 },
924993 "source-map": {
925994 "version": "0.6.1",
926995 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
928997 "dev": true
929998 },
930999 "source-map-support": {
931 "version": "0.5.12",
932 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz",
933 "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==",
1000 "version": "0.5.19",
1001 "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
1002 "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
9341003 "dev": true,
9351004 "requires": {
9361005 "buffer-from": "^1.0.0",
9371006 "source-map": "^0.6.0"
9381007 }
1008 },
1009 "sourcemap-codec": {
1010 "version": "1.4.8",
1011 "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1012 "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
1013 "dev": true
9391014 },
9401015 "sprintf-js": {
9411016 "version": "1.0.3",
9531028 "strip-ansi": "^4.0.0"
9541029 }
9551030 },
1031 "string.prototype.trimend": {
1032 "version": "1.0.1",
1033 "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
1034 "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
1035 "dev": true,
1036 "requires": {
1037 "define-properties": "^1.1.3",
1038 "es-abstract": "^1.17.5"
1039 }
1040 },
1041 "string.prototype.trimstart": {
1042 "version": "1.0.1",
1043 "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
1044 "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
1045 "dev": true,
1046 "requires": {
1047 "define-properties": "^1.1.3",
1048 "es-abstract": "^1.17.5"
1049 }
1050 },
9561051 "strip-ansi": {
9571052 "version": "4.0.0",
9581053 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
9621057 "ansi-regex": "^3.0.0"
9631058 }
9641059 },
965 "strip-eof": {
966 "version": "1.0.0",
967 "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
968 "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
969 "dev": true
970 },
9711060 "strip-json-comments": {
972 "version": "2.0.1",
973 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
974 "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
1061 "version": "3.0.1",
1062 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1063 "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
9751064 "dev": true
9761065 },
9771066 "supports-color": {
978 "version": "6.0.0",
979 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
980 "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
981 "dev": true,
982 "requires": {
983 "has-flag": "^3.0.0"
1067 "version": "7.1.0",
1068 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
1069 "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
1070 "dev": true,
1071 "requires": {
1072 "has-flag": "^4.0.0"
1073 },
1074 "dependencies": {
1075 "has-flag": {
1076 "version": "4.0.0",
1077 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1078 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1079 "dev": true
1080 }
9841081 }
9851082 },
9861083 "to-fast-properties": {
9881085 "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
9891086 "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
9901087 "dev": true
1088 },
1089 "to-regex-range": {
1090 "version": "5.0.1",
1091 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1092 "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1093 "dev": true,
1094 "requires": {
1095 "is-number": "^7.0.0"
1096 }
9911097 },
9921098 "ts-add-module-exports": {
9931099 "version": "1.0.0",
10421148 },
10431149 "dependencies": {
10441150 "minimist": {
1045 "version": "1.2.0",
1046 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
1047 "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
1151 "version": "1.2.5",
1152 "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1153 "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
10481154 "dev": true
10491155 }
10501156 }
10511157 },
1158 "tslib": {
1159 "version": "2.0.1",
1160 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
1161 "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ=="
1162 },
10521163 "typescript": {
1053 "version": "3.4.5",
1054 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.5.tgz",
1055 "integrity": "sha512-YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==",
1164 "version": "3.9.7",
1165 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
1166 "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
10561167 "dev": true
10571168 },
10581169 "which": {
1059 "version": "1.3.1",
1060 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1061 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1170 "version": "2.0.2",
1171 "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1172 "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
10621173 "dev": true,
10631174 "requires": {
10641175 "isexe": "^2.0.0"
10791190 "string-width": "^1.0.2 || 2"
10801191 }
10811192 },
1193 "workerpool": {
1194 "version": "6.0.0",
1195 "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz",
1196 "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==",
1197 "dev": true
1198 },
10821199 "wrap-ansi": {
1083 "version": "2.1.0",
1084 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
1085 "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
1086 "dev": true,
1087 "requires": {
1088 "string-width": "^1.0.1",
1089 "strip-ansi": "^3.0.1"
1090 },
1091 "dependencies": {
1092 "ansi-regex": {
1093 "version": "2.1.1",
1094 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1095 "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1096 "dev": true
1097 },
1098 "is-fullwidth-code-point": {
1099 "version": "1.0.0",
1100 "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1101 "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1102 "dev": true,
1103 "requires": {
1104 "number-is-nan": "^1.0.0"
1105 }
1106 },
1107 "string-width": {
1108 "version": "1.0.2",
1109 "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1110 "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1111 "dev": true,
1112 "requires": {
1113 "code-point-at": "^1.0.0",
1114 "is-fullwidth-code-point": "^1.0.0",
1115 "strip-ansi": "^3.0.0"
1116 }
1117 },
1118 "strip-ansi": {
1119 "version": "3.0.1",
1120 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1121 "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1122 "dev": true,
1123 "requires": {
1124 "ansi-regex": "^2.0.0"
1125 }
1126 }
1127 }
1128 },
1129 "wrappy": {
1130 "version": "1.0.2",
1131 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1132 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1133 "dev": true
1134 },
1135 "y18n": {
1136 "version": "4.0.0",
1137 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
1138 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
1139 "dev": true
1140 },
1141 "yargs": {
1142 "version": "13.2.2",
1143 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz",
1144 "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==",
1145 "dev": true,
1146 "requires": {
1147 "cliui": "^4.0.0",
1148 "find-up": "^3.0.0",
1149 "get-caller-file": "^2.0.1",
1150 "os-locale": "^3.1.0",
1151 "require-directory": "^2.1.1",
1152 "require-main-filename": "^2.0.0",
1153 "set-blocking": "^2.0.0",
1200 "version": "5.1.0",
1201 "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
1202 "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
1203 "dev": true,
1204 "requires": {
1205 "ansi-styles": "^3.2.0",
11541206 "string-width": "^3.0.0",
1155 "which-module": "^2.0.0",
1156 "y18n": "^4.0.0",
1157 "yargs-parser": "^13.0.0"
1207 "strip-ansi": "^5.0.0"
11581208 },
11591209 "dependencies": {
11601210 "ansi-regex": {
11851235 }
11861236 }
11871237 },
1238 "wrappy": {
1239 "version": "1.0.2",
1240 "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1241 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1242 "dev": true
1243 },
1244 "y18n": {
1245 "version": "4.0.0",
1246 "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
1247 "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
1248 "dev": true
1249 },
1250 "yargs": {
1251 "version": "13.3.2",
1252 "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
1253 "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
1254 "dev": true,
1255 "requires": {
1256 "cliui": "^5.0.0",
1257 "find-up": "^3.0.0",
1258 "get-caller-file": "^2.0.1",
1259 "require-directory": "^2.1.1",
1260 "require-main-filename": "^2.0.0",
1261 "set-blocking": "^2.0.0",
1262 "string-width": "^3.0.0",
1263 "which-module": "^2.0.0",
1264 "y18n": "^4.0.0",
1265 "yargs-parser": "^13.1.2"
1266 },
1267 "dependencies": {
1268 "ansi-regex": {
1269 "version": "4.1.0",
1270 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1271 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
1272 "dev": true
1273 },
1274 "find-up": {
1275 "version": "3.0.0",
1276 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1277 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1278 "dev": true,
1279 "requires": {
1280 "locate-path": "^3.0.0"
1281 }
1282 },
1283 "locate-path": {
1284 "version": "3.0.0",
1285 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1286 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1287 "dev": true,
1288 "requires": {
1289 "p-locate": "^3.0.0",
1290 "path-exists": "^3.0.0"
1291 }
1292 },
1293 "p-locate": {
1294 "version": "3.0.0",
1295 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1296 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1297 "dev": true,
1298 "requires": {
1299 "p-limit": "^2.0.0"
1300 }
1301 },
1302 "path-exists": {
1303 "version": "3.0.0",
1304 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1305 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1306 "dev": true
1307 },
1308 "string-width": {
1309 "version": "3.1.0",
1310 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1311 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1312 "dev": true,
1313 "requires": {
1314 "emoji-regex": "^7.0.1",
1315 "is-fullwidth-code-point": "^2.0.0",
1316 "strip-ansi": "^5.1.0"
1317 }
1318 },
1319 "strip-ansi": {
1320 "version": "5.2.0",
1321 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1322 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1323 "dev": true,
1324 "requires": {
1325 "ansi-regex": "^4.1.0"
1326 }
1327 }
1328 }
1329 },
11881330 "yargs-parser": {
1189 "version": "13.0.0",
1190 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz",
1191 "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==",
1331 "version": "13.1.2",
1332 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
1333 "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
11921334 "dev": true,
11931335 "requires": {
11941336 "camelcase": "^5.0.0",
11961338 }
11971339 },
11981340 "yargs-unparser": {
1199 "version": "1.5.0",
1200 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.5.0.tgz",
1201 "integrity": "sha512-HK25qidFTCVuj/D1VfNiEndpLIeJN78aqgR23nL3y4N0U/91cOAzqfHlF8n2BvoNDcZmJKin3ddNSvOxSr8flw==",
1202 "dev": true,
1203 "requires": {
1341 "version": "1.6.1",
1342 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz",
1343 "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==",
1344 "dev": true,
1345 "requires": {
1346 "camelcase": "^5.3.1",
1347 "decamelize": "^1.2.0",
12041348 "flat": "^4.1.0",
1205 "lodash": "^4.17.11",
1206 "yargs": "^12.0.5"
1349 "is-plain-obj": "^1.1.0",
1350 "yargs": "^14.2.3"
12071351 },
12081352 "dependencies": {
1209 "get-caller-file": {
1210 "version": "1.0.3",
1211 "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
1212 "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
1353 "ansi-regex": {
1354 "version": "4.1.0",
1355 "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
1356 "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
12131357 "dev": true
12141358 },
1215 "require-main-filename": {
1216 "version": "1.0.1",
1217 "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
1218 "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
1359 "find-up": {
1360 "version": "3.0.0",
1361 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
1362 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
1363 "dev": true,
1364 "requires": {
1365 "locate-path": "^3.0.0"
1366 }
1367 },
1368 "locate-path": {
1369 "version": "3.0.0",
1370 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
1371 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
1372 "dev": true,
1373 "requires": {
1374 "p-locate": "^3.0.0",
1375 "path-exists": "^3.0.0"
1376 }
1377 },
1378 "p-locate": {
1379 "version": "3.0.0",
1380 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
1381 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
1382 "dev": true,
1383 "requires": {
1384 "p-limit": "^2.0.0"
1385 }
1386 },
1387 "path-exists": {
1388 "version": "3.0.0",
1389 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1390 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
12191391 "dev": true
12201392 },
1393 "string-width": {
1394 "version": "3.1.0",
1395 "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
1396 "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
1397 "dev": true,
1398 "requires": {
1399 "emoji-regex": "^7.0.1",
1400 "is-fullwidth-code-point": "^2.0.0",
1401 "strip-ansi": "^5.1.0"
1402 }
1403 },
1404 "strip-ansi": {
1405 "version": "5.2.0",
1406 "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
1407 "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
1408 "dev": true,
1409 "requires": {
1410 "ansi-regex": "^4.1.0"
1411 }
1412 },
12211413 "yargs": {
1222 "version": "12.0.5",
1223 "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
1224 "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
1225 "dev": true,
1226 "requires": {
1227 "cliui": "^4.0.0",
1414 "version": "14.2.3",
1415 "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
1416 "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
1417 "dev": true,
1418 "requires": {
1419 "cliui": "^5.0.0",
12281420 "decamelize": "^1.2.0",
12291421 "find-up": "^3.0.0",
1230 "get-caller-file": "^1.0.1",
1231 "os-locale": "^3.0.0",
1422 "get-caller-file": "^2.0.1",
12321423 "require-directory": "^2.1.1",
1233 "require-main-filename": "^1.0.1",
1424 "require-main-filename": "^2.0.0",
12341425 "set-blocking": "^2.0.0",
1235 "string-width": "^2.0.0",
1426 "string-width": "^3.0.0",
12361427 "which-module": "^2.0.0",
1237 "y18n": "^3.2.1 || ^4.0.0",
1238 "yargs-parser": "^11.1.1"
1428 "y18n": "^4.0.0",
1429 "yargs-parser": "^15.0.1"
12391430 }
12401431 },
12411432 "yargs-parser": {
1242 "version": "11.1.1",
1243 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
1244 "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
1433 "version": "15.0.1",
1434 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
1435 "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
12451436 "dev": true,
12461437 "requires": {
12471438 "camelcase": "^5.0.0",
00 {
11 "author": "Ben Newman <bn@cs.stanford.edu>",
22 "name": "ast-types",
3 "version": "0.13.3",
3 "version": "0.14.0",
44 "description": "Esprima-compatible implementation of the Mozilla JS Parser API",
55 "keywords": [
66 "ast",
3535 "prepack": "npm run clean && npm run gen && npm run build",
3636 "postpack": "npm run clean"
3737 },
38 "dependencies": {},
38 "dependencies": {
39 "tslib": "^2.0.1"
40 },
3941 "devDependencies": {
40 "@babel/parser": "7.4.4",
42 "@babel/parser": "7.7.7",
4143 "@babel/types": "7.4.4",
4244 "@types/esprima": "4.0.2",
43 "@types/glob": "7.1.1",
44 "@types/mocha": "5.2.6",
45 "@types/glob": "7.1.3",
46 "@types/mocha": "8.0.3",
4547 "@types/node": "12.0.0",
46 "espree": "6.1.1",
48 "espree": "7.3.0",
4749 "esprima": "4.0.1",
4850 "esprima-fb": "15001.1001.0-dev-harmony-fb",
49 "flow-parser": "0.98.1",
50 "glob": "7.1.4",
51 "mocha": "6.1.4",
52 "recast": "0.18.1",
53 "reify": "0.20.6",
51 "flow-parser": "0.132.0",
52 "glob": "7.1.6",
53 "mocha": "^8.1.1",
54 "recast": "0.20.0",
55 "reify": "0.20.12",
5456 "ts-add-module-exports": "1.0.0",
5557 "ts-emit-clean": "1.0.0",
5658 "ts-node": "7.0.1",
57 "typescript": "3.4.5"
59 "typescript": "3.9.7"
5860 },
5961 "engines": {
6062 "node": ">=4"
2929 import esprimaDef from "../def/esprima";
3030 import coreDef from "../def/core";
3131 import es6Def from "../def/es6";
32 import es7Def from "../def/es7";
3332 import es2020Def from "../def/es2020";
3433 import babelDef from "../def/babel";
3534
10711070 var node = path.node;
10721071 assert.strictEqual(path.scope.isGlobal, false);
10731072
1074 assert.strictEqual(node.id.name, "bar");
1073 const name = node.id ? node.id.name : null;
1074 assert.strictEqual(name, "bar");
10751075 assert.notStrictEqual(path.scope, globalScope);
10761076 assert.strictEqual(path.scope.isGlobal, false);
10771077 assert.strictEqual(path.scope.parent, globalScope);
14431443 var types = fork([
14441444 coreDef,
14451445 es6Def,
1446 es7Def,
1446 es2020Def,
14471447 ]);
14481448 var b = types.builders;
14491449
2525
2626 cd .. # back to the ast-types/test/ directory
2727
28 exec mocha --require ts-node/register/transpile-only \
29 --reporter spec --full-trace $@ run.ts
28 # Run Mocha on the generated .js code, rather than the .ts source code, so
29 # that we're testing the same kind of output that we're shipping to npm.
30 exec mocha --reporter spec --full-trace $@ run.js
33 import glob from "glob";
44 import { parse as babelParse, ParserOptions, ParserPlugin } from "@babel/parser";
55 import fork from "../fork";
6 import esProposalsDef from '../def/es-proposals';
67 import typescriptDef from "../def/typescript";
78 import jsxDef from "../def/jsx";
89 import { visit } from "../main";
910
1011 var pkgRootDir = path.resolve(__dirname, "..");
1112 var tsTypes = fork([
13 esProposalsDef,
1214 typescriptDef,
1315 jsxDef,
1416 ]);
3234
3335 files.forEach((tsPath: any) => {
3436 var fullPath = path.join(babelTSFixturesDir, tsPath);
37
38 if (tsPath === "class/method-readonly/input.js") {
39 // This file intentionally triggers a parse error for a babel test, so
40 // it doesn't make sense to test here.
41 return;
42 }
3543
3644 it("should validate " + path.relative(pkgRootDir, fullPath), function (done) {
3745 fs.readFile(fullPath, "utf8", function (error, code) {
124132 files.forEach((tsPath: string) => {
125133 var fullPath = path.join(tsCompilerDir, tsPath);
126134
135 // We have to skip checker.ts because of a bug in babel's typescript
136 // parser plugin. See
137 // https://github.com/babel/babel/issues/7235#issuecomment-549437974
138 if (tsPath === "checker.ts") {
139 return;
140 }
141
127142 it("should validate " + path.relative(pkgRootDir, fullPath), function (done) {
128143 fs.readFile(fullPath, "utf8", function (error, code) {
129144 if (error) {
138153 "classProperties",
139154 "optionalCatchBinding",
140155 "numericSeparator",
156 "optionalChaining",
157 "nullishCoalescingOperator",
141158 ]
142159 }).program;
143160
99 "noImplicitReturns": true,
1010 "moduleResolution": "node",
1111 "esModuleInterop": true,
12 "importHelpers": true,
1213 "stripInternal": true,
1314 "lib": ["es2015"]
1415 },