hermes-estree 0.31.2 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/HermesAST.js.flow +57 -0
  2. package/dist/HermesASTAdapter.js +192 -0
  3. package/dist/HermesASTAdapter.js.flow +189 -0
  4. package/dist/HermesParser.js +108 -0
  5. package/dist/HermesParser.js.flow +161 -0
  6. package/dist/HermesParserDecodeUTF8String.js +68 -0
  7. package/dist/HermesParserDecodeUTF8String.js.flow +65 -0
  8. package/dist/HermesParserDeserializer.js +242 -0
  9. package/dist/HermesParserDeserializer.js.flow +260 -0
  10. package/dist/HermesParserNodeDeserializers.js +2477 -0
  11. package/dist/HermesParserNodeDeserializers.js.flow +16 -0
  12. package/dist/HermesParserWASM.js +6 -0
  13. package/dist/HermesParserWASM.js.flow +87 -0
  14. package/dist/HermesToESTreeAdapter.js +439 -0
  15. package/dist/HermesToESTreeAdapter.js.flow +421 -0
  16. package/dist/ParserOptions.js +18 -0
  17. package/dist/ParserOptions.js.flow +41 -0
  18. package/dist/babel/TransformESTreeToBabel.js +1123 -0
  19. package/dist/babel/TransformESTreeToBabel.js.flow +1277 -0
  20. package/dist/estree/StripFlowTypes.js +175 -0
  21. package/dist/estree/StripFlowTypes.js.flow +158 -0
  22. package/dist/estree/StripFlowTypesForBabel.js +215 -0
  23. package/dist/estree/StripFlowTypesForBabel.js.flow +216 -0
  24. package/dist/estree/TransformComponentSyntax.js +788 -0
  25. package/dist/estree/TransformComponentSyntax.js.flow +864 -0
  26. package/dist/estree/TransformEnumSyntax.js +106 -0
  27. package/dist/estree/TransformEnumSyntax.js.flow +125 -0
  28. package/dist/estree/TransformMatchSyntax.js +1006 -0
  29. package/dist/estree/TransformMatchSyntax.js.flow +912 -0
  30. package/dist/generated/ESTreeVisitorKeys.js +220 -0
  31. package/dist/generated/ESTreeVisitorKeys.js.flow +15 -0
  32. package/dist/generated/ParserVisitorKeys.js +794 -0
  33. package/dist/generated/ParserVisitorKeys.js.flow +17 -0
  34. package/dist/getModuleDocblock.js +112 -0
  35. package/dist/getModuleDocblock.js.flow +118 -0
  36. package/dist/predicates.js +1 -0
  37. package/dist/predicates.js.flow +1 -0
  38. package/dist/src/HermesASTAdapter.js +192 -0
  39. package/dist/src/HermesParser.js +108 -0
  40. package/dist/src/HermesParserDecodeUTF8String.js +68 -0
  41. package/dist/src/HermesParserDeserializer.js +242 -0
  42. package/dist/src/HermesParserNodeDeserializers.js +2477 -0
  43. package/dist/src/HermesToESTreeAdapter.js +439 -0
  44. package/dist/src/ParserOptions.js +18 -0
  45. package/dist/src/babel/TransformESTreeToBabel.js +1123 -0
  46. package/dist/src/estree/StripFlowTypes.js +175 -0
  47. package/dist/src/estree/StripFlowTypesForBabel.js +215 -0
  48. package/dist/src/estree/TransformComponentSyntax.js +788 -0
  49. package/dist/src/estree/TransformEnumSyntax.js +106 -0
  50. package/dist/src/estree/TransformMatchSyntax.js +1006 -0
  51. package/dist/src/generated/ESTreeVisitorKeys.js +220 -0
  52. package/dist/src/generated/ParserVisitorKeys.js +794 -0
  53. package/dist/src/getModuleDocblock.js +112 -0
  54. package/dist/src/predicates.js +1 -0
  55. package/dist/src/transform/SimpleTransform.js +136 -0
  56. package/dist/src/transform/astArrayMutationHelpers.js +62 -0
  57. package/dist/src/transform/astNodeMutationHelpers.js +200 -0
  58. package/dist/src/traverse/SimpleTraverser.js +137 -0
  59. package/dist/src/traverse/getVisitorKeys.js +37 -0
  60. package/dist/src/utils/Builders.js +191 -0
  61. package/dist/src/utils/GenID.js +41 -0
  62. package/dist/src/utils/createSyntaxError.js +25 -0
  63. package/dist/src/utils/mutateESTreeASTForPrettier.js +127 -0
  64. package/dist/transform/SimpleTransform.js +136 -0
  65. package/dist/transform/SimpleTransform.js.flow +169 -0
  66. package/dist/transform/astArrayMutationHelpers.js +62 -0
  67. package/dist/transform/astArrayMutationHelpers.js.flow +71 -0
  68. package/dist/transform/astNodeMutationHelpers.js +200 -0
  69. package/dist/transform/astNodeMutationHelpers.js.flow +246 -0
  70. package/dist/traverse/SimpleTraverser.js +137 -0
  71. package/dist/traverse/SimpleTraverser.js.flow +133 -0
  72. package/dist/traverse/getVisitorKeys.js +37 -0
  73. package/dist/traverse/getVisitorKeys.js.flow +36 -0
  74. package/dist/utils/Builders.js +191 -0
  75. package/dist/utils/Builders.js.flow +218 -0
  76. package/dist/utils/GenID.js +41 -0
  77. package/dist/utils/GenID.js.flow +38 -0
  78. package/dist/utils/createSyntaxError.js +25 -0
  79. package/dist/utils/createSyntaxError.js.flow +24 -0
  80. package/dist/utils/mutateESTreeASTForPrettier.js +127 -0
  81. package/dist/utils/mutateESTreeASTForPrettier.js.flow +130 -0
  82. package/package.json +1 -1
