hermes-parser 0.32.1 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/HermesParser.js +2 -2
  2. package/dist/HermesParser.js.flow +2 -0
  3. package/dist/HermesParserNodeDeserializers.js +109 -5
  4. package/dist/HermesParserWASM.js +1 -1
  5. package/dist/HermesParserWASM.js.flow +11 -1
  6. package/dist/ParserOptions.js +1 -1
  7. package/dist/ParserOptions.js.flow +2 -0
  8. package/dist/babel/TransformESTreeToBabel.js +76 -3
  9. package/dist/babel/TransformESTreeToBabel.js.flow +73 -2
  10. package/dist/estree/StripFlowTypes.js +1 -1
  11. package/dist/estree/StripFlowTypes.js.flow +1 -1
  12. package/dist/estree/TransformMatchSyntax.js +124 -56
  13. package/dist/estree/TransformMatchSyntax.js.flow +124 -46
  14. package/dist/estree/TransformRecordSyntax.js +294 -0
  15. package/dist/estree/TransformRecordSyntax.js.flow +308 -0
  16. package/dist/generated/ESTreeVisitorKeys.js +16 -4
  17. package/dist/generated/ParserVisitorKeys.js +45 -4
  18. package/dist/index.js +8 -1
  19. package/dist/index.js.flow +7 -0
  20. package/dist/src/HermesParser.js +2 -2
  21. package/dist/src/HermesParserNodeDeserializers.js +109 -5
  22. package/dist/src/ParserOptions.js +1 -1
  23. package/dist/src/babel/TransformESTreeToBabel.js +76 -3
  24. package/dist/src/estree/StripFlowTypes.js +1 -1
  25. package/dist/src/estree/TransformMatchSyntax.js +124 -56
  26. package/dist/src/estree/TransformRecordSyntax.js +294 -0
  27. package/dist/src/generated/ESTreeVisitorKeys.js +16 -4
  28. package/dist/src/generated/ParserVisitorKeys.js +45 -4
  29. package/dist/src/index.js +8 -1
  30. package/dist/src/utils/GenID.js +28 -23
  31. package/dist/src/utils/isReservedWord.js +62 -0
  32. package/dist/utils/GenID.js +28 -23
  33. package/dist/utils/GenID.js.flow +23 -22
  34. package/dist/utils/isReservedWord.js +62 -0
  35. package/dist/utils/isReservedWord.js.flow +57 -0
  36. package/package.json +2 -2
@@ -51,7 +51,7 @@ function initHermesParserWASM() {
51
51
  }
52
52
 
53
53
  });