@@ -0,0 +1,794 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ *
8
+ * @format
9
+ * @generated
10
+ */
11
+
12
+ /*
13
+ * !!! GENERATED FILE !!!
14
+ *
15
+ * Any manual changes to this file will be overwritten. To regenerate run `yarn build`.
16
+ */
17
+ // lint directives to let us do some basic validation of generated files
18
+
19
+ /* eslint no-undef: 'error', no-unused-vars: ['error', {vars: "local"}], no-redeclare: 'error' */
20
+
21
+ /* global $NonMaybeType, Partial, $ReadOnly, $ReadOnlyArray, $FlowFixMe */
22
+ 'use strict';
23
+
24
+ Object.defineProperty(exports, "__esModule", {
25
+ value: true
26
+ });
27
+ exports.NODE_LIST_CHILD = exports.NODE_CHILD = exports.HERMES_AST_VISITOR_KEYS = void 0;
28
+ const NODE_CHILD = 'Node';
29
+ exports.NODE_CHILD = NODE_CHILD;
30
+ const NODE_LIST_CHILD = 'NodeList';
31
+ exports.NODE_LIST_CHILD = NODE_LIST_CHILD;
32
+ const HERMES_AST_VISITOR_KEYS = {
33
+ AnyTypeAnnotation: {},
34
+ ArrayExpression: {
35
+ elements: 'NodeList'
36
+ },
37
+ ArrayPattern: {
38
+ elements: 'NodeList',
39
+ typeAnnotation: 'Node'
40
+ },
41
+ ArrayTypeAnnotation: {
42
+ elementType: 'Node'
43
+ },
44
+ ArrowFunctionExpression: {
45
+ id: 'Node',
46
+ params: 'NodeList',
47
+ body: 'Node',
48
+ typeParameters: 'Node',
49
+ returnType: 'Node',
50
+ predicate: 'Node'
51
+ },
52
+ AsConstExpression: {
53
+ expression: 'Node'
54
+ },
55
+ AsExpression: {
56
+ expression: 'Node',
57
+ typeAnnotation: 'Node'
58
+ },
59
+ AssignmentExpression: {
60
+ left: 'Node',
61
+ right: 'Node'
62
+ },
63
+ AssignmentPattern: {
64
+ left: 'Node',
65
+ right: 'Node'
66
+ },
67
+ AwaitExpression: {
68
+ argument: 'Node'
69
+ },
70
+ BigIntLiteral: {},
71
+ BigIntLiteralTypeAnnotation: {},
72
+ BigIntTypeAnnotation: {},
73
+ BinaryExpression: {
74
+ left: 'Node',
75
+ right: 'Node'
76
+ },
77
+ BlockStatement: {
78
+ body: 'NodeList'
79
+ },
80
+ BooleanLiteral: {},
81
+ BooleanLiteralTypeAnnotation: {},
82
+ BooleanTypeAnnotation: {},
83
+ BreakStatement: {
84
+ label: 'Node'
85
+ },
86
+ CallExpression: {
87
+ callee: 'Node',
88
+ typeArguments: 'Node',
89
+ arguments: 'NodeList'
90
+ },
91
+ CatchClause: {
92
+ param: 'Node',
93
+ body: 'Node'
94
+ },
95
+ ChainExpression: {
96
+ expression: 'Node'
97
+ },
98
+ ClassBody: {
99
+ body: 'NodeList'
100
+ },
101
+ ClassDeclaration: {
102
+ id: 'Node',
103
+ typeParameters: 'Node',
104
+ superClass: 'Node',
105
+ superTypeParameters: 'Node',
106
+ implements: 'NodeList',
107
+ decorators: 'NodeList',
108
+ body: 'Node'
109
+ },
110
+ ClassExpression: {
111
+ id: 'Node',
112
+ typeParameters: 'Node',
113
+ superClass: 'Node',
114
+ superTypeParameters: 'Node',
115
+ implements: 'NodeList',
116
+ decorators: 'NodeList',
117
+ body: 'Node'
118
+ },
119
+ ClassImplements: {
120
+ id: 'Node',
121
+ typeParameters: 'Node'
122
+ },
123
+ ComponentDeclaration: {
124
+ id: 'Node',
125
+ params: 'NodeList',
126
+ body: 'Node',
127
+ typeParameters: 'Node',
128
+ rendersType: 'Node'
129
+ },
130
+ ComponentParameter: {
131
+ name: 'Node',
132
+ local: 'Node'
133
+ },
134
+ ComponentTypeAnnotation: {
135
+ params: 'NodeList',
136
+ rest: 'Node',
137
+ typeParameters: 'Node',
138
+ rendersType: 'Node'
139
+ },
140
+ ComponentTypeParameter: {
141
+ name: 'Node',
142
+ typeAnnotation: 'Node'
143
+ },
144
+ ConditionalExpression: {
145
+ test: 'Node',
146
+ alternate: 'Node',
147
+ consequent: 'Node'
148
+ },
149
+ ConditionalTypeAnnotation: {
150
+ checkType: 'Node',
151
+ extendsType: 'Node',
152
+ trueType: 'Node',
153
+ falseType: 'Node'
154
+ },
155
+ ContinueStatement: {
156
+ label: 'Node'
157
+ },
158
+ DebuggerStatement: {},
159
+ DeclareClass: {
160
+ id: 'Node',
161
+ typeParameters: 'Node',
162
+ extends: 'NodeList',
163
+ implements: 'NodeList',
164
+ mixins: 'NodeList',
165
+ body: 'Node'
166
+ },
167
+ DeclareComponent: {
168
+ id: 'Node',
169
+ params: 'NodeList',
170
+ rest: 'Node',
171
+ typeParameters: 'Node',
172
+ rendersType: 'Node'
173
+ },
174
+ DeclaredPredicate: {
175
+ value: 'Node'
176
+ },
177
+ DeclareEnum: {
178
+ id: 'Node',
179
+ body: 'Node'
180
+ },
181
+ DeclareExportAllDeclaration: {
182
+ source: 'Node'
183
+ },
184
+ DeclareExportDeclaration: {
185
+ declaration: 'Node',
186
+ specifiers: 'NodeList',
187
+ source: 'Node'
188
+ },
189
+ DeclareFunction: {
190
+ id: 'Node',
191
+ predicate: 'Node'
192
+ },
193
+ DeclareHook: {
194
+ id: 'Node'
195
+ },
196
+ DeclareInterface: {
197
+ id: 'Node',
198
+ typeParameters: 'Node',
199
+ extends: 'NodeList',
200
+ body: 'Node'
201
+ },
202
+ DeclareModule: {
203
+ id: 'Node',
204
+ body: 'Node'
205
+ },
206
+ DeclareModuleExports: {
207
+ typeAnnotation: 'Node'
208
+ },
209
+ DeclareNamespace: {
210
+ id: 'Node',
211
+ body: 'Node'
212
+ },
213
+ DeclareOpaqueType: {
214
+ id: 'Node',
215
+ typeParameters: 'Node',
216
+ impltype: 'Node',
217
+ lowerBound: 'Node',
218
+ upperBound: 'Node',
219
+ supertype: 'Node'
220
+ },
221
+ DeclareTypeAlias: {
222
+ id: 'Node',
223
+ typeParameters: 'Node',
224
+ right: 'Node'
225
+ },
226
+ DeclareVariable: {
227
+ id: 'Node'
228
+ },
229
+ DoWhileStatement: {
230
+ body: 'Node',
231
+ test: 'Node'
232
+ },
233
+ EmptyStatement: {},
234
+ EmptyTypeAnnotation: {},
235
+ EnumBigIntBody: {
236
+ members: 'NodeList'
237
+ },
238
+ EnumBigIntMember: {
239
+ id: 'Node',
240
+ init: 'Node'
241
+ },
242
+ EnumBooleanBody: {
243
+ members: 'NodeList'
244
+ },
245
+ EnumBooleanMember: {
246
+ id: 'Node',
247
+ init: 'Node'
248
+ },
249
+ EnumDeclaration: {
250
+ id: 'Node',
251
+ body: 'Node'
252
+ },
253
+ EnumDefaultedMember: {
254
+ id: 'Node'
255
+ },
256
+ EnumNumberBody: {
257
+ members: 'NodeList'
258
+ },
259
+ EnumNumberMember: {
260
+ id: 'Node',
261
+ init: 'Node'
262
+ },
263
+ EnumStringBody: {
264
+ members: 'NodeList'
265
+ },
266
+ EnumStringMember: {
267
+ id: 'Node',
268
+ init: 'Node'
269
+ },
270
+ EnumSymbolBody: {
271
+ members: 'NodeList'
272
+ },
273
+ ExistsTypeAnnotation: {},
274
+ ExportAllDeclaration: {
275
+ exported: 'Node',
276
+ source: 'Node'
277
+ },
278
+ ExportDefaultDeclaration: {
279
+ declaration: 'Node'
280
+ },
281
+ ExportNamedDeclaration: {
282
+ declaration: 'Node',
283
+ specifiers: 'NodeList',
284
+ source: 'Node'
285
+ },
286
+ ExportSpecifier: {
287
+ exported: 'Node',
288
+ local: 'Node'
289
+ },
290
+ ExpressionStatement: {
291
+ expression: 'Node'
292
+ },
293
+ ForInStatement: {
294
+ left: 'Node',
295
+ right: 'Node',
296
+ body: 'Node'
297
+ },
298
+ ForOfStatement: {
299
+ left: 'Node',
300
+ right: 'Node',
301
+ body: 'Node'
302
+ },
303
+ ForStatement: {
304
+ init: 'Node',
305
+ test: 'Node',
306
+ update: 'Node',
307
+ body: 'Node'
308
+ },
309
+ FunctionDeclaration: {
310
+ id: 'Node',
311
+ params: 'NodeList',
312
+ body: 'Node',
313
+ typeParameters: 'Node',
314
+ returnType: 'Node',
315
+ predicate: 'Node'
316
+ },
317
+ FunctionExpression: {
318
+ id: 'Node',
319
+ params: 'NodeList',
320
+ body: 'Node',
321
+ typeParameters: 'Node',
322
+ returnType: 'Node',
323
+ predicate: 'Node'
324
+ },
325
+ FunctionTypeAnnotation: {
326
+ params: 'NodeList',
327
+ this: 'Node',
328
+ returnType: 'Node',
329
+ rest: 'Node',
330
+ typeParameters: 'Node'
331
+ },
332
+ FunctionTypeParam: {
333
+ name: 'Node',
334
+ typeAnnotation: 'Node'
335
+ },
336
+ GenericTypeAnnotation: {
337
+ id: 'Node',
338
+ typeParameters: 'Node'
339
+ },
340
+ HookDeclaration: {
341
+ id: 'Node',
342
+ params: 'NodeList',
343
+ body: 'Node',
344
+ typeParameters: 'Node',
345
+ returnType: 'Node'
346
+ },
347
+ HookTypeAnnotation: {
348
+ params: 'NodeList',
349
+ returnType: 'Node',
350
+ rest: 'Node',
351
+ typeParameters: 'Node'
352
+ },
353
+ Identifier: {
354
+ typeAnnotation: 'Node'
355
+ },
356
+ IfStatement: {
357
+ test: 'Node',
358
+ consequent: 'Node',
359
+ alternate: 'Node'
360
+ },
361
+ ImportAttribute: {
362
+ key: 'Node',
363
+ value: 'Node'
364
+ },
365
+ ImportDeclaration: {
366
+ specifiers: 'NodeList',
367
+ source: 'Node',
368
+ assertions: 'NodeList'
369
+ },
370
+ ImportDefaultSpecifier: {
371
+ local: 'Node'
372
+ },
373
+ ImportExpression: {
374
+ source: 'Node',
375
+ options: 'Node'
376
+ },
377
+ ImportNamespaceSpecifier: {
378
+ local: 'Node'
379
+ },
380
+ ImportSpecifier: {
381
+ imported: 'Node',
382
+ local: 'Node'
383
+ },
384
+ IndexedAccessType: {
385
+ objectType: 'Node',
386
+ indexType: 'Node'
387
+ },
388
+ InferredPredicate: {},
389
+ InferTypeAnnotation: {
390
+ typeParameter: 'Node'
391
+ },
392
+ InterfaceDeclaration: {
393
+ id: 'Node',
394
+ typeParameters: 'Node',
395
+ extends: 'NodeList',
396
+ body: 'Node'
397
+ },
398
+ InterfaceExtends: {
399
+ id: 'Node',
400
+ typeParameters: 'Node'
401
+ },
402
+ InterfaceTypeAnnotation: {
403
+ extends: 'NodeList',
404
+ body: 'Node'
405
+ },
406
+ IntersectionTypeAnnotation: {
407
+ types: 'NodeList'
408
+ },
409
+ JSXAttribute: {
410
+ name: 'Node',
411
+ value: 'Node'
412
+ },
413
+ JSXClosingElement: {
414
+ name: 'Node'
415
+ },
416
+ JSXClosingFragment: {},
417
+ JSXElement: {
418
+ openingElement: 'Node',
419
+ children: 'NodeList',
420
+ closingElement: 'Node'
421
+ },
422
+ JSXEmptyExpression: {},
423
+ JSXExpressionContainer: {
424
+ expression: 'Node'
425
+ },
426
+ JSXFragment: {
427
+ openingFragment: 'Node',
428
+ children: 'NodeList',
429
+ closingFragment: 'Node'
430
+ },
431
+ JSXIdentifier: {},
432
+ JSXMemberExpression: {
433
+ object: 'Node',
434
+ property: 'Node'
435
+ },
436
+ JSXNamespacedName: {
437
+ namespace: 'Node',
438
+ name: 'Node'
439
+ },
440
+ JSXOpeningElement: {
441
+ name: 'Node',
442
+ attributes: 'NodeList',
443
+ typeArguments: 'Node'
444
+ },
445
+ JSXOpeningFragment: {},
446
+ JSXSpreadAttribute: {
447
+ argument: 'Node'
448
+ },
449
+ JSXSpreadChild: {
450
+ expression: 'Node'
451
+ },
452
+ JSXText: {},
453
+ KeyofTypeAnnotation: {
454
+ argument: 'Node'
455
+ },
456
+ LabeledStatement: {
457
+ label: 'Node',
458
+ body: 'Node'
459
+ },
460
+ LogicalExpression: {
461
+ left: 'Node',
462
+ right: 'Node'
463
+ },
464
+ MatchArrayPattern: {
465
+ elements: 'NodeList',
466
+ rest: 'Node'
467
+ },
468
+ MatchAsPattern: {
469
+ pattern: 'Node',
470
+ target: 'Node'
471
+ },
472
+ MatchBindingPattern: {
473
+ id: 'Node'
474
+ },
475
+ MatchExpression: {
476
+ argument: 'Node',
477
+ cases: 'NodeList'
478
+ },
479
+ MatchExpressionCase: {
480
+ pattern: 'Node',
481
+ body: 'Node',
482
+ guard: 'Node'
483
+ },
484
+ MatchIdentifierPattern: {
485
+ id: 'Node'
486
+ },
487
+ MatchLiteralPattern: {
488
+ literal: 'Node'
489
+ },
490
+ MatchMemberPattern: {
491
+ base: 'Node',
492
+ property: 'Node'
493
+ },
494
+ MatchObjectPattern: {
495
+ properties: 'NodeList',
496
+ rest: 'Node'
497
+ },
498
+ MatchObjectPatternProperty: {
499
+ key: 'Node',
500
+ pattern: 'Node'
501
+ },
502
+ MatchOrPattern: {
503
+ patterns: 'NodeList'
504
+ },
505
+ MatchRestPattern: {
506
+ argument: 'Node'
507
+ },
508
+ MatchStatement: {
509
+ argument: 'Node',
510
+ cases: 'NodeList'
511
+ },
512
+ MatchStatementCase: {
513
+ pattern: 'Node',
514
+ body: 'Node',
515
+ guard: 'Node'
516
+ },
517
+ MatchUnaryPattern: {
518
+ argument: 'Node'
519
+ },
520
+ MatchWildcardPattern: {},
521
+ MemberExpression: {
522
+ object: 'Node',
523
+ property: 'Node'
524
+ },
525
+ MetaProperty: {
526
+ meta: 'Node',
527
+ property: 'Node'
528
+ },
529
+ MethodDefinition: {
530
+ key: 'Node',
531
+ value: 'Node'
532
+ },
533
+ MixedTypeAnnotation: {},
534
+ NewExpression: {
535
+ callee: 'Node',
536
+ typeArguments: 'Node',
537
+ arguments: 'NodeList'
538
+ },
539
+ NullableTypeAnnotation: {
540
+ typeAnnotation: 'Node'
541
+ },
542
+ NullLiteral: {},
543
+ NullLiteralTypeAnnotation: {},
544
+ NumberLiteralTypeAnnotation: {},
545
+ NumberTypeAnnotation: {},
546
+ NumericLiteral: {},
547
+ ObjectExpression: {
548
+ properties: 'NodeList'
549
+ },
550
+ ObjectPattern: {
551
+ properties: 'NodeList',
552
+ typeAnnotation: 'Node'
553
+ },
554
+ ObjectTypeAnnotation: {
555
+ properties: 'NodeList',
556
+ indexers: 'NodeList',
557
+ callProperties: 'NodeList',
558
+ internalSlots: 'NodeList'
559
+ },
560
+ ObjectTypeCallProperty: {
561
+ value: 'Node'
562
+ },
563
+ ObjectTypeIndexer: {
564
+ id: 'Node',
565
+ key: 'Node',
566
+ value: 'Node',
567
+ variance: 'Node'
568
+ },
569
+ ObjectTypeInternalSlot: {
570
+ id: 'Node',
571
+ value: 'Node'
572
+ },
573
+ ObjectTypeMappedTypeProperty: {
574
+ keyTparam: 'Node',
575
+ propType: 'Node',
576
+ sourceType: 'Node',
577
+ variance: 'Node'
578
+ },
579
+ ObjectTypeProperty: {
580
+ key: 'Node',
581
+ value: 'Node',
582
+ variance: 'Node'
583
+ },
584
+ ObjectTypeSpreadProperty: {
585
+ argument: 'Node'
586
+ },
587
+ OpaqueType: {
588
+ id: 'Node',
589
+ typeParameters: 'Node',
590
+ impltype: 'Node',
591
+ lowerBound: 'Node',
592
+ upperBound: 'Node',
593
+ supertype: 'Node'
594
+ },
595
+ OptionalIndexedAccessType: {
596
+ objectType: 'Node',
597
+ indexType: 'Node'
598
+ },
599
+ PrivateIdentifier: {},
600
+ Program: {
601
+ body: 'NodeList'
602
+ },
603
+ Property: {
604
+ key: 'Node',
605
+ value: 'Node'
606
+ },
607
+ PropertyDefinition: {
608
+ key: 'Node',
609
+ value: 'Node',
610
+ variance: 'Node',
611
+ typeAnnotation: 'Node'
612
+ },
613
+ QualifiedTypeIdentifier: {
614
+ qualification: 'Node',
615
+ id: 'Node'
616
+ },
617
+ QualifiedTypeofIdentifier: {
618
+ qualification: 'Node',
619
+ id: 'Node'
620
+ },
621
+ RegExpLiteral: {},
622
+ RestElement: {
623
+ argument: 'Node'
624
+ },
625
+ ReturnStatement: {
626
+ argument: 'Node'
627
+ },
628
+ SequenceExpression: {
629
+ expressions: 'NodeList'
630
+ },
631
+ SpreadElement: {
632
+ argument: 'Node'
633
+ },
634
+ StaticBlock: {
635
+ body: 'NodeList'
636
+ },
637
+ StringLiteral: {},
638
+ StringLiteralTypeAnnotation: {},
639
+ StringTypeAnnotation: {},
640
+ Super: {},
641
+ SwitchCase: {
642
+ test: 'Node',
643
+ consequent: 'NodeList'
644
+ },
645
+ SwitchStatement: {
646
+ discriminant: 'Node',
647
+ cases: 'NodeList'
648
+ },
649
+ SymbolTypeAnnotation: {},
650
+ TaggedTemplateExpression: {
651
+ tag: 'Node',
652
+ quasi: 'Node'
653
+ },
654
+ TemplateElement: {},
655
+ TemplateLiteral: {
656
+ quasis: 'NodeList',
657
+ expressions: 'NodeList'
658
+ },
659
+ ThisExpression: {},
660
+ ThisTypeAnnotation: {},
661
+ ThrowStatement: {
662
+ argument: 'Node'
663
+ },
664
+ TryStatement: {
665
+ block: 'Node',
666
+ handler: 'Node',
667
+ finalizer: 'Node'
668
+ },
669
+ TupleTypeAnnotation: {
670
+ types: 'NodeList'
671
+ },
672
+ TupleTypeLabeledElement: {
673
+ label: 'Node',
674
+ elementType: 'Node',
675
+ variance: 'Node'
676
+ },
677
+ TupleTypeSpreadElement: {
678
+ label: 'Node',
679
+ typeAnnotation: 'Node'
680
+ },
681
+ TypeAlias: {
682
+ id: 'Node',
683
+ typeParameters: 'Node',
684
+ right: 'Node'
685
+ },
686
+ TypeAnnotation: {
687
+ typeAnnotation: 'Node'
688
+ },
689
+ TypeCastExpression: {
690
+ expression: 'Node',
691
+ typeAnnotation: 'Node'
692
+ },
693
+ TypeofTypeAnnotation: {
694
+ argument: 'Node',
695
+ typeArguments: 'Node'
696
+ },
697
+ TypeOperator: {
698
+ typeAnnotation: 'Node'
699
+ },
700
+ TypeParameter: {
701
+ bound: 'Node',
702
+ variance: 'Node',
703
+ default: 'Node'
704
+ },
705
+ TypeParameterDeclaration: {
706
+ params: 'NodeList'
707
+ },
708
+ TypeParameterInstantiation: {
709
+ params: 'NodeList'
710
+ },
711
+ TypePredicate: {
712
+ parameterName: 'Node',
713
+ typeAnnotation: 'Node'
714
+ },
715
+ UnaryExpression: {
716
+ argument: 'Node'
717
+ },
718
+ UnionTypeAnnotation: {
719
+ types: 'NodeList'
720
+ },
721
+ UpdateExpression: {
722
+ argument: 'Node'
723
+ },
724
+ VariableDeclaration: {
725
+ declarations: 'NodeList'
726
+ },
727
+ VariableDeclarator: {
728
+ init: 'Node',
729
+ id: 'Node'
730
+ },
731
+ Variance: {},
732
+ VoidTypeAnnotation: {},
733
+ WhileStatement: {
734
+ body: 'Node',
735
+ test: 'Node'
736
+ },
737
+ WithStatement: {
738
+ object: 'Node',
739
+ body: 'Node'
740
+ },
741
+ YieldExpression: {
742
+ argument: 'Node'
743
+ },
744
+ File: {
745
+ program: 'Node'
746
+ },
747
+ ObjectProperty: {
748
+ key: 'Node',
749
+ value: 'Node'
750
+ },
751
+ ObjectMethod: {
752
+ key: 'Node',
753
+ params: 'NodeList',
754
+ body: 'Node',
755
+ returnType: 'Node',
756
+ typeParameters: 'NodeList'
757
+ },
758
+ ClassMethod: {
759
+ key: 'Node',
760
+ params: 'NodeList',
761
+ body: 'Node',
762
+ returnType: 'Node',
763
+ typeParameters: 'NodeList'
764
+ },
765
+ Import: {},
766
+ ClassProperty: {
767
+ key: 'Node',
768
+ value: 'Node',
769
+ variance: 'Node',
770
+ typeAnnotation: 'Node'
771
+ },
772
+ ClassPrivateProperty: {
773
+ key: 'Node',
774
+ value: 'Node',
775
+ variance: 'Node',
776
+ typeAnnotation: 'Node'
777
+ },
778
+ PrivateName: {
779
+ id: 'Node'
780
+ },
781
+ OptionalCallExpression: {
782
+ callee: 'Node',
783
+ typeArguments: 'Node',
784
+ arguments: 'NodeList'
785
+ },
786
+ OptionalMemberExpression: {
787
+ object: 'Node',
788
+ property: 'Node'
789
+ },
790
+ ExportNamespaceSpecifier: {
791
+ exported: 'Node'
792
+ }
793
+ };
794
+ exports.HERMES_AST_VISITOR_KEYS = HERMES_AST_VISITOR_KEYS;