54
- hermesParse = HermesParserWASM.cwrap('hermesParse', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number']);
54
+ hermesParse = HermesParserWASM.cwrap('hermesParse', 'number', ['number', 'number', 'number', 'number', 'number', 'number', 'number', 'number']);
55
55
  hermesParseResult_free = HermesParserWASM.cwrap('hermesParseResult_free', 'void', ['number']);
56
56
  hermesParseResult_getError = HermesParserWASM.cwrap('hermesParseResult_getError', 'string', ['number']);
57
57
  hermesParseResult_getErrorLine = HermesParserWASM.cwrap('hermesParseResult_getErrorLine', 'number', ['number']);
@@ -81,7 +81,7 @@ function parse(source, options) {
81
81
  try {
82
82
  // Copy source text onto WASM heap
83
83
  copyToHeap(sourceBuffer, sourceAddr);
84
- const parseResult = hermesParse(sourceAddr, sourceBuffer.length + 1, options.flow === 'detect', options.enableExperimentalComponentSyntax, options.enableExperimentalFlowMatchSyntax, options.tokens, options.allowReturnOutsideFunction);
84
+ const parseResult = hermesParse(sourceAddr, sourceBuffer.length + 1, options.flow === 'detect', options.enableExperimentalComponentSyntax, options.enableExperimentalFlowMatchSyntax, options.enableExperimentalFlowRecordSyntax, options.tokens, options.allowReturnOutsideFunction);
85
85
 
86
86
  try {
87
87
  // Extract and throw error from parse result if parsing failed
@@ -55,6 +55,7 @@ function initHermesParserWASM() {
55
55
  'number',
56
56
  'number',
57
57
  'number',
58
+ 'number',
58
59
  ]);
59
60
 
60
61
  hermesParseResult_free = HermesParserWASM.cwrap(
@@ -126,6 +127,7 @@ export function parse(source: string, options: ParserOptions): HermesNode {
126
127
  options.flow === 'detect',
127
128
  options.enableExperimentalComponentSyntax,
128
129
  options.enableExperimentalFlowMatchSyntax,
130
+ options.enableExperimentalFlowRecordSyntax,
129
131
  options.tokens,
130
132
  options.allowReturnOutsideFunction,
131
133
  );
@@ -66,7 +66,6 @@ function deserializeArrowFunctionExpression() {
66
66
  return {
67
67
  type: 'ArrowFunctionExpression',
68
68
  loc: this.addEmptyLoc(),
69
- id: this.deserializeNode(),
70
69
  params: this.deserializeNodeList(),
71
70
  body: this.deserializeNode(),
72
71
  typeParameters: this.deserializeNode(),
@@ -694,7 +693,7 @@ function deserializeClassDeclaration() {
694
693
  id: this.deserializeNode(),
695
694
  typeParameters: this.deserializeNode(),
696
695
  superClass: this.deserializeNode(),
697
- superTypeParameters: this.deserializeNode(),
696
+ superTypeArguments: this.deserializeNode(),
698
697
  implements: this.deserializeNodeList(),
699
698
  decorators: this.deserializeNodeList(),
700
699
  body: this.deserializeNode()
@@ -708,7 +707,7 @@ function deserializeClassExpression() {
708
707
  id: this.deserializeNode(),
709
708
  typeParameters: this.deserializeNode(),
710
709
  superClass: this.deserializeNode(),
711
- superTypeParameters: this.deserializeNode(),
710
+ superTypeArguments: this.deserializeNode(),
712
711
  implements: this.deserializeNodeList(),
713
712
  decorators: this.deserializeNodeList(),
714
713
  body: this.deserializeNode()
@@ -1022,6 +1021,15 @@ function deserializeMatchMemberPattern() {
1022
1021
  };
1023
1022
  }
1024
1023
 
1024
+ function deserializeMatchInstancePattern() {
1025
+ return {
1026
+ type: 'MatchInstancePattern',
1027
+ loc: this.addEmptyLoc(),
1028
+ targetConstructor: this.deserializeNode(),
1029
+ properties: this.deserializeNode()
1030
+ };
1031
+ }
1032
+
1025
1033
  function deserializeMatchPatternLast() {
1026
1034
  throw new Error('MatchPattern' + ' should not appear in program buffer');
1027
1035
  }
@@ -1036,6 +1044,15 @@ function deserializeMatchObjectPatternProperty() {
1036
1044
  };
1037
1045
  }
1038
1046
 
1047
+ function deserializeMatchInstanceObjectPattern() {
1048
+ return {
1049
+ type: 'MatchInstanceObjectPattern',
1050
+ loc: this.addEmptyLoc(),
1051
+ properties: this.deserializeNodeList(),
1052
+ rest: this.deserializeNode()
1053
+ };
1054
+ }
1055
+
1039
1056
  function deserializeMatchRestPattern() {
1040
1057
  return {
1041
1058
  type: 'MatchRestPattern',
@@ -1305,6 +1322,27 @@ function deserializeVoidTypeAnnotation() {
1305
1322
  };
1306
1323
  }
1307
1324
 
1325
+ function deserializeNeverTypeAnnotation() {
1326
+ return {
1327
+ type: 'NeverTypeAnnotation',
1328
+ loc: this.addEmptyLoc()
1329
+ };
1330
+ }
1331
+
1332
+ function deserializeUnknownTypeAnnotation() {
1333
+ return {
1334
+ type: 'UnknownTypeAnnotation',
1335
+ loc: this.addEmptyLoc()
1336
+ };
1337
+ }
1338
+
1339
+ function deserializeUndefinedTypeAnnotation() {
1340
+ return {
1341
+ type: 'UndefinedTypeAnnotation',
1342
+ loc: this.addEmptyLoc()
1343
+ };
1344
+ }
1345
+
1308
1346
  function deserializeFunctionTypeAnnotation() {
1309
1347
  return {
1310
1348
  type: 'FunctionTypeAnnotation',
@@ -1415,7 +1453,7 @@ function deserializeTupleTypeAnnotation() {
1415
1453
  return {
1416
1454
  type: 'TupleTypeAnnotation',
1417
1455
  loc: this.addEmptyLoc(),
1418
- types: this.deserializeNodeList(),
1456
+ elementTypes: this.deserializeNodeList(),
1419
1457
  inexact: this.deserializeBoolean()
1420
1458
  };
1421
1459
  }
@@ -2000,6 +2038,72 @@ function deserializeComponentParameter() {
2000
2038
  };
2001
2039
  }
2002
2040
 
2041
+ function deserializeRecordDeclaration() {
2042
+ return {
2043
+ type: 'RecordDeclaration',
2044
+ loc: this.addEmptyLoc(),
2045
+ id: this.deserializeNode(),
2046
+ typeParameters: this.deserializeNode(),
2047
+ implements: this.deserializeNodeList(),
2048
+ body: this.deserializeNode()
2049
+ };
2050
+ }
2051
+
2052
+ function deserializeRecordDeclarationImplements() {
2053
+ return {
2054
+ type: 'RecordDeclarationImplements',
2055
+ loc: this.addEmptyLoc(),
2056
+ id: this.deserializeNode(),
2057
+ typeArguments: this.deserializeNode()
2058
+ };
2059
+ }
2060
+
2061
+ function deserializeRecordDeclarationBody() {
2062
+ return {
2063
+ type: 'RecordDeclarationBody',
2064
+ loc: this.addEmptyLoc(),
2065
+ elements: this.deserializeNodeList()
2066
+ };
2067
+ }
2068
+
2069
+ function deserializeRecordDeclarationProperty() {
2070
+ return {
2071
+ type: 'RecordDeclarationProperty',
2072
+ loc: this.addEmptyLoc(),
2073
+ key: this.deserializeNode(),
2074
+ typeAnnotation: this.deserializeNode(),
2075
+ defaultValue: this.deserializeNode()
2076
+ };
2077
+ }
2078
+
2079
+ function deserializeRecordDeclarationStaticProperty() {
2080
+ return {
2081
+ type: 'RecordDeclarationStaticProperty',
2082
+ loc: this.addEmptyLoc(),
2083
+ key: this.deserializeNode(),
2084
+ typeAnnotation: this.deserializeNode(),
2085
+ value: this.deserializeNode()
2086
+ };
2087
+ }
2088
+
2089
+ function deserializeRecordExpression() {
2090
+ return {
2091
+ type: 'RecordExpression',
2092
+ loc: this.addEmptyLoc(),
2093
+ recordConstructor: this.deserializeNode(),
2094
+ typeArguments: this.deserializeNode(),
2095
+ properties: this.deserializeNode()
2096
+ };
2097
+ }
2098
+
2099
+ function deserializeRecordExpressionProperties() {
2100
+ return {
2101
+ type: 'RecordExpressionProperties',
2102
+ loc: this.addEmptyLoc(),
2103
+ properties: this.deserializeNodeList()
2104
+ };
2105
+ }
2106
+
2003
2107
  function deserializeFlowLast() {
2004
2108
  throw new Error('Flow' + ' should not appear in program buffer');
2005
2109
  }
@@ -2474,4 +2578,4 @@ function deserializeImplicitCheckedCast() {
2474
2578
  };
2475
2579
  }
2476
2580
 
2477
- module.exports = [deserializeEmpty, deserializeMetadata, deserializeFunctionLikeFirst, deserializeProgram, deserializeFunctionExpression, deserializeArrowFunctionExpression, deserializeFunctionDeclaration, deserializeComponentDeclaration, deserializeHookDeclaration, deserializeFunctionLikeLast, deserializeStatementFirst, deserializeMatchStatement, deserializeLoopStatementFirst, deserializeWhileStatement, deserializeDoWhileStatement, deserializeForInStatement, deserializeForOfStatement, deserializeForStatement, deserializeLoopStatementLast, deserializeDebuggerStatement, deserializeEmptyStatement, deserializeBlockStatement, deserializeStaticBlock, deserializeBreakStatement, deserializeContinueStatement, deserializeThrowStatement, deserializeReturnStatement, deserializeWithStatement, deserializeSwitchStatement, deserializeLabeledStatement, deserializeExpressionStatement, deserializeTryStatement, deserializeIfStatement, deserializeStatementLast, deserializeNullLiteral, deserializeBooleanLiteral, deserializeStringLiteral, deserializeNumericLiteral, deserializeRegExpLiteral, deserializeBigIntLiteral, deserializeThisExpression, deserializeSuper, deserializeSequenceExpression, deserializeObjectExpression, deserializeArrayExpression, deserializeSpreadElement, deserializeNewExpression, deserializeYieldExpression, deserializeAwaitExpression, deserializeImportExpression, deserializeCallExpressionLikeFirst, deserializeCallExpression, deserializeOptionalCallExpression, deserializeCallExpressionLikeLast, deserializeAssignmentExpression, deserializeUnaryExpression, deserializeUpdateExpression, deserializeMemberExpressionLikeFirst, deserializeMemberExpression, deserializeOptionalMemberExpression, deserializeMemberExpressionLikeLast, deserializeLogicalExpression, deserializeConditionalExpression, deserializeBinaryExpression, deserializeDirective, deserializeDirectiveLiteral, deserializeIdentifier, deserializePrivateName, deserializeMetaProperty, deserializeSwitchCase, deserializeCatchClause, deserializeVariableDeclarator, deserializeVariableDeclaration, deserializeTemplateLiteral, deserializeTaggedTemplateExpression, deserializeTemplateElement, deserializeProperty, deserializeClassLikeFirst, deserializeClassDeclaration, deserializeClassExpression, deserializeClassLikeLast, deserializeClassBody, deserializeClassProperty, deserializeClassPrivateProperty, deserializeMethodDefinition, deserializeImportDeclaration, deserializeImportSpecifier, deserializeImportDefaultSpecifier, deserializeImportNamespaceSpecifier, deserializeImportAttribute, deserializeExportNamedDeclaration, deserializeExportSpecifier, deserializeExportNamespaceSpecifier, deserializeExportDefaultDeclaration, deserializeExportAllDeclaration, deserializePatternFirst, deserializeObjectPattern, deserializeArrayPattern, deserializeRestElement, deserializeAssignmentPattern, deserializePatternLast, deserializeMatchStatementCase, deserializeMatchExpression, deserializeMatchExpressionCase, deserializeMatchPatternFirst, deserializeMatchWildcardPattern, deserializeMatchLiteralPattern, deserializeMatchUnaryPattern, deserializeMatchIdentifierPattern, deserializeMatchBindingPattern, deserializeMatchObjectPattern, deserializeMatchArrayPattern, deserializeMatchOrPattern, deserializeMatchAsPattern, deserializeMatchMemberPattern, deserializeMatchPatternLast, deserializeMatchObjectPatternProperty, deserializeMatchRestPattern, deserializeJSXFirst, deserializeJSXIdentifier, deserializeJSXMemberExpression, deserializeJSXNamespacedName, deserializeJSXEmptyExpression, deserializeJSXExpressionContainer, deserializeJSXSpreadChild, deserializeJSXOpeningElement, deserializeJSXClosingElement, deserializeJSXAttribute, deserializeJSXSpreadAttribute, deserializeJSXStringLiteral, deserializeJSXText, deserializeJSXElement, deserializeJSXFragment, deserializeJSXOpeningFragment, deserializeJSXClosingFragment, deserializeJSXLast, deserializeFlowFirst, deserializeExistsTypeAnnotation, deserializeEmptyTypeAnnotation, deserializeStringTypeAnnotation, deserializeNumberTypeAnnotation, deserializeStringLiteralTypeAnnotation, deserializeNumberLiteralTypeAnnotation, deserializeBigIntLiteralTypeAnnotation, deserializeBooleanTypeAnnotation, deserializeBooleanLiteralTypeAnnotation, deserializeNullLiteralTypeAnnotation, deserializeSymbolTypeAnnotation, deserializeAnyTypeAnnotation, deserializeMixedTypeAnnotation, deserializeBigIntTypeAnnotation, deserializeVoidTypeAnnotation, deserializeFunctionTypeAnnotation, deserializeHookTypeAnnotation, deserializeFunctionTypeParam, deserializeComponentTypeAnnotation, deserializeComponentTypeParameter, deserializeNullableTypeAnnotation, deserializeQualifiedTypeIdentifier, deserializeTypeofTypeAnnotation, deserializeKeyofTypeAnnotation, deserializeTypeOperator, deserializeQualifiedTypeofIdentifier, deserializeTupleTypeAnnotation, deserializeTupleTypeSpreadElement, deserializeTupleTypeLabeledElement, deserializeArrayTypeAnnotation, deserializeInferTypeAnnotation, deserializeUnionTypeAnnotation, deserializeIntersectionTypeAnnotation, deserializeGenericTypeAnnotation, deserializeIndexedAccessType, deserializeOptionalIndexedAccessType, deserializeConditionalTypeAnnotation, deserializeTypePredicate, deserializeInterfaceTypeAnnotation, deserializeTypeAlias, deserializeOpaqueType, deserializeInterfaceDeclaration, deserializeDeclareTypeAlias, deserializeDeclareOpaqueType, deserializeDeclareInterface, deserializeDeclareClass, deserializeDeclareFunction, deserializeDeclareHook, deserializeDeclareComponent, deserializeDeclareVariable, deserializeDeclareEnum, deserializeDeclareExportDeclaration, deserializeDeclareExportAllDeclaration, deserializeDeclareModule, deserializeDeclareNamespace, deserializeDeclareModuleExports, deserializeInterfaceExtends, deserializeClassImplements, deserializeTypeAnnotation, deserializeObjectTypeAnnotation, deserializeObjectTypeProperty, deserializeObjectTypeSpreadProperty, deserializeObjectTypeInternalSlot, deserializeObjectTypeCallProperty, deserializeObjectTypeIndexer, deserializeObjectTypeMappedTypeProperty, deserializeVariance, deserializeTypeParameterDeclaration, deserializeTypeParameter, deserializeTypeParameterInstantiation, deserializeTypeCastExpression, deserializeAsExpression, deserializeAsConstExpression, deserializeInferredPredicate, deserializeDeclaredPredicate, deserializeEnumDeclaration, deserializeEnumStringBody, deserializeEnumNumberBody, deserializeEnumBigIntBody, deserializeEnumBooleanBody, deserializeEnumSymbolBody, deserializeEnumDefaultedMember, deserializeEnumStringMember, deserializeEnumNumberMember, deserializeEnumBigIntMember, deserializeEnumBooleanMember, deserializeComponentParameter, deserializeFlowLast, deserializeTSFirst, deserializeTSTypeAnnotation, deserializeTSAnyKeyword, deserializeTSNumberKeyword, deserializeTSBooleanKeyword, deserializeTSStringKeyword, deserializeTSSymbolKeyword, deserializeTSVoidKeyword, deserializeTSUndefinedKeyword, deserializeTSUnknownKeyword, deserializeTSNeverKeyword, deserializeTSBigIntKeyword, deserializeTSThisType, deserializeTSLiteralType, deserializeTSIndexedAccessType, deserializeTSArrayType, deserializeTSTypeReference, deserializeTSQualifiedName, deserializeTSFunctionType, deserializeTSConstructorType, deserializeTSTypePredicate, deserializeTSTupleType, deserializeTSTypeAssertion, deserializeTSAsExpression, deserializeTSParameterProperty, deserializeTSTypeAliasDeclaration, deserializeTSInterfaceDeclaration, deserializeTSInterfaceHeritage, deserializeTSInterfaceBody, deserializeTSEnumDeclaration, deserializeTSEnumMember, deserializeTSModuleDeclaration, deserializeTSModuleBlock, deserializeTSModuleMember, deserializeTSTypeParameterDeclaration, deserializeTSTypeParameter, deserializeTSTypeParameterInstantiation, deserializeTSUnionType, deserializeTSIntersectionType, deserializeTSTypeQuery, deserializeTSConditionalType, deserializeTSTypeLiteral, deserializeTSPropertySignature, deserializeTSMethodSignature, deserializeTSIndexSignature, deserializeTSCallSignatureDeclaration, deserializeTSModifiers, deserializeTSLast, deserializeCoverFirst, deserializeCoverEmptyArgs, deserializeCoverTrailingComma, deserializeCoverInitializer, deserializeCoverRestElement, deserializeCoverTypedIdentifier, deserializeCoverLast, deserializeSHBuiltin, deserializeImplicitCheckedCast];
2581
+ module.exports = [deserializeEmpty, deserializeMetadata, deserializeFunctionLikeFirst, deserializeProgram, deserializeFunctionExpression, deserializeArrowFunctionExpression, deserializeFunctionDeclaration, deserializeComponentDeclaration, deserializeHookDeclaration, deserializeFunctionLikeLast, deserializeStatementFirst, deserializeMatchStatement, deserializeLoopStatementFirst, deserializeWhileStatement, deserializeDoWhileStatement, deserializeForInStatement, deserializeForOfStatement, deserializeForStatement, deserializeLoopStatementLast, deserializeDebuggerStatement, deserializeEmptyStatement, deserializeBlockStatement, deserializeStaticBlock, deserializeBreakStatement, deserializeContinueStatement, deserializeThrowStatement, deserializeReturnStatement, deserializeWithStatement, deserializeSwitchStatement, deserializeLabeledStatement, deserializeExpressionStatement, deserializeTryStatement, deserializeIfStatement, deserializeStatementLast, deserializeNullLiteral, deserializeBooleanLiteral, deserializeStringLiteral, deserializeNumericLiteral, deserializeRegExpLiteral, deserializeBigIntLiteral, deserializeThisExpression, deserializeSuper, deserializeSequenceExpression, deserializeObjectExpression, deserializeArrayExpression, deserializeSpreadElement, deserializeNewExpression, deserializeYieldExpression, deserializeAwaitExpression, deserializeImportExpression, deserializeCallExpressionLikeFirst, deserializeCallExpression, deserializeOptionalCallExpression, deserializeCallExpressionLikeLast, deserializeAssignmentExpression, deserializeUnaryExpression, deserializeUpdateExpression, deserializeMemberExpressionLikeFirst, deserializeMemberExpression, deserializeOptionalMemberExpression, deserializeMemberExpressionLikeLast, deserializeLogicalExpression, deserializeConditionalExpression, deserializeBinaryExpression, deserializeDirective, deserializeDirectiveLiteral, deserializeIdentifier, deserializePrivateName, deserializeMetaProperty, deserializeSwitchCase, deserializeCatchClause, deserializeVariableDeclarator, deserializeVariableDeclaration, deserializeTemplateLiteral, deserializeTaggedTemplateExpression, deserializeTemplateElement, deserializeProperty, deserializeClassLikeFirst, deserializeClassDeclaration, deserializeClassExpression, deserializeClassLikeLast, deserializeClassBody, deserializeClassProperty, deserializeClassPrivateProperty, deserializeMethodDefinition, deserializeImportDeclaration, deserializeImportSpecifier, deserializeImportDefaultSpecifier, deserializeImportNamespaceSpecifier, deserializeImportAttribute, deserializeExportNamedDeclaration, deserializeExportSpecifier, deserializeExportNamespaceSpecifier, deserializeExportDefaultDeclaration, deserializeExportAllDeclaration, deserializePatternFirst, deserializeObjectPattern, deserializeArrayPattern, deserializeRestElement, deserializeAssignmentPattern, deserializePatternLast, deserializeMatchStatementCase, deserializeMatchExpression, deserializeMatchExpressionCase, deserializeMatchPatternFirst, deserializeMatchWildcardPattern, deserializeMatchLiteralPattern, deserializeMatchUnaryPattern, deserializeMatchIdentifierPattern, deserializeMatchBindingPattern, deserializeMatchObjectPattern, deserializeMatchArrayPattern, deserializeMatchOrPattern, deserializeMatchAsPattern, deserializeMatchMemberPattern, deserializeMatchInstancePattern, deserializeMatchPatternLast, deserializeMatchObjectPatternProperty, deserializeMatchInstanceObjectPattern, deserializeMatchRestPattern, deserializeJSXFirst, deserializeJSXIdentifier, deserializeJSXMemberExpression, deserializeJSXNamespacedName, deserializeJSXEmptyExpression, deserializeJSXExpressionContainer, deserializeJSXSpreadChild, deserializeJSXOpeningElement, deserializeJSXClosingElement, deserializeJSXAttribute, deserializeJSXSpreadAttribute, deserializeJSXStringLiteral, deserializeJSXText, deserializeJSXElement, deserializeJSXFragment, deserializeJSXOpeningFragment, deserializeJSXClosingFragment, deserializeJSXLast, deserializeFlowFirst, deserializeExistsTypeAnnotation, deserializeEmptyTypeAnnotation, deserializeStringTypeAnnotation, deserializeNumberTypeAnnotation, deserializeStringLiteralTypeAnnotation, deserializeNumberLiteralTypeAnnotation, deserializeBigIntLiteralTypeAnnotation, deserializeBooleanTypeAnnotation, deserializeBooleanLiteralTypeAnnotation, deserializeNullLiteralTypeAnnotation, deserializeSymbolTypeAnnotation, deserializeAnyTypeAnnotation, deserializeMixedTypeAnnotation, deserializeBigIntTypeAnnotation, deserializeVoidTypeAnnotation, deserializeNeverTypeAnnotation, deserializeUnknownTypeAnnotation, deserializeUndefinedTypeAnnotation, deserializeFunctionTypeAnnotation, deserializeHookTypeAnnotation, deserializeFunctionTypeParam, deserializeComponentTypeAnnotation, deserializeComponentTypeParameter, deserializeNullableTypeAnnotation, deserializeQualifiedTypeIdentifier, deserializeTypeofTypeAnnotation, deserializeKeyofTypeAnnotation, deserializeTypeOperator, deserializeQualifiedTypeofIdentifier, deserializeTupleTypeAnnotation, deserializeTupleTypeSpreadElement, deserializeTupleTypeLabeledElement, deserializeArrayTypeAnnotation, deserializeInferTypeAnnotation, deserializeUnionTypeAnnotation, deserializeIntersectionTypeAnnotation, deserializeGenericTypeAnnotation, deserializeIndexedAccessType, deserializeOptionalIndexedAccessType, deserializeConditionalTypeAnnotation, deserializeTypePredicate, deserializeInterfaceTypeAnnotation, deserializeTypeAlias, deserializeOpaqueType, deserializeInterfaceDeclaration, deserializeDeclareTypeAlias, deserializeDeclareOpaqueType, deserializeDeclareInterface, deserializeDeclareClass, deserializeDeclareFunction, deserializeDeclareHook, deserializeDeclareComponent, deserializeDeclareVariable, deserializeDeclareEnum, deserializeDeclareExportDeclaration, deserializeDeclareExportAllDeclaration, deserializeDeclareModule, deserializeDeclareNamespace, deserializeDeclareModuleExports, deserializeInterfaceExtends, deserializeClassImplements, deserializeTypeAnnotation, deserializeObjectTypeAnnotation, deserializeObjectTypeProperty, deserializeObjectTypeSpreadProperty, deserializeObjectTypeInternalSlot, deserializeObjectTypeCallProperty, deserializeObjectTypeIndexer, deserializeObjectTypeMappedTypeProperty, deserializeVariance, deserializeTypeParameterDeclaration, deserializeTypeParameter, deserializeTypeParameterInstantiation, deserializeTypeCastExpression, deserializeAsExpression, deserializeAsConstExpression, deserializeInferredPredicate, deserializeDeclaredPredicate, deserializeEnumDeclaration, deserializeEnumStringBody, deserializeEnumNumberBody, deserializeEnumBigIntBody, deserializeEnumBooleanBody, deserializeEnumSymbolBody, deserializeEnumDefaultedMember, deserializeEnumStringMember, deserializeEnumNumberMember, deserializeEnumBigIntMember, deserializeEnumBooleanMember, deserializeComponentParameter, deserializeRecordDeclaration, deserializeRecordDeclarationImplements, deserializeRecordDeclarationBody, deserializeRecordDeclarationProperty, deserializeRecordDeclarationStaticProperty, deserializeRecordExpression, deserializeRecordExpressionProperties, deserializeFlowLast, deserializeTSFirst, deserializeTSTypeAnnotation, deserializeTSAnyKeyword, deserializeTSNumberKeyword, deserializeTSBooleanKeyword, deserializeTSStringKeyword, deserializeTSSymbolKeyword, deserializeTSVoidKeyword, deserializeTSUndefinedKeyword, deserializeTSUnknownKeyword, deserializeTSNeverKeyword, deserializeTSBigIntKeyword, deserializeTSThisType, deserializeTSLiteralType, deserializeTSIndexedAccessType, deserializeTSArrayType, deserializeTSTypeReference, deserializeTSQualifiedName, deserializeTSFunctionType, deserializeTSConstructorType, deserializeTSTypePredicate, deserializeTSTupleType, deserializeTSTypeAssertion, deserializeTSAsExpression, deserializeTSParameterProperty, deserializeTSTypeAliasDeclaration, deserializeTSInterfaceDeclaration, deserializeTSInterfaceHeritage, deserializeTSInterfaceBody, deserializeTSEnumDeclaration, deserializeTSEnumMember, deserializeTSModuleDeclaration, deserializeTSModuleBlock, deserializeTSModuleMember, deserializeTSTypeParameterDeclaration, deserializeTSTypeParameter, deserializeTSTypeParameterInstantiation, deserializeTSUnionType, deserializeTSIntersectionType, deserializeTSTypeQuery, deserializeTSConditionalType, deserializeTSTypeLiteral, deserializeTSPropertySignature, deserializeTSMethodSignature, deserializeTSIndexSignature, deserializeTSCallSignatureDeclaration, deserializeTSModifiers, deserializeTSLast, deserializeCoverFirst, deserializeCoverEmptyArgs, deserializeCoverTrailingComma, deserializeCoverInitializer, deserializeCoverRestElement, deserializeCoverTypedIdentifier, deserializeCoverLast, deserializeSHBuiltin, deserializeImplicitCheckedCast];