@sohcah/openapi-generator 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.d.ts +0 -0
- package/dist/cli.js +2 -2
- package/dist/config.d.ts +2 -2
- package/dist/generators/index.d.ts +3 -3
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +3 -3
- package/dist/generators/index.js.map +1 -1
- package/dist/{helpers-ChEkrLHV.js → helpers-0HehGkaU.js} +20 -5
- package/dist/helpers-0HehGkaU.js.map +1 -0
- package/dist/{index-COF3JXv1.d.ts → index-IbWqUJNI.d.ts} +2 -2
- package/dist/{index-COF3JXv1.d.ts.map → index-IbWqUJNI.d.ts.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{src-UQLWBWmZ.js → src-BlhnnMdZ.js} +6 -11
- package/dist/src-BlhnnMdZ.js.map +1 -0
- package/dist/{types-7ABKlnLu.d.ts → types-Ced1bVkh.d.ts} +7 -5
- package/dist/types-Ced1bVkh.d.ts.map +1 -0
- package/package.json +5 -5
- package/dist/helpers-ChEkrLHV.js.map +0 -1
- package/dist/src-UQLWBWmZ.js.map +0 -1
- package/dist/types-7ABKlnLu.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers-0HehGkaU.js","names":["keys","isImmutable","_shallowEqual","_deprecationWarning","_index","node","_matchesPattern","_buildMatchMemberExpression","_index","_index","_shallowEqual","_isType","_isPlaceholderType","_index","_helperValidatorIdentifier","defineType","validate","_is","_validate","NODE_FIELDS","keys","inherits","alias","_is","_isValidIdentifier","_helperValidatorIdentifier","_index","_utils","defineType","identifier","validator","_core","_utils","defineType","isDeclareClass","_utils","defineType","_utils","alias","_utils","_placeholders","_core","defineType","_utils","_utils","_is","unaryExpression","validate","_index","_validate","_deprecationWarning","program","typeAnnotation","variance","typeParameter","_index","_index2","_index","_index","_isNode","_is","_deprecationWarning","_index","removeTypeDuplicates","_index","getQualifiedName","_index","_removeTypeDuplicates","_index","_index","_removeTypeDuplicates","_index2","_index","_index","_index2","_cloneNode","_cloneNode","_cloneNode","_cloneNode","_addComments","_inherit","_inherit","_inheritTrailingComments","_inheritLeadingComments","_inheritInnerComments","_index","_index","_index","_index2","_toBlock","_isValidIdentifier","_toIdentifier","_index","_index2","_index","_index","keys","node","_index","_traverseFast","_removeProperties","_index","_cloneNode","_removePropertiesDeep","alias","_index","_index2","_isValidIdentifier","_index","_index","_index","_inheritsComments","_index","_index2","_index","keys","_getBindingIdentifiers","_index","_index","keys","_getBindingIdentifiers","keys","_index","BLOCK_SCOPED_SYMBOL","_index","_isLet","_isType","_index","_index","b","_index","_index","_isValidIdentifier","_index","_getBindingIdentifiers","_index","_index2","_productions","_cloneNode","name: string","from: string","typeOnly: boolean","identifier","t"],"sources":["../node_modules/@babel/types/lib/utils/shallowEqual.js","../node_modules/@babel/types/lib/utils/deprecationWarning.js","../node_modules/@babel/types/lib/validators/generated/index.js","../node_modules/@babel/types/lib/validators/matchesPattern.js","../node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js","../node_modules/@babel/types/lib/validators/react/isReactComponent.js","../node_modules/@babel/types/lib/validators/react/isCompatTag.js","../node_modules/@babel/types/lib/validators/isType.js","../node_modules/@babel/types/lib/validators/isPlaceholderType.js","../node_modules/@babel/types/lib/validators/is.js","../node_modules/@babel/helper-validator-identifier/lib/identifier.js","../node_modules/@babel/helper-validator-identifier/lib/keyword.js","../node_modules/@babel/helper-validator-identifier/lib/index.js","../node_modules/@babel/types/lib/validators/isValidIdentifier.js","../node_modules/@babel/helper-string-parser/lib/index.js","../node_modules/@babel/types/lib/constants/index.js","../node_modules/@babel/types/lib/definitions/utils.js","../node_modules/@babel/types/lib/definitions/core.js","../node_modules/@babel/types/lib/definitions/flow.js","../node_modules/@babel/types/lib/definitions/jsx.js","../node_modules/@babel/types/lib/definitions/placeholders.js","../node_modules/@babel/types/lib/definitions/misc.js","../node_modules/@babel/types/lib/definitions/experimental.js","../node_modules/@babel/types/lib/definitions/typescript.js","../node_modules/@babel/types/lib/definitions/deprecated-aliases.js","../node_modules/@babel/types/lib/definitions/index.js","../node_modules/@babel/types/lib/validators/validate.js","../node_modules/@babel/types/lib/builders/generated/lowercase.js","../node_modules/@babel/types/lib/builders/generated/uppercase.js","../node_modules/@babel/types/lib/builders/generated/index.js","../node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js","../node_modules/@babel/types/lib/builders/react/buildChildren.js","../node_modules/@babel/types/lib/validators/isNode.js","../node_modules/@babel/types/lib/asserts/assertNode.js","../node_modules/@babel/types/lib/asserts/generated/index.js","../node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js","../node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js","../node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js","../node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js","../node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js","../node_modules/@babel/types/lib/builders/productions.js","../node_modules/@babel/types/lib/clone/cloneNode.js","../node_modules/@babel/types/lib/clone/clone.js","../node_modules/@babel/types/lib/clone/cloneDeep.js","../node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js","../node_modules/@babel/types/lib/clone/cloneWithoutLoc.js","../node_modules/@babel/types/lib/comments/addComments.js","../node_modules/@babel/types/lib/comments/addComment.js","../node_modules/@babel/types/lib/utils/inherit.js","../node_modules/@babel/types/lib/comments/inheritInnerComments.js","../node_modules/@babel/types/lib/comments/inheritLeadingComments.js","../node_modules/@babel/types/lib/comments/inheritTrailingComments.js","../node_modules/@babel/types/lib/comments/inheritsComments.js","../node_modules/@babel/types/lib/comments/removeComments.js","../node_modules/@babel/types/lib/constants/generated/index.js","../node_modules/@babel/types/lib/converters/toBlock.js","../node_modules/@babel/types/lib/converters/ensureBlock.js","../node_modules/@babel/types/lib/converters/toIdentifier.js","../node_modules/@babel/types/lib/converters/toBindingIdentifierName.js","../node_modules/@babel/types/lib/converters/toComputedKey.js","../node_modules/@babel/types/lib/converters/toExpression.js","../node_modules/@babel/types/lib/traverse/traverseFast.js","../node_modules/@babel/types/lib/modifications/removeProperties.js","../node_modules/@babel/types/lib/modifications/removePropertiesDeep.js","../node_modules/@babel/types/lib/converters/toKeyAlias.js","../node_modules/@babel/types/lib/converters/toStatement.js","../node_modules/@babel/types/lib/converters/valueToNode.js","../node_modules/@babel/types/lib/modifications/appendToMemberExpression.js","../node_modules/@babel/types/lib/modifications/inherits.js","../node_modules/@babel/types/lib/modifications/prependToMemberExpression.js","../node_modules/@babel/types/lib/retrievers/getAssignmentIdentifiers.js","../node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js","../node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js","../node_modules/@babel/types/lib/retrievers/getFunctionName.js","../node_modules/@babel/types/lib/traverse/traverse.js","../node_modules/@babel/types/lib/validators/isBinding.js","../node_modules/@babel/types/lib/validators/isLet.js","../node_modules/@babel/types/lib/validators/isBlockScoped.js","../node_modules/@babel/types/lib/validators/isImmutable.js","../node_modules/@babel/types/lib/validators/isNodesEquivalent.js","../node_modules/@babel/types/lib/validators/isReferenced.js","../node_modules/@babel/types/lib/validators/isScope.js","../node_modules/@babel/types/lib/validators/isSpecifierDefault.js","../node_modules/@babel/types/lib/validators/isValidES3Identifier.js","../node_modules/@babel/types/lib/validators/isVar.js","../node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js","../node_modules/@babel/types/lib/converters/toSequenceExpression.js","../node_modules/@babel/types/lib/index.js","../src/context.ts","../src/errors.ts","../src/generators/helpers.ts"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = shallowEqual;\nfunction shallowEqual(actual, expected) {\n const keys = Object.keys(expected);\n for (const key of keys) {\n if (actual[key] !== expected[key]) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=shallowEqual.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deprecationWarning;\nconst warnings = new Set();\nfunction deprecationWarning(oldName, newName, prefix = \"\", cacheKey = oldName) {\n if (warnings.has(cacheKey)) return;\n warnings.add(cacheKey);\n const {\n internal,\n trace\n } = captureShortStackTrace(1, 2);\n if (internal) {\n return;\n }\n console.warn(`${prefix}\\`${oldName}\\` has been deprecated, please migrate to \\`${newName}\\`\\n${trace}`);\n}\nfunction captureShortStackTrace(skip, length) {\n const {\n stackTraceLimit,\n prepareStackTrace\n } = Error;\n let stackTrace;\n Error.stackTraceLimit = 1 + skip + length;\n Error.prepareStackTrace = function (err, stack) {\n stackTrace = stack;\n };\n new Error().stack;\n Error.stackTraceLimit = stackTraceLimit;\n Error.prepareStackTrace = prepareStackTrace;\n if (!stackTrace) return {\n internal: false,\n trace: \"\"\n };\n const shortStackTrace = stackTrace.slice(1 + skip, 1 + skip + length);\n return {\n internal: /[\\\\/]@babel[\\\\/]/.test(shortStackTrace[1].getFileName()),\n trace: shortStackTrace.map(frame => ` at ${frame}`).join(\"\\n\")\n };\n}\n\n//# sourceMappingURL=deprecationWarning.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isAccessor = isAccessor;\nexports.isAnyTypeAnnotation = isAnyTypeAnnotation;\nexports.isArgumentPlaceholder = isArgumentPlaceholder;\nexports.isArrayExpression = isArrayExpression;\nexports.isArrayPattern = isArrayPattern;\nexports.isArrayTypeAnnotation = isArrayTypeAnnotation;\nexports.isArrowFunctionExpression = isArrowFunctionExpression;\nexports.isAssignmentExpression = isAssignmentExpression;\nexports.isAssignmentPattern = isAssignmentPattern;\nexports.isAwaitExpression = isAwaitExpression;\nexports.isBigIntLiteral = isBigIntLiteral;\nexports.isBinary = isBinary;\nexports.isBinaryExpression = isBinaryExpression;\nexports.isBindExpression = isBindExpression;\nexports.isBlock = isBlock;\nexports.isBlockParent = isBlockParent;\nexports.isBlockStatement = isBlockStatement;\nexports.isBooleanLiteral = isBooleanLiteral;\nexports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation;\nexports.isBooleanTypeAnnotation = isBooleanTypeAnnotation;\nexports.isBreakStatement = isBreakStatement;\nexports.isCallExpression = isCallExpression;\nexports.isCatchClause = isCatchClause;\nexports.isClass = isClass;\nexports.isClassAccessorProperty = isClassAccessorProperty;\nexports.isClassBody = isClassBody;\nexports.isClassDeclaration = isClassDeclaration;\nexports.isClassExpression = isClassExpression;\nexports.isClassImplements = isClassImplements;\nexports.isClassMethod = isClassMethod;\nexports.isClassPrivateMethod = isClassPrivateMethod;\nexports.isClassPrivateProperty = isClassPrivateProperty;\nexports.isClassProperty = isClassProperty;\nexports.isCompletionStatement = isCompletionStatement;\nexports.isConditional = isConditional;\nexports.isConditionalExpression = isConditionalExpression;\nexports.isContinueStatement = isContinueStatement;\nexports.isDebuggerStatement = isDebuggerStatement;\nexports.isDecimalLiteral = isDecimalLiteral;\nexports.isDeclaration = isDeclaration;\nexports.isDeclareClass = isDeclareClass;\nexports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration;\nexports.isDeclareExportDeclaration = isDeclareExportDeclaration;\nexports.isDeclareFunction = isDeclareFunction;\nexports.isDeclareInterface = isDeclareInterface;\nexports.isDeclareModule = isDeclareModule;\nexports.isDeclareModuleExports = isDeclareModuleExports;\nexports.isDeclareOpaqueType = isDeclareOpaqueType;\nexports.isDeclareTypeAlias = isDeclareTypeAlias;\nexports.isDeclareVariable = isDeclareVariable;\nexports.isDeclaredPredicate = isDeclaredPredicate;\nexports.isDecorator = isDecorator;\nexports.isDirective = isDirective;\nexports.isDirectiveLiteral = isDirectiveLiteral;\nexports.isDoExpression = isDoExpression;\nexports.isDoWhileStatement = isDoWhileStatement;\nexports.isEmptyStatement = isEmptyStatement;\nexports.isEmptyTypeAnnotation = isEmptyTypeAnnotation;\nexports.isEnumBody = isEnumBody;\nexports.isEnumBooleanBody = isEnumBooleanBody;\nexports.isEnumBooleanMember = isEnumBooleanMember;\nexports.isEnumDeclaration = isEnumDeclaration;\nexports.isEnumDefaultedMember = isEnumDefaultedMember;\nexports.isEnumMember = isEnumMember;\nexports.isEnumNumberBody = isEnumNumberBody;\nexports.isEnumNumberMember = isEnumNumberMember;\nexports.isEnumStringBody = isEnumStringBody;\nexports.isEnumStringMember = isEnumStringMember;\nexports.isEnumSymbolBody = isEnumSymbolBody;\nexports.isExistsTypeAnnotation = isExistsTypeAnnotation;\nexports.isExportAllDeclaration = isExportAllDeclaration;\nexports.isExportDeclaration = isExportDeclaration;\nexports.isExportDefaultDeclaration = isExportDefaultDeclaration;\nexports.isExportDefaultSpecifier = isExportDefaultSpecifier;\nexports.isExportNamedDeclaration = isExportNamedDeclaration;\nexports.isExportNamespaceSpecifier = isExportNamespaceSpecifier;\nexports.isExportSpecifier = isExportSpecifier;\nexports.isExpression = isExpression;\nexports.isExpressionStatement = isExpressionStatement;\nexports.isExpressionWrapper = isExpressionWrapper;\nexports.isFile = isFile;\nexports.isFlow = isFlow;\nexports.isFlowBaseAnnotation = isFlowBaseAnnotation;\nexports.isFlowDeclaration = isFlowDeclaration;\nexports.isFlowPredicate = isFlowPredicate;\nexports.isFlowType = isFlowType;\nexports.isFor = isFor;\nexports.isForInStatement = isForInStatement;\nexports.isForOfStatement = isForOfStatement;\nexports.isForStatement = isForStatement;\nexports.isForXStatement = isForXStatement;\nexports.isFunction = isFunction;\nexports.isFunctionDeclaration = isFunctionDeclaration;\nexports.isFunctionExpression = isFunctionExpression;\nexports.isFunctionParameter = isFunctionParameter;\nexports.isFunctionParent = isFunctionParent;\nexports.isFunctionTypeAnnotation = isFunctionTypeAnnotation;\nexports.isFunctionTypeParam = isFunctionTypeParam;\nexports.isGenericTypeAnnotation = isGenericTypeAnnotation;\nexports.isIdentifier = isIdentifier;\nexports.isIfStatement = isIfStatement;\nexports.isImmutable = isImmutable;\nexports.isImport = isImport;\nexports.isImportAttribute = isImportAttribute;\nexports.isImportDeclaration = isImportDeclaration;\nexports.isImportDefaultSpecifier = isImportDefaultSpecifier;\nexports.isImportExpression = isImportExpression;\nexports.isImportNamespaceSpecifier = isImportNamespaceSpecifier;\nexports.isImportOrExportDeclaration = isImportOrExportDeclaration;\nexports.isImportSpecifier = isImportSpecifier;\nexports.isIndexedAccessType = isIndexedAccessType;\nexports.isInferredPredicate = isInferredPredicate;\nexports.isInterfaceDeclaration = isInterfaceDeclaration;\nexports.isInterfaceExtends = isInterfaceExtends;\nexports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation;\nexports.isInterpreterDirective = isInterpreterDirective;\nexports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation;\nexports.isJSX = isJSX;\nexports.isJSXAttribute = isJSXAttribute;\nexports.isJSXClosingElement = isJSXClosingElement;\nexports.isJSXClosingFragment = isJSXClosingFragment;\nexports.isJSXElement = isJSXElement;\nexports.isJSXEmptyExpression = isJSXEmptyExpression;\nexports.isJSXExpressionContainer = isJSXExpressionContainer;\nexports.isJSXFragment = isJSXFragment;\nexports.isJSXIdentifier = isJSXIdentifier;\nexports.isJSXMemberExpression = isJSXMemberExpression;\nexports.isJSXNamespacedName = isJSXNamespacedName;\nexports.isJSXOpeningElement = isJSXOpeningElement;\nexports.isJSXOpeningFragment = isJSXOpeningFragment;\nexports.isJSXSpreadAttribute = isJSXSpreadAttribute;\nexports.isJSXSpreadChild = isJSXSpreadChild;\nexports.isJSXText = isJSXText;\nexports.isLVal = isLVal;\nexports.isLabeledStatement = isLabeledStatement;\nexports.isLiteral = isLiteral;\nexports.isLogicalExpression = isLogicalExpression;\nexports.isLoop = isLoop;\nexports.isMemberExpression = isMemberExpression;\nexports.isMetaProperty = isMetaProperty;\nexports.isMethod = isMethod;\nexports.isMiscellaneous = isMiscellaneous;\nexports.isMixedTypeAnnotation = isMixedTypeAnnotation;\nexports.isModuleDeclaration = isModuleDeclaration;\nexports.isModuleExpression = isModuleExpression;\nexports.isModuleSpecifier = isModuleSpecifier;\nexports.isNewExpression = isNewExpression;\nexports.isNoop = isNoop;\nexports.isNullLiteral = isNullLiteral;\nexports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation;\nexports.isNullableTypeAnnotation = isNullableTypeAnnotation;\nexports.isNumberLiteral = isNumberLiteral;\nexports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation;\nexports.isNumberTypeAnnotation = isNumberTypeAnnotation;\nexports.isNumericLiteral = isNumericLiteral;\nexports.isObjectExpression = isObjectExpression;\nexports.isObjectMember = isObjectMember;\nexports.isObjectMethod = isObjectMethod;\nexports.isObjectPattern = isObjectPattern;\nexports.isObjectProperty = isObjectProperty;\nexports.isObjectTypeAnnotation = isObjectTypeAnnotation;\nexports.isObjectTypeCallProperty = isObjectTypeCallProperty;\nexports.isObjectTypeIndexer = isObjectTypeIndexer;\nexports.isObjectTypeInternalSlot = isObjectTypeInternalSlot;\nexports.isObjectTypeProperty = isObjectTypeProperty;\nexports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty;\nexports.isOpaqueType = isOpaqueType;\nexports.isOptionalCallExpression = isOptionalCallExpression;\nexports.isOptionalIndexedAccessType = isOptionalIndexedAccessType;\nexports.isOptionalMemberExpression = isOptionalMemberExpression;\nexports.isParenthesizedExpression = isParenthesizedExpression;\nexports.isPattern = isPattern;\nexports.isPatternLike = isPatternLike;\nexports.isPipelineBareFunction = isPipelineBareFunction;\nexports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference;\nexports.isPipelineTopicExpression = isPipelineTopicExpression;\nexports.isPlaceholder = isPlaceholder;\nexports.isPrivate = isPrivate;\nexports.isPrivateName = isPrivateName;\nexports.isProgram = isProgram;\nexports.isProperty = isProperty;\nexports.isPureish = isPureish;\nexports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier;\nexports.isRecordExpression = isRecordExpression;\nexports.isRegExpLiteral = isRegExpLiteral;\nexports.isRegexLiteral = isRegexLiteral;\nexports.isRestElement = isRestElement;\nexports.isRestProperty = isRestProperty;\nexports.isReturnStatement = isReturnStatement;\nexports.isScopable = isScopable;\nexports.isSequenceExpression = isSequenceExpression;\nexports.isSpreadElement = isSpreadElement;\nexports.isSpreadProperty = isSpreadProperty;\nexports.isStandardized = isStandardized;\nexports.isStatement = isStatement;\nexports.isStaticBlock = isStaticBlock;\nexports.isStringLiteral = isStringLiteral;\nexports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation;\nexports.isStringTypeAnnotation = isStringTypeAnnotation;\nexports.isSuper = isSuper;\nexports.isSwitchCase = isSwitchCase;\nexports.isSwitchStatement = isSwitchStatement;\nexports.isSymbolTypeAnnotation = isSymbolTypeAnnotation;\nexports.isTSAnyKeyword = isTSAnyKeyword;\nexports.isTSArrayType = isTSArrayType;\nexports.isTSAsExpression = isTSAsExpression;\nexports.isTSBaseType = isTSBaseType;\nexports.isTSBigIntKeyword = isTSBigIntKeyword;\nexports.isTSBooleanKeyword = isTSBooleanKeyword;\nexports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration;\nexports.isTSConditionalType = isTSConditionalType;\nexports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration;\nexports.isTSConstructorType = isTSConstructorType;\nexports.isTSDeclareFunction = isTSDeclareFunction;\nexports.isTSDeclareMethod = isTSDeclareMethod;\nexports.isTSEntityName = isTSEntityName;\nexports.isTSEnumBody = isTSEnumBody;\nexports.isTSEnumDeclaration = isTSEnumDeclaration;\nexports.isTSEnumMember = isTSEnumMember;\nexports.isTSExportAssignment = isTSExportAssignment;\nexports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments;\nexports.isTSExternalModuleReference = isTSExternalModuleReference;\nexports.isTSFunctionType = isTSFunctionType;\nexports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration;\nexports.isTSImportType = isTSImportType;\nexports.isTSIndexSignature = isTSIndexSignature;\nexports.isTSIndexedAccessType = isTSIndexedAccessType;\nexports.isTSInferType = isTSInferType;\nexports.isTSInstantiationExpression = isTSInstantiationExpression;\nexports.isTSInterfaceBody = isTSInterfaceBody;\nexports.isTSInterfaceDeclaration = isTSInterfaceDeclaration;\nexports.isTSIntersectionType = isTSIntersectionType;\nexports.isTSIntrinsicKeyword = isTSIntrinsicKeyword;\nexports.isTSLiteralType = isTSLiteralType;\nexports.isTSMappedType = isTSMappedType;\nexports.isTSMethodSignature = isTSMethodSignature;\nexports.isTSModuleBlock = isTSModuleBlock;\nexports.isTSModuleDeclaration = isTSModuleDeclaration;\nexports.isTSNamedTupleMember = isTSNamedTupleMember;\nexports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration;\nexports.isTSNeverKeyword = isTSNeverKeyword;\nexports.isTSNonNullExpression = isTSNonNullExpression;\nexports.isTSNullKeyword = isTSNullKeyword;\nexports.isTSNumberKeyword = isTSNumberKeyword;\nexports.isTSObjectKeyword = isTSObjectKeyword;\nexports.isTSOptionalType = isTSOptionalType;\nexports.isTSParameterProperty = isTSParameterProperty;\nexports.isTSParenthesizedType = isTSParenthesizedType;\nexports.isTSPropertySignature = isTSPropertySignature;\nexports.isTSQualifiedName = isTSQualifiedName;\nexports.isTSRestType = isTSRestType;\nexports.isTSSatisfiesExpression = isTSSatisfiesExpression;\nexports.isTSStringKeyword = isTSStringKeyword;\nexports.isTSSymbolKeyword = isTSSymbolKeyword;\nexports.isTSTemplateLiteralType = isTSTemplateLiteralType;\nexports.isTSThisType = isTSThisType;\nexports.isTSTupleType = isTSTupleType;\nexports.isTSType = isTSType;\nexports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration;\nexports.isTSTypeAnnotation = isTSTypeAnnotation;\nexports.isTSTypeAssertion = isTSTypeAssertion;\nexports.isTSTypeElement = isTSTypeElement;\nexports.isTSTypeLiteral = isTSTypeLiteral;\nexports.isTSTypeOperator = isTSTypeOperator;\nexports.isTSTypeParameter = isTSTypeParameter;\nexports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration;\nexports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation;\nexports.isTSTypePredicate = isTSTypePredicate;\nexports.isTSTypeQuery = isTSTypeQuery;\nexports.isTSTypeReference = isTSTypeReference;\nexports.isTSUndefinedKeyword = isTSUndefinedKeyword;\nexports.isTSUnionType = isTSUnionType;\nexports.isTSUnknownKeyword = isTSUnknownKeyword;\nexports.isTSVoidKeyword = isTSVoidKeyword;\nexports.isTaggedTemplateExpression = isTaggedTemplateExpression;\nexports.isTemplateElement = isTemplateElement;\nexports.isTemplateLiteral = isTemplateLiteral;\nexports.isTerminatorless = isTerminatorless;\nexports.isThisExpression = isThisExpression;\nexports.isThisTypeAnnotation = isThisTypeAnnotation;\nexports.isThrowStatement = isThrowStatement;\nexports.isTopicReference = isTopicReference;\nexports.isTryStatement = isTryStatement;\nexports.isTupleExpression = isTupleExpression;\nexports.isTupleTypeAnnotation = isTupleTypeAnnotation;\nexports.isTypeAlias = isTypeAlias;\nexports.isTypeAnnotation = isTypeAnnotation;\nexports.isTypeCastExpression = isTypeCastExpression;\nexports.isTypeParameter = isTypeParameter;\nexports.isTypeParameterDeclaration = isTypeParameterDeclaration;\nexports.isTypeParameterInstantiation = isTypeParameterInstantiation;\nexports.isTypeScript = isTypeScript;\nexports.isTypeofTypeAnnotation = isTypeofTypeAnnotation;\nexports.isUnaryExpression = isUnaryExpression;\nexports.isUnaryLike = isUnaryLike;\nexports.isUnionTypeAnnotation = isUnionTypeAnnotation;\nexports.isUpdateExpression = isUpdateExpression;\nexports.isUserWhitespacable = isUserWhitespacable;\nexports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier;\nexports.isVariableDeclaration = isVariableDeclaration;\nexports.isVariableDeclarator = isVariableDeclarator;\nexports.isVariance = isVariance;\nexports.isVoidPattern = isVoidPattern;\nexports.isVoidTypeAnnotation = isVoidTypeAnnotation;\nexports.isWhile = isWhile;\nexports.isWhileStatement = isWhileStatement;\nexports.isWithStatement = isWithStatement;\nexports.isYieldExpression = isYieldExpression;\nvar _shallowEqual = require(\"../../utils/shallowEqual.js\");\nvar _deprecationWarning = require(\"../../utils/deprecationWarning.js\");\nfunction isArrayExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAssignmentExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"AssignmentExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBinaryExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"BinaryExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterpreterDirective(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterpreterDirective\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDirective(node, opts) {\n if (!node) return false;\n if (node.type !== \"Directive\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDirectiveLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"DirectiveLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlockStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"BlockStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBreakStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"BreakStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCallExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"CallExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCatchClause(node, opts) {\n if (!node) return false;\n if (node.type !== \"CatchClause\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isConditionalExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ConditionalExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isContinueStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ContinueStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDebuggerStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"DebuggerStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDoWhileStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"DoWhileStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEmptyStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"EmptyStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpressionStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExpressionStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFile(node, opts) {\n if (!node) return false;\n if (node.type !== \"File\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForInStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForInStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"Identifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIfStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"IfStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLabeledStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"LabeledStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumericLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumericLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRegExpLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"RegExpLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLogicalExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"LogicalExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"MemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNewExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"NewExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isProgram(node, opts) {\n if (!node) return false;\n if (node.type !== \"Program\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRestElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"RestElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isReturnStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ReturnStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSequenceExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"SequenceExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isParenthesizedExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ParenthesizedExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSwitchCase(node, opts) {\n if (!node) return false;\n if (node.type !== \"SwitchCase\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSwitchStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"SwitchStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThisExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThisExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThrowStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThrowStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTryStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"TryStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnaryExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"UnaryExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUpdateExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"UpdateExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariableDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"VariableDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariableDeclarator(node, opts) {\n if (!node) return false;\n if (node.type !== \"VariableDeclarator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWhileStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"WhileStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWithStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"WithStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAssignmentPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"AssignmentPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrayPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrowFunctionExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrowFunctionExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportAllDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportAllDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDefaultDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportDefaultDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportNamedDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportNamedDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForOfStatement(node, opts) {\n if (!node) return false;\n if (node.type !== \"ForOfStatement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportDefaultSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportDefaultSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportNamespaceSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportNamespaceSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMetaProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"MetaProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSpreadElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"SpreadElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSuper(node, opts) {\n if (!node) return false;\n if (node.type !== \"Super\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTaggedTemplateExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TaggedTemplateExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTemplateElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"TemplateElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTemplateLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"TemplateLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isYieldExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"YieldExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAwaitExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"AwaitExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImport(node, opts) {\n if (!node) return false;\n if (node.type !== \"Import\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBigIntLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"BigIntLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportNamespaceSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportNamespaceSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalMemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalCallExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalCallExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassAccessorProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassAccessorProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassPrivateProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassPrivateProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassPrivateMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassPrivateMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPrivateName(node, opts) {\n if (!node) return false;\n if (node.type !== \"PrivateName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStaticBlock(node, opts) {\n if (!node) return false;\n if (node.type !== \"StaticBlock\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"ImportAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAnyTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"AnyTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArrayTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArrayTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBooleanLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"BooleanLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClassImplements(node, opts) {\n if (!node) return false;\n if (node.type !== \"ClassImplements\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareClass(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareClass\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareInterface(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareInterface\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareModule(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareModule\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareModuleExports(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareModuleExports\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareTypeAlias(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareTypeAlias\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareOpaqueType(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareOpaqueType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareVariable(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareVariable\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareExportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareExportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclareExportAllDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclareExportAllDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclaredPredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"DeclaredPredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExistsTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExistsTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionTypeParam(node, opts) {\n if (!node) return false;\n if (node.type !== \"FunctionTypeParam\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isGenericTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"GenericTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInferredPredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"InferredPredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceExtends(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceExtends\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isInterfaceTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"InterfaceTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIntersectionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"IntersectionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMixedTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"MixedTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEmptyTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"EmptyTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNullableTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NullableTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumberLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"NumberTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeInternalSlot(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeInternalSlot\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeCallProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeCallProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeIndexer(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeIndexer\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectTypeSpreadProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"ObjectTypeSpreadProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOpaqueType(node, opts) {\n if (!node) return false;\n if (node.type !== \"OpaqueType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isQualifiedTypeIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"QualifiedTypeIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringLiteralTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringLiteralTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStringTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"StringTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSymbolTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"SymbolTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isThisTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"ThisTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTupleTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TupleTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeofTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeofTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeAlias(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeAlias\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeCastExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeCastExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameter(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameter\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameterDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameterDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeParameterInstantiation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TypeParameterInstantiation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnionTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"UnionTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVariance(node, opts) {\n if (!node) return false;\n if (node.type !== \"Variance\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVoidTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"VoidTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBooleanBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumBooleanBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumNumberBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumNumberBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumStringBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumStringBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumSymbolBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumSymbolBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBooleanMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumBooleanMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumNumberMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumNumberMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumStringMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumStringMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumDefaultedMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"EnumDefaultedMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"IndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isOptionalIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"OptionalIndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXClosingElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXClosingElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXEmptyExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXEmptyExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXExpressionContainer(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXExpressionContainer\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXSpreadChild(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXSpreadChild\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXMemberExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXMemberExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXNamespacedName(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXNamespacedName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXOpeningElement(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXOpeningElement\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXSpreadAttribute(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXSpreadAttribute\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXText(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXText\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXOpeningFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXOpeningFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSXClosingFragment(node, opts) {\n if (!node) return false;\n if (node.type !== \"JSXClosingFragment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNoop(node, opts) {\n if (!node) return false;\n if (node.type !== \"Noop\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPlaceholder(node, opts) {\n if (!node) return false;\n if (node.type !== \"Placeholder\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isV8IntrinsicIdentifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"V8IntrinsicIdentifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isArgumentPlaceholder(node, opts) {\n if (!node) return false;\n if (node.type !== \"ArgumentPlaceholder\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBindExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"BindExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDecorator(node, opts) {\n if (!node) return false;\n if (node.type !== \"Decorator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDoExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"DoExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDefaultSpecifier(node, opts) {\n if (!node) return false;\n if (node.type !== \"ExportDefaultSpecifier\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRecordExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"RecordExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTupleExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TupleExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDecimalLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"DecimalLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"ModuleExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTopicReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TopicReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelineTopicExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelineTopicExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelineBareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelineBareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPipelinePrimaryTopicReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"PipelinePrimaryTopicReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isVoidPattern(node, opts) {\n if (!node) return false;\n if (node.type !== \"VoidPattern\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSParameterProperty(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSParameterProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSDeclareFunction(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSDeclareFunction\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSDeclareMethod(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSDeclareMethod\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSQualifiedName(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSQualifiedName\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSCallSignatureDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSCallSignatureDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConstructSignatureDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConstructSignatureDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSPropertySignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSPropertySignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSMethodSignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSMethodSignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIndexSignature(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIndexSignature\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSAnyKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSAnyKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBooleanKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSBooleanKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBigIntKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSBigIntKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIntrinsicKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIntrinsicKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNeverKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNeverKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNullKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNullKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNumberKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNumberKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSObjectKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSObjectKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSStringKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSStringKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSSymbolKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSSymbolKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUndefinedKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUndefinedKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUnknownKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUnknownKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSVoidKeyword(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSVoidKeyword\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSThisType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSThisType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSFunctionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSFunctionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConstructorType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConstructorType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypePredicate(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypePredicate\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeQuery(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeQuery\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeLiteral(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSArrayType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSArrayType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTupleType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTupleType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSOptionalType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSOptionalType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSRestType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSRestType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNamedTupleMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNamedTupleMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSUnionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSUnionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIntersectionType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIntersectionType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSConditionalType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSConditionalType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInferType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInferType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSParenthesizedType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSParenthesizedType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeOperator(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeOperator\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSIndexedAccessType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSIndexedAccessType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSMappedType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSMappedType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTemplateLiteralType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTemplateLiteralType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSLiteralType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSLiteralType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExpressionWithTypeArguments(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExpressionWithTypeArguments\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInterfaceDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInterfaceDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInterfaceBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInterfaceBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAliasDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAliasDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSInstantiationExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSInstantiationExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSAsExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSAsExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSSatisfiesExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSSatisfiesExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAssertion(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAssertion\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEnumBody(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSEnumBody\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEnumDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSEnumDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEnumMember(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSEnumMember\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSModuleDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSModuleDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSModuleBlock(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSModuleBlock\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSImportType(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSImportType\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSImportEqualsDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSImportEqualsDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExternalModuleReference(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExternalModuleReference\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNonNullExpression(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNonNullExpression\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSExportAssignment(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSExportAssignment\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSNamespaceExportDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSNamespaceExportDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeAnnotation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeAnnotation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameterInstantiation(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameterInstantiation\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameterDeclaration(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameterDeclaration\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeParameter(node, opts) {\n if (!node) return false;\n if (node.type !== \"TSTypeParameter\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStandardized(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"InterpreterDirective\":\n case \"Directive\":\n case \"DirectiveLiteral\":\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"CallExpression\":\n case \"CatchClause\":\n case \"ConditionalExpression\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"File\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"Program\":\n case \"ObjectExpression\":\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"RestElement\":\n case \"ReturnStatement\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"SwitchCase\":\n case \"SwitchStatement\":\n case \"ThisExpression\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"VariableDeclaration\":\n case \"VariableDeclarator\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ArrowFunctionExpression\":\n case \"ClassBody\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ExportSpecifier\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"ClassMethod\":\n case \"ObjectPattern\":\n case \"SpreadElement\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateElement\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"ExportNamespaceSpecifier\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n case \"StaticBlock\":\n case \"ImportAttribute\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Identifier\":\n case \"StringLiteral\":\n case \"BlockStatement\":\n case \"ClassBody\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpression(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ArrayExpression\":\n case \"AssignmentExpression\":\n case \"BinaryExpression\":\n case \"CallExpression\":\n case \"ConditionalExpression\":\n case \"FunctionExpression\":\n case \"Identifier\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"LogicalExpression\":\n case \"MemberExpression\":\n case \"NewExpression\":\n case \"ObjectExpression\":\n case \"SequenceExpression\":\n case \"ParenthesizedExpression\":\n case \"ThisExpression\":\n case \"UnaryExpression\":\n case \"UpdateExpression\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ImportExpression\":\n case \"MetaProperty\":\n case \"Super\":\n case \"TaggedTemplateExpression\":\n case \"TemplateLiteral\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n case \"Import\":\n case \"BigIntLiteral\":\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n case \"TypeCastExpression\":\n case \"JSXElement\":\n case \"JSXFragment\":\n case \"BindExpression\":\n case \"DoExpression\":\n case \"RecordExpression\":\n case \"TupleExpression\":\n case \"DecimalLiteral\":\n case \"ModuleExpression\":\n case \"TopicReference\":\n case \"PipelineTopicExpression\":\n case \"PipelineBareFunction\":\n case \"PipelinePrimaryTopicReference\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Expression\":\n case \"Identifier\":\n case \"StringLiteral\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBinary(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isScopable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlockParent(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"CatchClause\":\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"Program\":\n case \"ObjectMethod\":\n case \"SwitchStatement\":\n case \"WhileStatement\":\n case \"ArrowFunctionExpression\":\n case \"ForOfStatement\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isBlock(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"Program\":\n case \"TSModuleBlock\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"BlockStatement\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BlockStatement\":\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"DebuggerStatement\":\n case \"DoWhileStatement\":\n case \"EmptyStatement\":\n case \"ExpressionStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"FunctionDeclaration\":\n case \"IfStatement\":\n case \"LabeledStatement\":\n case \"ReturnStatement\":\n case \"SwitchStatement\":\n case \"ThrowStatement\":\n case \"TryStatement\":\n case \"VariableDeclaration\":\n case \"WhileStatement\":\n case \"WithStatement\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ForOfStatement\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Statement\":\n case \"Declaration\":\n case \"BlockStatement\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTerminatorless(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n case \"YieldExpression\":\n case \"AwaitExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isCompletionStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"BreakStatement\":\n case \"ContinueStatement\":\n case \"ReturnStatement\":\n case \"ThrowStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isConditional(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ConditionalExpression\":\n case \"IfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLoop(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"WhileStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isWhile(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DoWhileStatement\":\n case \"WhileStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExpressionWrapper(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExpressionStatement\":\n case \"ParenthesizedExpression\":\n case \"TypeCastExpression\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFor(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isForXStatement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ForInStatement\":\n case \"ForOfStatement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunction(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionParent(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"ObjectMethod\":\n case \"ArrowFunctionExpression\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"StaticBlock\":\n case \"TSModuleBlock\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPureish(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"ArrowFunctionExpression\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"FunctionDeclaration\":\n case \"VariableDeclaration\":\n case \"ClassDeclaration\":\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n case \"EnumDeclaration\":\n case \"TSDeclareFunction\":\n case \"TSInterfaceDeclaration\":\n case \"TSTypeAliasDeclaration\":\n case \"TSEnumDeclaration\":\n case \"TSModuleDeclaration\":\n case \"TSImportEqualsDeclaration\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Declaration\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFunctionParameter(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"VoidPattern\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Identifier\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPatternLike(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"VoidPattern\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLVal(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"MemberExpression\":\n case \"RestElement\":\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"TSParameterProperty\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSNonNullExpression\":\n break;\n case \"Placeholder\":\n switch (node.expectedNode) {\n case \"Pattern\":\n case \"Identifier\":\n break;\n default:\n return false;\n }\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSEntityName(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Identifier\":\n case \"TSQualifiedName\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Identifier\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isLiteral(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"RegExpLiteral\":\n case \"TemplateLiteral\":\n case \"BigIntLiteral\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImmutable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"NullLiteral\":\n case \"BooleanLiteral\":\n case \"BigIntLiteral\":\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXOpeningElement\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n case \"DecimalLiteral\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"StringLiteral\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUserWhitespacable(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMethod(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isObjectMember(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectMethod\":\n case \"ObjectProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isProperty(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ObjectProperty\":\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n case \"ClassPrivateProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isUnaryLike(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"UnaryExpression\":\n case \"SpreadElement\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPattern(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AssignmentPattern\":\n case \"ArrayPattern\":\n case \"ObjectPattern\":\n case \"VoidPattern\":\n break;\n case \"Placeholder\":\n if (node.expectedNode === \"Pattern\") break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isClass(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isImportOrExportDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n case \"ImportDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isExportDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportAllDeclaration\":\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleSpecifier(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ExportSpecifier\":\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isAccessor(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassAccessorProperty\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isPrivate(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"ClassPrivateProperty\":\n case \"ClassPrivateMethod\":\n case \"PrivateName\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlow(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ClassImplements\":\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"DeclaredPredicate\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"FunctionTypeParam\":\n case \"GenericTypeAnnotation\":\n case \"InferredPredicate\":\n case \"InterfaceExtends\":\n case \"InterfaceDeclaration\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"ObjectTypeInternalSlot\":\n case \"ObjectTypeCallProperty\":\n case \"ObjectTypeIndexer\":\n case \"ObjectTypeProperty\":\n case \"ObjectTypeSpreadProperty\":\n case \"OpaqueType\":\n case \"QualifiedTypeIdentifier\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"TypeAlias\":\n case \"TypeAnnotation\":\n case \"TypeCastExpression\":\n case \"TypeParameter\":\n case \"TypeParameterDeclaration\":\n case \"TypeParameterInstantiation\":\n case \"UnionTypeAnnotation\":\n case \"Variance\":\n case \"VoidTypeAnnotation\":\n case \"EnumDeclaration\":\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"ArrayTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"BooleanLiteralTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"ExistsTypeAnnotation\":\n case \"FunctionTypeAnnotation\":\n case \"GenericTypeAnnotation\":\n case \"InterfaceTypeAnnotation\":\n case \"IntersectionTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NullableTypeAnnotation\":\n case \"NumberLiteralTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"ObjectTypeAnnotation\":\n case \"StringLiteralTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"TupleTypeAnnotation\":\n case \"TypeofTypeAnnotation\":\n case \"UnionTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n case \"IndexedAccessType\":\n case \"OptionalIndexedAccessType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowBaseAnnotation(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"AnyTypeAnnotation\":\n case \"BooleanTypeAnnotation\":\n case \"NullLiteralTypeAnnotation\":\n case \"MixedTypeAnnotation\":\n case \"EmptyTypeAnnotation\":\n case \"NumberTypeAnnotation\":\n case \"StringTypeAnnotation\":\n case \"SymbolTypeAnnotation\":\n case \"ThisTypeAnnotation\":\n case \"VoidTypeAnnotation\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowDeclaration(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DeclareClass\":\n case \"DeclareFunction\":\n case \"DeclareInterface\":\n case \"DeclareModule\":\n case \"DeclareModuleExports\":\n case \"DeclareTypeAlias\":\n case \"DeclareOpaqueType\":\n case \"DeclareVariable\":\n case \"DeclareExportDeclaration\":\n case \"DeclareExportAllDeclaration\":\n case \"InterfaceDeclaration\":\n case \"OpaqueType\":\n case \"TypeAlias\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isFlowPredicate(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"DeclaredPredicate\":\n case \"InferredPredicate\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumBody(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isEnumMember(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n case \"EnumDefaultedMember\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isJSX(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"JSXAttribute\":\n case \"JSXClosingElement\":\n case \"JSXElement\":\n case \"JSXEmptyExpression\":\n case \"JSXExpressionContainer\":\n case \"JSXSpreadChild\":\n case \"JSXIdentifier\":\n case \"JSXMemberExpression\":\n case \"JSXNamespacedName\":\n case \"JSXOpeningElement\":\n case \"JSXSpreadAttribute\":\n case \"JSXText\":\n case \"JSXFragment\":\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isMiscellaneous(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"Noop\":\n case \"Placeholder\":\n case \"V8IntrinsicIdentifier\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTypeScript(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSParameterProperty\":\n case \"TSDeclareFunction\":\n case \"TSDeclareMethod\":\n case \"TSQualifiedName\":\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSNamedTupleMember\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSTemplateLiteralType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSInterfaceDeclaration\":\n case \"TSInterfaceBody\":\n case \"TSTypeAliasDeclaration\":\n case \"TSInstantiationExpression\":\n case \"TSAsExpression\":\n case \"TSSatisfiesExpression\":\n case \"TSTypeAssertion\":\n case \"TSEnumBody\":\n case \"TSEnumDeclaration\":\n case \"TSEnumMember\":\n case \"TSModuleDeclaration\":\n case \"TSModuleBlock\":\n case \"TSImportType\":\n case \"TSImportEqualsDeclaration\":\n case \"TSExternalModuleReference\":\n case \"TSNonNullExpression\":\n case \"TSExportAssignment\":\n case \"TSNamespaceExportDeclaration\":\n case \"TSTypeAnnotation\":\n case \"TSTypeParameterInstantiation\":\n case \"TSTypeParameterDeclaration\":\n case \"TSTypeParameter\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSTypeElement(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructSignatureDeclaration\":\n case \"TSPropertySignature\":\n case \"TSMethodSignature\":\n case \"TSIndexSignature\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n case \"TSTypeReference\":\n case \"TSTypePredicate\":\n case \"TSTypeQuery\":\n case \"TSTypeLiteral\":\n case \"TSArrayType\":\n case \"TSTupleType\":\n case \"TSOptionalType\":\n case \"TSRestType\":\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n case \"TSConditionalType\":\n case \"TSInferType\":\n case \"TSParenthesizedType\":\n case \"TSTypeOperator\":\n case \"TSIndexedAccessType\":\n case \"TSMappedType\":\n case \"TSTemplateLiteralType\":\n case \"TSLiteralType\":\n case \"TSExpressionWithTypeArguments\":\n case \"TSImportType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isTSBaseType(node, opts) {\n if (!node) return false;\n switch (node.type) {\n case \"TSAnyKeyword\":\n case \"TSBooleanKeyword\":\n case \"TSBigIntKeyword\":\n case \"TSIntrinsicKeyword\":\n case \"TSNeverKeyword\":\n case \"TSNullKeyword\":\n case \"TSNumberKeyword\":\n case \"TSObjectKeyword\":\n case \"TSStringKeyword\":\n case \"TSSymbolKeyword\":\n case \"TSUndefinedKeyword\":\n case \"TSUnknownKeyword\":\n case \"TSVoidKeyword\":\n case \"TSThisType\":\n case \"TSTemplateLiteralType\":\n case \"TSLiteralType\":\n break;\n default:\n return false;\n }\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isNumberLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"isNumberLiteral\", \"isNumericLiteral\");\n if (!node) return false;\n if (node.type !== \"NumberLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRegexLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"isRegexLiteral\", \"isRegExpLiteral\");\n if (!node) return false;\n if (node.type !== \"RegexLiteral\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isRestProperty(node, opts) {\n (0, _deprecationWarning.default)(\"isRestProperty\", \"isRestElement\");\n if (!node) return false;\n if (node.type !== \"RestProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isSpreadProperty(node, opts) {\n (0, _deprecationWarning.default)(\"isSpreadProperty\", \"isSpreadElement\");\n if (!node) return false;\n if (node.type !== \"SpreadProperty\") return false;\n return opts == null || (0, _shallowEqual.default)(node, opts);\n}\nfunction isModuleDeclaration(node, opts) {\n (0, _deprecationWarning.default)(\"isModuleDeclaration\", \"isImportOrExportDeclaration\");\n return isImportOrExportDeclaration(node, opts);\n}\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = matchesPattern;\nvar _index = require(\"./generated/index.js\");\nfunction isMemberExpressionLike(node) {\n return (0, _index.isMemberExpression)(node) || (0, _index.isMetaProperty)(node);\n}\nfunction matchesPattern(member, match, allowPartial) {\n if (!isMemberExpressionLike(member)) return false;\n const parts = Array.isArray(match) ? match : match.split(\".\");\n const nodes = [];\n let node;\n for (node = member; isMemberExpressionLike(node); node = (_object = node.object) != null ? _object : node.meta) {\n var _object;\n nodes.push(node.property);\n }\n nodes.push(node);\n if (nodes.length < parts.length) return false;\n if (!allowPartial && nodes.length > parts.length) return false;\n for (let i = 0, j = nodes.length - 1; i < parts.length; i++, j--) {\n const node = nodes[j];\n let value;\n if ((0, _index.isIdentifier)(node)) {\n value = node.name;\n } else if ((0, _index.isStringLiteral)(node)) {\n value = node.value;\n } else if ((0, _index.isThisExpression)(node)) {\n value = \"this\";\n } else if ((0, _index.isSuper)(node)) {\n value = \"super\";\n } else if ((0, _index.isPrivateName)(node)) {\n value = \"#\" + node.id.name;\n } else {\n return false;\n }\n if (parts[i] !== value) return false;\n }\n return true;\n}\n\n//# sourceMappingURL=matchesPattern.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildMatchMemberExpression;\nvar _matchesPattern = require(\"./matchesPattern.js\");\nfunction buildMatchMemberExpression(match, allowPartial) {\n const parts = match.split(\".\");\n return member => (0, _matchesPattern.default)(member, parts, allowPartial);\n}\n\n//# sourceMappingURL=buildMatchMemberExpression.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _buildMatchMemberExpression = require(\"../buildMatchMemberExpression.js\");\nconst isReactComponent = (0, _buildMatchMemberExpression.default)(\"React.Component\");\nvar _default = exports.default = isReactComponent;\n\n//# sourceMappingURL=isReactComponent.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isCompatTag;\nfunction isCompatTag(tagName) {\n return !!tagName && /^[a-z]/.test(tagName);\n}\n\n//# sourceMappingURL=isCompatTag.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isType;\nvar _index = require(\"../definitions/index.js\");\nfunction isType(nodeType, targetType) {\n if (nodeType === targetType) return true;\n if (nodeType == null) return false;\n if (_index.ALIAS_KEYS[targetType]) return false;\n const aliases = _index.FLIPPED_ALIAS_KEYS[targetType];\n if (aliases != null && aliases.includes(nodeType)) return true;\n return false;\n}\n\n//# sourceMappingURL=isType.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPlaceholderType;\nvar _index = require(\"../definitions/index.js\");\nfunction isPlaceholderType(placeholderType, targetType) {\n if (placeholderType === targetType) return true;\n const aliases = _index.PLACEHOLDERS_ALIAS[placeholderType];\n if (aliases != null && aliases.includes(targetType)) return true;\n return false;\n}\n\n//# sourceMappingURL=isPlaceholderType.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = is;\nvar _shallowEqual = require(\"../utils/shallowEqual.js\");\nvar _isType = require(\"./isType.js\");\nvar _isPlaceholderType = require(\"./isPlaceholderType.js\");\nvar _index = require(\"../definitions/index.js\");\nfunction is(type, node, opts) {\n if (!node) return false;\n const matches = (0, _isType.default)(node.type, type);\n if (!matches) {\n if (!opts && node.type === \"Placeholder\" && type in _index.FLIPPED_ALIAS_KEYS) {\n return (0, _isPlaceholderType.default)(node.expectedNode, type);\n }\n return false;\n }\n if (opts === undefined) {\n return true;\n } else {\n return (0, _shallowEqual.default)(node, opts);\n }\n}\n\n//# sourceMappingURL=is.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isIdentifierChar = isIdentifierChar;\nexports.isIdentifierName = isIdentifierName;\nexports.isIdentifierStart = isIdentifierStart;\nlet nonASCIIidentifierStartChars = \"\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u052f\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05d0-\\u05ea\\u05ef-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086a\\u0870-\\u0887\\u0889-\\u088e\\u08a0-\\u08c9\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u09fc\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0af9\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c58-\\u0c5a\\u0c5d\\u0c60\\u0c61\\u0c80\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cdd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d04-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d54-\\u0d56\\u0d5f-\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e86-\\u0e8a\\u0e8c-\\u0ea3\\u0ea5\\u0ea7-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f8\\u1700-\\u1711\\u171f-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1878\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4c\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1c80-\\u1c8a\\u1c90-\\u1cba\\u1cbd-\\u1cbf\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1cfa\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2118-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309b-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u31a0-\\u31bf\\u31f0-\\u31ff\\u3400-\\u4dbf\\u4e00-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua69d\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua7cd\\ua7d0\\ua7d1\\ua7d3\\ua7d5-\\ua7dc\\ua7f2-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua8fd\\ua8fe\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\ua9e0-\\ua9e4\\ua9e6-\\ua9ef\\ua9fa-\\ua9fe\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa7e-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab5a\\uab5c-\\uab69\\uab70-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc\";\nlet nonASCIIidentifierChars = \"\\xb7\\u0300-\\u036f\\u0387\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u0669\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u06f0-\\u06f9\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07c0-\\u07c9\\u07eb-\\u07f3\\u07fd\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u0897-\\u089f\\u08ca-\\u08e1\\u08e3-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09cb-\\u09cd\\u09d7\\u09e2\\u09e3\\u09e6-\\u09ef\\u09fe\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2\\u0ae3\\u0ae6-\\u0aef\\u0afa-\\u0aff\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b55-\\u0b57\\u0b62\\u0b63\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c00-\\u0c04\\u0c3c\\u0c3e-\\u0c44\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0c66-\\u0c6f\\u0c81-\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0ce6-\\u0cef\\u0cf3\\u0d00-\\u0d03\\u0d3b\\u0d3c\\u0d3e-\\u0d44\\u0d46-\\u0d48\\u0d4a-\\u0d4d\\u0d57\\u0d62\\u0d63\\u0d66-\\u0d6f\\u0d81-\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2\\u0df3\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0e50-\\u0e59\\u0eb1\\u0eb4-\\u0ebc\\u0ec8-\\u0ece\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f3e\\u0f3f\\u0f71-\\u0f84\\u0f86\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102b-\\u103e\\u1040-\\u1049\\u1056-\\u1059\\u105e-\\u1060\\u1062-\\u1064\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u1369-\\u1371\\u1712-\\u1715\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b4-\\u17d3\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u180f-\\u1819\\u18a9\\u1920-\\u192b\\u1930-\\u193b\\u1946-\\u194f\\u19d0-\\u19da\\u1a17-\\u1a1b\\u1a55-\\u1a5e\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1ab0-\\u1abd\\u1abf-\\u1ace\\u1b00-\\u1b04\\u1b34-\\u1b44\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1b80-\\u1b82\\u1ba1-\\u1bad\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c24-\\u1c37\\u1c40-\\u1c49\\u1c50-\\u1c59\\u1cd0-\\u1cd2\\u1cd4-\\u1ce8\\u1ced\\u1cf4\\u1cf7-\\u1cf9\\u1dc0-\\u1dff\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\u30fb\\ua620-\\ua629\\ua66f\\ua674-\\ua67d\\ua69e\\ua69f\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua823-\\ua827\\ua82c\\ua880\\ua881\\ua8b4-\\ua8c5\\ua8d0-\\ua8d9\\ua8e0-\\ua8f1\\ua8ff-\\ua909\\ua926-\\ua92d\\ua947-\\ua953\\ua980-\\ua983\\ua9b3-\\ua9c0\\ua9d0-\\ua9d9\\ua9e5\\ua9f0-\\ua9f9\\uaa29-\\uaa36\\uaa43\\uaa4c\\uaa4d\\uaa50-\\uaa59\\uaa7b-\\uaa7d\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uaaeb-\\uaaef\\uaaf5\\uaaf6\\uabe3-\\uabea\\uabec\\uabed\\uabf0-\\uabf9\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f\\uff65\";\nconst nonASCIIidentifierStart = new RegExp(\"[\" + nonASCIIidentifierStartChars + \"]\");\nconst nonASCIIidentifier = new RegExp(\"[\" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + \"]\");\nnonASCIIidentifierStartChars = nonASCIIidentifierChars = null;\nconst astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];\nconst astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];\nfunction isInAstralSet(code, set) {\n let pos = 0x10000;\n for (let i = 0, length = set.length; i < length; i += 2) {\n pos += set[i];\n if (pos > code) return false;\n pos += set[i + 1];\n if (pos >= code) return true;\n }\n return false;\n}\nfunction isIdentifierStart(code) {\n if (code < 65) return code === 36;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes);\n}\nfunction isIdentifierChar(code) {\n if (code < 48) return code === 36;\n if (code < 58) return true;\n if (code < 65) return false;\n if (code <= 90) return true;\n if (code < 97) return code === 95;\n if (code <= 122) return true;\n if (code <= 0xffff) {\n return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));\n }\n return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);\n}\nfunction isIdentifierName(name) {\n let isFirst = true;\n for (let i = 0; i < name.length; i++) {\n let cp = name.charCodeAt(i);\n if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {\n const trail = name.charCodeAt(++i);\n if ((trail & 0xfc00) === 0xdc00) {\n cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);\n }\n }\n if (isFirst) {\n isFirst = false;\n if (!isIdentifierStart(cp)) {\n return false;\n }\n } else if (!isIdentifierChar(cp)) {\n return false;\n }\n }\n return !isFirst;\n}\n\n//# sourceMappingURL=identifier.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isKeyword = isKeyword;\nexports.isReservedWord = isReservedWord;\nexports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;\nexports.isStrictBindReservedWord = isStrictBindReservedWord;\nexports.isStrictReservedWord = isStrictReservedWord;\nconst reservedWords = {\n keyword: [\"break\", \"case\", \"catch\", \"continue\", \"debugger\", \"default\", \"do\", \"else\", \"finally\", \"for\", \"function\", \"if\", \"return\", \"switch\", \"throw\", \"try\", \"var\", \"const\", \"while\", \"with\", \"new\", \"this\", \"super\", \"class\", \"extends\", \"export\", \"import\", \"null\", \"true\", \"false\", \"in\", \"instanceof\", \"typeof\", \"void\", \"delete\"],\n strict: [\"implements\", \"interface\", \"let\", \"package\", \"private\", \"protected\", \"public\", \"static\", \"yield\"],\n strictBind: [\"eval\", \"arguments\"]\n};\nconst keywords = new Set(reservedWords.keyword);\nconst reservedWordsStrictSet = new Set(reservedWords.strict);\nconst reservedWordsStrictBindSet = new Set(reservedWords.strictBind);\nfunction isReservedWord(word, inModule) {\n return inModule && word === \"await\" || word === \"enum\";\n}\nfunction isStrictReservedWord(word, inModule) {\n return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);\n}\nfunction isStrictBindOnlyReservedWord(word) {\n return reservedWordsStrictBindSet.has(word);\n}\nfunction isStrictBindReservedWord(word, inModule) {\n return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);\n}\nfunction isKeyword(word) {\n return keywords.has(word);\n}\n\n//# sourceMappingURL=keyword.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"isIdentifierChar\", {\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierChar;\n }\n});\nObject.defineProperty(exports, \"isIdentifierName\", {\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierName;\n }\n});\nObject.defineProperty(exports, \"isIdentifierStart\", {\n enumerable: true,\n get: function () {\n return _identifier.isIdentifierStart;\n }\n});\nObject.defineProperty(exports, \"isKeyword\", {\n enumerable: true,\n get: function () {\n return _keyword.isKeyword;\n }\n});\nObject.defineProperty(exports, \"isReservedWord\", {\n enumerable: true,\n get: function () {\n return _keyword.isReservedWord;\n }\n});\nObject.defineProperty(exports, \"isStrictBindOnlyReservedWord\", {\n enumerable: true,\n get: function () {\n return _keyword.isStrictBindOnlyReservedWord;\n }\n});\nObject.defineProperty(exports, \"isStrictBindReservedWord\", {\n enumerable: true,\n get: function () {\n return _keyword.isStrictBindReservedWord;\n }\n});\nObject.defineProperty(exports, \"isStrictReservedWord\", {\n enumerable: true,\n get: function () {\n return _keyword.isStrictReservedWord;\n }\n});\nvar _identifier = require(\"./identifier.js\");\nvar _keyword = require(\"./keyword.js\");\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidIdentifier;\nvar _helperValidatorIdentifier = require(\"@babel/helper-validator-identifier\");\nfunction isValidIdentifier(name, reserved = true) {\n if (typeof name !== \"string\") return false;\n if (reserved) {\n if ((0, _helperValidatorIdentifier.isKeyword)(name) || (0, _helperValidatorIdentifier.isStrictReservedWord)(name, true)) {\n return false;\n }\n }\n return (0, _helperValidatorIdentifier.isIdentifierName)(name);\n}\n\n//# sourceMappingURL=isValidIdentifier.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.readCodePoint = readCodePoint;\nexports.readInt = readInt;\nexports.readStringContents = readStringContents;\nvar _isDigit = function isDigit(code) {\n return code >= 48 && code <= 57;\n};\nconst forbiddenNumericSeparatorSiblings = {\n decBinOct: new Set([46, 66, 69, 79, 95, 98, 101, 111]),\n hex: new Set([46, 88, 95, 120])\n};\nconst isAllowedNumericSeparatorSibling = {\n bin: ch => ch === 48 || ch === 49,\n oct: ch => ch >= 48 && ch <= 55,\n dec: ch => ch >= 48 && ch <= 57,\n hex: ch => ch >= 48 && ch <= 57 || ch >= 65 && ch <= 70 || ch >= 97 && ch <= 102\n};\nfunction readStringContents(type, input, pos, lineStart, curLine, errors) {\n const initialPos = pos;\n const initialLineStart = lineStart;\n const initialCurLine = curLine;\n let out = \"\";\n let firstInvalidLoc = null;\n let chunkStart = pos;\n const {\n length\n } = input;\n for (;;) {\n if (pos >= length) {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n out += input.slice(chunkStart, pos);\n break;\n }\n const ch = input.charCodeAt(pos);\n if (isStringEnd(type, ch, input, pos)) {\n out += input.slice(chunkStart, pos);\n break;\n }\n if (ch === 92) {\n out += input.slice(chunkStart, pos);\n const res = readEscapedChar(input, pos, lineStart, curLine, type === \"template\", errors);\n if (res.ch === null && !firstInvalidLoc) {\n firstInvalidLoc = {\n pos,\n lineStart,\n curLine\n };\n } else {\n out += res.ch;\n }\n ({\n pos,\n lineStart,\n curLine\n } = res);\n chunkStart = pos;\n } else if (ch === 8232 || ch === 8233) {\n ++pos;\n ++curLine;\n lineStart = pos;\n } else if (ch === 10 || ch === 13) {\n if (type === \"template\") {\n out += input.slice(chunkStart, pos) + \"\\n\";\n ++pos;\n if (ch === 13 && input.charCodeAt(pos) === 10) {\n ++pos;\n }\n ++curLine;\n chunkStart = lineStart = pos;\n } else {\n errors.unterminated(initialPos, initialLineStart, initialCurLine);\n }\n } else {\n ++pos;\n }\n }\n return {\n pos,\n str: out,\n firstInvalidLoc,\n lineStart,\n curLine,\n containsInvalid: !!firstInvalidLoc\n };\n}\nfunction isStringEnd(type, ch, input, pos) {\n if (type === \"template\") {\n return ch === 96 || ch === 36 && input.charCodeAt(pos + 1) === 123;\n }\n return ch === (type === \"double\" ? 34 : 39);\n}\nfunction readEscapedChar(input, pos, lineStart, curLine, inTemplate, errors) {\n const throwOnInvalid = !inTemplate;\n pos++;\n const res = ch => ({\n pos,\n ch,\n lineStart,\n curLine\n });\n const ch = input.charCodeAt(pos++);\n switch (ch) {\n case 110:\n return res(\"\\n\");\n case 114:\n return res(\"\\r\");\n case 120:\n {\n let code;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 2, false, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCharCode(code));\n }\n case 117:\n {\n let code;\n ({\n code,\n pos\n } = readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors));\n return res(code === null ? null : String.fromCodePoint(code));\n }\n case 116:\n return res(\"\\t\");\n case 98:\n return res(\"\\b\");\n case 118:\n return res(\"\\u000b\");\n case 102:\n return res(\"\\f\");\n case 13:\n if (input.charCodeAt(pos) === 10) {\n ++pos;\n }\n case 10:\n lineStart = pos;\n ++curLine;\n case 8232:\n case 8233:\n return res(\"\");\n case 56:\n case 57:\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(pos - 1, lineStart, curLine);\n }\n default:\n if (ch >= 48 && ch <= 55) {\n const startPos = pos - 1;\n const match = /^[0-7]+/.exec(input.slice(startPos, pos + 2));\n let octalStr = match[0];\n let octal = parseInt(octalStr, 8);\n if (octal > 255) {\n octalStr = octalStr.slice(0, -1);\n octal = parseInt(octalStr, 8);\n }\n pos += octalStr.length - 1;\n const next = input.charCodeAt(pos);\n if (octalStr !== \"0\" || next === 56 || next === 57) {\n if (inTemplate) {\n return res(null);\n } else {\n errors.strictNumericEscape(startPos, lineStart, curLine);\n }\n }\n return res(String.fromCharCode(octal));\n }\n return res(String.fromCharCode(ch));\n }\n}\nfunction readHexChar(input, pos, lineStart, curLine, len, forceLen, throwOnInvalid, errors) {\n const initialPos = pos;\n let n;\n ({\n n,\n pos\n } = readInt(input, pos, lineStart, curLine, 16, len, forceLen, false, errors, !throwOnInvalid));\n if (n === null) {\n if (throwOnInvalid) {\n errors.invalidEscapeSequence(initialPos, lineStart, curLine);\n } else {\n pos = initialPos - 1;\n }\n }\n return {\n code: n,\n pos\n };\n}\nfunction readInt(input, pos, lineStart, curLine, radix, len, forceLen, allowNumSeparator, errors, bailOnError) {\n const start = pos;\n const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;\n const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;\n let invalid = false;\n let total = 0;\n for (let i = 0, e = len == null ? Infinity : len; i < e; ++i) {\n const code = input.charCodeAt(pos);\n let val;\n if (code === 95 && allowNumSeparator !== \"bail\") {\n const prev = input.charCodeAt(pos - 1);\n const next = input.charCodeAt(pos + 1);\n if (!allowNumSeparator) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.numericSeparatorInEscapeSequence(pos, lineStart, curLine);\n } else if (Number.isNaN(next) || !isAllowedSibling(next) || forbiddenSiblings.has(prev) || forbiddenSiblings.has(next)) {\n if (bailOnError) return {\n n: null,\n pos\n };\n errors.unexpectedNumericSeparator(pos, lineStart, curLine);\n }\n ++pos;\n continue;\n }\n if (code >= 97) {\n val = code - 97 + 10;\n } else if (code >= 65) {\n val = code - 65 + 10;\n } else if (_isDigit(code)) {\n val = code - 48;\n } else {\n val = Infinity;\n }\n if (val >= radix) {\n if (val <= 9 && bailOnError) {\n return {\n n: null,\n pos\n };\n } else if (val <= 9 && errors.invalidDigit(pos, lineStart, curLine, radix)) {\n val = 0;\n } else if (forceLen) {\n val = 0;\n invalid = true;\n } else {\n break;\n }\n }\n ++pos;\n total = total * radix + val;\n }\n if (pos === start || len != null && pos - start !== len || invalid) {\n return {\n n: null,\n pos\n };\n }\n return {\n n: total,\n pos\n };\n}\nfunction readCodePoint(input, pos, lineStart, curLine, throwOnInvalid, errors) {\n const ch = input.charCodeAt(pos);\n let code;\n if (ch === 123) {\n ++pos;\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, input.indexOf(\"}\", pos) - pos, true, throwOnInvalid, errors));\n ++pos;\n if (code !== null && code > 0x10ffff) {\n if (throwOnInvalid) {\n errors.invalidCodePoint(pos, lineStart, curLine);\n } else {\n return {\n code: null,\n pos\n };\n }\n }\n } else {\n ({\n code,\n pos\n } = readHexChar(input, pos, lineStart, curLine, 4, false, throwOnInvalid, errors));\n }\n return {\n code,\n pos\n };\n}\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UPDATE_OPERATORS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.STATEMENT_OR_BLOCK_KEYS = exports.NUMBER_UNARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.LOGICAL_OPERATORS = exports.INHERIT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.EQUALITY_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.COMMENT_KEYS = exports.BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.BINARY_OPERATORS = exports.ASSIGNMENT_OPERATORS = void 0;\nconst STATEMENT_OR_BLOCK_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = [\"consequent\", \"body\", \"alternate\"];\nconst FLATTENABLE_KEYS = exports.FLATTENABLE_KEYS = [\"body\", \"expressions\"];\nconst FOR_INIT_KEYS = exports.FOR_INIT_KEYS = [\"left\", \"init\"];\nconst COMMENT_KEYS = exports.COMMENT_KEYS = [\"leadingComments\", \"trailingComments\", \"innerComments\"];\nconst LOGICAL_OPERATORS = exports.LOGICAL_OPERATORS = [\"||\", \"&&\", \"??\"];\nconst UPDATE_OPERATORS = exports.UPDATE_OPERATORS = [\"++\", \"--\"];\nconst BOOLEAN_NUMBER_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = [\">\", \"<\", \">=\", \"<=\"];\nconst EQUALITY_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = [\"==\", \"===\", \"!=\", \"!==\"];\nconst COMPARISON_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = [...EQUALITY_BINARY_OPERATORS, \"in\", \"instanceof\"];\nconst BOOLEAN_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = [...COMPARISON_BINARY_OPERATORS, ...BOOLEAN_NUMBER_BINARY_OPERATORS];\nconst NUMBER_BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = [\"-\", \"/\", \"%\", \"*\", \"**\", \"&\", \"|\", \">>\", \">>>\", \"<<\", \"^\"];\nconst BINARY_OPERATORS = exports.BINARY_OPERATORS = [\"+\", ...NUMBER_BINARY_OPERATORS, ...BOOLEAN_BINARY_OPERATORS, \"|>\"];\nconst ASSIGNMENT_OPERATORS = exports.ASSIGNMENT_OPERATORS = [\"=\", \"+=\", ...NUMBER_BINARY_OPERATORS.map(op => op + \"=\"), ...LOGICAL_OPERATORS.map(op => op + \"=\")];\nconst BOOLEAN_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = [\"delete\", \"!\"];\nconst NUMBER_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = [\"+\", \"-\", \"~\"];\nconst STRING_UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = [\"typeof\"];\nconst UNARY_OPERATORS = exports.UNARY_OPERATORS = [\"void\", \"throw\", ...BOOLEAN_UNARY_OPERATORS, ...NUMBER_UNARY_OPERATORS, ...STRING_UNARY_OPERATORS];\nconst INHERIT_KEYS = exports.INHERIT_KEYS = {\n optional: [\"typeAnnotation\", \"typeParameters\", \"returnType\"],\n force: [\"start\", \"loc\", \"end\"]\n};\n{\n exports.BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n exports.NOT_LOCAL_BINDING = Symbol.for(\"should not be considered a local binding\");\n}\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.allExpandedTypes = exports.VISITOR_KEYS = exports.NODE_PARENT_VALIDATIONS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.ALIAS_KEYS = void 0;\nexports.arrayOf = arrayOf;\nexports.arrayOfType = arrayOfType;\nexports.assertEach = assertEach;\nexports.assertNodeOrValueType = assertNodeOrValueType;\nexports.assertNodeType = assertNodeType;\nexports.assertOneOf = assertOneOf;\nexports.assertOptionalChainStart = assertOptionalChainStart;\nexports.assertShape = assertShape;\nexports.assertValueType = assertValueType;\nexports.chain = chain;\nexports.default = defineType;\nexports.defineAliasedType = defineAliasedType;\nexports.validate = validate;\nexports.validateArrayOfType = validateArrayOfType;\nexports.validateOptional = validateOptional;\nexports.validateOptionalType = validateOptionalType;\nexports.validateType = validateType;\nvar _is = require(\"../validators/is.js\");\nvar _validate = require(\"../validators/validate.js\");\nconst VISITOR_KEYS = exports.VISITOR_KEYS = {};\nconst ALIAS_KEYS = exports.ALIAS_KEYS = {};\nconst FLIPPED_ALIAS_KEYS = exports.FLIPPED_ALIAS_KEYS = {};\nconst NODE_FIELDS = exports.NODE_FIELDS = {};\nconst BUILDER_KEYS = exports.BUILDER_KEYS = {};\nconst DEPRECATED_KEYS = exports.DEPRECATED_KEYS = {};\nconst NODE_PARENT_VALIDATIONS = exports.NODE_PARENT_VALIDATIONS = {};\nfunction getType(val) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\nfunction validate(validate) {\n return {\n validate\n };\n}\nfunction validateType(...typeNames) {\n return validate(assertNodeType(...typeNames));\n}\nfunction validateOptional(validate) {\n return {\n validate,\n optional: true\n };\n}\nfunction validateOptionalType(...typeNames) {\n return {\n validate: assertNodeType(...typeNames),\n optional: true\n };\n}\nfunction arrayOf(elementType) {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\nfunction arrayOfType(...typeNames) {\n return arrayOf(assertNodeType(...typeNames));\n}\nfunction validateArrayOfType(...typeNames) {\n return validate(arrayOfType(...typeNames));\n}\nfunction assertEach(callback) {\n const childValidator = process.env.BABEL_TYPES_8_BREAKING ? _validate.validateChild : () => {};\n function validator(node, key, val) {\n if (!Array.isArray(val)) return;\n let i = 0;\n const subKey = {\n toString() {\n return `${key}[${i}]`;\n }\n };\n for (; i < val.length; i++) {\n const v = val[i];\n callback(node, subKey, v);\n childValidator(node, subKey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\nfunction assertOneOf(...values) {\n function validate(node, key, val) {\n if (!values.includes(val)) {\n throw new TypeError(`Property ${key} expected value to be one of ${JSON.stringify(values)} but got ${JSON.stringify(val)}`);\n }\n }\n validate.oneOf = values;\n return validate;\n}\nconst allExpandedTypes = exports.allExpandedTypes = [];\nfunction assertNodeType(...types) {\n const expandedTypes = new Set();\n allExpandedTypes.push({\n types,\n set: expandedTypes\n });\n function validate(node, key, val) {\n const valType = val == null ? void 0 : val.type;\n if (valType != null) {\n if (expandedTypes.has(valType)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n if (valType === \"Placeholder\") {\n for (const type of types) {\n if ((0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n }\n }\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(valType)}`);\n }\n validate.oneOfNodeTypes = types;\n return validate;\n}\nfunction assertNodeOrValueType(...types) {\n function validate(node, key, val) {\n const primitiveType = getType(val);\n for (const type of types) {\n if (primitiveType === type || (0, _is.default)(type, val)) {\n (0, _validate.validateChild)(node, key, val);\n return;\n }\n }\n throw new TypeError(`Property ${key} of ${node.type} expected node to be of a type ${JSON.stringify(types)} but instead got ${JSON.stringify(val == null ? void 0 : val.type)}`);\n }\n validate.oneOfNodeOrValueTypes = types;\n return validate;\n}\nfunction assertValueType(type) {\n function validate(node, key, val) {\n if (getType(val) === type) {\n return;\n }\n throw new TypeError(`Property ${key} expected type of ${type} but got ${getType(val)}`);\n }\n validate.type = type;\n return validate;\n}\nfunction assertShape(shape) {\n const keys = Object.keys(shape);\n function validate(node, key, val) {\n const errors = [];\n for (const property of keys) {\n try {\n (0, _validate.validateField)(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(`Property ${key} of ${node.type} expected to have the following:\\n${errors.join(\"\\n\")}`);\n }\n }\n validate.shapeOf = shape;\n return validate;\n}\nfunction assertOptionalChainStart() {\n function validate(node) {\n var _current;\n let current = node;\n while (node) {\n const {\n type\n } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n break;\n }\n throw new TypeError(`Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${(_current = current) == null ? void 0 : _current.type}`);\n }\n return validate;\n}\nfunction chain(...fns) {\n function validate(...args) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n if (fns.length >= 2 && \"type\" in fns[0] && fns[0].type === \"array\" && !(\"each\" in fns[1])) {\n throw new Error(`An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`);\n }\n return validate;\n}\nconst validTypeOpts = new Set([\"aliases\", \"builder\", \"deprecatedAlias\", \"fields\", \"inherits\", \"visitor\", \"validate\"]);\nconst validFieldKeys = new Set([\"default\", \"optional\", \"deprecated\", \"validate\"]);\nconst store = {};\nfunction defineAliasedType(...aliases) {\n return (type, opts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n var _store$opts$inherits$;\n if (opts.inherits) defined = (_store$opts$inherits$ = store[opts.inherits].aliases) == null ? void 0 : _store$opts$inherits$.slice();\n defined != null ? defined : defined = [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n defineType(type, opts);\n };\n}\nfunction defineType(type, opts = {}) {\n const inherits = opts.inherits && store[opts.inherits] || {};\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\") {\n throw new Error(\"field defaults can only be primitives or empty arrays currently\");\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n deprecated: field.deprecated,\n validate: field.validate\n };\n }\n }\n }\n const visitor = opts.visitor || inherits.visitor || [];\n const aliases = opts.aliases || inherits.aliases || [];\n const builder = opts.builder || inherits.builder || opts.visitor || [];\n for (const k of Object.keys(opts)) {\n if (!validTypeOpts.has(k)) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type;\n }\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n if (field.default !== undefined && !builder.includes(key)) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n for (const k of Object.keys(field)) {\n if (!validFieldKeys.has(k)) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type);\n });\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n store[type] = opts;\n}\n\n//# sourceMappingURL=utils.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.patternLikeCommon = exports.importAttributes = exports.functionTypeAnnotationCommon = exports.functionDeclarationCommon = exports.functionCommon = exports.classMethodOrPropertyCommon = exports.classMethodOrDeclareMethodCommon = void 0;\nvar _is = require(\"../validators/is.js\");\nvar _isValidIdentifier = require(\"../validators/isValidIdentifier.js\");\nvar _helperValidatorIdentifier = require(\"@babel/helper-validator-identifier\");\nvar _helperStringParser = require(\"@babel/helper-string-parser\");\nvar _index = require(\"../constants/index.js\");\nvar _utils = require(\"./utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Standardized\");\ndefineType(\"ArrayExpression\", {\n fields: {\n elements: {\n validate: (0, _utils.arrayOf)((0, _utils.assertNodeOrValueType)(\"null\", \"Expression\", \"SpreadElement\")),\n default: !process.env.BABEL_TYPES_8_BREAKING ? [] : undefined\n }\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"AssignmentExpression\", {\n fields: {\n operator: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"string\") : Object.assign(function () {\n const identifier = (0, _utils.assertOneOf)(..._index.ASSIGNMENT_OPERATORS);\n const pattern = (0, _utils.assertOneOf)(\"=\");\n return function (node, key, val) {\n const validator = (0, _is.default)(\"Pattern\", node.left) ? pattern : identifier;\n validator(node, key, val);\n };\n }(), {\n oneOf: _index.ASSIGNMENT_OPERATORS\n })\n },\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"LVal\", \"OptionalMemberExpression\") : (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\", \"OptionalMemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"BinaryExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n fields: {\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.BINARY_OPERATORS)\n },\n left: {\n validate: function () {\n const expression = (0, _utils.assertNodeType)(\"Expression\");\n const inOp = (0, _utils.assertNodeType)(\"Expression\", \"PrivateName\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.operator === \"in\" ? inOp : expression;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"PrivateName\"]\n });\n return validator;\n }()\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"]\n});\ndefineType(\"InterpreterDirective\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"Directive\", {\n visitor: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertNodeType)(\"DirectiveLiteral\")\n }\n }\n});\ndefineType(\"DirectiveLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"BlockStatement\", {\n builder: [\"body\", \"directives\"],\n visitor: [\"directives\", \"body\"],\n fields: {\n directives: {\n validate: (0, _utils.arrayOfType)(\"Directive\"),\n default: []\n },\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\", \"Statement\"]\n});\ndefineType(\"BreakStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"]\n});\ndefineType(\"CallExpression\", {\n visitor: [\"callee\", \"typeParameters\", \"typeArguments\", \"arguments\"],\n builder: [\"callee\", \"arguments\"],\n aliases: [\"Expression\"],\n fields: Object.assign({\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"Super\", \"V8IntrinsicIdentifier\")\n },\n arguments: (0, _utils.validateArrayOfType)(\"Expression\", \"SpreadElement\", \"ArgumentPlaceholder\"),\n typeArguments: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\"),\n optional: true\n }\n }, process.env.BABEL_TYPES_8_BREAKING ? {} : {\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterInstantiation\"),\n optional: true\n }\n })\n});\ndefineType(\"CatchClause\", {\n visitor: [\"param\", \"body\"],\n fields: {\n param: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n },\n aliases: [\"Scopable\", \"BlockParent\"]\n});\ndefineType(\"ConditionalExpression\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n consequent: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n alternate: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\", \"Conditional\"]\n});\ndefineType(\"ContinueStatement\", {\n visitor: [\"label\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n },\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"]\n});\ndefineType(\"DebuggerStatement\", {\n aliases: [\"Statement\"]\n});\ndefineType(\"DoWhileStatement\", {\n builder: [\"test\", \"body\"],\n visitor: [\"body\", \"test\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n },\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"]\n});\ndefineType(\"EmptyStatement\", {\n aliases: [\"Statement\"]\n});\ndefineType(\"ExpressionStatement\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Statement\", \"ExpressionWrapper\"]\n});\ndefineType(\"File\", {\n builder: [\"program\", \"comments\", \"tokens\"],\n visitor: [\"program\"],\n fields: {\n program: {\n validate: (0, _utils.assertNodeType)(\"Program\")\n },\n comments: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? Object.assign(() => {}, {\n each: {\n oneOfNodeTypes: [\"CommentBlock\", \"CommentLine\"]\n }\n }) : (0, _utils.assertEach)((0, _utils.assertNodeType)(\"CommentBlock\", \"CommentLine\")),\n optional: true\n },\n tokens: {\n validate: (0, _utils.assertEach)(Object.assign(() => {}, {\n type: \"any\"\n })),\n optional: true\n }\n }\n});\ndefineType(\"ForInStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\", \"ForXStatement\"],\n fields: {\n left: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"VariableDeclaration\", \"LVal\") : (0, _utils.assertNodeType)(\"VariableDeclaration\", \"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"ForStatement\", {\n visitor: [\"init\", \"test\", \"update\", \"body\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\"],\n fields: {\n init: {\n validate: (0, _utils.assertNodeType)(\"VariableDeclaration\", \"Expression\"),\n optional: true\n },\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n update: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\nconst functionCommon = () => ({\n params: (0, _utils.validateArrayOfType)(\"FunctionParameter\"),\n generator: {\n default: false\n },\n async: {\n default: false\n }\n});\nexports.functionCommon = functionCommon;\nconst functionTypeAnnotationCommon = () => ({\n returnType: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n }\n});\nexports.functionTypeAnnotationCommon = functionTypeAnnotationCommon;\nconst functionDeclarationCommon = () => Object.assign({}, functionCommon(), {\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n }\n});\nexports.functionDeclarationCommon = functionDeclarationCommon;\ndefineType(\"FunctionDeclaration\", {\n builder: [\"id\", \"params\", \"body\", \"generator\", \"async\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"predicate\", \"returnType\", \"body\"],\n fields: Object.assign({}, functionDeclarationCommon(), functionTypeAnnotationCommon(), {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n }),\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Statement\", \"Pureish\", \"Declaration\"],\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const identifier = (0, _utils.assertNodeType)(\"Identifier\");\n return function (parent, key, node) {\n if (!(0, _is.default)(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n }()\n});\ndefineType(\"FunctionExpression\", {\n inherits: \"FunctionDeclaration\",\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Expression\", \"Pureish\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n })\n});\nconst patternLikeCommon = () => ({\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n});\nexports.patternLikeCommon = patternLikeCommon;\ndefineType(\"Identifier\", {\n builder: [\"name\"],\n visitor: [\"typeAnnotation\", \"decorators\"],\n aliases: [\"Expression\", \"FunctionParameter\", \"PatternLike\", \"LVal\", \"TSEntityName\"],\n fields: Object.assign({}, patternLikeCommon(), {\n name: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), Object.assign(function (node, key, val) {\n if (!(0, _isValidIdentifier.default)(val, false)) {\n throw new TypeError(`\"${val}\" is not a valid identifier name`);\n }\n }, {\n type: \"string\"\n })) : (0, _utils.assertValueType)(\"string\")\n }\n }),\n validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key, node) {\n const match = /\\.(\\w+)$/.exec(key.toString());\n if (!match) return;\n const [, parentKey] = match;\n const nonComp = {\n computed: false\n };\n if (parentKey === \"property\") {\n if ((0, _is.default)(\"MemberExpression\", parent, nonComp)) return;\n if ((0, _is.default)(\"OptionalMemberExpression\", parent, nonComp)) return;\n } else if (parentKey === \"key\") {\n if ((0, _is.default)(\"Property\", parent, nonComp)) return;\n if ((0, _is.default)(\"Method\", parent, nonComp)) return;\n } else if (parentKey === \"exported\") {\n if ((0, _is.default)(\"ExportSpecifier\", parent)) return;\n } else if (parentKey === \"imported\") {\n if ((0, _is.default)(\"ImportSpecifier\", parent, {\n imported: node\n })) return;\n } else if (parentKey === \"meta\") {\n if ((0, _is.default)(\"MetaProperty\", parent, {\n meta: node\n })) return;\n }\n if (((0, _helperValidatorIdentifier.isKeyword)(node.name) || (0, _helperValidatorIdentifier.isReservedWord)(node.name, false)) && node.name !== \"this\") {\n throw new TypeError(`\"${node.name}\" is not a valid identifier`);\n }\n } : undefined\n});\ndefineType(\"IfStatement\", {\n visitor: [\"test\", \"consequent\", \"alternate\"],\n aliases: [\"Statement\", \"Conditional\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n consequent: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n },\n alternate: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"LabeledStatement\", {\n visitor: [\"label\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n label: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"StringLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"NumericLiteral\", {\n builder: [\"value\"],\n deprecatedAlias: \"NumberLiteral\",\n fields: {\n value: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"number\"), Object.assign(function (node, key, val) {\n if (1 / val < 0 || !Number.isFinite(val)) {\n const error = new Error(\"NumericLiterals must be non-negative finite numbers. \" + `You can use t.valueToNode(${val}) instead.`);\n {}\n }\n }, {\n type: \"number\"\n }))\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"NullLiteral\", {\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"BooleanLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"boolean\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"RegExpLiteral\", {\n builder: [\"pattern\", \"flags\"],\n deprecatedAlias: \"RegexLiteral\",\n aliases: [\"Expression\", \"Pureish\", \"Literal\"],\n fields: {\n pattern: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n flags: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), Object.assign(function (node, key, val) {\n const invalid = /[^gimsuy]/.exec(val);\n if (invalid) {\n throw new TypeError(`\"${invalid[0]}\" is not a valid RegExp flag`);\n }\n }, {\n type: \"string\"\n })) : (0, _utils.assertValueType)(\"string\"),\n default: \"\"\n }\n }\n});\ndefineType(\"LogicalExpression\", {\n builder: [\"operator\", \"left\", \"right\"],\n visitor: [\"left\", \"right\"],\n aliases: [\"Binary\", \"Expression\"],\n fields: {\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.LOGICAL_OPERATORS)\n },\n left: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"MemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"optional\"] : [])],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n fields: Object.assign({\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"Super\")\n },\n property: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"PrivateName\"];\n return validator;\n }()\n },\n computed: {\n default: false\n }\n }, !process.env.BABEL_TYPES_8_BREAKING ? {\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n } : {})\n});\ndefineType(\"NewExpression\", {\n inherits: \"CallExpression\"\n});\ndefineType(\"Program\", {\n visitor: [\"directives\", \"body\"],\n builder: [\"body\", \"directives\", \"sourceType\", \"interpreter\"],\n fields: {\n sourceType: {\n validate: (0, _utils.assertOneOf)(\"script\", \"module\"),\n default: \"script\"\n },\n interpreter: {\n validate: (0, _utils.assertNodeType)(\"InterpreterDirective\"),\n default: null,\n optional: true\n },\n directives: {\n validate: (0, _utils.arrayOfType)(\"Directive\"),\n default: []\n },\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"Block\"]\n});\ndefineType(\"ObjectExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: (0, _utils.validateArrayOfType)(\"ObjectMethod\", \"ObjectProperty\", \"SpreadElement\")\n }\n});\ndefineType(\"ObjectMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"generator\", \"async\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n kind: Object.assign({\n validate: (0, _utils.assertOneOf)(\"method\", \"get\", \"set\")\n }, !process.env.BABEL_TYPES_8_BREAKING ? {\n default: \"method\"\n } : {}),\n computed: {\n default: false\n },\n key: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n validator.oneOfNodeTypes = [\"Expression\", \"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\"];\n return validator;\n }()\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n }),\n aliases: [\"UserWhitespacable\", \"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\", \"ObjectMember\"]\n});\ndefineType(\"ObjectProperty\", {\n builder: [\"key\", \"value\", \"computed\", \"shorthand\", ...(!process.env.BABEL_TYPES_8_BREAKING ? [\"decorators\"] : [])],\n fields: {\n computed: {\n default: false\n },\n key: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"DecimalLiteral\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"DecimalLiteral\", \"PrivateName\"]\n });\n return validator;\n }()\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"PatternLike\")\n },\n shorthand: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), Object.assign(function (node, key, shorthand) {\n if (!shorthand) return;\n if (node.computed) {\n throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if computed is true\");\n }\n if (!(0, _is.default)(\"Identifier\", node.key)) {\n throw new TypeError(\"Property shorthand of ObjectProperty cannot be true if key is not an Identifier\");\n }\n }, {\n type: \"boolean\"\n })) : (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n },\n visitor: [\"decorators\", \"key\", \"value\"],\n aliases: [\"UserWhitespacable\", \"Property\", \"ObjectMember\"],\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const pattern = (0, _utils.assertNodeType)(\"Identifier\", \"Pattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSNonNullExpression\", \"TSTypeAssertion\");\n const expression = (0, _utils.assertNodeType)(\"Expression\");\n return function (parent, key, node) {\n const validator = (0, _is.default)(\"ObjectPattern\", parent) ? pattern : expression;\n validator(node, \"value\", node.value);\n };\n }()\n});\ndefineType(\"RestElement\", {\n visitor: [\"argument\", \"typeAnnotation\"],\n builder: [\"argument\"],\n aliases: [\"FunctionParameter\", \"PatternLike\", \"LVal\"],\n deprecatedAlias: \"RestProperty\",\n fields: Object.assign({}, patternLikeCommon(), {\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\", \"MemberExpression\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\", \"RestElement\", \"AssignmentPattern\") : (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\", \"MemberExpression\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n }\n }),\n validate: process.env.BABEL_TYPES_8_BREAKING ? function (parent, key) {\n const match = /(\\w+)\\[(\\d+)\\]/.exec(key.toString());\n if (!match) throw new Error(\"Internal Babel error: malformed key.\");\n const [, listKey, index] = match;\n if (parent[listKey].length > +index + 1) {\n throw new TypeError(`RestElement must be last element of ${listKey}`);\n }\n } : undefined\n});\ndefineType(\"ReturnStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n }\n }\n});\ndefineType(\"SequenceExpression\", {\n visitor: [\"expressions\"],\n fields: {\n expressions: (0, _utils.validateArrayOfType)(\"Expression\")\n },\n aliases: [\"Expression\"]\n});\ndefineType(\"ParenthesizedExpression\", {\n visitor: [\"expression\"],\n aliases: [\"Expression\", \"ExpressionWrapper\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"SwitchCase\", {\n visitor: [\"test\", \"consequent\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n consequent: (0, _utils.validateArrayOfType)(\"Statement\")\n }\n});\ndefineType(\"SwitchStatement\", {\n visitor: [\"discriminant\", \"cases\"],\n aliases: [\"Statement\", \"BlockParent\", \"Scopable\"],\n fields: {\n discriminant: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n cases: (0, _utils.validateArrayOfType)(\"SwitchCase\")\n }\n});\ndefineType(\"ThisExpression\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"ThrowStatement\", {\n visitor: [\"argument\"],\n aliases: [\"Statement\", \"Terminatorless\", \"CompletionStatement\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"TryStatement\", {\n visitor: [\"block\", \"handler\", \"finalizer\"],\n aliases: [\"Statement\"],\n fields: {\n block: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"BlockStatement\"), Object.assign(function (node) {\n if (!node.handler && !node.finalizer) {\n throw new TypeError(\"TryStatement expects either a handler or finalizer, or both\");\n }\n }, {\n oneOfNodeTypes: [\"BlockStatement\"]\n })) : (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n handler: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"CatchClause\")\n },\n finalizer: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n }\n});\ndefineType(\"UnaryExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: true\n },\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.UNARY_OPERATORS)\n }\n },\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\", \"Expression\"]\n});\ndefineType(\"UpdateExpression\", {\n builder: [\"operator\", \"argument\", \"prefix\"],\n fields: {\n prefix: {\n default: false\n },\n argument: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"Expression\") : (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\")\n },\n operator: {\n validate: (0, _utils.assertOneOf)(..._index.UPDATE_OPERATORS)\n }\n },\n visitor: [\"argument\"],\n aliases: [\"Expression\"]\n});\ndefineType(\"VariableDeclaration\", {\n builder: [\"kind\", \"declarations\"],\n visitor: [\"declarations\"],\n aliases: [\"Statement\", \"Declaration\"],\n fields: {\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n kind: {\n validate: (0, _utils.assertOneOf)(\"var\", \"let\", \"const\", \"using\", \"await using\")\n },\n declarations: (0, _utils.validateArrayOfType)(\"VariableDeclarator\")\n },\n validate: process.env.BABEL_TYPES_8_BREAKING ? (() => {\n const withoutInit = (0, _utils.assertNodeType)(\"Identifier\", \"Placeholder\");\n const constOrLetOrVar = (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\", \"Placeholder\");\n const usingOrAwaitUsing = (0, _utils.assertNodeType)(\"Identifier\", \"VoidPattern\", \"Placeholder\");\n return function (parent, key, node) {\n const {\n kind,\n declarations\n } = node;\n const parentIsForX = (0, _is.default)(\"ForXStatement\", parent, {\n left: node\n });\n if (parentIsForX) {\n if (declarations.length !== 1) {\n throw new TypeError(`Exactly one VariableDeclarator is required in the VariableDeclaration of a ${parent.type}`);\n }\n }\n for (const decl of declarations) {\n if (kind === \"const\" || kind === \"let\" || kind === \"var\") {\n if (!parentIsForX && !decl.init) {\n withoutInit(decl, \"id\", decl.id);\n } else {\n constOrLetOrVar(decl, \"id\", decl.id);\n }\n } else {\n usingOrAwaitUsing(decl, \"id\", decl.id);\n }\n }\n };\n })() : undefined\n});\ndefineType(\"VariableDeclarator\", {\n visitor: [\"id\", \"init\"],\n fields: {\n id: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertNodeType)(\"LVal\", \"VoidPattern\") : (0, _utils.assertNodeType)(\"Identifier\", \"ArrayPattern\", \"ObjectPattern\", \"VoidPattern\")\n },\n definite: {\n optional: true,\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n init: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"WhileStatement\", {\n visitor: [\"test\", \"body\"],\n aliases: [\"Statement\", \"BlockParent\", \"Loop\", \"While\", \"Scopable\"],\n fields: {\n test: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"WithStatement\", {\n visitor: [\"object\", \"body\"],\n aliases: [\"Statement\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n }\n }\n});\ndefineType(\"AssignmentPattern\", {\n visitor: [\"left\", \"right\", \"decorators\"],\n builder: [\"left\", \"right\"],\n aliases: [\"FunctionParameter\", \"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n left: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"ObjectPattern\", \"ArrayPattern\", \"MemberExpression\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\")\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n })\n});\ndefineType(\"ArrayPattern\", {\n visitor: [\"elements\", \"typeAnnotation\"],\n builder: [\"elements\"],\n aliases: [\"FunctionParameter\", \"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n elements: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"array\"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)(\"null\", \"PatternLike\")))\n }\n })\n});\ndefineType(\"ArrowFunctionExpression\", {\n builder: [\"params\", \"body\", \"async\"],\n visitor: [\"typeParameters\", \"params\", \"predicate\", \"returnType\", \"body\"],\n aliases: [\"Scopable\", \"Function\", \"BlockParent\", \"FunctionParent\", \"Expression\", \"Pureish\"],\n fields: Object.assign({}, functionCommon(), functionTypeAnnotationCommon(), {\n expression: {\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\", \"Expression\")\n },\n predicate: {\n validate: (0, _utils.assertNodeType)(\"DeclaredPredicate\", \"InferredPredicate\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassBody\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"ClassMethod\", \"ClassPrivateMethod\", \"ClassProperty\", \"ClassPrivateProperty\", \"ClassAccessorProperty\", \"TSDeclareMethod\", \"TSIndexSignature\", \"StaticBlock\")\n }\n});\ndefineType(\"ClassExpression\", {\n builder: [\"id\", \"superClass\", \"body\", \"decorators\"],\n visitor: [\"decorators\", \"id\", \"typeParameters\", \"superClass\", \"superTypeParameters\", \"mixins\", \"implements\", \"body\"],\n aliases: [\"Scopable\", \"Class\", \"Expression\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"ClassBody\")\n },\n superClass: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n [\"superTypeParameters\"]: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n },\n implements: {\n validate: (0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n mixins: {\n validate: (0, _utils.assertNodeType)(\"InterfaceExtends\"),\n optional: true\n }\n }\n});\ndefineType(\"ClassDeclaration\", {\n inherits: \"ClassExpression\",\n aliases: [\"Scopable\", \"Class\", \"Statement\", \"Declaration\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterDeclaration\", \"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"ClassBody\")\n },\n superClass: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n [\"superTypeParameters\"]: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n },\n implements: {\n validate: (0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\", \"ClassImplements\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n mixins: {\n validate: (0, _utils.assertNodeType)(\"InterfaceExtends\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n abstract: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n },\n validate: !process.env.BABEL_TYPES_8_BREAKING ? undefined : function () {\n const identifier = (0, _utils.assertNodeType)(\"Identifier\");\n return function (parent, key, node) {\n if (!(0, _is.default)(\"ExportDefaultDeclaration\", parent)) {\n identifier(node, \"id\", node.id);\n }\n };\n }()\n});\nconst importAttributes = exports.importAttributes = {\n attributes: {\n optional: true,\n validate: (0, _utils.arrayOfType)(\"ImportAttribute\")\n },\n assertions: {\n deprecated: true,\n optional: true,\n validate: (0, _utils.arrayOfType)(\"ImportAttribute\")\n }\n};\ndefineType(\"ExportAllDeclaration\", {\n builder: [\"source\"],\n visitor: [\"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: Object.assign({\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n },\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n }, importAttributes)\n});\ndefineType(\"ExportDefaultDeclaration\", {\n visitor: [\"declaration\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: {\n declaration: (0, _utils.validateType)(\"TSDeclareFunction\", \"FunctionDeclaration\", \"ClassDeclaration\", \"Expression\"),\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"value\"))\n }\n});\ndefineType(\"ExportNamedDeclaration\", {\n builder: [\"declaration\", \"specifiers\", \"source\"],\n visitor: [\"declaration\", \"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\", \"ExportDeclaration\"],\n fields: Object.assign({\n declaration: {\n optional: true,\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"Declaration\"), Object.assign(function (node, key, val) {\n if (val && node.specifiers.length) {\n throw new TypeError(\"Only declaration or specifiers is allowed on ExportNamedDeclaration\");\n }\n if (val && node.source) {\n throw new TypeError(\"Cannot export a declaration from a source\");\n }\n }, {\n oneOfNodeTypes: [\"Declaration\"]\n })) : (0, _utils.assertNodeType)(\"Declaration\")\n }\n }, importAttributes, {\n specifiers: {\n default: [],\n validate: (0, _utils.arrayOf)(function () {\n const sourced = (0, _utils.assertNodeType)(\"ExportSpecifier\", \"ExportDefaultSpecifier\", \"ExportNamespaceSpecifier\");\n const sourceless = (0, _utils.assertNodeType)(\"ExportSpecifier\");\n if (!process.env.BABEL_TYPES_8_BREAKING) return sourced;\n return Object.assign(function (node, key, val) {\n const validator = node.source ? sourced : sourceless;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"ExportSpecifier\", \"ExportDefaultSpecifier\", \"ExportNamespaceSpecifier\"]\n });\n }())\n },\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\"),\n optional: true\n },\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n })\n});\ndefineType(\"ExportSpecifier\", {\n visitor: [\"local\", \"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n exportKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"value\"),\n optional: true\n }\n }\n});\ndefineType(\"ForOfStatement\", {\n visitor: [\"left\", \"right\", \"body\"],\n builder: [\"left\", \"right\", \"body\", \"await\"],\n aliases: [\"Scopable\", \"Statement\", \"For\", \"BlockParent\", \"Loop\", \"ForXStatement\"],\n fields: {\n left: {\n validate: function () {\n if (!process.env.BABEL_TYPES_8_BREAKING) {\n return (0, _utils.assertNodeType)(\"VariableDeclaration\", \"LVal\");\n }\n const declaration = (0, _utils.assertNodeType)(\"VariableDeclaration\");\n const lval = (0, _utils.assertNodeType)(\"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\");\n return Object.assign(function (node, key, val) {\n if ((0, _is.default)(\"VariableDeclaration\", val)) {\n declaration(node, key, val);\n } else {\n lval(node, key, val);\n }\n }, {\n oneOfNodeTypes: [\"VariableDeclaration\", \"Identifier\", \"MemberExpression\", \"ArrayPattern\", \"ObjectPattern\", \"TSAsExpression\", \"TSSatisfiesExpression\", \"TSTypeAssertion\", \"TSNonNullExpression\"]\n });\n }()\n },\n right: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"Statement\")\n },\n await: {\n default: false\n }\n }\n});\ndefineType(\"ImportDeclaration\", {\n builder: [\"specifiers\", \"source\"],\n visitor: [\"specifiers\", \"source\", \"attributes\", \"assertions\"],\n aliases: [\"Statement\", \"Declaration\", \"ImportOrExportDeclaration\"],\n fields: Object.assign({}, importAttributes, {\n module: {\n optional: true,\n validate: (0, _utils.assertValueType)(\"boolean\")\n },\n phase: {\n default: null,\n validate: (0, _utils.assertOneOf)(\"source\", \"defer\")\n },\n specifiers: (0, _utils.validateArrayOfType)(\"ImportSpecifier\", \"ImportDefaultSpecifier\", \"ImportNamespaceSpecifier\"),\n source: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n },\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"typeof\", \"value\"),\n optional: true\n }\n })\n});\ndefineType(\"ImportDefaultSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"ImportNamespaceSpecifier\", {\n visitor: [\"local\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"ImportSpecifier\", {\n visitor: [\"imported\", \"local\"],\n builder: [\"local\", \"imported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n local: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n imported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"typeof\", \"value\"),\n optional: true\n }\n }\n});\ndefineType(\"ImportExpression\", {\n visitor: [\"source\", \"options\"],\n aliases: [\"Expression\"],\n fields: {\n phase: {\n default: null,\n validate: (0, _utils.assertOneOf)(\"source\", \"defer\")\n },\n source: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n options: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n }\n }\n});\ndefineType(\"MetaProperty\", {\n visitor: [\"meta\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n meta: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertNodeType)(\"Identifier\"), Object.assign(function (node, key, val) {\n let property;\n switch (val.name) {\n case \"function\":\n property = \"sent\";\n break;\n case \"new\":\n property = \"target\";\n break;\n case \"import\":\n property = \"meta\";\n break;\n }\n if (!(0, _is.default)(\"Identifier\", node.property, {\n name: property\n })) {\n throw new TypeError(\"Unrecognised MetaProperty\");\n }\n }, {\n oneOfNodeTypes: [\"Identifier\"]\n })) : (0, _utils.assertNodeType)(\"Identifier\")\n },\n property: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\nconst classMethodOrPropertyCommon = () => ({\n abstract: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n accessibility: {\n validate: (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\"),\n optional: true\n },\n static: {\n default: false\n },\n override: {\n default: false\n },\n computed: {\n default: false\n },\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n key: {\n validate: (0, _utils.chain)(function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n return function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n }(), (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"Expression\"))\n }\n});\nexports.classMethodOrPropertyCommon = classMethodOrPropertyCommon;\nconst classMethodOrDeclareMethodCommon = () => Object.assign({}, functionCommon(), classMethodOrPropertyCommon(), {\n params: (0, _utils.validateArrayOfType)(\"FunctionParameter\", \"TSParameterProperty\"),\n kind: {\n validate: (0, _utils.assertOneOf)(\"get\", \"set\", \"method\", \"constructor\"),\n default: \"method\"\n },\n access: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"string\"), (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\")),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n});\nexports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon;\ndefineType(\"ClassMethod\", {\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\"],\n builder: [\"kind\", \"key\", \"params\", \"body\", \"computed\", \"static\", \"generator\", \"async\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n })\n});\ndefineType(\"ObjectPattern\", {\n visitor: [\"decorators\", \"properties\", \"typeAnnotation\"],\n builder: [\"properties\"],\n aliases: [\"FunctionParameter\", \"Pattern\", \"PatternLike\", \"LVal\"],\n fields: Object.assign({}, patternLikeCommon(), {\n properties: (0, _utils.validateArrayOfType)(\"RestElement\", \"ObjectProperty\")\n })\n});\ndefineType(\"SpreadElement\", {\n visitor: [\"argument\"],\n aliases: [\"UnaryLike\"],\n deprecatedAlias: \"SpreadProperty\",\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"Super\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"TaggedTemplateExpression\", {\n visitor: [\"tag\", \"typeParameters\", \"quasi\"],\n builder: [\"tag\", \"quasi\"],\n aliases: [\"Expression\"],\n fields: {\n tag: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n quasi: {\n validate: (0, _utils.assertNodeType)(\"TemplateLiteral\")\n },\n [\"typeParameters\"]: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\", \"TSTypeParameterInstantiation\"),\n optional: true\n }\n }\n});\ndefineType(\"TemplateElement\", {\n builder: [\"value\", \"tail\"],\n fields: {\n value: {\n validate: (0, _utils.chain)((0, _utils.assertShape)({\n raw: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n cooked: {\n validate: (0, _utils.assertValueType)(\"string\"),\n optional: true\n }\n }), function templateElementCookedValidator(node) {\n const raw = node.value.raw;\n let unterminatedCalled = false;\n const error = () => {\n throw new Error(\"Internal @babel/types error.\");\n };\n const {\n str,\n firstInvalidLoc\n } = (0, _helperStringParser.readStringContents)(\"template\", raw, 0, 0, 0, {\n unterminated() {\n unterminatedCalled = true;\n },\n strictNumericEscape: error,\n invalidEscapeSequence: error,\n numericSeparatorInEscapeSequence: error,\n unexpectedNumericSeparator: error,\n invalidDigit: error,\n invalidCodePoint: error\n });\n if (!unterminatedCalled) throw new Error(\"Invalid raw\");\n node.value.cooked = firstInvalidLoc ? null : str;\n })\n },\n tail: {\n default: false\n }\n }\n});\ndefineType(\"TemplateLiteral\", {\n visitor: [\"quasis\", \"expressions\"],\n aliases: [\"Expression\", \"Literal\"],\n fields: {\n quasis: (0, _utils.validateArrayOfType)(\"TemplateElement\"),\n expressions: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"array\"), (0, _utils.assertEach)((0, _utils.assertNodeType)(\"Expression\", \"TSType\")), function (node, key, val) {\n if (node.quasis.length !== val.length + 1) {\n throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of expressions.\\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`);\n }\n })\n }\n }\n});\ndefineType(\"YieldExpression\", {\n builder: [\"argument\", \"delegate\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n delegate: {\n validate: process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), Object.assign(function (node, key, val) {\n if (val && !node.argument) {\n throw new TypeError(\"Property delegate of YieldExpression cannot be true if there is no argument\");\n }\n }, {\n type: \"boolean\"\n })) : (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n argument: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"AwaitExpression\", {\n builder: [\"argument\"],\n visitor: [\"argument\"],\n aliases: [\"Expression\", \"Terminatorless\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"Import\", {\n aliases: [\"Expression\"]\n});\ndefineType(\"BigIntLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n});\ndefineType(\"ExportNamespaceSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"OptionalMemberExpression\", {\n builder: [\"object\", \"property\", \"computed\", \"optional\"],\n visitor: [\"object\", \"property\"],\n aliases: [\"Expression\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n property: {\n validate: function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n const validator = Object.assign(function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n }, {\n oneOfNodeTypes: [\"Expression\", \"Identifier\"]\n });\n return validator;\n }()\n },\n computed: {\n default: false\n },\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"boolean\") : (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), (0, _utils.assertOptionalChainStart)())\n }\n }\n});\ndefineType(\"OptionalCallExpression\", {\n visitor: [\"callee\", \"typeParameters\", \"typeArguments\", \"arguments\"],\n builder: [\"callee\", \"arguments\", \"optional\"],\n aliases: [\"Expression\"],\n fields: Object.assign({\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n arguments: (0, _utils.validateArrayOfType)(\"Expression\", \"SpreadElement\", \"ArgumentPlaceholder\"),\n optional: {\n validate: !process.env.BABEL_TYPES_8_BREAKING ? (0, _utils.assertValueType)(\"boolean\") : (0, _utils.chain)((0, _utils.assertValueType)(\"boolean\"), (0, _utils.assertOptionalChainStart)())\n },\n typeArguments: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\"),\n optional: true\n }\n }, {\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterInstantiation\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassProperty\", {\n visitor: [\"decorators\", \"variance\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"typeAnnotation\", \"decorators\", \"computed\", \"static\"],\n aliases: [\"Property\"],\n fields: Object.assign({}, classMethodOrPropertyCommon(), {\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassAccessorProperty\", {\n visitor: [\"decorators\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"typeAnnotation\", \"decorators\", \"computed\", \"static\"],\n aliases: [\"Property\", \"Accessor\"],\n fields: Object.assign({}, classMethodOrPropertyCommon(), {\n key: {\n validate: (0, _utils.chain)(function () {\n const normal = (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"PrivateName\");\n const computed = (0, _utils.assertNodeType)(\"Expression\");\n return function (node, key, val) {\n const validator = node.computed ? computed : normal;\n validator(node, key, val);\n };\n }(), (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\", \"NumericLiteral\", \"BigIntLiteral\", \"Expression\", \"PrivateName\"))\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n declare: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n })\n});\ndefineType(\"ClassPrivateProperty\", {\n visitor: [\"decorators\", \"variance\", \"key\", \"typeAnnotation\", \"value\"],\n builder: [\"key\", \"value\", \"decorators\", \"static\"],\n aliases: [\"Property\", \"Private\"],\n fields: {\n key: {\n validate: (0, _utils.assertNodeType)(\"PrivateName\")\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"Expression\"),\n optional: true\n },\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TypeAnnotation\", \"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n },\n static: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n optional: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n definite: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n variance: {\n validate: (0, _utils.assertNodeType)(\"Variance\"),\n optional: true\n }\n }\n});\ndefineType(\"ClassPrivateMethod\", {\n builder: [\"kind\", \"key\", \"params\", \"body\", \"static\"],\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\", \"body\"],\n aliases: [\"Function\", \"Scopable\", \"BlockParent\", \"FunctionParent\", \"Method\", \"Private\"],\n fields: Object.assign({}, classMethodOrDeclareMethodCommon(), functionTypeAnnotationCommon(), {\n kind: {\n validate: (0, _utils.assertOneOf)(\"get\", \"set\", \"method\"),\n default: \"method\"\n },\n key: {\n validate: (0, _utils.assertNodeType)(\"PrivateName\")\n },\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n }\n })\n});\ndefineType(\"PrivateName\", {\n visitor: [\"id\"],\n aliases: [\"Private\"],\n fields: {\n id: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\ndefineType(\"StaticBlock\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n },\n aliases: [\"Scopable\", \"BlockParent\", \"FunctionParent\"]\n});\ndefineType(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"StringLiteral\")\n },\n value: {\n validate: (0, _utils.assertNodeType)(\"StringLiteral\")\n }\n }\n});\n\n//# sourceMappingURL=core.js.map\n","\"use strict\";\n\nvar _core = require(\"./core.js\");\nvar _utils = require(\"./utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Flow\");\nconst defineInterfaceishType = name => {\n const isDeclareClass = name === \"DeclareClass\";\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", ...(isDeclareClass ? [\"mixins\", \"implements\"] : []), \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\"))\n }, isDeclareClass ? {\n mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\")),\n implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"ClassImplements\"))\n } : {}, {\n body: (0, _utils.validateType)(\"ObjectTypeAnnotation\")\n })\n });\n};\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineInterfaceishType(\"DeclareClass\");\ndefineType(\"DeclareFunction\", {\n builder: [\"id\"],\n visitor: [\"id\", \"predicate\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n predicate: (0, _utils.validateOptionalType)(\"DeclaredPredicate\")\n }\n});\ndefineInterfaceishType(\"DeclareInterface\");\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n body: (0, _utils.validateType)(\"BlockStatement\"),\n kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"CommonJS\", \"ES\"))\n }\n});\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TypeAnnotation\")\n }\n});\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n right: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n supertype: (0, _utils.validateOptionalType)(\"FlowType\"),\n impltype: (0, _utils.validateOptionalType)(\"FlowType\")\n }\n});\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n declaration: (0, _utils.validateOptionalType)(\"Flow\"),\n specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"ExportSpecifier\", \"ExportNamespaceSpecifier\")),\n source: (0, _utils.validateOptionalType)(\"StringLiteral\"),\n default: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }, _core.importAttributes)\n});\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\", \"attributes\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: Object.assign({\n source: (0, _utils.validateType)(\"StringLiteral\"),\n exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)(\"type\", \"value\"))\n }, _core.importAttributes)\n});\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: (0, _utils.validateType)(\"Flow\")\n }\n});\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"]\n});\ndefineType(\"FunctionTypeAnnotation\", {\n builder: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n visitor: [\"typeParameters\", \"this\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n params: (0, _utils.validateArrayOfType)(\"FunctionTypeParam\"),\n rest: (0, _utils.validateOptionalType)(\"FunctionTypeParam\"),\n this: (0, _utils.validateOptionalType)(\"FunctionTypeParam\"),\n returnType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: (0, _utils.validateOptionalType)(\"Identifier\"),\n typeAnnotation: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"]\n});\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterInstantiation\")\n }\n});\ndefineInterfaceishType(\"InterfaceDeclaration\");\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"InterfaceExtends\")),\n body: (0, _utils.validateType)(\"ObjectTypeAnnotation\")\n }\n});\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"number\"))\n }\n});\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\", \"exact\"],\n fields: {\n properties: (0, _utils.validate)((0, _utils.arrayOfType)(\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\")),\n indexers: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeIndexer\"),\n optional: true,\n default: []\n },\n callProperties: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeCallProperty\"),\n optional: true,\n default: []\n },\n internalSlots: {\n validate: (0, _utils.arrayOfType)(\"ObjectTypeInternalSlot\"),\n optional: true,\n default: []\n },\n exact: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n },\n inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\"],\n builder: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n method: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: (0, _utils.validateType)(\"FlowType\"),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"variance\", \"id\", \"key\", \"value\"],\n builder: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: (0, _utils.validateOptionalType)(\"Identifier\"),\n key: (0, _utils.validateType)(\"FlowType\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n variance: (0, _utils.validateOptionalType)(\"Variance\")\n }\n});\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n value: (0, _utils.validateType)(\"FlowType\"),\n kind: (0, _utils.validate)((0, _utils.assertOneOf)(\"init\", \"get\", \"set\")),\n static: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n proto: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n variance: (0, _utils.validateOptionalType)(\"Variance\"),\n method: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n supertype: (0, _utils.validateOptionalType)(\"FlowType\"),\n impltype: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"qualification\", \"id\"],\n builder: [\"id\", \"qualification\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n qualification: (0, _utils.validateType)(\"Identifier\", \"QualifiedTypeIdentifier\")\n }\n});\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: (0, _utils.validate)((0, _utils.assertValueType)(\"string\"))\n }\n});\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TypeParameterDeclaration\"),\n right: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n typeAnnotation: (0, _utils.validateType)(\"TypeAnnotation\")\n }\n});\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: (0, _utils.validate)((0, _utils.assertValueType)(\"string\")),\n bound: (0, _utils.validateOptionalType)(\"TypeAnnotation\"),\n default: (0, _utils.validateOptionalType)(\"FlowType\"),\n variance: (0, _utils.validateOptionalType)(\"Variance\")\n }\n});\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validate)((0, _utils.arrayOfType)(\"TypeParameter\"))\n }\n});\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: (0, _utils.validate)((0, _utils.arrayOfType)(\"FlowType\"))\n }\n});\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: (0, _utils.validate)((0, _utils.assertOneOf)(\"minus\", \"plus\"))\n }\n});\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"]\n});\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n body: (0, _utils.validateType)(\"EnumBooleanBody\", \"EnumNumberBody\", \"EnumStringBody\", \"EnumSymbolBody\")\n }\n});\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumBooleanMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumNumberMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\")),\n members: (0, _utils.validateArrayOfType)(\"EnumStringMember\", \"EnumDefaultedMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: (0, _utils.validateArrayOfType)(\"EnumDefaultedMember\"),\n hasUnknownMembers: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n builder: [\"id\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"BooleanLiteral\")\n }\n});\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"NumericLiteral\")\n }\n});\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\"),\n init: (0, _utils.validateType)(\"StringLiteral\")\n }\n});\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"FlowType\"),\n indexType: (0, _utils.validateType)(\"FlowType\")\n }\n});\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"FlowType\"),\n indexType: (0, _utils.validateType)(\"FlowType\"),\n optional: (0, _utils.validate)((0, _utils.assertValueType)(\"boolean\"))\n }\n});\n\n//# sourceMappingURL=flow.js.map\n","\"use strict\";\n\nvar _utils = require(\"./utils.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"JSX\");\ndefineType(\"JSXAttribute\", {\n visitor: [\"name\", \"value\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXNamespacedName\")\n },\n value: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"JSXElement\", \"JSXFragment\", \"StringLiteral\", \"JSXExpressionContainer\")\n }\n }\n});\ndefineType(\"JSXClosingElement\", {\n visitor: [\"name\"],\n aliases: [\"Immutable\"],\n fields: {\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXMemberExpression\", \"JSXNamespacedName\")\n }\n }\n});\ndefineType(\"JSXElement\", {\n builder: [\"openingElement\", \"closingElement\", \"children\", \"selfClosing\"],\n visitor: [\"openingElement\", \"children\", \"closingElement\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: Object.assign({\n openingElement: {\n validate: (0, _utils.assertNodeType)(\"JSXOpeningElement\")\n },\n closingElement: {\n optional: true,\n validate: (0, _utils.assertNodeType)(\"JSXClosingElement\")\n },\n children: (0, _utils.validateArrayOfType)(\"JSXText\", \"JSXExpressionContainer\", \"JSXSpreadChild\", \"JSXElement\", \"JSXFragment\")\n }, {\n selfClosing: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n }\n })\n});\ndefineType(\"JSXEmptyExpression\", {});\ndefineType(\"JSXExpressionContainer\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\", \"JSXEmptyExpression\")\n }\n }\n});\ndefineType(\"JSXSpreadChild\", {\n visitor: [\"expression\"],\n aliases: [\"Immutable\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"JSXIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"JSXMemberExpression\", {\n visitor: [\"object\", \"property\"],\n fields: {\n object: {\n validate: (0, _utils.assertNodeType)(\"JSXMemberExpression\", \"JSXIdentifier\")\n },\n property: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n }\n }\n});\ndefineType(\"JSXNamespacedName\", {\n visitor: [\"namespace\", \"name\"],\n fields: {\n namespace: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n },\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\")\n }\n }\n});\ndefineType(\"JSXOpeningElement\", {\n builder: [\"name\", \"attributes\", \"selfClosing\"],\n visitor: [\"name\", \"typeParameters\", \"typeArguments\", \"attributes\"],\n aliases: [\"Immutable\"],\n fields: Object.assign({\n name: {\n validate: (0, _utils.assertNodeType)(\"JSXIdentifier\", \"JSXMemberExpression\", \"JSXNamespacedName\")\n },\n selfClosing: {\n default: false\n },\n attributes: (0, _utils.validateArrayOfType)(\"JSXAttribute\", \"JSXSpreadAttribute\"),\n typeArguments: {\n validate: (0, _utils.assertNodeType)(\"TypeParameterInstantiation\"),\n optional: true\n }\n }, {\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterInstantiation\"),\n optional: true\n }\n })\n});\ndefineType(\"JSXSpreadAttribute\", {\n visitor: [\"argument\"],\n fields: {\n argument: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\ndefineType(\"JSXText\", {\n aliases: [\"Immutable\"],\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\ndefineType(\"JSXFragment\", {\n builder: [\"openingFragment\", \"closingFragment\", \"children\"],\n visitor: [\"openingFragment\", \"children\", \"closingFragment\"],\n aliases: [\"Immutable\", \"Expression\"],\n fields: {\n openingFragment: {\n validate: (0, _utils.assertNodeType)(\"JSXOpeningFragment\")\n },\n closingFragment: {\n validate: (0, _utils.assertNodeType)(\"JSXClosingFragment\")\n },\n children: (0, _utils.validateArrayOfType)(\"JSXText\", \"JSXExpressionContainer\", \"JSXSpreadChild\", \"JSXElement\", \"JSXFragment\")\n }\n});\ndefineType(\"JSXOpeningFragment\", {\n aliases: [\"Immutable\"]\n});\ndefineType(\"JSXClosingFragment\", {\n aliases: [\"Immutable\"]\n});\n\n//# sourceMappingURL=jsx.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0;\nvar _utils = require(\"./utils.js\");\nconst PLACEHOLDERS = exports.PLACEHOLDERS = [\"Identifier\", \"StringLiteral\", \"Expression\", \"Statement\", \"Declaration\", \"BlockStatement\", \"ClassBody\", \"Pattern\"];\nconst PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS_ALIAS = {\n Declaration: [\"Statement\"],\n Pattern: [\"PatternLike\", \"LVal\"]\n};\nfor (const type of PLACEHOLDERS) {\n const alias = _utils.ALIAS_KEYS[type];\n if (alias != null && alias.length) PLACEHOLDERS_ALIAS[type] = alias;\n}\nconst PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_FLIPPED_ALIAS = {};\nObject.keys(PLACEHOLDERS_ALIAS).forEach(type => {\n PLACEHOLDERS_ALIAS[type].forEach(alias => {\n if (!hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) {\n PLACEHOLDERS_FLIPPED_ALIAS[alias] = [];\n }\n PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type);\n });\n});\n\n//# sourceMappingURL=placeholders.js.map\n","\"use strict\";\n\nvar _utils = require(\"./utils.js\");\nvar _placeholders = require(\"./placeholders.js\");\nvar _core = require(\"./core.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"Miscellaneous\");\n{\n defineType(\"Noop\", {\n visitor: []\n });\n}\ndefineType(\"Placeholder\", {\n visitor: [],\n builder: [\"expectedNode\", \"name\"],\n fields: Object.assign({\n name: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n },\n expectedNode: {\n validate: (0, _utils.assertOneOf)(..._placeholders.PLACEHOLDERS)\n }\n }, (0, _core.patternLikeCommon)())\n});\ndefineType(\"V8IntrinsicIdentifier\", {\n builder: [\"name\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n }\n});\n\n//# sourceMappingURL=misc.js.map\n","\"use strict\";\n\nvar _utils = require(\"./utils.js\");\n(0, _utils.default)(\"ArgumentPlaceholder\", {});\n(0, _utils.default)(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields: !process.env.BABEL_TYPES_8_BREAKING ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"]\n })\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"]\n })\n }\n } : {\n object: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n },\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\n(0, _utils.default)(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n }\n});\n(0, _utils.default)(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: (0, _utils.assertNodeType)(\"BlockStatement\")\n },\n async: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n default: false\n }\n }\n});\n(0, _utils.default)(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: (0, _utils.assertNodeType)(\"Identifier\")\n }\n }\n});\n(0, _utils.default)(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: (0, _utils.validateArrayOfType)(\"ObjectProperty\", \"SpreadElement\")\n }\n});\n(0, _utils.default)(\"TupleExpression\", {\n fields: {\n elements: {\n validate: (0, _utils.arrayOfType)(\"Expression\", \"SpreadElement\"),\n default: []\n }\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"]\n});\n{\n (0, _utils.default)(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: (0, _utils.assertValueType)(\"string\")\n }\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"]\n });\n}\n(0, _utils.default)(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: (0, _utils.assertNodeType)(\"Program\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"TopicReference\", {\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: (0, _utils.assertNodeType)(\"Expression\")\n }\n },\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"]\n});\n(0, _utils.default)(\"VoidPattern\", {\n aliases: [\"Pattern\", \"PatternLike\", \"FunctionParameter\"]\n});\n\n//# sourceMappingURL=experimental.js.map\n","\"use strict\";\n\nvar _utils = require(\"./utils.js\");\nvar _core = require(\"./core.js\");\nvar _is = require(\"../validators/is.js\");\nconst defineType = (0, _utils.defineAliasedType)(\"TypeScript\");\nconst bool = (0, _utils.assertValueType)(\"boolean\");\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: (0, _utils.assertNodeType)(\"TSTypeAnnotation\", \"Noop\"),\n optional: true\n },\n typeParameters: {\n validate: (0, _utils.assertNodeType)(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true\n }\n});\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"],\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: (0, _utils.assertOneOf)(\"public\", \"private\", \"protected\"),\n optional: true\n },\n readonly: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n parameter: {\n validate: (0, _utils.assertNodeType)(\"Identifier\", \"AssignmentPattern\")\n },\n override: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n decorators: {\n validate: (0, _utils.arrayOfType)(\"Decorator\"),\n optional: true\n }\n }\n});\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: Object.assign({}, (0, _core.functionDeclarationCommon)(), tSFunctionTypeAnnotationCommon())\n});\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: Object.assign({}, (0, _core.classMethodOrDeclareMethodCommon)(), tSFunctionTypeAnnotationCommon())\n});\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: (0, _utils.validateType)(\"TSEntityName\"),\n right: (0, _utils.validateType)(\"Identifier\")\n }\n});\nconst signatureDeclarationCommon = () => ({\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n [\"parameters\"]: (0, _utils.validateArrayOfType)(\"ArrayPattern\", \"Identifier\", \"ObjectPattern\", \"RestElement\"),\n [\"typeAnnotation\"]: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\")\n});\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\"typeParameters\", \"parameters\", \"typeAnnotation\"],\n fields: signatureDeclarationCommon()\n};\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\"TSConstructSignatureDeclaration\", callConstructSignatureDeclaration);\nconst namedTypeElementCommon = () => ({\n key: (0, _utils.validateType)(\"Expression\"),\n computed: {\n default: false\n },\n optional: (0, _utils.validateOptional)(bool)\n});\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\"],\n fields: Object.assign({}, namedTypeElementCommon(), {\n readonly: (0, _utils.validateOptional)(bool),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\"),\n kind: {\n optional: true,\n validate: (0, _utils.assertOneOf)(\"get\", \"set\")\n }\n })\n});\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeParameters\", \"parameters\", \"typeAnnotation\"],\n fields: Object.assign({}, signatureDeclarationCommon(), namedTypeElementCommon(), {\n kind: {\n validate: (0, _utils.assertOneOf)(\"method\", \"get\", \"set\")\n }\n })\n});\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: (0, _utils.validateOptional)(bool),\n static: (0, _utils.validateOptional)(bool),\n parameters: (0, _utils.validateArrayOfType)(\"Identifier\"),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\")\n }\n});\nconst tsKeywordTypes = [\"TSAnyKeyword\", \"TSBooleanKeyword\", \"TSBigIntKeyword\", \"TSIntrinsicKeyword\", \"TSNeverKeyword\", \"TSNullKeyword\", \"TSNumberKeyword\", \"TSObjectKeyword\", \"TSStringKeyword\", \"TSSymbolKeyword\", \"TSUndefinedKeyword\", \"TSUnknownKeyword\", \"TSVoidKeyword\"];\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {}\n });\n}\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {}\n});\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\"typeParameters\", \"parameters\", \"typeAnnotation\"]\n};\ndefineType(\"TSFunctionType\", Object.assign({}, fnOrCtrBase, {\n fields: signatureDeclarationCommon()\n}));\ndefineType(\"TSConstructorType\", Object.assign({}, fnOrCtrBase, {\n fields: Object.assign({}, signatureDeclarationCommon(), {\n abstract: (0, _utils.validateOptional)(bool)\n })\n}));\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: (0, _utils.validateType)(\"TSEntityName\"),\n [\"typeParameters\"]: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: (0, _utils.validateType)(\"Identifier\", \"TSThisType\"),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSTypeAnnotation\"),\n asserts: (0, _utils.validateOptional)(bool)\n }\n});\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: (0, _utils.validateType)(\"TSEntityName\", \"TSImportType\"),\n [\"typeParameters\"]: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: (0, _utils.validateArrayOfType)(\"TSTypeElement\")\n }\n});\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: (0, _utils.validateArrayOfType)(\"TSType\", \"TSNamedTupleMember\")\n }\n});\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: (0, _utils.validateType)(\"Identifier\"),\n optional: {\n validate: bool,\n default: false\n },\n elementType: (0, _utils.validateType)(\"TSType\")\n }\n});\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: (0, _utils.validateArrayOfType)(\"TSType\")\n }\n};\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: (0, _utils.validateType)(\"TSType\"),\n extendsType: (0, _utils.validateType)(\"TSType\"),\n trueType: (0, _utils.validateType)(\"TSType\"),\n falseType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: (0, _utils.validateType)(\"TSTypeParameter\")\n }\n});\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n builder: [\"typeAnnotation\", \"operator\"],\n fields: {\n operator: {\n validate: (0, _utils.assertValueType)(\"string\"),\n default: \"keyof\"\n },\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: (0, _utils.validateType)(\"TSType\"),\n indexType: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\", \"nameType\", \"typeAnnotation\"],\n builder: [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: Object.assign({}, {\n typeParameter: (0, _utils.validateType)(\"TSTypeParameter\")\n }, {\n readonly: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, \"+\", \"-\")),\n optional: (0, _utils.validateOptional)((0, _utils.assertOneOf)(true, false, \"+\", \"-\")),\n typeAnnotation: (0, _utils.validateOptionalType)(\"TSType\"),\n nameType: (0, _utils.validateOptionalType)(\"TSType\")\n })\n});\ndefineType(\"TSTemplateLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"quasis\", \"types\"],\n fields: {\n quasis: (0, _utils.validateArrayOfType)(\"TemplateElement\"),\n types: {\n validate: (0, _utils.chain)((0, _utils.assertValueType)(\"array\"), (0, _utils.assertEach)((0, _utils.assertNodeType)(\"TSType\")), function (node, key, val) {\n if (node.quasis.length !== val.length + 1) {\n throw new TypeError(`Number of ${node.type} quasis should be exactly one more than the number of types.\\nExpected ${val.length + 1} quasis but got ${node.quasis.length}`);\n }\n })\n }\n }\n});\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: function () {\n const unaryExpression = (0, _utils.assertNodeType)(\"NumericLiteral\", \"BigIntLiteral\");\n const unaryOperator = (0, _utils.assertOneOf)(\"-\");\n const literal = (0, _utils.assertNodeType)(\"NumericLiteral\", \"StringLiteral\", \"BooleanLiteral\", \"BigIntLiteral\", \"TemplateLiteral\");\n function validator(parent, key, node) {\n if ((0, _is.default)(\"UnaryExpression\", node)) {\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n literal(parent, key, node);\n }\n }\n validator.oneOfNodeTypes = [\"NumericLiteral\", \"StringLiteral\", \"BooleanLiteral\", \"BigIntLiteral\", \"TemplateLiteral\", \"UnaryExpression\"];\n return validator;\n }()\n }\n }\n});\n{\n defineType(\"TSExpressionWithTypeArguments\", {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: (0, _utils.validateType)(\"TSEntityName\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n });\n}\ndefineType(\"TSInterfaceDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)(\"TSExpressionWithTypeArguments\")),\n body: (0, _utils.validateType)(\"TSInterfaceBody\")\n }\n});\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"TSTypeElement\")\n }\n});\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n typeParameters: (0, _utils.validateOptionalType)(\"TSTypeParameterDeclaration\"),\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n});\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n [\"typeParameters\"]: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\")\n }\n});\nconst TSTypeExpression = {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\"),\n typeAnnotation: (0, _utils.validateType)(\"TSType\")\n }\n};\ndefineType(\"TSAsExpression\", TSTypeExpression);\ndefineType(\"TSSatisfiesExpression\", TSTypeExpression);\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: (0, _utils.validateType)(\"TSType\"),\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSEnumBody\", {\n visitor: [\"members\"],\n fields: {\n members: (0, _utils.validateArrayOfType)(\"TSEnumMember\")\n }\n});\n{\n defineType(\"TSEnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: (0, _utils.validateOptional)(bool),\n const: (0, _utils.validateOptional)(bool),\n id: (0, _utils.validateType)(\"Identifier\"),\n members: (0, _utils.validateArrayOfType)(\"TSEnumMember\"),\n initializer: (0, _utils.validateOptionalType)(\"Expression\"),\n body: (0, _utils.validateOptionalType)(\"TSEnumBody\")\n }\n });\n}\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n initializer: (0, _utils.validateOptionalType)(\"Expression\")\n }\n});\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: Object.assign({\n kind: {\n validate: (0, _utils.assertOneOf)(\"global\", \"module\", \"namespace\")\n },\n declare: (0, _utils.validateOptional)(bool)\n }, {\n global: (0, _utils.validateOptional)(bool)\n }, {\n id: (0, _utils.validateType)(\"Identifier\", \"StringLiteral\"),\n body: (0, _utils.validateType)(\"TSModuleBlock\", \"TSModuleDeclaration\")\n })\n});\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\", \"FunctionParent\"],\n visitor: [\"body\"],\n fields: {\n body: (0, _utils.validateArrayOfType)(\"Statement\")\n }\n});\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n builder: [\"argument\", \"qualifier\", \"typeParameters\"],\n visitor: [\"argument\", \"options\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: (0, _utils.validateType)(\"StringLiteral\"),\n qualifier: (0, _utils.validateOptionalType)(\"TSEntityName\"),\n [\"typeParameters\"]: (0, _utils.validateOptionalType)(\"TSTypeParameterInstantiation\"),\n options: {\n validate: (0, _utils.assertNodeType)(\"ObjectExpression\"),\n optional: true\n }\n }\n});\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: Object.assign({}, {\n isExport: (0, _utils.validate)(bool)\n }, {\n id: (0, _utils.validateType)(\"Identifier\"),\n moduleReference: (0, _utils.validateType)(\"TSEntityName\", \"TSExternalModuleReference\"),\n importKind: {\n validate: (0, _utils.assertOneOf)(\"type\", \"value\"),\n optional: true\n }\n })\n});\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"StringLiteral\")\n }\n});\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: (0, _utils.validateType)(\"Expression\")\n }\n});\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: (0, _utils.validateType)(\"Identifier\")\n }\n});\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: (0, _utils.assertNodeType)(\"TSType\")\n }\n }\n});\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validateArrayOfType)(\"TSType\")\n }\n});\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: (0, _utils.validateArrayOfType)(\"TSTypeParameter\")\n }\n});\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: (0, _utils.assertValueType)(\"string\")\n },\n in: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n out: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n const: {\n validate: (0, _utils.assertValueType)(\"boolean\"),\n optional: true\n },\n constraint: {\n validate: (0, _utils.assertNodeType)(\"TSType\"),\n optional: true\n },\n default: {\n validate: (0, _utils.assertNodeType)(\"TSType\"),\n optional: true\n }\n }\n});\n\n//# sourceMappingURL=typescript.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DEPRECATED_ALIASES = void 0;\nconst DEPRECATED_ALIASES = exports.DEPRECATED_ALIASES = {\n ModuleDeclaration: \"ImportOrExportDeclaration\"\n};\n\n//# sourceMappingURL=deprecated-aliases.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"ALIAS_KEYS\", {\n enumerable: true,\n get: function () {\n return _utils.ALIAS_KEYS;\n }\n});\nObject.defineProperty(exports, \"BUILDER_KEYS\", {\n enumerable: true,\n get: function () {\n return _utils.BUILDER_KEYS;\n }\n});\nObject.defineProperty(exports, \"DEPRECATED_ALIASES\", {\n enumerable: true,\n get: function () {\n return _deprecatedAliases.DEPRECATED_ALIASES;\n }\n});\nObject.defineProperty(exports, \"DEPRECATED_KEYS\", {\n enumerable: true,\n get: function () {\n return _utils.DEPRECATED_KEYS;\n }\n});\nObject.defineProperty(exports, \"FLIPPED_ALIAS_KEYS\", {\n enumerable: true,\n get: function () {\n return _utils.FLIPPED_ALIAS_KEYS;\n }\n});\nObject.defineProperty(exports, \"NODE_FIELDS\", {\n enumerable: true,\n get: function () {\n return _utils.NODE_FIELDS;\n }\n});\nObject.defineProperty(exports, \"NODE_PARENT_VALIDATIONS\", {\n enumerable: true,\n get: function () {\n return _utils.NODE_PARENT_VALIDATIONS;\n }\n});\nObject.defineProperty(exports, \"PLACEHOLDERS\", {\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS;\n }\n});\nObject.defineProperty(exports, \"PLACEHOLDERS_ALIAS\", {\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS_ALIAS;\n }\n});\nObject.defineProperty(exports, \"PLACEHOLDERS_FLIPPED_ALIAS\", {\n enumerable: true,\n get: function () {\n return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS;\n }\n});\nexports.TYPES = void 0;\nObject.defineProperty(exports, \"VISITOR_KEYS\", {\n enumerable: true,\n get: function () {\n return _utils.VISITOR_KEYS;\n }\n});\nrequire(\"./core.js\");\nrequire(\"./flow.js\");\nrequire(\"./jsx.js\");\nrequire(\"./misc.js\");\nrequire(\"./experimental.js\");\nrequire(\"./typescript.js\");\nvar _utils = require(\"./utils.js\");\nvar _placeholders = require(\"./placeholders.js\");\nvar _deprecatedAliases = require(\"./deprecated-aliases.js\");\nObject.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach(deprecatedAlias => {\n _utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]];\n});\nfor (const {\n types,\n set\n} of _utils.allExpandedTypes) {\n for (const type of types) {\n const aliases = _utils.FLIPPED_ALIAS_KEYS[type];\n if (aliases) {\n aliases.forEach(set.add, set);\n } else {\n set.add(type);\n }\n }\n}\nconst TYPES = exports.TYPES = [].concat(Object.keys(_utils.VISITOR_KEYS), Object.keys(_utils.FLIPPED_ALIAS_KEYS), Object.keys(_utils.DEPRECATED_KEYS));\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = validate;\nexports.validateChild = validateChild;\nexports.validateField = validateField;\nexports.validateInternal = validateInternal;\nvar _index = require(\"../definitions/index.js\");\nfunction validate(node, key, val) {\n if (!node) return;\n const fields = _index.NODE_FIELDS[node.type];\n if (!fields) return;\n const field = fields[key];\n validateField(node, key, val, field);\n validateChild(node, key, val);\n}\nfunction validateInternal(field, node, key, val, maybeNode) {\n if (!(field != null && field.validate)) return;\n if (field.optional && val == null) return;\n field.validate(node, key, val);\n if (maybeNode) {\n var _NODE_PARENT_VALIDATI;\n const type = val.type;\n if (type == null) return;\n (_NODE_PARENT_VALIDATI = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);\n }\n}\nfunction validateField(node, key, val, field) {\n if (!(field != null && field.validate)) return;\n if (field.optional && val == null) return;\n field.validate(node, key, val);\n}\nfunction validateChild(node, key, val) {\n var _NODE_PARENT_VALIDATI2;\n const type = val == null ? void 0 : val.type;\n if (type == null) return;\n (_NODE_PARENT_VALIDATI2 = _index.NODE_PARENT_VALIDATIONS[type]) == null || _NODE_PARENT_VALIDATI2.call(_index.NODE_PARENT_VALIDATIONS, node, key, val);\n}\n\n//# sourceMappingURL=validate.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.anyTypeAnnotation = anyTypeAnnotation;\nexports.argumentPlaceholder = argumentPlaceholder;\nexports.arrayExpression = arrayExpression;\nexports.arrayPattern = arrayPattern;\nexports.arrayTypeAnnotation = arrayTypeAnnotation;\nexports.arrowFunctionExpression = arrowFunctionExpression;\nexports.assignmentExpression = assignmentExpression;\nexports.assignmentPattern = assignmentPattern;\nexports.awaitExpression = awaitExpression;\nexports.bigIntLiteral = bigIntLiteral;\nexports.binaryExpression = binaryExpression;\nexports.bindExpression = bindExpression;\nexports.blockStatement = blockStatement;\nexports.booleanLiteral = booleanLiteral;\nexports.booleanLiteralTypeAnnotation = booleanLiteralTypeAnnotation;\nexports.booleanTypeAnnotation = booleanTypeAnnotation;\nexports.breakStatement = breakStatement;\nexports.callExpression = callExpression;\nexports.catchClause = catchClause;\nexports.classAccessorProperty = classAccessorProperty;\nexports.classBody = classBody;\nexports.classDeclaration = classDeclaration;\nexports.classExpression = classExpression;\nexports.classImplements = classImplements;\nexports.classMethod = classMethod;\nexports.classPrivateMethod = classPrivateMethod;\nexports.classPrivateProperty = classPrivateProperty;\nexports.classProperty = classProperty;\nexports.conditionalExpression = conditionalExpression;\nexports.continueStatement = continueStatement;\nexports.debuggerStatement = debuggerStatement;\nexports.decimalLiteral = decimalLiteral;\nexports.declareClass = declareClass;\nexports.declareExportAllDeclaration = declareExportAllDeclaration;\nexports.declareExportDeclaration = declareExportDeclaration;\nexports.declareFunction = declareFunction;\nexports.declareInterface = declareInterface;\nexports.declareModule = declareModule;\nexports.declareModuleExports = declareModuleExports;\nexports.declareOpaqueType = declareOpaqueType;\nexports.declareTypeAlias = declareTypeAlias;\nexports.declareVariable = declareVariable;\nexports.declaredPredicate = declaredPredicate;\nexports.decorator = decorator;\nexports.directive = directive;\nexports.directiveLiteral = directiveLiteral;\nexports.doExpression = doExpression;\nexports.doWhileStatement = doWhileStatement;\nexports.emptyStatement = emptyStatement;\nexports.emptyTypeAnnotation = emptyTypeAnnotation;\nexports.enumBooleanBody = enumBooleanBody;\nexports.enumBooleanMember = enumBooleanMember;\nexports.enumDeclaration = enumDeclaration;\nexports.enumDefaultedMember = enumDefaultedMember;\nexports.enumNumberBody = enumNumberBody;\nexports.enumNumberMember = enumNumberMember;\nexports.enumStringBody = enumStringBody;\nexports.enumStringMember = enumStringMember;\nexports.enumSymbolBody = enumSymbolBody;\nexports.existsTypeAnnotation = existsTypeAnnotation;\nexports.exportAllDeclaration = exportAllDeclaration;\nexports.exportDefaultDeclaration = exportDefaultDeclaration;\nexports.exportDefaultSpecifier = exportDefaultSpecifier;\nexports.exportNamedDeclaration = exportNamedDeclaration;\nexports.exportNamespaceSpecifier = exportNamespaceSpecifier;\nexports.exportSpecifier = exportSpecifier;\nexports.expressionStatement = expressionStatement;\nexports.file = file;\nexports.forInStatement = forInStatement;\nexports.forOfStatement = forOfStatement;\nexports.forStatement = forStatement;\nexports.functionDeclaration = functionDeclaration;\nexports.functionExpression = functionExpression;\nexports.functionTypeAnnotation = functionTypeAnnotation;\nexports.functionTypeParam = functionTypeParam;\nexports.genericTypeAnnotation = genericTypeAnnotation;\nexports.identifier = identifier;\nexports.ifStatement = ifStatement;\nexports.import = _import;\nexports.importAttribute = importAttribute;\nexports.importDeclaration = importDeclaration;\nexports.importDefaultSpecifier = importDefaultSpecifier;\nexports.importExpression = importExpression;\nexports.importNamespaceSpecifier = importNamespaceSpecifier;\nexports.importSpecifier = importSpecifier;\nexports.indexedAccessType = indexedAccessType;\nexports.inferredPredicate = inferredPredicate;\nexports.interfaceDeclaration = interfaceDeclaration;\nexports.interfaceExtends = interfaceExtends;\nexports.interfaceTypeAnnotation = interfaceTypeAnnotation;\nexports.interpreterDirective = interpreterDirective;\nexports.intersectionTypeAnnotation = intersectionTypeAnnotation;\nexports.jSXAttribute = exports.jsxAttribute = jsxAttribute;\nexports.jSXClosingElement = exports.jsxClosingElement = jsxClosingElement;\nexports.jSXClosingFragment = exports.jsxClosingFragment = jsxClosingFragment;\nexports.jSXElement = exports.jsxElement = jsxElement;\nexports.jSXEmptyExpression = exports.jsxEmptyExpression = jsxEmptyExpression;\nexports.jSXExpressionContainer = exports.jsxExpressionContainer = jsxExpressionContainer;\nexports.jSXFragment = exports.jsxFragment = jsxFragment;\nexports.jSXIdentifier = exports.jsxIdentifier = jsxIdentifier;\nexports.jSXMemberExpression = exports.jsxMemberExpression = jsxMemberExpression;\nexports.jSXNamespacedName = exports.jsxNamespacedName = jsxNamespacedName;\nexports.jSXOpeningElement = exports.jsxOpeningElement = jsxOpeningElement;\nexports.jSXOpeningFragment = exports.jsxOpeningFragment = jsxOpeningFragment;\nexports.jSXSpreadAttribute = exports.jsxSpreadAttribute = jsxSpreadAttribute;\nexports.jSXSpreadChild = exports.jsxSpreadChild = jsxSpreadChild;\nexports.jSXText = exports.jsxText = jsxText;\nexports.labeledStatement = labeledStatement;\nexports.logicalExpression = logicalExpression;\nexports.memberExpression = memberExpression;\nexports.metaProperty = metaProperty;\nexports.mixedTypeAnnotation = mixedTypeAnnotation;\nexports.moduleExpression = moduleExpression;\nexports.newExpression = newExpression;\nexports.noop = noop;\nexports.nullLiteral = nullLiteral;\nexports.nullLiteralTypeAnnotation = nullLiteralTypeAnnotation;\nexports.nullableTypeAnnotation = nullableTypeAnnotation;\nexports.numberLiteral = NumberLiteral;\nexports.numberLiteralTypeAnnotation = numberLiteralTypeAnnotation;\nexports.numberTypeAnnotation = numberTypeAnnotation;\nexports.numericLiteral = numericLiteral;\nexports.objectExpression = objectExpression;\nexports.objectMethod = objectMethod;\nexports.objectPattern = objectPattern;\nexports.objectProperty = objectProperty;\nexports.objectTypeAnnotation = objectTypeAnnotation;\nexports.objectTypeCallProperty = objectTypeCallProperty;\nexports.objectTypeIndexer = objectTypeIndexer;\nexports.objectTypeInternalSlot = objectTypeInternalSlot;\nexports.objectTypeProperty = objectTypeProperty;\nexports.objectTypeSpreadProperty = objectTypeSpreadProperty;\nexports.opaqueType = opaqueType;\nexports.optionalCallExpression = optionalCallExpression;\nexports.optionalIndexedAccessType = optionalIndexedAccessType;\nexports.optionalMemberExpression = optionalMemberExpression;\nexports.parenthesizedExpression = parenthesizedExpression;\nexports.pipelineBareFunction = pipelineBareFunction;\nexports.pipelinePrimaryTopicReference = pipelinePrimaryTopicReference;\nexports.pipelineTopicExpression = pipelineTopicExpression;\nexports.placeholder = placeholder;\nexports.privateName = privateName;\nexports.program = program;\nexports.qualifiedTypeIdentifier = qualifiedTypeIdentifier;\nexports.recordExpression = recordExpression;\nexports.regExpLiteral = regExpLiteral;\nexports.regexLiteral = RegexLiteral;\nexports.restElement = restElement;\nexports.restProperty = RestProperty;\nexports.returnStatement = returnStatement;\nexports.sequenceExpression = sequenceExpression;\nexports.spreadElement = spreadElement;\nexports.spreadProperty = SpreadProperty;\nexports.staticBlock = staticBlock;\nexports.stringLiteral = stringLiteral;\nexports.stringLiteralTypeAnnotation = stringLiteralTypeAnnotation;\nexports.stringTypeAnnotation = stringTypeAnnotation;\nexports.super = _super;\nexports.switchCase = switchCase;\nexports.switchStatement = switchStatement;\nexports.symbolTypeAnnotation = symbolTypeAnnotation;\nexports.taggedTemplateExpression = taggedTemplateExpression;\nexports.templateElement = templateElement;\nexports.templateLiteral = templateLiteral;\nexports.thisExpression = thisExpression;\nexports.thisTypeAnnotation = thisTypeAnnotation;\nexports.throwStatement = throwStatement;\nexports.topicReference = topicReference;\nexports.tryStatement = tryStatement;\nexports.tSAnyKeyword = exports.tsAnyKeyword = tsAnyKeyword;\nexports.tSArrayType = exports.tsArrayType = tsArrayType;\nexports.tSAsExpression = exports.tsAsExpression = tsAsExpression;\nexports.tSBigIntKeyword = exports.tsBigIntKeyword = tsBigIntKeyword;\nexports.tSBooleanKeyword = exports.tsBooleanKeyword = tsBooleanKeyword;\nexports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = tsCallSignatureDeclaration;\nexports.tSConditionalType = exports.tsConditionalType = tsConditionalType;\nexports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = tsConstructSignatureDeclaration;\nexports.tSConstructorType = exports.tsConstructorType = tsConstructorType;\nexports.tSDeclareFunction = exports.tsDeclareFunction = tsDeclareFunction;\nexports.tSDeclareMethod = exports.tsDeclareMethod = tsDeclareMethod;\nexports.tSEnumBody = exports.tsEnumBody = tsEnumBody;\nexports.tSEnumDeclaration = exports.tsEnumDeclaration = tsEnumDeclaration;\nexports.tSEnumMember = exports.tsEnumMember = tsEnumMember;\nexports.tSExportAssignment = exports.tsExportAssignment = tsExportAssignment;\nexports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = tsExpressionWithTypeArguments;\nexports.tSExternalModuleReference = exports.tsExternalModuleReference = tsExternalModuleReference;\nexports.tSFunctionType = exports.tsFunctionType = tsFunctionType;\nexports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = tsImportEqualsDeclaration;\nexports.tSImportType = exports.tsImportType = tsImportType;\nexports.tSIndexSignature = exports.tsIndexSignature = tsIndexSignature;\nexports.tSIndexedAccessType = exports.tsIndexedAccessType = tsIndexedAccessType;\nexports.tSInferType = exports.tsInferType = tsInferType;\nexports.tSInstantiationExpression = exports.tsInstantiationExpression = tsInstantiationExpression;\nexports.tSInterfaceBody = exports.tsInterfaceBody = tsInterfaceBody;\nexports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = tsInterfaceDeclaration;\nexports.tSIntersectionType = exports.tsIntersectionType = tsIntersectionType;\nexports.tSIntrinsicKeyword = exports.tsIntrinsicKeyword = tsIntrinsicKeyword;\nexports.tSLiteralType = exports.tsLiteralType = tsLiteralType;\nexports.tSMappedType = exports.tsMappedType = tsMappedType;\nexports.tSMethodSignature = exports.tsMethodSignature = tsMethodSignature;\nexports.tSModuleBlock = exports.tsModuleBlock = tsModuleBlock;\nexports.tSModuleDeclaration = exports.tsModuleDeclaration = tsModuleDeclaration;\nexports.tSNamedTupleMember = exports.tsNamedTupleMember = tsNamedTupleMember;\nexports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = tsNamespaceExportDeclaration;\nexports.tSNeverKeyword = exports.tsNeverKeyword = tsNeverKeyword;\nexports.tSNonNullExpression = exports.tsNonNullExpression = tsNonNullExpression;\nexports.tSNullKeyword = exports.tsNullKeyword = tsNullKeyword;\nexports.tSNumberKeyword = exports.tsNumberKeyword = tsNumberKeyword;\nexports.tSObjectKeyword = exports.tsObjectKeyword = tsObjectKeyword;\nexports.tSOptionalType = exports.tsOptionalType = tsOptionalType;\nexports.tSParameterProperty = exports.tsParameterProperty = tsParameterProperty;\nexports.tSParenthesizedType = exports.tsParenthesizedType = tsParenthesizedType;\nexports.tSPropertySignature = exports.tsPropertySignature = tsPropertySignature;\nexports.tSQualifiedName = exports.tsQualifiedName = tsQualifiedName;\nexports.tSRestType = exports.tsRestType = tsRestType;\nexports.tSSatisfiesExpression = exports.tsSatisfiesExpression = tsSatisfiesExpression;\nexports.tSStringKeyword = exports.tsStringKeyword = tsStringKeyword;\nexports.tSSymbolKeyword = exports.tsSymbolKeyword = tsSymbolKeyword;\nexports.tSTemplateLiteralType = exports.tsTemplateLiteralType = tsTemplateLiteralType;\nexports.tSThisType = exports.tsThisType = tsThisType;\nexports.tSTupleType = exports.tsTupleType = tsTupleType;\nexports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = tsTypeAliasDeclaration;\nexports.tSTypeAnnotation = exports.tsTypeAnnotation = tsTypeAnnotation;\nexports.tSTypeAssertion = exports.tsTypeAssertion = tsTypeAssertion;\nexports.tSTypeLiteral = exports.tsTypeLiteral = tsTypeLiteral;\nexports.tSTypeOperator = exports.tsTypeOperator = tsTypeOperator;\nexports.tSTypeParameter = exports.tsTypeParameter = tsTypeParameter;\nexports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = tsTypeParameterDeclaration;\nexports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = tsTypeParameterInstantiation;\nexports.tSTypePredicate = exports.tsTypePredicate = tsTypePredicate;\nexports.tSTypeQuery = exports.tsTypeQuery = tsTypeQuery;\nexports.tSTypeReference = exports.tsTypeReference = tsTypeReference;\nexports.tSUndefinedKeyword = exports.tsUndefinedKeyword = tsUndefinedKeyword;\nexports.tSUnionType = exports.tsUnionType = tsUnionType;\nexports.tSUnknownKeyword = exports.tsUnknownKeyword = tsUnknownKeyword;\nexports.tSVoidKeyword = exports.tsVoidKeyword = tsVoidKeyword;\nexports.tupleExpression = tupleExpression;\nexports.tupleTypeAnnotation = tupleTypeAnnotation;\nexports.typeAlias = typeAlias;\nexports.typeAnnotation = typeAnnotation;\nexports.typeCastExpression = typeCastExpression;\nexports.typeParameter = typeParameter;\nexports.typeParameterDeclaration = typeParameterDeclaration;\nexports.typeParameterInstantiation = typeParameterInstantiation;\nexports.typeofTypeAnnotation = typeofTypeAnnotation;\nexports.unaryExpression = unaryExpression;\nexports.unionTypeAnnotation = unionTypeAnnotation;\nexports.updateExpression = updateExpression;\nexports.v8IntrinsicIdentifier = v8IntrinsicIdentifier;\nexports.variableDeclaration = variableDeclaration;\nexports.variableDeclarator = variableDeclarator;\nexports.variance = variance;\nexports.voidPattern = voidPattern;\nexports.voidTypeAnnotation = voidTypeAnnotation;\nexports.whileStatement = whileStatement;\nexports.withStatement = withStatement;\nexports.yieldExpression = yieldExpression;\nvar _validate = require(\"../../validators/validate.js\");\nvar _deprecationWarning = require(\"../../utils/deprecationWarning.js\");\nvar utils = require(\"../../definitions/utils.js\");\nconst {\n validateInternal: validate\n} = _validate;\nconst {\n NODE_FIELDS\n} = utils;\nfunction bigIntLiteral(value) {\n if (typeof value === \"bigint\") {\n value = value.toString();\n }\n const node = {\n type: \"BigIntLiteral\",\n value\n };\n const defs = NODE_FIELDS.BigIntLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction arrayExpression(elements = []) {\n const node = {\n type: \"ArrayExpression\",\n elements\n };\n const defs = NODE_FIELDS.ArrayExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction assignmentExpression(operator, left, right) {\n const node = {\n type: \"AssignmentExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.AssignmentExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction binaryExpression(operator, left, right) {\n const node = {\n type: \"BinaryExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.BinaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction interpreterDirective(value) {\n const node = {\n type: \"InterpreterDirective\",\n value\n };\n const defs = NODE_FIELDS.InterpreterDirective;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction directive(value) {\n const node = {\n type: \"Directive\",\n value\n };\n const defs = NODE_FIELDS.Directive;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction directiveLiteral(value) {\n const node = {\n type: \"DirectiveLiteral\",\n value\n };\n const defs = NODE_FIELDS.DirectiveLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction blockStatement(body, directives = []) {\n const node = {\n type: \"BlockStatement\",\n body,\n directives\n };\n const defs = NODE_FIELDS.BlockStatement;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n return node;\n}\nfunction breakStatement(label = null) {\n const node = {\n type: \"BreakStatement\",\n label\n };\n const defs = NODE_FIELDS.BreakStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nfunction callExpression(callee, _arguments) {\n const node = {\n type: \"CallExpression\",\n callee,\n arguments: _arguments\n };\n const defs = NODE_FIELDS.CallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nfunction catchClause(param = null, body) {\n const node = {\n type: \"CatchClause\",\n param,\n body\n };\n const defs = NODE_FIELDS.CatchClause;\n validate(defs.param, node, \"param\", param, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction conditionalExpression(test, consequent, alternate) {\n const node = {\n type: \"ConditionalExpression\",\n test,\n consequent,\n alternate\n };\n const defs = NODE_FIELDS.ConditionalExpression;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nfunction continueStatement(label = null) {\n const node = {\n type: \"ContinueStatement\",\n label\n };\n const defs = NODE_FIELDS.ContinueStatement;\n validate(defs.label, node, \"label\", label, 1);\n return node;\n}\nfunction debuggerStatement() {\n return {\n type: \"DebuggerStatement\"\n };\n}\nfunction doWhileStatement(test, body) {\n const node = {\n type: \"DoWhileStatement\",\n test,\n body\n };\n const defs = NODE_FIELDS.DoWhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction emptyStatement() {\n return {\n type: \"EmptyStatement\"\n };\n}\nfunction expressionStatement(expression) {\n const node = {\n type: \"ExpressionStatement\",\n expression\n };\n const defs = NODE_FIELDS.ExpressionStatement;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction file(program, comments = null, tokens = null) {\n const node = {\n type: \"File\",\n program,\n comments,\n tokens\n };\n const defs = NODE_FIELDS.File;\n validate(defs.program, node, \"program\", program, 1);\n validate(defs.comments, node, \"comments\", comments, 1);\n validate(defs.tokens, node, \"tokens\", tokens);\n return node;\n}\nfunction forInStatement(left, right, body) {\n const node = {\n type: \"ForInStatement\",\n left,\n right,\n body\n };\n const defs = NODE_FIELDS.ForInStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction forStatement(init = null, test = null, update = null, body) {\n const node = {\n type: \"ForStatement\",\n init,\n test,\n update,\n body\n };\n const defs = NODE_FIELDS.ForStatement;\n validate(defs.init, node, \"init\", init, 1);\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.update, node, \"update\", update, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction functionDeclaration(id = null, params, body, generator = false, async = false) {\n const node = {\n type: \"FunctionDeclaration\",\n id,\n params,\n body,\n generator,\n async\n };\n const defs = NODE_FIELDS.FunctionDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction functionExpression(id = null, params, body, generator = false, async = false) {\n const node = {\n type: \"FunctionExpression\",\n id,\n params,\n body,\n generator,\n async\n };\n const defs = NODE_FIELDS.FunctionExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction identifier(name) {\n const node = {\n type: \"Identifier\",\n name\n };\n const defs = NODE_FIELDS.Identifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction ifStatement(test, consequent, alternate = null) {\n const node = {\n type: \"IfStatement\",\n test,\n consequent,\n alternate\n };\n const defs = NODE_FIELDS.IfStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n validate(defs.alternate, node, \"alternate\", alternate, 1);\n return node;\n}\nfunction labeledStatement(label, body) {\n const node = {\n type: \"LabeledStatement\",\n label,\n body\n };\n const defs = NODE_FIELDS.LabeledStatement;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction stringLiteral(value) {\n const node = {\n type: \"StringLiteral\",\n value\n };\n const defs = NODE_FIELDS.StringLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction numericLiteral(value) {\n const node = {\n type: \"NumericLiteral\",\n value\n };\n const defs = NODE_FIELDS.NumericLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction nullLiteral() {\n return {\n type: \"NullLiteral\"\n };\n}\nfunction booleanLiteral(value) {\n const node = {\n type: \"BooleanLiteral\",\n value\n };\n const defs = NODE_FIELDS.BooleanLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction regExpLiteral(pattern, flags = \"\") {\n const node = {\n type: \"RegExpLiteral\",\n pattern,\n flags\n };\n const defs = NODE_FIELDS.RegExpLiteral;\n validate(defs.pattern, node, \"pattern\", pattern);\n validate(defs.flags, node, \"flags\", flags);\n return node;\n}\nfunction logicalExpression(operator, left, right) {\n const node = {\n type: \"LogicalExpression\",\n operator,\n left,\n right\n };\n const defs = NODE_FIELDS.LogicalExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction memberExpression(object, property, computed = false, optional = null) {\n const node = {\n type: \"MemberExpression\",\n object,\n property,\n computed,\n optional\n };\n const defs = NODE_FIELDS.MemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction newExpression(callee, _arguments) {\n const node = {\n type: \"NewExpression\",\n callee,\n arguments: _arguments\n };\n const defs = NODE_FIELDS.NewExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n return node;\n}\nfunction program(body, directives = [], sourceType = \"script\", interpreter = null) {\n const node = {\n type: \"Program\",\n body,\n directives,\n sourceType,\n interpreter\n };\n const defs = NODE_FIELDS.Program;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.directives, node, \"directives\", directives, 1);\n validate(defs.sourceType, node, \"sourceType\", sourceType);\n validate(defs.interpreter, node, \"interpreter\", interpreter, 1);\n return node;\n}\nfunction objectExpression(properties) {\n const node = {\n type: \"ObjectExpression\",\n properties\n };\n const defs = NODE_FIELDS.ObjectExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction objectMethod(kind = \"method\", key, params, body, computed = false, generator = false, async = false) {\n const node = {\n type: \"ObjectMethod\",\n kind,\n key,\n params,\n body,\n computed,\n generator,\n async\n };\n const defs = NODE_FIELDS.ObjectMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction objectProperty(key, value, computed = false, shorthand = false, decorators = null) {\n const node = {\n type: \"ObjectProperty\",\n key,\n value,\n computed,\n shorthand,\n decorators\n };\n const defs = NODE_FIELDS.ObjectProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.shorthand, node, \"shorthand\", shorthand);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction restElement(argument) {\n const node = {\n type: \"RestElement\",\n argument\n };\n const defs = NODE_FIELDS.RestElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction returnStatement(argument = null) {\n const node = {\n type: \"ReturnStatement\",\n argument\n };\n const defs = NODE_FIELDS.ReturnStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction sequenceExpression(expressions) {\n const node = {\n type: \"SequenceExpression\",\n expressions\n };\n const defs = NODE_FIELDS.SequenceExpression;\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nfunction parenthesizedExpression(expression) {\n const node = {\n type: \"ParenthesizedExpression\",\n expression\n };\n const defs = NODE_FIELDS.ParenthesizedExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction switchCase(test = null, consequent) {\n const node = {\n type: \"SwitchCase\",\n test,\n consequent\n };\n const defs = NODE_FIELDS.SwitchCase;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.consequent, node, \"consequent\", consequent, 1);\n return node;\n}\nfunction switchStatement(discriminant, cases) {\n const node = {\n type: \"SwitchStatement\",\n discriminant,\n cases\n };\n const defs = NODE_FIELDS.SwitchStatement;\n validate(defs.discriminant, node, \"discriminant\", discriminant, 1);\n validate(defs.cases, node, \"cases\", cases, 1);\n return node;\n}\nfunction thisExpression() {\n return {\n type: \"ThisExpression\"\n };\n}\nfunction throwStatement(argument) {\n const node = {\n type: \"ThrowStatement\",\n argument\n };\n const defs = NODE_FIELDS.ThrowStatement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction tryStatement(block, handler = null, finalizer = null) {\n const node = {\n type: \"TryStatement\",\n block,\n handler,\n finalizer\n };\n const defs = NODE_FIELDS.TryStatement;\n validate(defs.block, node, \"block\", block, 1);\n validate(defs.handler, node, \"handler\", handler, 1);\n validate(defs.finalizer, node, \"finalizer\", finalizer, 1);\n return node;\n}\nfunction unaryExpression(operator, argument, prefix = true) {\n const node = {\n type: \"UnaryExpression\",\n operator,\n argument,\n prefix\n };\n const defs = NODE_FIELDS.UnaryExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nfunction updateExpression(operator, argument, prefix = false) {\n const node = {\n type: \"UpdateExpression\",\n operator,\n argument,\n prefix\n };\n const defs = NODE_FIELDS.UpdateExpression;\n validate(defs.operator, node, \"operator\", operator);\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.prefix, node, \"prefix\", prefix);\n return node;\n}\nfunction variableDeclaration(kind, declarations) {\n const node = {\n type: \"VariableDeclaration\",\n kind,\n declarations\n };\n const defs = NODE_FIELDS.VariableDeclaration;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.declarations, node, \"declarations\", declarations, 1);\n return node;\n}\nfunction variableDeclarator(id, init = null) {\n const node = {\n type: \"VariableDeclarator\",\n id,\n init\n };\n const defs = NODE_FIELDS.VariableDeclarator;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction whileStatement(test, body) {\n const node = {\n type: \"WhileStatement\",\n test,\n body\n };\n const defs = NODE_FIELDS.WhileStatement;\n validate(defs.test, node, \"test\", test, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction withStatement(object, body) {\n const node = {\n type: \"WithStatement\",\n object,\n body\n };\n const defs = NODE_FIELDS.WithStatement;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction assignmentPattern(left, right) {\n const node = {\n type: \"AssignmentPattern\",\n left,\n right\n };\n const defs = NODE_FIELDS.AssignmentPattern;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction arrayPattern(elements) {\n const node = {\n type: \"ArrayPattern\",\n elements\n };\n const defs = NODE_FIELDS.ArrayPattern;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction arrowFunctionExpression(params, body, async = false) {\n const node = {\n type: \"ArrowFunctionExpression\",\n params,\n body,\n async,\n expression: null\n };\n const defs = NODE_FIELDS.ArrowFunctionExpression;\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction classBody(body) {\n const node = {\n type: \"ClassBody\",\n body\n };\n const defs = NODE_FIELDS.ClassBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction classExpression(id = null, superClass = null, body, decorators = null) {\n const node = {\n type: \"ClassExpression\",\n id,\n superClass,\n body,\n decorators\n };\n const defs = NODE_FIELDS.ClassExpression;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction classDeclaration(id = null, superClass = null, body, decorators = null) {\n const node = {\n type: \"ClassDeclaration\",\n id,\n superClass,\n body,\n decorators\n };\n const defs = NODE_FIELDS.ClassDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.superClass, node, \"superClass\", superClass, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n return node;\n}\nfunction exportAllDeclaration(source) {\n const node = {\n type: \"ExportAllDeclaration\",\n source\n };\n const defs = NODE_FIELDS.ExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction exportDefaultDeclaration(declaration) {\n const node = {\n type: \"ExportDefaultDeclaration\",\n declaration\n };\n const defs = NODE_FIELDS.ExportDefaultDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n return node;\n}\nfunction exportNamedDeclaration(declaration = null, specifiers = [], source = null) {\n const node = {\n type: \"ExportNamedDeclaration\",\n declaration,\n specifiers,\n source\n };\n const defs = NODE_FIELDS.ExportNamedDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction exportSpecifier(local, exported) {\n const node = {\n type: \"ExportSpecifier\",\n local,\n exported\n };\n const defs = NODE_FIELDS.ExportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction forOfStatement(left, right, body, _await = false) {\n const node = {\n type: \"ForOfStatement\",\n left,\n right,\n body,\n await: _await\n };\n const defs = NODE_FIELDS.ForOfStatement;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.await, node, \"await\", _await);\n return node;\n}\nfunction importDeclaration(specifiers, source) {\n const node = {\n type: \"ImportDeclaration\",\n specifiers,\n source\n };\n const defs = NODE_FIELDS.ImportDeclaration;\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n return node;\n}\nfunction importDefaultSpecifier(local) {\n const node = {\n type: \"ImportDefaultSpecifier\",\n local\n };\n const defs = NODE_FIELDS.ImportDefaultSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nfunction importNamespaceSpecifier(local) {\n const node = {\n type: \"ImportNamespaceSpecifier\",\n local\n };\n const defs = NODE_FIELDS.ImportNamespaceSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n return node;\n}\nfunction importSpecifier(local, imported) {\n const node = {\n type: \"ImportSpecifier\",\n local,\n imported\n };\n const defs = NODE_FIELDS.ImportSpecifier;\n validate(defs.local, node, \"local\", local, 1);\n validate(defs.imported, node, \"imported\", imported, 1);\n return node;\n}\nfunction importExpression(source, options = null) {\n const node = {\n type: \"ImportExpression\",\n source,\n options\n };\n const defs = NODE_FIELDS.ImportExpression;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.options, node, \"options\", options, 1);\n return node;\n}\nfunction metaProperty(meta, property) {\n const node = {\n type: \"MetaProperty\",\n meta,\n property\n };\n const defs = NODE_FIELDS.MetaProperty;\n validate(defs.meta, node, \"meta\", meta, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nfunction classMethod(kind = \"method\", key, params, body, computed = false, _static = false, generator = false, async = false) {\n const node = {\n type: \"ClassMethod\",\n kind,\n key,\n params,\n body,\n computed,\n static: _static,\n generator,\n async\n };\n const defs = NODE_FIELDS.ClassMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n validate(defs.generator, node, \"generator\", generator);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction objectPattern(properties) {\n const node = {\n type: \"ObjectPattern\",\n properties\n };\n const defs = NODE_FIELDS.ObjectPattern;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction spreadElement(argument) {\n const node = {\n type: \"SpreadElement\",\n argument\n };\n const defs = NODE_FIELDS.SpreadElement;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _super() {\n return {\n type: \"Super\"\n };\n}\nfunction taggedTemplateExpression(tag, quasi) {\n const node = {\n type: \"TaggedTemplateExpression\",\n tag,\n quasi\n };\n const defs = NODE_FIELDS.TaggedTemplateExpression;\n validate(defs.tag, node, \"tag\", tag, 1);\n validate(defs.quasi, node, \"quasi\", quasi, 1);\n return node;\n}\nfunction templateElement(value, tail = false) {\n const node = {\n type: \"TemplateElement\",\n value,\n tail\n };\n const defs = NODE_FIELDS.TemplateElement;\n validate(defs.value, node, \"value\", value);\n validate(defs.tail, node, \"tail\", tail);\n return node;\n}\nfunction templateLiteral(quasis, expressions) {\n const node = {\n type: \"TemplateLiteral\",\n quasis,\n expressions\n };\n const defs = NODE_FIELDS.TemplateLiteral;\n validate(defs.quasis, node, \"quasis\", quasis, 1);\n validate(defs.expressions, node, \"expressions\", expressions, 1);\n return node;\n}\nfunction yieldExpression(argument = null, delegate = false) {\n const node = {\n type: \"YieldExpression\",\n argument,\n delegate\n };\n const defs = NODE_FIELDS.YieldExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.delegate, node, \"delegate\", delegate);\n return node;\n}\nfunction awaitExpression(argument) {\n const node = {\n type: \"AwaitExpression\",\n argument\n };\n const defs = NODE_FIELDS.AwaitExpression;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction _import() {\n return {\n type: \"Import\"\n };\n}\nfunction exportNamespaceSpecifier(exported) {\n const node = {\n type: \"ExportNamespaceSpecifier\",\n exported\n };\n const defs = NODE_FIELDS.ExportNamespaceSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction optionalMemberExpression(object, property, computed = false, optional) {\n const node = {\n type: \"OptionalMemberExpression\",\n object,\n property,\n computed,\n optional\n };\n const defs = NODE_FIELDS.OptionalMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction optionalCallExpression(callee, _arguments, optional) {\n const node = {\n type: \"OptionalCallExpression\",\n callee,\n arguments: _arguments,\n optional\n };\n const defs = NODE_FIELDS.OptionalCallExpression;\n validate(defs.callee, node, \"callee\", callee, 1);\n validate(defs.arguments, node, \"arguments\", _arguments, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction classProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {\n const node = {\n type: \"ClassProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static\n };\n const defs = NODE_FIELDS.ClassProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classAccessorProperty(key, value = null, typeAnnotation = null, decorators = null, computed = false, _static = false) {\n const node = {\n type: \"ClassAccessorProperty\",\n key,\n value,\n typeAnnotation,\n decorators,\n computed,\n static: _static\n };\n const defs = NODE_FIELDS.ClassAccessorProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.computed, node, \"computed\", computed);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classPrivateProperty(key, value = null, decorators = null, _static = false) {\n const node = {\n type: \"ClassPrivateProperty\",\n key,\n value,\n decorators,\n static: _static\n };\n const defs = NODE_FIELDS.ClassPrivateProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction classPrivateMethod(kind = \"method\", key, params, body, _static = false) {\n const node = {\n type: \"ClassPrivateMethod\",\n kind,\n key,\n params,\n body,\n static: _static\n };\n const defs = NODE_FIELDS.ClassPrivateMethod;\n validate(defs.kind, node, \"kind\", kind);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.static, node, \"static\", _static);\n return node;\n}\nfunction privateName(id) {\n const node = {\n type: \"PrivateName\",\n id\n };\n const defs = NODE_FIELDS.PrivateName;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction staticBlock(body) {\n const node = {\n type: \"StaticBlock\",\n body\n };\n const defs = NODE_FIELDS.StaticBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction importAttribute(key, value) {\n const node = {\n type: \"ImportAttribute\",\n key,\n value\n };\n const defs = NODE_FIELDS.ImportAttribute;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction anyTypeAnnotation() {\n return {\n type: \"AnyTypeAnnotation\"\n };\n}\nfunction arrayTypeAnnotation(elementType) {\n const node = {\n type: \"ArrayTypeAnnotation\",\n elementType\n };\n const defs = NODE_FIELDS.ArrayTypeAnnotation;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nfunction booleanTypeAnnotation() {\n return {\n type: \"BooleanTypeAnnotation\"\n };\n}\nfunction booleanLiteralTypeAnnotation(value) {\n const node = {\n type: \"BooleanLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.BooleanLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction nullLiteralTypeAnnotation() {\n return {\n type: \"NullLiteralTypeAnnotation\"\n };\n}\nfunction classImplements(id, typeParameters = null) {\n const node = {\n type: \"ClassImplements\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.ClassImplements;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction declareClass(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"DeclareClass\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.DeclareClass;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction declareFunction(id) {\n const node = {\n type: \"DeclareFunction\",\n id\n };\n const defs = NODE_FIELDS.DeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction declareInterface(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"DeclareInterface\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.DeclareInterface;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction declareModule(id, body, kind = null) {\n const node = {\n type: \"DeclareModule\",\n id,\n body,\n kind\n };\n const defs = NODE_FIELDS.DeclareModule;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nfunction declareModuleExports(typeAnnotation) {\n const node = {\n type: \"DeclareModuleExports\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.DeclareModuleExports;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction declareTypeAlias(id, typeParameters = null, right) {\n const node = {\n type: \"DeclareTypeAlias\",\n id,\n typeParameters,\n right\n };\n const defs = NODE_FIELDS.DeclareTypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction declareOpaqueType(id, typeParameters = null, supertype = null) {\n const node = {\n type: \"DeclareOpaqueType\",\n id,\n typeParameters,\n supertype\n };\n const defs = NODE_FIELDS.DeclareOpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n return node;\n}\nfunction declareVariable(id) {\n const node = {\n type: \"DeclareVariable\",\n id\n };\n const defs = NODE_FIELDS.DeclareVariable;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction declareExportDeclaration(declaration = null, specifiers = null, source = null, attributes = null) {\n const node = {\n type: \"DeclareExportDeclaration\",\n declaration,\n specifiers,\n source,\n attributes\n };\n const defs = NODE_FIELDS.DeclareExportDeclaration;\n validate(defs.declaration, node, \"declaration\", declaration, 1);\n validate(defs.specifiers, node, \"specifiers\", specifiers, 1);\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nfunction declareExportAllDeclaration(source, attributes = null) {\n const node = {\n type: \"DeclareExportAllDeclaration\",\n source,\n attributes\n };\n const defs = NODE_FIELDS.DeclareExportAllDeclaration;\n validate(defs.source, node, \"source\", source, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n return node;\n}\nfunction declaredPredicate(value) {\n const node = {\n type: \"DeclaredPredicate\",\n value\n };\n const defs = NODE_FIELDS.DeclaredPredicate;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction existsTypeAnnotation() {\n return {\n type: \"ExistsTypeAnnotation\"\n };\n}\nfunction functionTypeAnnotation(typeParameters = null, params, rest = null, returnType) {\n const node = {\n type: \"FunctionTypeAnnotation\",\n typeParameters,\n params,\n rest,\n returnType\n };\n const defs = NODE_FIELDS.FunctionTypeAnnotation;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.rest, node, \"rest\", rest, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction functionTypeParam(name = null, typeAnnotation) {\n const node = {\n type: \"FunctionTypeParam\",\n name,\n typeAnnotation\n };\n const defs = NODE_FIELDS.FunctionTypeParam;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction genericTypeAnnotation(id, typeParameters = null) {\n const node = {\n type: \"GenericTypeAnnotation\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.GenericTypeAnnotation;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction inferredPredicate() {\n return {\n type: \"InferredPredicate\"\n };\n}\nfunction interfaceExtends(id, typeParameters = null) {\n const node = {\n type: \"InterfaceExtends\",\n id,\n typeParameters\n };\n const defs = NODE_FIELDS.InterfaceExtends;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction interfaceDeclaration(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"InterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.InterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction interfaceTypeAnnotation(_extends = null, body) {\n const node = {\n type: \"InterfaceTypeAnnotation\",\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.InterfaceTypeAnnotation;\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction intersectionTypeAnnotation(types) {\n const node = {\n type: \"IntersectionTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.IntersectionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction mixedTypeAnnotation() {\n return {\n type: \"MixedTypeAnnotation\"\n };\n}\nfunction emptyTypeAnnotation() {\n return {\n type: \"EmptyTypeAnnotation\"\n };\n}\nfunction nullableTypeAnnotation(typeAnnotation) {\n const node = {\n type: \"NullableTypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.NullableTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction numberLiteralTypeAnnotation(value) {\n const node = {\n type: \"NumberLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.NumberLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction numberTypeAnnotation() {\n return {\n type: \"NumberTypeAnnotation\"\n };\n}\nfunction objectTypeAnnotation(properties, indexers = [], callProperties = [], internalSlots = [], exact = false) {\n const node = {\n type: \"ObjectTypeAnnotation\",\n properties,\n indexers,\n callProperties,\n internalSlots,\n exact\n };\n const defs = NODE_FIELDS.ObjectTypeAnnotation;\n validate(defs.properties, node, \"properties\", properties, 1);\n validate(defs.indexers, node, \"indexers\", indexers, 1);\n validate(defs.callProperties, node, \"callProperties\", callProperties, 1);\n validate(defs.internalSlots, node, \"internalSlots\", internalSlots, 1);\n validate(defs.exact, node, \"exact\", exact);\n return node;\n}\nfunction objectTypeInternalSlot(id, value, optional, _static, method) {\n const node = {\n type: \"ObjectTypeInternalSlot\",\n id,\n value,\n optional,\n static: _static,\n method\n };\n const defs = NODE_FIELDS.ObjectTypeInternalSlot;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.optional, node, \"optional\", optional);\n validate(defs.static, node, \"static\", _static);\n validate(defs.method, node, \"method\", method);\n return node;\n}\nfunction objectTypeCallProperty(value) {\n const node = {\n type: \"ObjectTypeCallProperty\",\n value,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeCallProperty;\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction objectTypeIndexer(id = null, key, value, variance = null) {\n const node = {\n type: \"ObjectTypeIndexer\",\n id,\n key,\n value,\n variance,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeIndexer;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction objectTypeProperty(key, value, variance = null) {\n const node = {\n type: \"ObjectTypeProperty\",\n key,\n value,\n variance,\n kind: null,\n method: null,\n optional: null,\n proto: null,\n static: null\n };\n const defs = NODE_FIELDS.ObjectTypeProperty;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.value, node, \"value\", value, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction objectTypeSpreadProperty(argument) {\n const node = {\n type: \"ObjectTypeSpreadProperty\",\n argument\n };\n const defs = NODE_FIELDS.ObjectTypeSpreadProperty;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction opaqueType(id, typeParameters = null, supertype = null, impltype) {\n const node = {\n type: \"OpaqueType\",\n id,\n typeParameters,\n supertype,\n impltype\n };\n const defs = NODE_FIELDS.OpaqueType;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.supertype, node, \"supertype\", supertype, 1);\n validate(defs.impltype, node, \"impltype\", impltype, 1);\n return node;\n}\nfunction qualifiedTypeIdentifier(id, qualification) {\n const node = {\n type: \"QualifiedTypeIdentifier\",\n id,\n qualification\n };\n const defs = NODE_FIELDS.QualifiedTypeIdentifier;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.qualification, node, \"qualification\", qualification, 1);\n return node;\n}\nfunction stringLiteralTypeAnnotation(value) {\n const node = {\n type: \"StringLiteralTypeAnnotation\",\n value\n };\n const defs = NODE_FIELDS.StringLiteralTypeAnnotation;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction stringTypeAnnotation() {\n return {\n type: \"StringTypeAnnotation\"\n };\n}\nfunction symbolTypeAnnotation() {\n return {\n type: \"SymbolTypeAnnotation\"\n };\n}\nfunction thisTypeAnnotation() {\n return {\n type: \"ThisTypeAnnotation\"\n };\n}\nfunction tupleTypeAnnotation(types) {\n const node = {\n type: \"TupleTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.TupleTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction typeofTypeAnnotation(argument) {\n const node = {\n type: \"TypeofTypeAnnotation\",\n argument\n };\n const defs = NODE_FIELDS.TypeofTypeAnnotation;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction typeAlias(id, typeParameters = null, right) {\n const node = {\n type: \"TypeAlias\",\n id,\n typeParameters,\n right\n };\n const defs = NODE_FIELDS.TypeAlias;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction typeAnnotation(typeAnnotation) {\n const node = {\n type: \"TypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction typeCastExpression(expression, typeAnnotation) {\n const node = {\n type: \"TypeCastExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TypeCastExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction typeParameter(bound = null, _default = null, variance = null) {\n const node = {\n type: \"TypeParameter\",\n bound,\n default: _default,\n variance,\n name: null\n };\n const defs = NODE_FIELDS.TypeParameter;\n validate(defs.bound, node, \"bound\", bound, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.variance, node, \"variance\", variance, 1);\n return node;\n}\nfunction typeParameterDeclaration(params) {\n const node = {\n type: \"TypeParameterDeclaration\",\n params\n };\n const defs = NODE_FIELDS.TypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction typeParameterInstantiation(params) {\n const node = {\n type: \"TypeParameterInstantiation\",\n params\n };\n const defs = NODE_FIELDS.TypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction unionTypeAnnotation(types) {\n const node = {\n type: \"UnionTypeAnnotation\",\n types\n };\n const defs = NODE_FIELDS.UnionTypeAnnotation;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction variance(kind) {\n const node = {\n type: \"Variance\",\n kind\n };\n const defs = NODE_FIELDS.Variance;\n validate(defs.kind, node, \"kind\", kind);\n return node;\n}\nfunction voidTypeAnnotation() {\n return {\n type: \"VoidTypeAnnotation\"\n };\n}\nfunction enumDeclaration(id, body) {\n const node = {\n type: \"EnumDeclaration\",\n id,\n body\n };\n const defs = NODE_FIELDS.EnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction enumBooleanBody(members) {\n const node = {\n type: \"EnumBooleanBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumBooleanBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumNumberBody(members) {\n const node = {\n type: \"EnumNumberBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumNumberBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumStringBody(members) {\n const node = {\n type: \"EnumStringBody\",\n members,\n explicitType: null,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumStringBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumSymbolBody(members) {\n const node = {\n type: \"EnumSymbolBody\",\n members,\n hasUnknownMembers: null\n };\n const defs = NODE_FIELDS.EnumSymbolBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction enumBooleanMember(id) {\n const node = {\n type: \"EnumBooleanMember\",\n id,\n init: null\n };\n const defs = NODE_FIELDS.EnumBooleanMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction enumNumberMember(id, init) {\n const node = {\n type: \"EnumNumberMember\",\n id,\n init\n };\n const defs = NODE_FIELDS.EnumNumberMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction enumStringMember(id, init) {\n const node = {\n type: \"EnumStringMember\",\n id,\n init\n };\n const defs = NODE_FIELDS.EnumStringMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.init, node, \"init\", init, 1);\n return node;\n}\nfunction enumDefaultedMember(id) {\n const node = {\n type: \"EnumDefaultedMember\",\n id\n };\n const defs = NODE_FIELDS.EnumDefaultedMember;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction indexedAccessType(objectType, indexType) {\n const node = {\n type: \"IndexedAccessType\",\n objectType,\n indexType\n };\n const defs = NODE_FIELDS.IndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction optionalIndexedAccessType(objectType, indexType) {\n const node = {\n type: \"OptionalIndexedAccessType\",\n objectType,\n indexType,\n optional: null\n };\n const defs = NODE_FIELDS.OptionalIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction jsxAttribute(name, value = null) {\n const node = {\n type: \"JSXAttribute\",\n name,\n value\n };\n const defs = NODE_FIELDS.JSXAttribute;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.value, node, \"value\", value, 1);\n return node;\n}\nfunction jsxClosingElement(name) {\n const node = {\n type: \"JSXClosingElement\",\n name\n };\n const defs = NODE_FIELDS.JSXClosingElement;\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction jsxElement(openingElement, closingElement = null, children, selfClosing = null) {\n const node = {\n type: \"JSXElement\",\n openingElement,\n closingElement,\n children,\n selfClosing\n };\n const defs = NODE_FIELDS.JSXElement;\n validate(defs.openingElement, node, \"openingElement\", openingElement, 1);\n validate(defs.closingElement, node, \"closingElement\", closingElement, 1);\n validate(defs.children, node, \"children\", children, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nfunction jsxEmptyExpression() {\n return {\n type: \"JSXEmptyExpression\"\n };\n}\nfunction jsxExpressionContainer(expression) {\n const node = {\n type: \"JSXExpressionContainer\",\n expression\n };\n const defs = NODE_FIELDS.JSXExpressionContainer;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction jsxSpreadChild(expression) {\n const node = {\n type: \"JSXSpreadChild\",\n expression\n };\n const defs = NODE_FIELDS.JSXSpreadChild;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction jsxIdentifier(name) {\n const node = {\n type: \"JSXIdentifier\",\n name\n };\n const defs = NODE_FIELDS.JSXIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction jsxMemberExpression(object, property) {\n const node = {\n type: \"JSXMemberExpression\",\n object,\n property\n };\n const defs = NODE_FIELDS.JSXMemberExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.property, node, \"property\", property, 1);\n return node;\n}\nfunction jsxNamespacedName(namespace, name) {\n const node = {\n type: \"JSXNamespacedName\",\n namespace,\n name\n };\n const defs = NODE_FIELDS.JSXNamespacedName;\n validate(defs.namespace, node, \"namespace\", namespace, 1);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction jsxOpeningElement(name, attributes, selfClosing = false) {\n const node = {\n type: \"JSXOpeningElement\",\n name,\n attributes,\n selfClosing\n };\n const defs = NODE_FIELDS.JSXOpeningElement;\n validate(defs.name, node, \"name\", name, 1);\n validate(defs.attributes, node, \"attributes\", attributes, 1);\n validate(defs.selfClosing, node, \"selfClosing\", selfClosing);\n return node;\n}\nfunction jsxSpreadAttribute(argument) {\n const node = {\n type: \"JSXSpreadAttribute\",\n argument\n };\n const defs = NODE_FIELDS.JSXSpreadAttribute;\n validate(defs.argument, node, \"argument\", argument, 1);\n return node;\n}\nfunction jsxText(value) {\n const node = {\n type: \"JSXText\",\n value\n };\n const defs = NODE_FIELDS.JSXText;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction jsxFragment(openingFragment, closingFragment, children) {\n const node = {\n type: \"JSXFragment\",\n openingFragment,\n closingFragment,\n children\n };\n const defs = NODE_FIELDS.JSXFragment;\n validate(defs.openingFragment, node, \"openingFragment\", openingFragment, 1);\n validate(defs.closingFragment, node, \"closingFragment\", closingFragment, 1);\n validate(defs.children, node, \"children\", children, 1);\n return node;\n}\nfunction jsxOpeningFragment() {\n return {\n type: \"JSXOpeningFragment\"\n };\n}\nfunction jsxClosingFragment() {\n return {\n type: \"JSXClosingFragment\"\n };\n}\nfunction noop() {\n return {\n type: \"Noop\"\n };\n}\nfunction placeholder(expectedNode, name) {\n const node = {\n type: \"Placeholder\",\n expectedNode,\n name\n };\n const defs = NODE_FIELDS.Placeholder;\n validate(defs.expectedNode, node, \"expectedNode\", expectedNode);\n validate(defs.name, node, \"name\", name, 1);\n return node;\n}\nfunction v8IntrinsicIdentifier(name) {\n const node = {\n type: \"V8IntrinsicIdentifier\",\n name\n };\n const defs = NODE_FIELDS.V8IntrinsicIdentifier;\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction argumentPlaceholder() {\n return {\n type: \"ArgumentPlaceholder\"\n };\n}\nfunction bindExpression(object, callee) {\n const node = {\n type: \"BindExpression\",\n object,\n callee\n };\n const defs = NODE_FIELDS.BindExpression;\n validate(defs.object, node, \"object\", object, 1);\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nfunction decorator(expression) {\n const node = {\n type: \"Decorator\",\n expression\n };\n const defs = NODE_FIELDS.Decorator;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction doExpression(body, async = false) {\n const node = {\n type: \"DoExpression\",\n body,\n async\n };\n const defs = NODE_FIELDS.DoExpression;\n validate(defs.body, node, \"body\", body, 1);\n validate(defs.async, node, \"async\", async);\n return node;\n}\nfunction exportDefaultSpecifier(exported) {\n const node = {\n type: \"ExportDefaultSpecifier\",\n exported\n };\n const defs = NODE_FIELDS.ExportDefaultSpecifier;\n validate(defs.exported, node, \"exported\", exported, 1);\n return node;\n}\nfunction recordExpression(properties) {\n const node = {\n type: \"RecordExpression\",\n properties\n };\n const defs = NODE_FIELDS.RecordExpression;\n validate(defs.properties, node, \"properties\", properties, 1);\n return node;\n}\nfunction tupleExpression(elements = []) {\n const node = {\n type: \"TupleExpression\",\n elements\n };\n const defs = NODE_FIELDS.TupleExpression;\n validate(defs.elements, node, \"elements\", elements, 1);\n return node;\n}\nfunction decimalLiteral(value) {\n const node = {\n type: \"DecimalLiteral\",\n value\n };\n const defs = NODE_FIELDS.DecimalLiteral;\n validate(defs.value, node, \"value\", value);\n return node;\n}\nfunction moduleExpression(body) {\n const node = {\n type: \"ModuleExpression\",\n body\n };\n const defs = NODE_FIELDS.ModuleExpression;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction topicReference() {\n return {\n type: \"TopicReference\"\n };\n}\nfunction pipelineTopicExpression(expression) {\n const node = {\n type: \"PipelineTopicExpression\",\n expression\n };\n const defs = NODE_FIELDS.PipelineTopicExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction pipelineBareFunction(callee) {\n const node = {\n type: \"PipelineBareFunction\",\n callee\n };\n const defs = NODE_FIELDS.PipelineBareFunction;\n validate(defs.callee, node, \"callee\", callee, 1);\n return node;\n}\nfunction pipelinePrimaryTopicReference() {\n return {\n type: \"PipelinePrimaryTopicReference\"\n };\n}\nfunction voidPattern() {\n return {\n type: \"VoidPattern\"\n };\n}\nfunction tsParameterProperty(parameter) {\n const node = {\n type: \"TSParameterProperty\",\n parameter\n };\n const defs = NODE_FIELDS.TSParameterProperty;\n validate(defs.parameter, node, \"parameter\", parameter, 1);\n return node;\n}\nfunction tsDeclareFunction(id = null, typeParameters = null, params, returnType = null) {\n const node = {\n type: \"TSDeclareFunction\",\n id,\n typeParameters,\n params,\n returnType\n };\n const defs = NODE_FIELDS.TSDeclareFunction;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction tsDeclareMethod(decorators = null, key, typeParameters = null, params, returnType = null) {\n const node = {\n type: \"TSDeclareMethod\",\n decorators,\n key,\n typeParameters,\n params,\n returnType\n };\n const defs = NODE_FIELDS.TSDeclareMethod;\n validate(defs.decorators, node, \"decorators\", decorators, 1);\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.params, node, \"params\", params, 1);\n validate(defs.returnType, node, \"returnType\", returnType, 1);\n return node;\n}\nfunction tsQualifiedName(left, right) {\n const node = {\n type: \"TSQualifiedName\",\n left,\n right\n };\n const defs = NODE_FIELDS.TSQualifiedName;\n validate(defs.left, node, \"left\", left, 1);\n validate(defs.right, node, \"right\", right, 1);\n return node;\n}\nfunction tsCallSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSCallSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSCallSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsConstructSignatureDeclaration(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSConstructSignatureDeclaration\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSConstructSignatureDeclaration;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsPropertySignature(key, typeAnnotation = null) {\n const node = {\n type: \"TSPropertySignature\",\n key,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSPropertySignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsMethodSignature(key, typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSMethodSignature\",\n key,\n typeParameters,\n parameters,\n typeAnnotation,\n kind: null\n };\n const defs = NODE_FIELDS.TSMethodSignature;\n validate(defs.key, node, \"key\", key, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsIndexSignature(parameters, typeAnnotation = null) {\n const node = {\n type: \"TSIndexSignature\",\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSIndexSignature;\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsAnyKeyword() {\n return {\n type: \"TSAnyKeyword\"\n };\n}\nfunction tsBooleanKeyword() {\n return {\n type: \"TSBooleanKeyword\"\n };\n}\nfunction tsBigIntKeyword() {\n return {\n type: \"TSBigIntKeyword\"\n };\n}\nfunction tsIntrinsicKeyword() {\n return {\n type: \"TSIntrinsicKeyword\"\n };\n}\nfunction tsNeverKeyword() {\n return {\n type: \"TSNeverKeyword\"\n };\n}\nfunction tsNullKeyword() {\n return {\n type: \"TSNullKeyword\"\n };\n}\nfunction tsNumberKeyword() {\n return {\n type: \"TSNumberKeyword\"\n };\n}\nfunction tsObjectKeyword() {\n return {\n type: \"TSObjectKeyword\"\n };\n}\nfunction tsStringKeyword() {\n return {\n type: \"TSStringKeyword\"\n };\n}\nfunction tsSymbolKeyword() {\n return {\n type: \"TSSymbolKeyword\"\n };\n}\nfunction tsUndefinedKeyword() {\n return {\n type: \"TSUndefinedKeyword\"\n };\n}\nfunction tsUnknownKeyword() {\n return {\n type: \"TSUnknownKeyword\"\n };\n}\nfunction tsVoidKeyword() {\n return {\n type: \"TSVoidKeyword\"\n };\n}\nfunction tsThisType() {\n return {\n type: \"TSThisType\"\n };\n}\nfunction tsFunctionType(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSFunctionType\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSFunctionType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsConstructorType(typeParameters = null, parameters, typeAnnotation = null) {\n const node = {\n type: \"TSConstructorType\",\n typeParameters,\n parameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSConstructorType;\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.parameters, node, \"parameters\", parameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeReference(typeName, typeParameters = null) {\n const node = {\n type: \"TSTypeReference\",\n typeName,\n typeParameters\n };\n const defs = NODE_FIELDS.TSTypeReference;\n validate(defs.typeName, node, \"typeName\", typeName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsTypePredicate(parameterName, typeAnnotation = null, asserts = null) {\n const node = {\n type: \"TSTypePredicate\",\n parameterName,\n typeAnnotation,\n asserts\n };\n const defs = NODE_FIELDS.TSTypePredicate;\n validate(defs.parameterName, node, \"parameterName\", parameterName, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.asserts, node, \"asserts\", asserts);\n return node;\n}\nfunction tsTypeQuery(exprName, typeParameters = null) {\n const node = {\n type: \"TSTypeQuery\",\n exprName,\n typeParameters\n };\n const defs = NODE_FIELDS.TSTypeQuery;\n validate(defs.exprName, node, \"exprName\", exprName, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsTypeLiteral(members) {\n const node = {\n type: \"TSTypeLiteral\",\n members\n };\n const defs = NODE_FIELDS.TSTypeLiteral;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction tsArrayType(elementType) {\n const node = {\n type: \"TSArrayType\",\n elementType\n };\n const defs = NODE_FIELDS.TSArrayType;\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n return node;\n}\nfunction tsTupleType(elementTypes) {\n const node = {\n type: \"TSTupleType\",\n elementTypes\n };\n const defs = NODE_FIELDS.TSTupleType;\n validate(defs.elementTypes, node, \"elementTypes\", elementTypes, 1);\n return node;\n}\nfunction tsOptionalType(typeAnnotation) {\n const node = {\n type: \"TSOptionalType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSOptionalType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsRestType(typeAnnotation) {\n const node = {\n type: \"TSRestType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSRestType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsNamedTupleMember(label, elementType, optional = false) {\n const node = {\n type: \"TSNamedTupleMember\",\n label,\n elementType,\n optional\n };\n const defs = NODE_FIELDS.TSNamedTupleMember;\n validate(defs.label, node, \"label\", label, 1);\n validate(defs.elementType, node, \"elementType\", elementType, 1);\n validate(defs.optional, node, \"optional\", optional);\n return node;\n}\nfunction tsUnionType(types) {\n const node = {\n type: \"TSUnionType\",\n types\n };\n const defs = NODE_FIELDS.TSUnionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction tsIntersectionType(types) {\n const node = {\n type: \"TSIntersectionType\",\n types\n };\n const defs = NODE_FIELDS.TSIntersectionType;\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction tsConditionalType(checkType, extendsType, trueType, falseType) {\n const node = {\n type: \"TSConditionalType\",\n checkType,\n extendsType,\n trueType,\n falseType\n };\n const defs = NODE_FIELDS.TSConditionalType;\n validate(defs.checkType, node, \"checkType\", checkType, 1);\n validate(defs.extendsType, node, \"extendsType\", extendsType, 1);\n validate(defs.trueType, node, \"trueType\", trueType, 1);\n validate(defs.falseType, node, \"falseType\", falseType, 1);\n return node;\n}\nfunction tsInferType(typeParameter) {\n const node = {\n type: \"TSInferType\",\n typeParameter\n };\n const defs = NODE_FIELDS.TSInferType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n return node;\n}\nfunction tsParenthesizedType(typeAnnotation) {\n const node = {\n type: \"TSParenthesizedType\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSParenthesizedType;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeOperator(typeAnnotation, operator = \"keyof\") {\n const node = {\n type: \"TSTypeOperator\",\n typeAnnotation,\n operator\n };\n const defs = NODE_FIELDS.TSTypeOperator;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.operator, node, \"operator\", operator);\n return node;\n}\nfunction tsIndexedAccessType(objectType, indexType) {\n const node = {\n type: \"TSIndexedAccessType\",\n objectType,\n indexType\n };\n const defs = NODE_FIELDS.TSIndexedAccessType;\n validate(defs.objectType, node, \"objectType\", objectType, 1);\n validate(defs.indexType, node, \"indexType\", indexType, 1);\n return node;\n}\nfunction tsMappedType(typeParameter, typeAnnotation = null, nameType = null) {\n const node = {\n type: \"TSMappedType\",\n typeParameter,\n typeAnnotation,\n nameType\n };\n const defs = NODE_FIELDS.TSMappedType;\n validate(defs.typeParameter, node, \"typeParameter\", typeParameter, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.nameType, node, \"nameType\", nameType, 1);\n return node;\n}\nfunction tsTemplateLiteralType(quasis, types) {\n const node = {\n type: \"TSTemplateLiteralType\",\n quasis,\n types\n };\n const defs = NODE_FIELDS.TSTemplateLiteralType;\n validate(defs.quasis, node, \"quasis\", quasis, 1);\n validate(defs.types, node, \"types\", types, 1);\n return node;\n}\nfunction tsLiteralType(literal) {\n const node = {\n type: \"TSLiteralType\",\n literal\n };\n const defs = NODE_FIELDS.TSLiteralType;\n validate(defs.literal, node, \"literal\", literal, 1);\n return node;\n}\nfunction tsExpressionWithTypeArguments(expression, typeParameters = null) {\n const node = {\n type: \"TSExpressionWithTypeArguments\",\n expression,\n typeParameters\n };\n const defs = NODE_FIELDS.TSExpressionWithTypeArguments;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsInterfaceDeclaration(id, typeParameters = null, _extends = null, body) {\n const node = {\n type: \"TSInterfaceDeclaration\",\n id,\n typeParameters,\n extends: _extends,\n body\n };\n const defs = NODE_FIELDS.TSInterfaceDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.extends, node, \"extends\", _extends, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsInterfaceBody(body) {\n const node = {\n type: \"TSInterfaceBody\",\n body\n };\n const defs = NODE_FIELDS.TSInterfaceBody;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsTypeAliasDeclaration(id, typeParameters = null, typeAnnotation) {\n const node = {\n type: \"TSTypeAliasDeclaration\",\n id,\n typeParameters,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSTypeAliasDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsInstantiationExpression(expression, typeParameters = null) {\n const node = {\n type: \"TSInstantiationExpression\",\n expression,\n typeParameters\n };\n const defs = NODE_FIELDS.TSInstantiationExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsAsExpression(expression, typeAnnotation) {\n const node = {\n type: \"TSAsExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSAsExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsSatisfiesExpression(expression, typeAnnotation) {\n const node = {\n type: \"TSSatisfiesExpression\",\n expression,\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSSatisfiesExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeAssertion(typeAnnotation, expression) {\n const node = {\n type: \"TSTypeAssertion\",\n typeAnnotation,\n expression\n };\n const defs = NODE_FIELDS.TSTypeAssertion;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsEnumBody(members) {\n const node = {\n type: \"TSEnumBody\",\n members\n };\n const defs = NODE_FIELDS.TSEnumBody;\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction tsEnumDeclaration(id, members) {\n const node = {\n type: \"TSEnumDeclaration\",\n id,\n members\n };\n const defs = NODE_FIELDS.TSEnumDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.members, node, \"members\", members, 1);\n return node;\n}\nfunction tsEnumMember(id, initializer = null) {\n const node = {\n type: \"TSEnumMember\",\n id,\n initializer\n };\n const defs = NODE_FIELDS.TSEnumMember;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.initializer, node, \"initializer\", initializer, 1);\n return node;\n}\nfunction tsModuleDeclaration(id, body) {\n const node = {\n type: \"TSModuleDeclaration\",\n id,\n body,\n kind: null\n };\n const defs = NODE_FIELDS.TSModuleDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsModuleBlock(body) {\n const node = {\n type: \"TSModuleBlock\",\n body\n };\n const defs = NODE_FIELDS.TSModuleBlock;\n validate(defs.body, node, \"body\", body, 1);\n return node;\n}\nfunction tsImportType(argument, qualifier = null, typeParameters = null) {\n const node = {\n type: \"TSImportType\",\n argument,\n qualifier,\n typeParameters\n };\n const defs = NODE_FIELDS.TSImportType;\n validate(defs.argument, node, \"argument\", argument, 1);\n validate(defs.qualifier, node, \"qualifier\", qualifier, 1);\n validate(defs.typeParameters, node, \"typeParameters\", typeParameters, 1);\n return node;\n}\nfunction tsImportEqualsDeclaration(id, moduleReference) {\n const node = {\n type: \"TSImportEqualsDeclaration\",\n id,\n moduleReference,\n isExport: null\n };\n const defs = NODE_FIELDS.TSImportEqualsDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n validate(defs.moduleReference, node, \"moduleReference\", moduleReference, 1);\n return node;\n}\nfunction tsExternalModuleReference(expression) {\n const node = {\n type: \"TSExternalModuleReference\",\n expression\n };\n const defs = NODE_FIELDS.TSExternalModuleReference;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsNonNullExpression(expression) {\n const node = {\n type: \"TSNonNullExpression\",\n expression\n };\n const defs = NODE_FIELDS.TSNonNullExpression;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsExportAssignment(expression) {\n const node = {\n type: \"TSExportAssignment\",\n expression\n };\n const defs = NODE_FIELDS.TSExportAssignment;\n validate(defs.expression, node, \"expression\", expression, 1);\n return node;\n}\nfunction tsNamespaceExportDeclaration(id) {\n const node = {\n type: \"TSNamespaceExportDeclaration\",\n id\n };\n const defs = NODE_FIELDS.TSNamespaceExportDeclaration;\n validate(defs.id, node, \"id\", id, 1);\n return node;\n}\nfunction tsTypeAnnotation(typeAnnotation) {\n const node = {\n type: \"TSTypeAnnotation\",\n typeAnnotation\n };\n const defs = NODE_FIELDS.TSTypeAnnotation;\n validate(defs.typeAnnotation, node, \"typeAnnotation\", typeAnnotation, 1);\n return node;\n}\nfunction tsTypeParameterInstantiation(params) {\n const node = {\n type: \"TSTypeParameterInstantiation\",\n params\n };\n const defs = NODE_FIELDS.TSTypeParameterInstantiation;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction tsTypeParameterDeclaration(params) {\n const node = {\n type: \"TSTypeParameterDeclaration\",\n params\n };\n const defs = NODE_FIELDS.TSTypeParameterDeclaration;\n validate(defs.params, node, \"params\", params, 1);\n return node;\n}\nfunction tsTypeParameter(constraint = null, _default = null, name) {\n const node = {\n type: \"TSTypeParameter\",\n constraint,\n default: _default,\n name\n };\n const defs = NODE_FIELDS.TSTypeParameter;\n validate(defs.constraint, node, \"constraint\", constraint, 1);\n validate(defs.default, node, \"default\", _default, 1);\n validate(defs.name, node, \"name\", name);\n return node;\n}\nfunction NumberLiteral(value) {\n (0, _deprecationWarning.default)(\"NumberLiteral\", \"NumericLiteral\", \"The node type \");\n return numericLiteral(value);\n}\nfunction RegexLiteral(pattern, flags = \"\") {\n (0, _deprecationWarning.default)(\"RegexLiteral\", \"RegExpLiteral\", \"The node type \");\n return regExpLiteral(pattern, flags);\n}\nfunction RestProperty(argument) {\n (0, _deprecationWarning.default)(\"RestProperty\", \"RestElement\", \"The node type \");\n return restElement(argument);\n}\nfunction SpreadProperty(argument) {\n (0, _deprecationWarning.default)(\"SpreadProperty\", \"SpreadElement\", \"The node type \");\n return spreadElement(argument);\n}\n\n//# sourceMappingURL=lowercase.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.JSXIdentifier = exports.JSXFragment = exports.JSXExpressionContainer = exports.JSXEmptyExpression = exports.JSXElement = exports.JSXClosingFragment = exports.JSXClosingElement = exports.JSXAttribute = exports.IntersectionTypeAnnotation = exports.InterpreterDirective = exports.InterfaceTypeAnnotation = exports.InterfaceExtends = exports.InterfaceDeclaration = exports.InferredPredicate = exports.IndexedAccessType = exports.ImportSpecifier = exports.ImportNamespaceSpecifier = exports.ImportExpression = exports.ImportDefaultSpecifier = exports.ImportDeclaration = exports.ImportAttribute = exports.Import = exports.IfStatement = exports.Identifier = exports.GenericTypeAnnotation = exports.FunctionTypeParam = exports.FunctionTypeAnnotation = exports.FunctionExpression = exports.FunctionDeclaration = exports.ForStatement = exports.ForOfStatement = exports.ForInStatement = exports.File = exports.ExpressionStatement = exports.ExportSpecifier = exports.ExportNamespaceSpecifier = exports.ExportNamedDeclaration = exports.ExportDefaultSpecifier = exports.ExportDefaultDeclaration = exports.ExportAllDeclaration = exports.ExistsTypeAnnotation = exports.EnumSymbolBody = exports.EnumStringMember = exports.EnumStringBody = exports.EnumNumberMember = exports.EnumNumberBody = exports.EnumDefaultedMember = exports.EnumDeclaration = exports.EnumBooleanMember = exports.EnumBooleanBody = exports.EmptyTypeAnnotation = exports.EmptyStatement = exports.DoWhileStatement = exports.DoExpression = exports.DirectiveLiteral = exports.Directive = exports.Decorator = exports.DeclaredPredicate = exports.DeclareVariable = exports.DeclareTypeAlias = exports.DeclareOpaqueType = exports.DeclareModuleExports = exports.DeclareModule = exports.DeclareInterface = exports.DeclareFunction = exports.DeclareExportDeclaration = exports.DeclareExportAllDeclaration = exports.DeclareClass = exports.DecimalLiteral = exports.DebuggerStatement = exports.ContinueStatement = exports.ConditionalExpression = exports.ClassProperty = exports.ClassPrivateProperty = exports.ClassPrivateMethod = exports.ClassMethod = exports.ClassImplements = exports.ClassExpression = exports.ClassDeclaration = exports.ClassBody = exports.ClassAccessorProperty = exports.CatchClause = exports.CallExpression = exports.BreakStatement = exports.BooleanTypeAnnotation = exports.BooleanLiteralTypeAnnotation = exports.BooleanLiteral = exports.BlockStatement = exports.BindExpression = exports.BinaryExpression = exports.BigIntLiteral = exports.AwaitExpression = exports.AssignmentPattern = exports.AssignmentExpression = exports.ArrowFunctionExpression = exports.ArrayTypeAnnotation = exports.ArrayPattern = exports.ArrayExpression = exports.ArgumentPlaceholder = exports.AnyTypeAnnotation = void 0;\nexports.TSNumberKeyword = exports.TSNullKeyword = exports.TSNonNullExpression = exports.TSNeverKeyword = exports.TSNamespaceExportDeclaration = exports.TSNamedTupleMember = exports.TSModuleDeclaration = exports.TSModuleBlock = exports.TSMethodSignature = exports.TSMappedType = exports.TSLiteralType = exports.TSIntrinsicKeyword = exports.TSIntersectionType = exports.TSInterfaceDeclaration = exports.TSInterfaceBody = exports.TSInstantiationExpression = exports.TSInferType = exports.TSIndexedAccessType = exports.TSIndexSignature = exports.TSImportType = exports.TSImportEqualsDeclaration = exports.TSFunctionType = exports.TSExternalModuleReference = exports.TSExpressionWithTypeArguments = exports.TSExportAssignment = exports.TSEnumMember = exports.TSEnumDeclaration = exports.TSEnumBody = exports.TSDeclareMethod = exports.TSDeclareFunction = exports.TSConstructorType = exports.TSConstructSignatureDeclaration = exports.TSConditionalType = exports.TSCallSignatureDeclaration = exports.TSBooleanKeyword = exports.TSBigIntKeyword = exports.TSAsExpression = exports.TSArrayType = exports.TSAnyKeyword = exports.SymbolTypeAnnotation = exports.SwitchStatement = exports.SwitchCase = exports.Super = exports.StringTypeAnnotation = exports.StringLiteralTypeAnnotation = exports.StringLiteral = exports.StaticBlock = exports.SpreadProperty = exports.SpreadElement = exports.SequenceExpression = exports.ReturnStatement = exports.RestProperty = exports.RestElement = exports.RegexLiteral = exports.RegExpLiteral = exports.RecordExpression = exports.QualifiedTypeIdentifier = exports.Program = exports.PrivateName = exports.Placeholder = exports.PipelineTopicExpression = exports.PipelinePrimaryTopicReference = exports.PipelineBareFunction = exports.ParenthesizedExpression = exports.OptionalMemberExpression = exports.OptionalIndexedAccessType = exports.OptionalCallExpression = exports.OpaqueType = exports.ObjectTypeSpreadProperty = exports.ObjectTypeProperty = exports.ObjectTypeInternalSlot = exports.ObjectTypeIndexer = exports.ObjectTypeCallProperty = exports.ObjectTypeAnnotation = exports.ObjectProperty = exports.ObjectPattern = exports.ObjectMethod = exports.ObjectExpression = exports.NumericLiteral = exports.NumberTypeAnnotation = exports.NumberLiteralTypeAnnotation = exports.NumberLiteral = exports.NullableTypeAnnotation = exports.NullLiteralTypeAnnotation = exports.NullLiteral = exports.Noop = exports.NewExpression = exports.ModuleExpression = exports.MixedTypeAnnotation = exports.MetaProperty = exports.MemberExpression = exports.LogicalExpression = exports.LabeledStatement = exports.JSXText = exports.JSXSpreadChild = exports.JSXSpreadAttribute = exports.JSXOpeningFragment = exports.JSXOpeningElement = exports.JSXNamespacedName = exports.JSXMemberExpression = void 0;\nexports.YieldExpression = exports.WithStatement = exports.WhileStatement = exports.VoidTypeAnnotation = exports.VoidPattern = exports.Variance = exports.VariableDeclarator = exports.VariableDeclaration = exports.V8IntrinsicIdentifier = exports.UpdateExpression = exports.UnionTypeAnnotation = exports.UnaryExpression = exports.TypeofTypeAnnotation = exports.TypeParameterInstantiation = exports.TypeParameterDeclaration = exports.TypeParameter = exports.TypeCastExpression = exports.TypeAnnotation = exports.TypeAlias = exports.TupleTypeAnnotation = exports.TupleExpression = exports.TryStatement = exports.TopicReference = exports.ThrowStatement = exports.ThisTypeAnnotation = exports.ThisExpression = exports.TemplateLiteral = exports.TemplateElement = exports.TaggedTemplateExpression = exports.TSVoidKeyword = exports.TSUnknownKeyword = exports.TSUnionType = exports.TSUndefinedKeyword = exports.TSTypeReference = exports.TSTypeQuery = exports.TSTypePredicate = exports.TSTypeParameterInstantiation = exports.TSTypeParameterDeclaration = exports.TSTypeParameter = exports.TSTypeOperator = exports.TSTypeLiteral = exports.TSTypeAssertion = exports.TSTypeAnnotation = exports.TSTypeAliasDeclaration = exports.TSTupleType = exports.TSThisType = exports.TSTemplateLiteralType = exports.TSSymbolKeyword = exports.TSStringKeyword = exports.TSSatisfiesExpression = exports.TSRestType = exports.TSQualifiedName = exports.TSPropertySignature = exports.TSParenthesizedType = exports.TSParameterProperty = exports.TSOptionalType = exports.TSObjectKeyword = void 0;\nvar b = require(\"./lowercase.js\");\nvar _deprecationWarning = require(\"../../utils/deprecationWarning.js\");\nfunction alias(lowercase) {\n {\n return b[lowercase];\n }\n}\nconst ArrayExpression = exports.ArrayExpression = alias(\"arrayExpression\"),\n AssignmentExpression = exports.AssignmentExpression = alias(\"assignmentExpression\"),\n BinaryExpression = exports.BinaryExpression = alias(\"binaryExpression\"),\n InterpreterDirective = exports.InterpreterDirective = alias(\"interpreterDirective\"),\n Directive = exports.Directive = alias(\"directive\"),\n DirectiveLiteral = exports.DirectiveLiteral = alias(\"directiveLiteral\"),\n BlockStatement = exports.BlockStatement = alias(\"blockStatement\"),\n BreakStatement = exports.BreakStatement = alias(\"breakStatement\"),\n CallExpression = exports.CallExpression = alias(\"callExpression\"),\n CatchClause = exports.CatchClause = alias(\"catchClause\"),\n ConditionalExpression = exports.ConditionalExpression = alias(\"conditionalExpression\"),\n ContinueStatement = exports.ContinueStatement = alias(\"continueStatement\"),\n DebuggerStatement = exports.DebuggerStatement = alias(\"debuggerStatement\"),\n DoWhileStatement = exports.DoWhileStatement = alias(\"doWhileStatement\"),\n EmptyStatement = exports.EmptyStatement = alias(\"emptyStatement\"),\n ExpressionStatement = exports.ExpressionStatement = alias(\"expressionStatement\"),\n File = exports.File = alias(\"file\"),\n ForInStatement = exports.ForInStatement = alias(\"forInStatement\"),\n ForStatement = exports.ForStatement = alias(\"forStatement\"),\n FunctionDeclaration = exports.FunctionDeclaration = alias(\"functionDeclaration\"),\n FunctionExpression = exports.FunctionExpression = alias(\"functionExpression\"),\n Identifier = exports.Identifier = alias(\"identifier\"),\n IfStatement = exports.IfStatement = alias(\"ifStatement\"),\n LabeledStatement = exports.LabeledStatement = alias(\"labeledStatement\"),\n StringLiteral = exports.StringLiteral = alias(\"stringLiteral\"),\n NumericLiteral = exports.NumericLiteral = alias(\"numericLiteral\"),\n NullLiteral = exports.NullLiteral = alias(\"nullLiteral\"),\n BooleanLiteral = exports.BooleanLiteral = alias(\"booleanLiteral\"),\n RegExpLiteral = exports.RegExpLiteral = alias(\"regExpLiteral\"),\n LogicalExpression = exports.LogicalExpression = alias(\"logicalExpression\"),\n MemberExpression = exports.MemberExpression = alias(\"memberExpression\"),\n NewExpression = exports.NewExpression = alias(\"newExpression\"),\n Program = exports.Program = alias(\"program\"),\n ObjectExpression = exports.ObjectExpression = alias(\"objectExpression\"),\n ObjectMethod = exports.ObjectMethod = alias(\"objectMethod\"),\n ObjectProperty = exports.ObjectProperty = alias(\"objectProperty\"),\n RestElement = exports.RestElement = alias(\"restElement\"),\n ReturnStatement = exports.ReturnStatement = alias(\"returnStatement\"),\n SequenceExpression = exports.SequenceExpression = alias(\"sequenceExpression\"),\n ParenthesizedExpression = exports.ParenthesizedExpression = alias(\"parenthesizedExpression\"),\n SwitchCase = exports.SwitchCase = alias(\"switchCase\"),\n SwitchStatement = exports.SwitchStatement = alias(\"switchStatement\"),\n ThisExpression = exports.ThisExpression = alias(\"thisExpression\"),\n ThrowStatement = exports.ThrowStatement = alias(\"throwStatement\"),\n TryStatement = exports.TryStatement = alias(\"tryStatement\"),\n UnaryExpression = exports.UnaryExpression = alias(\"unaryExpression\"),\n UpdateExpression = exports.UpdateExpression = alias(\"updateExpression\"),\n VariableDeclaration = exports.VariableDeclaration = alias(\"variableDeclaration\"),\n VariableDeclarator = exports.VariableDeclarator = alias(\"variableDeclarator\"),\n WhileStatement = exports.WhileStatement = alias(\"whileStatement\"),\n WithStatement = exports.WithStatement = alias(\"withStatement\"),\n AssignmentPattern = exports.AssignmentPattern = alias(\"assignmentPattern\"),\n ArrayPattern = exports.ArrayPattern = alias(\"arrayPattern\"),\n ArrowFunctionExpression = exports.ArrowFunctionExpression = alias(\"arrowFunctionExpression\"),\n ClassBody = exports.ClassBody = alias(\"classBody\"),\n ClassExpression = exports.ClassExpression = alias(\"classExpression\"),\n ClassDeclaration = exports.ClassDeclaration = alias(\"classDeclaration\"),\n ExportAllDeclaration = exports.ExportAllDeclaration = alias(\"exportAllDeclaration\"),\n ExportDefaultDeclaration = exports.ExportDefaultDeclaration = alias(\"exportDefaultDeclaration\"),\n ExportNamedDeclaration = exports.ExportNamedDeclaration = alias(\"exportNamedDeclaration\"),\n ExportSpecifier = exports.ExportSpecifier = alias(\"exportSpecifier\"),\n ForOfStatement = exports.ForOfStatement = alias(\"forOfStatement\"),\n ImportDeclaration = exports.ImportDeclaration = alias(\"importDeclaration\"),\n ImportDefaultSpecifier = exports.ImportDefaultSpecifier = alias(\"importDefaultSpecifier\"),\n ImportNamespaceSpecifier = exports.ImportNamespaceSpecifier = alias(\"importNamespaceSpecifier\"),\n ImportSpecifier = exports.ImportSpecifier = alias(\"importSpecifier\"),\n ImportExpression = exports.ImportExpression = alias(\"importExpression\"),\n MetaProperty = exports.MetaProperty = alias(\"metaProperty\"),\n ClassMethod = exports.ClassMethod = alias(\"classMethod\"),\n ObjectPattern = exports.ObjectPattern = alias(\"objectPattern\"),\n SpreadElement = exports.SpreadElement = alias(\"spreadElement\"),\n Super = exports.Super = alias(\"super\"),\n TaggedTemplateExpression = exports.TaggedTemplateExpression = alias(\"taggedTemplateExpression\"),\n TemplateElement = exports.TemplateElement = alias(\"templateElement\"),\n TemplateLiteral = exports.TemplateLiteral = alias(\"templateLiteral\"),\n YieldExpression = exports.YieldExpression = alias(\"yieldExpression\"),\n AwaitExpression = exports.AwaitExpression = alias(\"awaitExpression\"),\n Import = exports.Import = alias(\"import\"),\n BigIntLiteral = exports.BigIntLiteral = alias(\"bigIntLiteral\"),\n ExportNamespaceSpecifier = exports.ExportNamespaceSpecifier = alias(\"exportNamespaceSpecifier\"),\n OptionalMemberExpression = exports.OptionalMemberExpression = alias(\"optionalMemberExpression\"),\n OptionalCallExpression = exports.OptionalCallExpression = alias(\"optionalCallExpression\"),\n ClassProperty = exports.ClassProperty = alias(\"classProperty\"),\n ClassAccessorProperty = exports.ClassAccessorProperty = alias(\"classAccessorProperty\"),\n ClassPrivateProperty = exports.ClassPrivateProperty = alias(\"classPrivateProperty\"),\n ClassPrivateMethod = exports.ClassPrivateMethod = alias(\"classPrivateMethod\"),\n PrivateName = exports.PrivateName = alias(\"privateName\"),\n StaticBlock = exports.StaticBlock = alias(\"staticBlock\"),\n ImportAttribute = exports.ImportAttribute = alias(\"importAttribute\"),\n AnyTypeAnnotation = exports.AnyTypeAnnotation = alias(\"anyTypeAnnotation\"),\n ArrayTypeAnnotation = exports.ArrayTypeAnnotation = alias(\"arrayTypeAnnotation\"),\n BooleanTypeAnnotation = exports.BooleanTypeAnnotation = alias(\"booleanTypeAnnotation\"),\n BooleanLiteralTypeAnnotation = exports.BooleanLiteralTypeAnnotation = alias(\"booleanLiteralTypeAnnotation\"),\n NullLiteralTypeAnnotation = exports.NullLiteralTypeAnnotation = alias(\"nullLiteralTypeAnnotation\"),\n ClassImplements = exports.ClassImplements = alias(\"classImplements\"),\n DeclareClass = exports.DeclareClass = alias(\"declareClass\"),\n DeclareFunction = exports.DeclareFunction = alias(\"declareFunction\"),\n DeclareInterface = exports.DeclareInterface = alias(\"declareInterface\"),\n DeclareModule = exports.DeclareModule = alias(\"declareModule\"),\n DeclareModuleExports = exports.DeclareModuleExports = alias(\"declareModuleExports\"),\n DeclareTypeAlias = exports.DeclareTypeAlias = alias(\"declareTypeAlias\"),\n DeclareOpaqueType = exports.DeclareOpaqueType = alias(\"declareOpaqueType\"),\n DeclareVariable = exports.DeclareVariable = alias(\"declareVariable\"),\n DeclareExportDeclaration = exports.DeclareExportDeclaration = alias(\"declareExportDeclaration\"),\n DeclareExportAllDeclaration = exports.DeclareExportAllDeclaration = alias(\"declareExportAllDeclaration\"),\n DeclaredPredicate = exports.DeclaredPredicate = alias(\"declaredPredicate\"),\n ExistsTypeAnnotation = exports.ExistsTypeAnnotation = alias(\"existsTypeAnnotation\"),\n FunctionTypeAnnotation = exports.FunctionTypeAnnotation = alias(\"functionTypeAnnotation\"),\n FunctionTypeParam = exports.FunctionTypeParam = alias(\"functionTypeParam\"),\n GenericTypeAnnotation = exports.GenericTypeAnnotation = alias(\"genericTypeAnnotation\"),\n InferredPredicate = exports.InferredPredicate = alias(\"inferredPredicate\"),\n InterfaceExtends = exports.InterfaceExtends = alias(\"interfaceExtends\"),\n InterfaceDeclaration = exports.InterfaceDeclaration = alias(\"interfaceDeclaration\"),\n InterfaceTypeAnnotation = exports.InterfaceTypeAnnotation = alias(\"interfaceTypeAnnotation\"),\n IntersectionTypeAnnotation = exports.IntersectionTypeAnnotation = alias(\"intersectionTypeAnnotation\"),\n MixedTypeAnnotation = exports.MixedTypeAnnotation = alias(\"mixedTypeAnnotation\"),\n EmptyTypeAnnotation = exports.EmptyTypeAnnotation = alias(\"emptyTypeAnnotation\"),\n NullableTypeAnnotation = exports.NullableTypeAnnotation = alias(\"nullableTypeAnnotation\"),\n NumberLiteralTypeAnnotation = exports.NumberLiteralTypeAnnotation = alias(\"numberLiteralTypeAnnotation\"),\n NumberTypeAnnotation = exports.NumberTypeAnnotation = alias(\"numberTypeAnnotation\"),\n ObjectTypeAnnotation = exports.ObjectTypeAnnotation = alias(\"objectTypeAnnotation\"),\n ObjectTypeInternalSlot = exports.ObjectTypeInternalSlot = alias(\"objectTypeInternalSlot\"),\n ObjectTypeCallProperty = exports.ObjectTypeCallProperty = alias(\"objectTypeCallProperty\"),\n ObjectTypeIndexer = exports.ObjectTypeIndexer = alias(\"objectTypeIndexer\"),\n ObjectTypeProperty = exports.ObjectTypeProperty = alias(\"objectTypeProperty\"),\n ObjectTypeSpreadProperty = exports.ObjectTypeSpreadProperty = alias(\"objectTypeSpreadProperty\"),\n OpaqueType = exports.OpaqueType = alias(\"opaqueType\"),\n QualifiedTypeIdentifier = exports.QualifiedTypeIdentifier = alias(\"qualifiedTypeIdentifier\"),\n StringLiteralTypeAnnotation = exports.StringLiteralTypeAnnotation = alias(\"stringLiteralTypeAnnotation\"),\n StringTypeAnnotation = exports.StringTypeAnnotation = alias(\"stringTypeAnnotation\"),\n SymbolTypeAnnotation = exports.SymbolTypeAnnotation = alias(\"symbolTypeAnnotation\"),\n ThisTypeAnnotation = exports.ThisTypeAnnotation = alias(\"thisTypeAnnotation\"),\n TupleTypeAnnotation = exports.TupleTypeAnnotation = alias(\"tupleTypeAnnotation\"),\n TypeofTypeAnnotation = exports.TypeofTypeAnnotation = alias(\"typeofTypeAnnotation\"),\n TypeAlias = exports.TypeAlias = alias(\"typeAlias\"),\n TypeAnnotation = exports.TypeAnnotation = alias(\"typeAnnotation\"),\n TypeCastExpression = exports.TypeCastExpression = alias(\"typeCastExpression\"),\n TypeParameter = exports.TypeParameter = alias(\"typeParameter\"),\n TypeParameterDeclaration = exports.TypeParameterDeclaration = alias(\"typeParameterDeclaration\"),\n TypeParameterInstantiation = exports.TypeParameterInstantiation = alias(\"typeParameterInstantiation\"),\n UnionTypeAnnotation = exports.UnionTypeAnnotation = alias(\"unionTypeAnnotation\"),\n Variance = exports.Variance = alias(\"variance\"),\n VoidTypeAnnotation = exports.VoidTypeAnnotation = alias(\"voidTypeAnnotation\"),\n EnumDeclaration = exports.EnumDeclaration = alias(\"enumDeclaration\"),\n EnumBooleanBody = exports.EnumBooleanBody = alias(\"enumBooleanBody\"),\n EnumNumberBody = exports.EnumNumberBody = alias(\"enumNumberBody\"),\n EnumStringBody = exports.EnumStringBody = alias(\"enumStringBody\"),\n EnumSymbolBody = exports.EnumSymbolBody = alias(\"enumSymbolBody\"),\n EnumBooleanMember = exports.EnumBooleanMember = alias(\"enumBooleanMember\"),\n EnumNumberMember = exports.EnumNumberMember = alias(\"enumNumberMember\"),\n EnumStringMember = exports.EnumStringMember = alias(\"enumStringMember\"),\n EnumDefaultedMember = exports.EnumDefaultedMember = alias(\"enumDefaultedMember\"),\n IndexedAccessType = exports.IndexedAccessType = alias(\"indexedAccessType\"),\n OptionalIndexedAccessType = exports.OptionalIndexedAccessType = alias(\"optionalIndexedAccessType\"),\n JSXAttribute = exports.JSXAttribute = alias(\"jsxAttribute\"),\n JSXClosingElement = exports.JSXClosingElement = alias(\"jsxClosingElement\"),\n JSXElement = exports.JSXElement = alias(\"jsxElement\"),\n JSXEmptyExpression = exports.JSXEmptyExpression = alias(\"jsxEmptyExpression\"),\n JSXExpressionContainer = exports.JSXExpressionContainer = alias(\"jsxExpressionContainer\"),\n JSXSpreadChild = exports.JSXSpreadChild = alias(\"jsxSpreadChild\"),\n JSXIdentifier = exports.JSXIdentifier = alias(\"jsxIdentifier\"),\n JSXMemberExpression = exports.JSXMemberExpression = alias(\"jsxMemberExpression\"),\n JSXNamespacedName = exports.JSXNamespacedName = alias(\"jsxNamespacedName\"),\n JSXOpeningElement = exports.JSXOpeningElement = alias(\"jsxOpeningElement\"),\n JSXSpreadAttribute = exports.JSXSpreadAttribute = alias(\"jsxSpreadAttribute\"),\n JSXText = exports.JSXText = alias(\"jsxText\"),\n JSXFragment = exports.JSXFragment = alias(\"jsxFragment\"),\n JSXOpeningFragment = exports.JSXOpeningFragment = alias(\"jsxOpeningFragment\"),\n JSXClosingFragment = exports.JSXClosingFragment = alias(\"jsxClosingFragment\"),\n Noop = exports.Noop = alias(\"noop\"),\n Placeholder = exports.Placeholder = alias(\"placeholder\"),\n V8IntrinsicIdentifier = exports.V8IntrinsicIdentifier = alias(\"v8IntrinsicIdentifier\"),\n ArgumentPlaceholder = exports.ArgumentPlaceholder = alias(\"argumentPlaceholder\"),\n BindExpression = exports.BindExpression = alias(\"bindExpression\"),\n Decorator = exports.Decorator = alias(\"decorator\"),\n DoExpression = exports.DoExpression = alias(\"doExpression\"),\n ExportDefaultSpecifier = exports.ExportDefaultSpecifier = alias(\"exportDefaultSpecifier\"),\n RecordExpression = exports.RecordExpression = alias(\"recordExpression\"),\n TupleExpression = exports.TupleExpression = alias(\"tupleExpression\"),\n DecimalLiteral = exports.DecimalLiteral = alias(\"decimalLiteral\"),\n ModuleExpression = exports.ModuleExpression = alias(\"moduleExpression\"),\n TopicReference = exports.TopicReference = alias(\"topicReference\"),\n PipelineTopicExpression = exports.PipelineTopicExpression = alias(\"pipelineTopicExpression\"),\n PipelineBareFunction = exports.PipelineBareFunction = alias(\"pipelineBareFunction\"),\n PipelinePrimaryTopicReference = exports.PipelinePrimaryTopicReference = alias(\"pipelinePrimaryTopicReference\"),\n VoidPattern = exports.VoidPattern = alias(\"voidPattern\"),\n TSParameterProperty = exports.TSParameterProperty = alias(\"tsParameterProperty\"),\n TSDeclareFunction = exports.TSDeclareFunction = alias(\"tsDeclareFunction\"),\n TSDeclareMethod = exports.TSDeclareMethod = alias(\"tsDeclareMethod\"),\n TSQualifiedName = exports.TSQualifiedName = alias(\"tsQualifiedName\"),\n TSCallSignatureDeclaration = exports.TSCallSignatureDeclaration = alias(\"tsCallSignatureDeclaration\"),\n TSConstructSignatureDeclaration = exports.TSConstructSignatureDeclaration = alias(\"tsConstructSignatureDeclaration\"),\n TSPropertySignature = exports.TSPropertySignature = alias(\"tsPropertySignature\"),\n TSMethodSignature = exports.TSMethodSignature = alias(\"tsMethodSignature\"),\n TSIndexSignature = exports.TSIndexSignature = alias(\"tsIndexSignature\"),\n TSAnyKeyword = exports.TSAnyKeyword = alias(\"tsAnyKeyword\"),\n TSBooleanKeyword = exports.TSBooleanKeyword = alias(\"tsBooleanKeyword\"),\n TSBigIntKeyword = exports.TSBigIntKeyword = alias(\"tsBigIntKeyword\"),\n TSIntrinsicKeyword = exports.TSIntrinsicKeyword = alias(\"tsIntrinsicKeyword\"),\n TSNeverKeyword = exports.TSNeverKeyword = alias(\"tsNeverKeyword\"),\n TSNullKeyword = exports.TSNullKeyword = alias(\"tsNullKeyword\"),\n TSNumberKeyword = exports.TSNumberKeyword = alias(\"tsNumberKeyword\"),\n TSObjectKeyword = exports.TSObjectKeyword = alias(\"tsObjectKeyword\"),\n TSStringKeyword = exports.TSStringKeyword = alias(\"tsStringKeyword\"),\n TSSymbolKeyword = exports.TSSymbolKeyword = alias(\"tsSymbolKeyword\"),\n TSUndefinedKeyword = exports.TSUndefinedKeyword = alias(\"tsUndefinedKeyword\"),\n TSUnknownKeyword = exports.TSUnknownKeyword = alias(\"tsUnknownKeyword\"),\n TSVoidKeyword = exports.TSVoidKeyword = alias(\"tsVoidKeyword\"),\n TSThisType = exports.TSThisType = alias(\"tsThisType\"),\n TSFunctionType = exports.TSFunctionType = alias(\"tsFunctionType\"),\n TSConstructorType = exports.TSConstructorType = alias(\"tsConstructorType\"),\n TSTypeReference = exports.TSTypeReference = alias(\"tsTypeReference\"),\n TSTypePredicate = exports.TSTypePredicate = alias(\"tsTypePredicate\"),\n TSTypeQuery = exports.TSTypeQuery = alias(\"tsTypeQuery\"),\n TSTypeLiteral = exports.TSTypeLiteral = alias(\"tsTypeLiteral\"),\n TSArrayType = exports.TSArrayType = alias(\"tsArrayType\"),\n TSTupleType = exports.TSTupleType = alias(\"tsTupleType\"),\n TSOptionalType = exports.TSOptionalType = alias(\"tsOptionalType\"),\n TSRestType = exports.TSRestType = alias(\"tsRestType\"),\n TSNamedTupleMember = exports.TSNamedTupleMember = alias(\"tsNamedTupleMember\"),\n TSUnionType = exports.TSUnionType = alias(\"tsUnionType\"),\n TSIntersectionType = exports.TSIntersectionType = alias(\"tsIntersectionType\"),\n TSConditionalType = exports.TSConditionalType = alias(\"tsConditionalType\"),\n TSInferType = exports.TSInferType = alias(\"tsInferType\"),\n TSParenthesizedType = exports.TSParenthesizedType = alias(\"tsParenthesizedType\"),\n TSTypeOperator = exports.TSTypeOperator = alias(\"tsTypeOperator\"),\n TSIndexedAccessType = exports.TSIndexedAccessType = alias(\"tsIndexedAccessType\"),\n TSMappedType = exports.TSMappedType = alias(\"tsMappedType\"),\n TSTemplateLiteralType = exports.TSTemplateLiteralType = alias(\"tsTemplateLiteralType\"),\n TSLiteralType = exports.TSLiteralType = alias(\"tsLiteralType\"),\n TSExpressionWithTypeArguments = exports.TSExpressionWithTypeArguments = alias(\"tsExpressionWithTypeArguments\"),\n TSInterfaceDeclaration = exports.TSInterfaceDeclaration = alias(\"tsInterfaceDeclaration\"),\n TSInterfaceBody = exports.TSInterfaceBody = alias(\"tsInterfaceBody\"),\n TSTypeAliasDeclaration = exports.TSTypeAliasDeclaration = alias(\"tsTypeAliasDeclaration\"),\n TSInstantiationExpression = exports.TSInstantiationExpression = alias(\"tsInstantiationExpression\"),\n TSAsExpression = exports.TSAsExpression = alias(\"tsAsExpression\"),\n TSSatisfiesExpression = exports.TSSatisfiesExpression = alias(\"tsSatisfiesExpression\"),\n TSTypeAssertion = exports.TSTypeAssertion = alias(\"tsTypeAssertion\"),\n TSEnumBody = exports.TSEnumBody = alias(\"tsEnumBody\"),\n TSEnumDeclaration = exports.TSEnumDeclaration = alias(\"tsEnumDeclaration\"),\n TSEnumMember = exports.TSEnumMember = alias(\"tsEnumMember\"),\n TSModuleDeclaration = exports.TSModuleDeclaration = alias(\"tsModuleDeclaration\"),\n TSModuleBlock = exports.TSModuleBlock = alias(\"tsModuleBlock\"),\n TSImportType = exports.TSImportType = alias(\"tsImportType\"),\n TSImportEqualsDeclaration = exports.TSImportEqualsDeclaration = alias(\"tsImportEqualsDeclaration\"),\n TSExternalModuleReference = exports.TSExternalModuleReference = alias(\"tsExternalModuleReference\"),\n TSNonNullExpression = exports.TSNonNullExpression = alias(\"tsNonNullExpression\"),\n TSExportAssignment = exports.TSExportAssignment = alias(\"tsExportAssignment\"),\n TSNamespaceExportDeclaration = exports.TSNamespaceExportDeclaration = alias(\"tsNamespaceExportDeclaration\"),\n TSTypeAnnotation = exports.TSTypeAnnotation = alias(\"tsTypeAnnotation\"),\n TSTypeParameterInstantiation = exports.TSTypeParameterInstantiation = alias(\"tsTypeParameterInstantiation\"),\n TSTypeParameterDeclaration = exports.TSTypeParameterDeclaration = alias(\"tsTypeParameterDeclaration\"),\n TSTypeParameter = exports.TSTypeParameter = alias(\"tsTypeParameter\");\nconst NumberLiteral = exports.NumberLiteral = b.numberLiteral,\n RegexLiteral = exports.RegexLiteral = b.regexLiteral,\n RestProperty = exports.RestProperty = b.restProperty,\n SpreadProperty = exports.SpreadProperty = b.spreadProperty;\n\n//# sourceMappingURL=uppercase.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _lowercase = require(\"./lowercase.js\");\nObject.keys(_lowercase).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _lowercase[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _lowercase[key];\n }\n });\n});\nvar _uppercase = require(\"./uppercase.js\");\nObject.keys(_uppercase).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _uppercase[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _uppercase[key];\n }\n });\n});\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cleanJSXElementLiteralChild;\nvar _index = require(\"../../builders/generated/index.js\");\nvar _index2 = require(\"../../index.js\");\nfunction cleanJSXElementLiteralChild(child, args) {\n const lines = child.value.split(/\\r\\n|\\n|\\r/);\n let lastNonEmptyLine = 0;\n for (let i = 0; i < lines.length; i++) {\n if (/[^ \\t]/.exec(lines[i])) {\n lastNonEmptyLine = i;\n }\n }\n let str = \"\";\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const isFirstLine = i === 0;\n const isLastLine = i === lines.length - 1;\n const isLastNonEmptyLine = i === lastNonEmptyLine;\n let trimmedLine = line.replace(/\\t/g, \" \");\n if (!isFirstLine) {\n trimmedLine = trimmedLine.replace(/^ +/, \"\");\n }\n if (!isLastLine) {\n trimmedLine = trimmedLine.replace(/ +$/, \"\");\n }\n if (trimmedLine) {\n if (!isLastNonEmptyLine) {\n trimmedLine += \" \";\n }\n str += trimmedLine;\n }\n }\n if (str) args.push((0, _index2.inherits)((0, _index.stringLiteral)(str), child));\n}\n\n//# sourceMappingURL=cleanJSXElementLiteralChild.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = buildChildren;\nvar _index = require(\"../../validators/generated/index.js\");\nvar _cleanJSXElementLiteralChild = require(\"../../utils/react/cleanJSXElementLiteralChild.js\");\nfunction buildChildren(node) {\n const elements = [];\n for (let i = 0; i < node.children.length; i++) {\n let child = node.children[i];\n if ((0, _index.isJSXText)(child)) {\n (0, _cleanJSXElementLiteralChild.default)(child, elements);\n continue;\n }\n if ((0, _index.isJSXExpressionContainer)(child)) child = child.expression;\n if ((0, _index.isJSXEmptyExpression)(child)) continue;\n elements.push(child);\n }\n return elements;\n}\n\n//# sourceMappingURL=buildChildren.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isNode;\nvar _index = require(\"../definitions/index.js\");\nfunction isNode(node) {\n return !!(node && _index.VISITOR_KEYS[node.type]);\n}\n\n//# sourceMappingURL=isNode.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = assertNode;\nvar _isNode = require(\"../validators/isNode.js\");\nfunction assertNode(node) {\n if (!(0, _isNode.default)(node)) {\n var _node$type;\n const type = (_node$type = node == null ? void 0 : node.type) != null ? _node$type : JSON.stringify(node);\n throw new TypeError(`Not a valid node of type \"${type}\"`);\n }\n}\n\n//# sourceMappingURL=assertNode.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertAccessor = assertAccessor;\nexports.assertAnyTypeAnnotation = assertAnyTypeAnnotation;\nexports.assertArgumentPlaceholder = assertArgumentPlaceholder;\nexports.assertArrayExpression = assertArrayExpression;\nexports.assertArrayPattern = assertArrayPattern;\nexports.assertArrayTypeAnnotation = assertArrayTypeAnnotation;\nexports.assertArrowFunctionExpression = assertArrowFunctionExpression;\nexports.assertAssignmentExpression = assertAssignmentExpression;\nexports.assertAssignmentPattern = assertAssignmentPattern;\nexports.assertAwaitExpression = assertAwaitExpression;\nexports.assertBigIntLiteral = assertBigIntLiteral;\nexports.assertBinary = assertBinary;\nexports.assertBinaryExpression = assertBinaryExpression;\nexports.assertBindExpression = assertBindExpression;\nexports.assertBlock = assertBlock;\nexports.assertBlockParent = assertBlockParent;\nexports.assertBlockStatement = assertBlockStatement;\nexports.assertBooleanLiteral = assertBooleanLiteral;\nexports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation;\nexports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation;\nexports.assertBreakStatement = assertBreakStatement;\nexports.assertCallExpression = assertCallExpression;\nexports.assertCatchClause = assertCatchClause;\nexports.assertClass = assertClass;\nexports.assertClassAccessorProperty = assertClassAccessorProperty;\nexports.assertClassBody = assertClassBody;\nexports.assertClassDeclaration = assertClassDeclaration;\nexports.assertClassExpression = assertClassExpression;\nexports.assertClassImplements = assertClassImplements;\nexports.assertClassMethod = assertClassMethod;\nexports.assertClassPrivateMethod = assertClassPrivateMethod;\nexports.assertClassPrivateProperty = assertClassPrivateProperty;\nexports.assertClassProperty = assertClassProperty;\nexports.assertCompletionStatement = assertCompletionStatement;\nexports.assertConditional = assertConditional;\nexports.assertConditionalExpression = assertConditionalExpression;\nexports.assertContinueStatement = assertContinueStatement;\nexports.assertDebuggerStatement = assertDebuggerStatement;\nexports.assertDecimalLiteral = assertDecimalLiteral;\nexports.assertDeclaration = assertDeclaration;\nexports.assertDeclareClass = assertDeclareClass;\nexports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration;\nexports.assertDeclareExportDeclaration = assertDeclareExportDeclaration;\nexports.assertDeclareFunction = assertDeclareFunction;\nexports.assertDeclareInterface = assertDeclareInterface;\nexports.assertDeclareModule = assertDeclareModule;\nexports.assertDeclareModuleExports = assertDeclareModuleExports;\nexports.assertDeclareOpaqueType = assertDeclareOpaqueType;\nexports.assertDeclareTypeAlias = assertDeclareTypeAlias;\nexports.assertDeclareVariable = assertDeclareVariable;\nexports.assertDeclaredPredicate = assertDeclaredPredicate;\nexports.assertDecorator = assertDecorator;\nexports.assertDirective = assertDirective;\nexports.assertDirectiveLiteral = assertDirectiveLiteral;\nexports.assertDoExpression = assertDoExpression;\nexports.assertDoWhileStatement = assertDoWhileStatement;\nexports.assertEmptyStatement = assertEmptyStatement;\nexports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation;\nexports.assertEnumBody = assertEnumBody;\nexports.assertEnumBooleanBody = assertEnumBooleanBody;\nexports.assertEnumBooleanMember = assertEnumBooleanMember;\nexports.assertEnumDeclaration = assertEnumDeclaration;\nexports.assertEnumDefaultedMember = assertEnumDefaultedMember;\nexports.assertEnumMember = assertEnumMember;\nexports.assertEnumNumberBody = assertEnumNumberBody;\nexports.assertEnumNumberMember = assertEnumNumberMember;\nexports.assertEnumStringBody = assertEnumStringBody;\nexports.assertEnumStringMember = assertEnumStringMember;\nexports.assertEnumSymbolBody = assertEnumSymbolBody;\nexports.assertExistsTypeAnnotation = assertExistsTypeAnnotation;\nexports.assertExportAllDeclaration = assertExportAllDeclaration;\nexports.assertExportDeclaration = assertExportDeclaration;\nexports.assertExportDefaultDeclaration = assertExportDefaultDeclaration;\nexports.assertExportDefaultSpecifier = assertExportDefaultSpecifier;\nexports.assertExportNamedDeclaration = assertExportNamedDeclaration;\nexports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier;\nexports.assertExportSpecifier = assertExportSpecifier;\nexports.assertExpression = assertExpression;\nexports.assertExpressionStatement = assertExpressionStatement;\nexports.assertExpressionWrapper = assertExpressionWrapper;\nexports.assertFile = assertFile;\nexports.assertFlow = assertFlow;\nexports.assertFlowBaseAnnotation = assertFlowBaseAnnotation;\nexports.assertFlowDeclaration = assertFlowDeclaration;\nexports.assertFlowPredicate = assertFlowPredicate;\nexports.assertFlowType = assertFlowType;\nexports.assertFor = assertFor;\nexports.assertForInStatement = assertForInStatement;\nexports.assertForOfStatement = assertForOfStatement;\nexports.assertForStatement = assertForStatement;\nexports.assertForXStatement = assertForXStatement;\nexports.assertFunction = assertFunction;\nexports.assertFunctionDeclaration = assertFunctionDeclaration;\nexports.assertFunctionExpression = assertFunctionExpression;\nexports.assertFunctionParameter = assertFunctionParameter;\nexports.assertFunctionParent = assertFunctionParent;\nexports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation;\nexports.assertFunctionTypeParam = assertFunctionTypeParam;\nexports.assertGenericTypeAnnotation = assertGenericTypeAnnotation;\nexports.assertIdentifier = assertIdentifier;\nexports.assertIfStatement = assertIfStatement;\nexports.assertImmutable = assertImmutable;\nexports.assertImport = assertImport;\nexports.assertImportAttribute = assertImportAttribute;\nexports.assertImportDeclaration = assertImportDeclaration;\nexports.assertImportDefaultSpecifier = assertImportDefaultSpecifier;\nexports.assertImportExpression = assertImportExpression;\nexports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier;\nexports.assertImportOrExportDeclaration = assertImportOrExportDeclaration;\nexports.assertImportSpecifier = assertImportSpecifier;\nexports.assertIndexedAccessType = assertIndexedAccessType;\nexports.assertInferredPredicate = assertInferredPredicate;\nexports.assertInterfaceDeclaration = assertInterfaceDeclaration;\nexports.assertInterfaceExtends = assertInterfaceExtends;\nexports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation;\nexports.assertInterpreterDirective = assertInterpreterDirective;\nexports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation;\nexports.assertJSX = assertJSX;\nexports.assertJSXAttribute = assertJSXAttribute;\nexports.assertJSXClosingElement = assertJSXClosingElement;\nexports.assertJSXClosingFragment = assertJSXClosingFragment;\nexports.assertJSXElement = assertJSXElement;\nexports.assertJSXEmptyExpression = assertJSXEmptyExpression;\nexports.assertJSXExpressionContainer = assertJSXExpressionContainer;\nexports.assertJSXFragment = assertJSXFragment;\nexports.assertJSXIdentifier = assertJSXIdentifier;\nexports.assertJSXMemberExpression = assertJSXMemberExpression;\nexports.assertJSXNamespacedName = assertJSXNamespacedName;\nexports.assertJSXOpeningElement = assertJSXOpeningElement;\nexports.assertJSXOpeningFragment = assertJSXOpeningFragment;\nexports.assertJSXSpreadAttribute = assertJSXSpreadAttribute;\nexports.assertJSXSpreadChild = assertJSXSpreadChild;\nexports.assertJSXText = assertJSXText;\nexports.assertLVal = assertLVal;\nexports.assertLabeledStatement = assertLabeledStatement;\nexports.assertLiteral = assertLiteral;\nexports.assertLogicalExpression = assertLogicalExpression;\nexports.assertLoop = assertLoop;\nexports.assertMemberExpression = assertMemberExpression;\nexports.assertMetaProperty = assertMetaProperty;\nexports.assertMethod = assertMethod;\nexports.assertMiscellaneous = assertMiscellaneous;\nexports.assertMixedTypeAnnotation = assertMixedTypeAnnotation;\nexports.assertModuleDeclaration = assertModuleDeclaration;\nexports.assertModuleExpression = assertModuleExpression;\nexports.assertModuleSpecifier = assertModuleSpecifier;\nexports.assertNewExpression = assertNewExpression;\nexports.assertNoop = assertNoop;\nexports.assertNullLiteral = assertNullLiteral;\nexports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation;\nexports.assertNullableTypeAnnotation = assertNullableTypeAnnotation;\nexports.assertNumberLiteral = assertNumberLiteral;\nexports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation;\nexports.assertNumberTypeAnnotation = assertNumberTypeAnnotation;\nexports.assertNumericLiteral = assertNumericLiteral;\nexports.assertObjectExpression = assertObjectExpression;\nexports.assertObjectMember = assertObjectMember;\nexports.assertObjectMethod = assertObjectMethod;\nexports.assertObjectPattern = assertObjectPattern;\nexports.assertObjectProperty = assertObjectProperty;\nexports.assertObjectTypeAnnotation = assertObjectTypeAnnotation;\nexports.assertObjectTypeCallProperty = assertObjectTypeCallProperty;\nexports.assertObjectTypeIndexer = assertObjectTypeIndexer;\nexports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot;\nexports.assertObjectTypeProperty = assertObjectTypeProperty;\nexports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty;\nexports.assertOpaqueType = assertOpaqueType;\nexports.assertOptionalCallExpression = assertOptionalCallExpression;\nexports.assertOptionalIndexedAccessType = assertOptionalIndexedAccessType;\nexports.assertOptionalMemberExpression = assertOptionalMemberExpression;\nexports.assertParenthesizedExpression = assertParenthesizedExpression;\nexports.assertPattern = assertPattern;\nexports.assertPatternLike = assertPatternLike;\nexports.assertPipelineBareFunction = assertPipelineBareFunction;\nexports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference;\nexports.assertPipelineTopicExpression = assertPipelineTopicExpression;\nexports.assertPlaceholder = assertPlaceholder;\nexports.assertPrivate = assertPrivate;\nexports.assertPrivateName = assertPrivateName;\nexports.assertProgram = assertProgram;\nexports.assertProperty = assertProperty;\nexports.assertPureish = assertPureish;\nexports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier;\nexports.assertRecordExpression = assertRecordExpression;\nexports.assertRegExpLiteral = assertRegExpLiteral;\nexports.assertRegexLiteral = assertRegexLiteral;\nexports.assertRestElement = assertRestElement;\nexports.assertRestProperty = assertRestProperty;\nexports.assertReturnStatement = assertReturnStatement;\nexports.assertScopable = assertScopable;\nexports.assertSequenceExpression = assertSequenceExpression;\nexports.assertSpreadElement = assertSpreadElement;\nexports.assertSpreadProperty = assertSpreadProperty;\nexports.assertStandardized = assertStandardized;\nexports.assertStatement = assertStatement;\nexports.assertStaticBlock = assertStaticBlock;\nexports.assertStringLiteral = assertStringLiteral;\nexports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation;\nexports.assertStringTypeAnnotation = assertStringTypeAnnotation;\nexports.assertSuper = assertSuper;\nexports.assertSwitchCase = assertSwitchCase;\nexports.assertSwitchStatement = assertSwitchStatement;\nexports.assertSymbolTypeAnnotation = assertSymbolTypeAnnotation;\nexports.assertTSAnyKeyword = assertTSAnyKeyword;\nexports.assertTSArrayType = assertTSArrayType;\nexports.assertTSAsExpression = assertTSAsExpression;\nexports.assertTSBaseType = assertTSBaseType;\nexports.assertTSBigIntKeyword = assertTSBigIntKeyword;\nexports.assertTSBooleanKeyword = assertTSBooleanKeyword;\nexports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration;\nexports.assertTSConditionalType = assertTSConditionalType;\nexports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration;\nexports.assertTSConstructorType = assertTSConstructorType;\nexports.assertTSDeclareFunction = assertTSDeclareFunction;\nexports.assertTSDeclareMethod = assertTSDeclareMethod;\nexports.assertTSEntityName = assertTSEntityName;\nexports.assertTSEnumBody = assertTSEnumBody;\nexports.assertTSEnumDeclaration = assertTSEnumDeclaration;\nexports.assertTSEnumMember = assertTSEnumMember;\nexports.assertTSExportAssignment = assertTSExportAssignment;\nexports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments;\nexports.assertTSExternalModuleReference = assertTSExternalModuleReference;\nexports.assertTSFunctionType = assertTSFunctionType;\nexports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration;\nexports.assertTSImportType = assertTSImportType;\nexports.assertTSIndexSignature = assertTSIndexSignature;\nexports.assertTSIndexedAccessType = assertTSIndexedAccessType;\nexports.assertTSInferType = assertTSInferType;\nexports.assertTSInstantiationExpression = assertTSInstantiationExpression;\nexports.assertTSInterfaceBody = assertTSInterfaceBody;\nexports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration;\nexports.assertTSIntersectionType = assertTSIntersectionType;\nexports.assertTSIntrinsicKeyword = assertTSIntrinsicKeyword;\nexports.assertTSLiteralType = assertTSLiteralType;\nexports.assertTSMappedType = assertTSMappedType;\nexports.assertTSMethodSignature = assertTSMethodSignature;\nexports.assertTSModuleBlock = assertTSModuleBlock;\nexports.assertTSModuleDeclaration = assertTSModuleDeclaration;\nexports.assertTSNamedTupleMember = assertTSNamedTupleMember;\nexports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration;\nexports.assertTSNeverKeyword = assertTSNeverKeyword;\nexports.assertTSNonNullExpression = assertTSNonNullExpression;\nexports.assertTSNullKeyword = assertTSNullKeyword;\nexports.assertTSNumberKeyword = assertTSNumberKeyword;\nexports.assertTSObjectKeyword = assertTSObjectKeyword;\nexports.assertTSOptionalType = assertTSOptionalType;\nexports.assertTSParameterProperty = assertTSParameterProperty;\nexports.assertTSParenthesizedType = assertTSParenthesizedType;\nexports.assertTSPropertySignature = assertTSPropertySignature;\nexports.assertTSQualifiedName = assertTSQualifiedName;\nexports.assertTSRestType = assertTSRestType;\nexports.assertTSSatisfiesExpression = assertTSSatisfiesExpression;\nexports.assertTSStringKeyword = assertTSStringKeyword;\nexports.assertTSSymbolKeyword = assertTSSymbolKeyword;\nexports.assertTSTemplateLiteralType = assertTSTemplateLiteralType;\nexports.assertTSThisType = assertTSThisType;\nexports.assertTSTupleType = assertTSTupleType;\nexports.assertTSType = assertTSType;\nexports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration;\nexports.assertTSTypeAnnotation = assertTSTypeAnnotation;\nexports.assertTSTypeAssertion = assertTSTypeAssertion;\nexports.assertTSTypeElement = assertTSTypeElement;\nexports.assertTSTypeLiteral = assertTSTypeLiteral;\nexports.assertTSTypeOperator = assertTSTypeOperator;\nexports.assertTSTypeParameter = assertTSTypeParameter;\nexports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration;\nexports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation;\nexports.assertTSTypePredicate = assertTSTypePredicate;\nexports.assertTSTypeQuery = assertTSTypeQuery;\nexports.assertTSTypeReference = assertTSTypeReference;\nexports.assertTSUndefinedKeyword = assertTSUndefinedKeyword;\nexports.assertTSUnionType = assertTSUnionType;\nexports.assertTSUnknownKeyword = assertTSUnknownKeyword;\nexports.assertTSVoidKeyword = assertTSVoidKeyword;\nexports.assertTaggedTemplateExpression = assertTaggedTemplateExpression;\nexports.assertTemplateElement = assertTemplateElement;\nexports.assertTemplateLiteral = assertTemplateLiteral;\nexports.assertTerminatorless = assertTerminatorless;\nexports.assertThisExpression = assertThisExpression;\nexports.assertThisTypeAnnotation = assertThisTypeAnnotation;\nexports.assertThrowStatement = assertThrowStatement;\nexports.assertTopicReference = assertTopicReference;\nexports.assertTryStatement = assertTryStatement;\nexports.assertTupleExpression = assertTupleExpression;\nexports.assertTupleTypeAnnotation = assertTupleTypeAnnotation;\nexports.assertTypeAlias = assertTypeAlias;\nexports.assertTypeAnnotation = assertTypeAnnotation;\nexports.assertTypeCastExpression = assertTypeCastExpression;\nexports.assertTypeParameter = assertTypeParameter;\nexports.assertTypeParameterDeclaration = assertTypeParameterDeclaration;\nexports.assertTypeParameterInstantiation = assertTypeParameterInstantiation;\nexports.assertTypeScript = assertTypeScript;\nexports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation;\nexports.assertUnaryExpression = assertUnaryExpression;\nexports.assertUnaryLike = assertUnaryLike;\nexports.assertUnionTypeAnnotation = assertUnionTypeAnnotation;\nexports.assertUpdateExpression = assertUpdateExpression;\nexports.assertUserWhitespacable = assertUserWhitespacable;\nexports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier;\nexports.assertVariableDeclaration = assertVariableDeclaration;\nexports.assertVariableDeclarator = assertVariableDeclarator;\nexports.assertVariance = assertVariance;\nexports.assertVoidPattern = assertVoidPattern;\nexports.assertVoidTypeAnnotation = assertVoidTypeAnnotation;\nexports.assertWhile = assertWhile;\nexports.assertWhileStatement = assertWhileStatement;\nexports.assertWithStatement = assertWithStatement;\nexports.assertYieldExpression = assertYieldExpression;\nvar _is = require(\"../../validators/is.js\");\nvar _deprecationWarning = require(\"../../utils/deprecationWarning.js\");\nfunction assert(type, node, opts) {\n if (!(0, _is.default)(type, node, opts)) {\n throw new Error(`Expected type \"${type}\" with option ${JSON.stringify(opts)}, ` + `but instead got \"${node.type}\".`);\n }\n}\nfunction assertArrayExpression(node, opts) {\n assert(\"ArrayExpression\", node, opts);\n}\nfunction assertAssignmentExpression(node, opts) {\n assert(\"AssignmentExpression\", node, opts);\n}\nfunction assertBinaryExpression(node, opts) {\n assert(\"BinaryExpression\", node, opts);\n}\nfunction assertInterpreterDirective(node, opts) {\n assert(\"InterpreterDirective\", node, opts);\n}\nfunction assertDirective(node, opts) {\n assert(\"Directive\", node, opts);\n}\nfunction assertDirectiveLiteral(node, opts) {\n assert(\"DirectiveLiteral\", node, opts);\n}\nfunction assertBlockStatement(node, opts) {\n assert(\"BlockStatement\", node, opts);\n}\nfunction assertBreakStatement(node, opts) {\n assert(\"BreakStatement\", node, opts);\n}\nfunction assertCallExpression(node, opts) {\n assert(\"CallExpression\", node, opts);\n}\nfunction assertCatchClause(node, opts) {\n assert(\"CatchClause\", node, opts);\n}\nfunction assertConditionalExpression(node, opts) {\n assert(\"ConditionalExpression\", node, opts);\n}\nfunction assertContinueStatement(node, opts) {\n assert(\"ContinueStatement\", node, opts);\n}\nfunction assertDebuggerStatement(node, opts) {\n assert(\"DebuggerStatement\", node, opts);\n}\nfunction assertDoWhileStatement(node, opts) {\n assert(\"DoWhileStatement\", node, opts);\n}\nfunction assertEmptyStatement(node, opts) {\n assert(\"EmptyStatement\", node, opts);\n}\nfunction assertExpressionStatement(node, opts) {\n assert(\"ExpressionStatement\", node, opts);\n}\nfunction assertFile(node, opts) {\n assert(\"File\", node, opts);\n}\nfunction assertForInStatement(node, opts) {\n assert(\"ForInStatement\", node, opts);\n}\nfunction assertForStatement(node, opts) {\n assert(\"ForStatement\", node, opts);\n}\nfunction assertFunctionDeclaration(node, opts) {\n assert(\"FunctionDeclaration\", node, opts);\n}\nfunction assertFunctionExpression(node, opts) {\n assert(\"FunctionExpression\", node, opts);\n}\nfunction assertIdentifier(node, opts) {\n assert(\"Identifier\", node, opts);\n}\nfunction assertIfStatement(node, opts) {\n assert(\"IfStatement\", node, opts);\n}\nfunction assertLabeledStatement(node, opts) {\n assert(\"LabeledStatement\", node, opts);\n}\nfunction assertStringLiteral(node, opts) {\n assert(\"StringLiteral\", node, opts);\n}\nfunction assertNumericLiteral(node, opts) {\n assert(\"NumericLiteral\", node, opts);\n}\nfunction assertNullLiteral(node, opts) {\n assert(\"NullLiteral\", node, opts);\n}\nfunction assertBooleanLiteral(node, opts) {\n assert(\"BooleanLiteral\", node, opts);\n}\nfunction assertRegExpLiteral(node, opts) {\n assert(\"RegExpLiteral\", node, opts);\n}\nfunction assertLogicalExpression(node, opts) {\n assert(\"LogicalExpression\", node, opts);\n}\nfunction assertMemberExpression(node, opts) {\n assert(\"MemberExpression\", node, opts);\n}\nfunction assertNewExpression(node, opts) {\n assert(\"NewExpression\", node, opts);\n}\nfunction assertProgram(node, opts) {\n assert(\"Program\", node, opts);\n}\nfunction assertObjectExpression(node, opts) {\n assert(\"ObjectExpression\", node, opts);\n}\nfunction assertObjectMethod(node, opts) {\n assert(\"ObjectMethod\", node, opts);\n}\nfunction assertObjectProperty(node, opts) {\n assert(\"ObjectProperty\", node, opts);\n}\nfunction assertRestElement(node, opts) {\n assert(\"RestElement\", node, opts);\n}\nfunction assertReturnStatement(node, opts) {\n assert(\"ReturnStatement\", node, opts);\n}\nfunction assertSequenceExpression(node, opts) {\n assert(\"SequenceExpression\", node, opts);\n}\nfunction assertParenthesizedExpression(node, opts) {\n assert(\"ParenthesizedExpression\", node, opts);\n}\nfunction assertSwitchCase(node, opts) {\n assert(\"SwitchCase\", node, opts);\n}\nfunction assertSwitchStatement(node, opts) {\n assert(\"SwitchStatement\", node, opts);\n}\nfunction assertThisExpression(node, opts) {\n assert(\"ThisExpression\", node, opts);\n}\nfunction assertThrowStatement(node, opts) {\n assert(\"ThrowStatement\", node, opts);\n}\nfunction assertTryStatement(node, opts) {\n assert(\"TryStatement\", node, opts);\n}\nfunction assertUnaryExpression(node, opts) {\n assert(\"UnaryExpression\", node, opts);\n}\nfunction assertUpdateExpression(node, opts) {\n assert(\"UpdateExpression\", node, opts);\n}\nfunction assertVariableDeclaration(node, opts) {\n assert(\"VariableDeclaration\", node, opts);\n}\nfunction assertVariableDeclarator(node, opts) {\n assert(\"VariableDeclarator\", node, opts);\n}\nfunction assertWhileStatement(node, opts) {\n assert(\"WhileStatement\", node, opts);\n}\nfunction assertWithStatement(node, opts) {\n assert(\"WithStatement\", node, opts);\n}\nfunction assertAssignmentPattern(node, opts) {\n assert(\"AssignmentPattern\", node, opts);\n}\nfunction assertArrayPattern(node, opts) {\n assert(\"ArrayPattern\", node, opts);\n}\nfunction assertArrowFunctionExpression(node, opts) {\n assert(\"ArrowFunctionExpression\", node, opts);\n}\nfunction assertClassBody(node, opts) {\n assert(\"ClassBody\", node, opts);\n}\nfunction assertClassExpression(node, opts) {\n assert(\"ClassExpression\", node, opts);\n}\nfunction assertClassDeclaration(node, opts) {\n assert(\"ClassDeclaration\", node, opts);\n}\nfunction assertExportAllDeclaration(node, opts) {\n assert(\"ExportAllDeclaration\", node, opts);\n}\nfunction assertExportDefaultDeclaration(node, opts) {\n assert(\"ExportDefaultDeclaration\", node, opts);\n}\nfunction assertExportNamedDeclaration(node, opts) {\n assert(\"ExportNamedDeclaration\", node, opts);\n}\nfunction assertExportSpecifier(node, opts) {\n assert(\"ExportSpecifier\", node, opts);\n}\nfunction assertForOfStatement(node, opts) {\n assert(\"ForOfStatement\", node, opts);\n}\nfunction assertImportDeclaration(node, opts) {\n assert(\"ImportDeclaration\", node, opts);\n}\nfunction assertImportDefaultSpecifier(node, opts) {\n assert(\"ImportDefaultSpecifier\", node, opts);\n}\nfunction assertImportNamespaceSpecifier(node, opts) {\n assert(\"ImportNamespaceSpecifier\", node, opts);\n}\nfunction assertImportSpecifier(node, opts) {\n assert(\"ImportSpecifier\", node, opts);\n}\nfunction assertImportExpression(node, opts) {\n assert(\"ImportExpression\", node, opts);\n}\nfunction assertMetaProperty(node, opts) {\n assert(\"MetaProperty\", node, opts);\n}\nfunction assertClassMethod(node, opts) {\n assert(\"ClassMethod\", node, opts);\n}\nfunction assertObjectPattern(node, opts) {\n assert(\"ObjectPattern\", node, opts);\n}\nfunction assertSpreadElement(node, opts) {\n assert(\"SpreadElement\", node, opts);\n}\nfunction assertSuper(node, opts) {\n assert(\"Super\", node, opts);\n}\nfunction assertTaggedTemplateExpression(node, opts) {\n assert(\"TaggedTemplateExpression\", node, opts);\n}\nfunction assertTemplateElement(node, opts) {\n assert(\"TemplateElement\", node, opts);\n}\nfunction assertTemplateLiteral(node, opts) {\n assert(\"TemplateLiteral\", node, opts);\n}\nfunction assertYieldExpression(node, opts) {\n assert(\"YieldExpression\", node, opts);\n}\nfunction assertAwaitExpression(node, opts) {\n assert(\"AwaitExpression\", node, opts);\n}\nfunction assertImport(node, opts) {\n assert(\"Import\", node, opts);\n}\nfunction assertBigIntLiteral(node, opts) {\n assert(\"BigIntLiteral\", node, opts);\n}\nfunction assertExportNamespaceSpecifier(node, opts) {\n assert(\"ExportNamespaceSpecifier\", node, opts);\n}\nfunction assertOptionalMemberExpression(node, opts) {\n assert(\"OptionalMemberExpression\", node, opts);\n}\nfunction assertOptionalCallExpression(node, opts) {\n assert(\"OptionalCallExpression\", node, opts);\n}\nfunction assertClassProperty(node, opts) {\n assert(\"ClassProperty\", node, opts);\n}\nfunction assertClassAccessorProperty(node, opts) {\n assert(\"ClassAccessorProperty\", node, opts);\n}\nfunction assertClassPrivateProperty(node, opts) {\n assert(\"ClassPrivateProperty\", node, opts);\n}\nfunction assertClassPrivateMethod(node, opts) {\n assert(\"ClassPrivateMethod\", node, opts);\n}\nfunction assertPrivateName(node, opts) {\n assert(\"PrivateName\", node, opts);\n}\nfunction assertStaticBlock(node, opts) {\n assert(\"StaticBlock\", node, opts);\n}\nfunction assertImportAttribute(node, opts) {\n assert(\"ImportAttribute\", node, opts);\n}\nfunction assertAnyTypeAnnotation(node, opts) {\n assert(\"AnyTypeAnnotation\", node, opts);\n}\nfunction assertArrayTypeAnnotation(node, opts) {\n assert(\"ArrayTypeAnnotation\", node, opts);\n}\nfunction assertBooleanTypeAnnotation(node, opts) {\n assert(\"BooleanTypeAnnotation\", node, opts);\n}\nfunction assertBooleanLiteralTypeAnnotation(node, opts) {\n assert(\"BooleanLiteralTypeAnnotation\", node, opts);\n}\nfunction assertNullLiteralTypeAnnotation(node, opts) {\n assert(\"NullLiteralTypeAnnotation\", node, opts);\n}\nfunction assertClassImplements(node, opts) {\n assert(\"ClassImplements\", node, opts);\n}\nfunction assertDeclareClass(node, opts) {\n assert(\"DeclareClass\", node, opts);\n}\nfunction assertDeclareFunction(node, opts) {\n assert(\"DeclareFunction\", node, opts);\n}\nfunction assertDeclareInterface(node, opts) {\n assert(\"DeclareInterface\", node, opts);\n}\nfunction assertDeclareModule(node, opts) {\n assert(\"DeclareModule\", node, opts);\n}\nfunction assertDeclareModuleExports(node, opts) {\n assert(\"DeclareModuleExports\", node, opts);\n}\nfunction assertDeclareTypeAlias(node, opts) {\n assert(\"DeclareTypeAlias\", node, opts);\n}\nfunction assertDeclareOpaqueType(node, opts) {\n assert(\"DeclareOpaqueType\", node, opts);\n}\nfunction assertDeclareVariable(node, opts) {\n assert(\"DeclareVariable\", node, opts);\n}\nfunction assertDeclareExportDeclaration(node, opts) {\n assert(\"DeclareExportDeclaration\", node, opts);\n}\nfunction assertDeclareExportAllDeclaration(node, opts) {\n assert(\"DeclareExportAllDeclaration\", node, opts);\n}\nfunction assertDeclaredPredicate(node, opts) {\n assert(\"DeclaredPredicate\", node, opts);\n}\nfunction assertExistsTypeAnnotation(node, opts) {\n assert(\"ExistsTypeAnnotation\", node, opts);\n}\nfunction assertFunctionTypeAnnotation(node, opts) {\n assert(\"FunctionTypeAnnotation\", node, opts);\n}\nfunction assertFunctionTypeParam(node, opts) {\n assert(\"FunctionTypeParam\", node, opts);\n}\nfunction assertGenericTypeAnnotation(node, opts) {\n assert(\"GenericTypeAnnotation\", node, opts);\n}\nfunction assertInferredPredicate(node, opts) {\n assert(\"InferredPredicate\", node, opts);\n}\nfunction assertInterfaceExtends(node, opts) {\n assert(\"InterfaceExtends\", node, opts);\n}\nfunction assertInterfaceDeclaration(node, opts) {\n assert(\"InterfaceDeclaration\", node, opts);\n}\nfunction assertInterfaceTypeAnnotation(node, opts) {\n assert(\"InterfaceTypeAnnotation\", node, opts);\n}\nfunction assertIntersectionTypeAnnotation(node, opts) {\n assert(\"IntersectionTypeAnnotation\", node, opts);\n}\nfunction assertMixedTypeAnnotation(node, opts) {\n assert(\"MixedTypeAnnotation\", node, opts);\n}\nfunction assertEmptyTypeAnnotation(node, opts) {\n assert(\"EmptyTypeAnnotation\", node, opts);\n}\nfunction assertNullableTypeAnnotation(node, opts) {\n assert(\"NullableTypeAnnotation\", node, opts);\n}\nfunction assertNumberLiteralTypeAnnotation(node, opts) {\n assert(\"NumberLiteralTypeAnnotation\", node, opts);\n}\nfunction assertNumberTypeAnnotation(node, opts) {\n assert(\"NumberTypeAnnotation\", node, opts);\n}\nfunction assertObjectTypeAnnotation(node, opts) {\n assert(\"ObjectTypeAnnotation\", node, opts);\n}\nfunction assertObjectTypeInternalSlot(node, opts) {\n assert(\"ObjectTypeInternalSlot\", node, opts);\n}\nfunction assertObjectTypeCallProperty(node, opts) {\n assert(\"ObjectTypeCallProperty\", node, opts);\n}\nfunction assertObjectTypeIndexer(node, opts) {\n assert(\"ObjectTypeIndexer\", node, opts);\n}\nfunction assertObjectTypeProperty(node, opts) {\n assert(\"ObjectTypeProperty\", node, opts);\n}\nfunction assertObjectTypeSpreadProperty(node, opts) {\n assert(\"ObjectTypeSpreadProperty\", node, opts);\n}\nfunction assertOpaqueType(node, opts) {\n assert(\"OpaqueType\", node, opts);\n}\nfunction assertQualifiedTypeIdentifier(node, opts) {\n assert(\"QualifiedTypeIdentifier\", node, opts);\n}\nfunction assertStringLiteralTypeAnnotation(node, opts) {\n assert(\"StringLiteralTypeAnnotation\", node, opts);\n}\nfunction assertStringTypeAnnotation(node, opts) {\n assert(\"StringTypeAnnotation\", node, opts);\n}\nfunction assertSymbolTypeAnnotation(node, opts) {\n assert(\"SymbolTypeAnnotation\", node, opts);\n}\nfunction assertThisTypeAnnotation(node, opts) {\n assert(\"ThisTypeAnnotation\", node, opts);\n}\nfunction assertTupleTypeAnnotation(node, opts) {\n assert(\"TupleTypeAnnotation\", node, opts);\n}\nfunction assertTypeofTypeAnnotation(node, opts) {\n assert(\"TypeofTypeAnnotation\", node, opts);\n}\nfunction assertTypeAlias(node, opts) {\n assert(\"TypeAlias\", node, opts);\n}\nfunction assertTypeAnnotation(node, opts) {\n assert(\"TypeAnnotation\", node, opts);\n}\nfunction assertTypeCastExpression(node, opts) {\n assert(\"TypeCastExpression\", node, opts);\n}\nfunction assertTypeParameter(node, opts) {\n assert(\"TypeParameter\", node, opts);\n}\nfunction assertTypeParameterDeclaration(node, opts) {\n assert(\"TypeParameterDeclaration\", node, opts);\n}\nfunction assertTypeParameterInstantiation(node, opts) {\n assert(\"TypeParameterInstantiation\", node, opts);\n}\nfunction assertUnionTypeAnnotation(node, opts) {\n assert(\"UnionTypeAnnotation\", node, opts);\n}\nfunction assertVariance(node, opts) {\n assert(\"Variance\", node, opts);\n}\nfunction assertVoidTypeAnnotation(node, opts) {\n assert(\"VoidTypeAnnotation\", node, opts);\n}\nfunction assertEnumDeclaration(node, opts) {\n assert(\"EnumDeclaration\", node, opts);\n}\nfunction assertEnumBooleanBody(node, opts) {\n assert(\"EnumBooleanBody\", node, opts);\n}\nfunction assertEnumNumberBody(node, opts) {\n assert(\"EnumNumberBody\", node, opts);\n}\nfunction assertEnumStringBody(node, opts) {\n assert(\"EnumStringBody\", node, opts);\n}\nfunction assertEnumSymbolBody(node, opts) {\n assert(\"EnumSymbolBody\", node, opts);\n}\nfunction assertEnumBooleanMember(node, opts) {\n assert(\"EnumBooleanMember\", node, opts);\n}\nfunction assertEnumNumberMember(node, opts) {\n assert(\"EnumNumberMember\", node, opts);\n}\nfunction assertEnumStringMember(node, opts) {\n assert(\"EnumStringMember\", node, opts);\n}\nfunction assertEnumDefaultedMember(node, opts) {\n assert(\"EnumDefaultedMember\", node, opts);\n}\nfunction assertIndexedAccessType(node, opts) {\n assert(\"IndexedAccessType\", node, opts);\n}\nfunction assertOptionalIndexedAccessType(node, opts) {\n assert(\"OptionalIndexedAccessType\", node, opts);\n}\nfunction assertJSXAttribute(node, opts) {\n assert(\"JSXAttribute\", node, opts);\n}\nfunction assertJSXClosingElement(node, opts) {\n assert(\"JSXClosingElement\", node, opts);\n}\nfunction assertJSXElement(node, opts) {\n assert(\"JSXElement\", node, opts);\n}\nfunction assertJSXEmptyExpression(node, opts) {\n assert(\"JSXEmptyExpression\", node, opts);\n}\nfunction assertJSXExpressionContainer(node, opts) {\n assert(\"JSXExpressionContainer\", node, opts);\n}\nfunction assertJSXSpreadChild(node, opts) {\n assert(\"JSXSpreadChild\", node, opts);\n}\nfunction assertJSXIdentifier(node, opts) {\n assert(\"JSXIdentifier\", node, opts);\n}\nfunction assertJSXMemberExpression(node, opts) {\n assert(\"JSXMemberExpression\", node, opts);\n}\nfunction assertJSXNamespacedName(node, opts) {\n assert(\"JSXNamespacedName\", node, opts);\n}\nfunction assertJSXOpeningElement(node, opts) {\n assert(\"JSXOpeningElement\", node, opts);\n}\nfunction assertJSXSpreadAttribute(node, opts) {\n assert(\"JSXSpreadAttribute\", node, opts);\n}\nfunction assertJSXText(node, opts) {\n assert(\"JSXText\", node, opts);\n}\nfunction assertJSXFragment(node, opts) {\n assert(\"JSXFragment\", node, opts);\n}\nfunction assertJSXOpeningFragment(node, opts) {\n assert(\"JSXOpeningFragment\", node, opts);\n}\nfunction assertJSXClosingFragment(node, opts) {\n assert(\"JSXClosingFragment\", node, opts);\n}\nfunction assertNoop(node, opts) {\n assert(\"Noop\", node, opts);\n}\nfunction assertPlaceholder(node, opts) {\n assert(\"Placeholder\", node, opts);\n}\nfunction assertV8IntrinsicIdentifier(node, opts) {\n assert(\"V8IntrinsicIdentifier\", node, opts);\n}\nfunction assertArgumentPlaceholder(node, opts) {\n assert(\"ArgumentPlaceholder\", node, opts);\n}\nfunction assertBindExpression(node, opts) {\n assert(\"BindExpression\", node, opts);\n}\nfunction assertDecorator(node, opts) {\n assert(\"Decorator\", node, opts);\n}\nfunction assertDoExpression(node, opts) {\n assert(\"DoExpression\", node, opts);\n}\nfunction assertExportDefaultSpecifier(node, opts) {\n assert(\"ExportDefaultSpecifier\", node, opts);\n}\nfunction assertRecordExpression(node, opts) {\n assert(\"RecordExpression\", node, opts);\n}\nfunction assertTupleExpression(node, opts) {\n assert(\"TupleExpression\", node, opts);\n}\nfunction assertDecimalLiteral(node, opts) {\n assert(\"DecimalLiteral\", node, opts);\n}\nfunction assertModuleExpression(node, opts) {\n assert(\"ModuleExpression\", node, opts);\n}\nfunction assertTopicReference(node, opts) {\n assert(\"TopicReference\", node, opts);\n}\nfunction assertPipelineTopicExpression(node, opts) {\n assert(\"PipelineTopicExpression\", node, opts);\n}\nfunction assertPipelineBareFunction(node, opts) {\n assert(\"PipelineBareFunction\", node, opts);\n}\nfunction assertPipelinePrimaryTopicReference(node, opts) {\n assert(\"PipelinePrimaryTopicReference\", node, opts);\n}\nfunction assertVoidPattern(node, opts) {\n assert(\"VoidPattern\", node, opts);\n}\nfunction assertTSParameterProperty(node, opts) {\n assert(\"TSParameterProperty\", node, opts);\n}\nfunction assertTSDeclareFunction(node, opts) {\n assert(\"TSDeclareFunction\", node, opts);\n}\nfunction assertTSDeclareMethod(node, opts) {\n assert(\"TSDeclareMethod\", node, opts);\n}\nfunction assertTSQualifiedName(node, opts) {\n assert(\"TSQualifiedName\", node, opts);\n}\nfunction assertTSCallSignatureDeclaration(node, opts) {\n assert(\"TSCallSignatureDeclaration\", node, opts);\n}\nfunction assertTSConstructSignatureDeclaration(node, opts) {\n assert(\"TSConstructSignatureDeclaration\", node, opts);\n}\nfunction assertTSPropertySignature(node, opts) {\n assert(\"TSPropertySignature\", node, opts);\n}\nfunction assertTSMethodSignature(node, opts) {\n assert(\"TSMethodSignature\", node, opts);\n}\nfunction assertTSIndexSignature(node, opts) {\n assert(\"TSIndexSignature\", node, opts);\n}\nfunction assertTSAnyKeyword(node, opts) {\n assert(\"TSAnyKeyword\", node, opts);\n}\nfunction assertTSBooleanKeyword(node, opts) {\n assert(\"TSBooleanKeyword\", node, opts);\n}\nfunction assertTSBigIntKeyword(node, opts) {\n assert(\"TSBigIntKeyword\", node, opts);\n}\nfunction assertTSIntrinsicKeyword(node, opts) {\n assert(\"TSIntrinsicKeyword\", node, opts);\n}\nfunction assertTSNeverKeyword(node, opts) {\n assert(\"TSNeverKeyword\", node, opts);\n}\nfunction assertTSNullKeyword(node, opts) {\n assert(\"TSNullKeyword\", node, opts);\n}\nfunction assertTSNumberKeyword(node, opts) {\n assert(\"TSNumberKeyword\", node, opts);\n}\nfunction assertTSObjectKeyword(node, opts) {\n assert(\"TSObjectKeyword\", node, opts);\n}\nfunction assertTSStringKeyword(node, opts) {\n assert(\"TSStringKeyword\", node, opts);\n}\nfunction assertTSSymbolKeyword(node, opts) {\n assert(\"TSSymbolKeyword\", node, opts);\n}\nfunction assertTSUndefinedKeyword(node, opts) {\n assert(\"TSUndefinedKeyword\", node, opts);\n}\nfunction assertTSUnknownKeyword(node, opts) {\n assert(\"TSUnknownKeyword\", node, opts);\n}\nfunction assertTSVoidKeyword(node, opts) {\n assert(\"TSVoidKeyword\", node, opts);\n}\nfunction assertTSThisType(node, opts) {\n assert(\"TSThisType\", node, opts);\n}\nfunction assertTSFunctionType(node, opts) {\n assert(\"TSFunctionType\", node, opts);\n}\nfunction assertTSConstructorType(node, opts) {\n assert(\"TSConstructorType\", node, opts);\n}\nfunction assertTSTypeReference(node, opts) {\n assert(\"TSTypeReference\", node, opts);\n}\nfunction assertTSTypePredicate(node, opts) {\n assert(\"TSTypePredicate\", node, opts);\n}\nfunction assertTSTypeQuery(node, opts) {\n assert(\"TSTypeQuery\", node, opts);\n}\nfunction assertTSTypeLiteral(node, opts) {\n assert(\"TSTypeLiteral\", node, opts);\n}\nfunction assertTSArrayType(node, opts) {\n assert(\"TSArrayType\", node, opts);\n}\nfunction assertTSTupleType(node, opts) {\n assert(\"TSTupleType\", node, opts);\n}\nfunction assertTSOptionalType(node, opts) {\n assert(\"TSOptionalType\", node, opts);\n}\nfunction assertTSRestType(node, opts) {\n assert(\"TSRestType\", node, opts);\n}\nfunction assertTSNamedTupleMember(node, opts) {\n assert(\"TSNamedTupleMember\", node, opts);\n}\nfunction assertTSUnionType(node, opts) {\n assert(\"TSUnionType\", node, opts);\n}\nfunction assertTSIntersectionType(node, opts) {\n assert(\"TSIntersectionType\", node, opts);\n}\nfunction assertTSConditionalType(node, opts) {\n assert(\"TSConditionalType\", node, opts);\n}\nfunction assertTSInferType(node, opts) {\n assert(\"TSInferType\", node, opts);\n}\nfunction assertTSParenthesizedType(node, opts) {\n assert(\"TSParenthesizedType\", node, opts);\n}\nfunction assertTSTypeOperator(node, opts) {\n assert(\"TSTypeOperator\", node, opts);\n}\nfunction assertTSIndexedAccessType(node, opts) {\n assert(\"TSIndexedAccessType\", node, opts);\n}\nfunction assertTSMappedType(node, opts) {\n assert(\"TSMappedType\", node, opts);\n}\nfunction assertTSTemplateLiteralType(node, opts) {\n assert(\"TSTemplateLiteralType\", node, opts);\n}\nfunction assertTSLiteralType(node, opts) {\n assert(\"TSLiteralType\", node, opts);\n}\nfunction assertTSExpressionWithTypeArguments(node, opts) {\n assert(\"TSExpressionWithTypeArguments\", node, opts);\n}\nfunction assertTSInterfaceDeclaration(node, opts) {\n assert(\"TSInterfaceDeclaration\", node, opts);\n}\nfunction assertTSInterfaceBody(node, opts) {\n assert(\"TSInterfaceBody\", node, opts);\n}\nfunction assertTSTypeAliasDeclaration(node, opts) {\n assert(\"TSTypeAliasDeclaration\", node, opts);\n}\nfunction assertTSInstantiationExpression(node, opts) {\n assert(\"TSInstantiationExpression\", node, opts);\n}\nfunction assertTSAsExpression(node, opts) {\n assert(\"TSAsExpression\", node, opts);\n}\nfunction assertTSSatisfiesExpression(node, opts) {\n assert(\"TSSatisfiesExpression\", node, opts);\n}\nfunction assertTSTypeAssertion(node, opts) {\n assert(\"TSTypeAssertion\", node, opts);\n}\nfunction assertTSEnumBody(node, opts) {\n assert(\"TSEnumBody\", node, opts);\n}\nfunction assertTSEnumDeclaration(node, opts) {\n assert(\"TSEnumDeclaration\", node, opts);\n}\nfunction assertTSEnumMember(node, opts) {\n assert(\"TSEnumMember\", node, opts);\n}\nfunction assertTSModuleDeclaration(node, opts) {\n assert(\"TSModuleDeclaration\", node, opts);\n}\nfunction assertTSModuleBlock(node, opts) {\n assert(\"TSModuleBlock\", node, opts);\n}\nfunction assertTSImportType(node, opts) {\n assert(\"TSImportType\", node, opts);\n}\nfunction assertTSImportEqualsDeclaration(node, opts) {\n assert(\"TSImportEqualsDeclaration\", node, opts);\n}\nfunction assertTSExternalModuleReference(node, opts) {\n assert(\"TSExternalModuleReference\", node, opts);\n}\nfunction assertTSNonNullExpression(node, opts) {\n assert(\"TSNonNullExpression\", node, opts);\n}\nfunction assertTSExportAssignment(node, opts) {\n assert(\"TSExportAssignment\", node, opts);\n}\nfunction assertTSNamespaceExportDeclaration(node, opts) {\n assert(\"TSNamespaceExportDeclaration\", node, opts);\n}\nfunction assertTSTypeAnnotation(node, opts) {\n assert(\"TSTypeAnnotation\", node, opts);\n}\nfunction assertTSTypeParameterInstantiation(node, opts) {\n assert(\"TSTypeParameterInstantiation\", node, opts);\n}\nfunction assertTSTypeParameterDeclaration(node, opts) {\n assert(\"TSTypeParameterDeclaration\", node, opts);\n}\nfunction assertTSTypeParameter(node, opts) {\n assert(\"TSTypeParameter\", node, opts);\n}\nfunction assertStandardized(node, opts) {\n assert(\"Standardized\", node, opts);\n}\nfunction assertExpression(node, opts) {\n assert(\"Expression\", node, opts);\n}\nfunction assertBinary(node, opts) {\n assert(\"Binary\", node, opts);\n}\nfunction assertScopable(node, opts) {\n assert(\"Scopable\", node, opts);\n}\nfunction assertBlockParent(node, opts) {\n assert(\"BlockParent\", node, opts);\n}\nfunction assertBlock(node, opts) {\n assert(\"Block\", node, opts);\n}\nfunction assertStatement(node, opts) {\n assert(\"Statement\", node, opts);\n}\nfunction assertTerminatorless(node, opts) {\n assert(\"Terminatorless\", node, opts);\n}\nfunction assertCompletionStatement(node, opts) {\n assert(\"CompletionStatement\", node, opts);\n}\nfunction assertConditional(node, opts) {\n assert(\"Conditional\", node, opts);\n}\nfunction assertLoop(node, opts) {\n assert(\"Loop\", node, opts);\n}\nfunction assertWhile(node, opts) {\n assert(\"While\", node, opts);\n}\nfunction assertExpressionWrapper(node, opts) {\n assert(\"ExpressionWrapper\", node, opts);\n}\nfunction assertFor(node, opts) {\n assert(\"For\", node, opts);\n}\nfunction assertForXStatement(node, opts) {\n assert(\"ForXStatement\", node, opts);\n}\nfunction assertFunction(node, opts) {\n assert(\"Function\", node, opts);\n}\nfunction assertFunctionParent(node, opts) {\n assert(\"FunctionParent\", node, opts);\n}\nfunction assertPureish(node, opts) {\n assert(\"Pureish\", node, opts);\n}\nfunction assertDeclaration(node, opts) {\n assert(\"Declaration\", node, opts);\n}\nfunction assertFunctionParameter(node, opts) {\n assert(\"FunctionParameter\", node, opts);\n}\nfunction assertPatternLike(node, opts) {\n assert(\"PatternLike\", node, opts);\n}\nfunction assertLVal(node, opts) {\n assert(\"LVal\", node, opts);\n}\nfunction assertTSEntityName(node, opts) {\n assert(\"TSEntityName\", node, opts);\n}\nfunction assertLiteral(node, opts) {\n assert(\"Literal\", node, opts);\n}\nfunction assertImmutable(node, opts) {\n assert(\"Immutable\", node, opts);\n}\nfunction assertUserWhitespacable(node, opts) {\n assert(\"UserWhitespacable\", node, opts);\n}\nfunction assertMethod(node, opts) {\n assert(\"Method\", node, opts);\n}\nfunction assertObjectMember(node, opts) {\n assert(\"ObjectMember\", node, opts);\n}\nfunction assertProperty(node, opts) {\n assert(\"Property\", node, opts);\n}\nfunction assertUnaryLike(node, opts) {\n assert(\"UnaryLike\", node, opts);\n}\nfunction assertPattern(node, opts) {\n assert(\"Pattern\", node, opts);\n}\nfunction assertClass(node, opts) {\n assert(\"Class\", node, opts);\n}\nfunction assertImportOrExportDeclaration(node, opts) {\n assert(\"ImportOrExportDeclaration\", node, opts);\n}\nfunction assertExportDeclaration(node, opts) {\n assert(\"ExportDeclaration\", node, opts);\n}\nfunction assertModuleSpecifier(node, opts) {\n assert(\"ModuleSpecifier\", node, opts);\n}\nfunction assertAccessor(node, opts) {\n assert(\"Accessor\", node, opts);\n}\nfunction assertPrivate(node, opts) {\n assert(\"Private\", node, opts);\n}\nfunction assertFlow(node, opts) {\n assert(\"Flow\", node, opts);\n}\nfunction assertFlowType(node, opts) {\n assert(\"FlowType\", node, opts);\n}\nfunction assertFlowBaseAnnotation(node, opts) {\n assert(\"FlowBaseAnnotation\", node, opts);\n}\nfunction assertFlowDeclaration(node, opts) {\n assert(\"FlowDeclaration\", node, opts);\n}\nfunction assertFlowPredicate(node, opts) {\n assert(\"FlowPredicate\", node, opts);\n}\nfunction assertEnumBody(node, opts) {\n assert(\"EnumBody\", node, opts);\n}\nfunction assertEnumMember(node, opts) {\n assert(\"EnumMember\", node, opts);\n}\nfunction assertJSX(node, opts) {\n assert(\"JSX\", node, opts);\n}\nfunction assertMiscellaneous(node, opts) {\n assert(\"Miscellaneous\", node, opts);\n}\nfunction assertTypeScript(node, opts) {\n assert(\"TypeScript\", node, opts);\n}\nfunction assertTSTypeElement(node, opts) {\n assert(\"TSTypeElement\", node, opts);\n}\nfunction assertTSType(node, opts) {\n assert(\"TSType\", node, opts);\n}\nfunction assertTSBaseType(node, opts) {\n assert(\"TSBaseType\", node, opts);\n}\nfunction assertNumberLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"assertNumberLiteral\", \"assertNumericLiteral\");\n assert(\"NumberLiteral\", node, opts);\n}\nfunction assertRegexLiteral(node, opts) {\n (0, _deprecationWarning.default)(\"assertRegexLiteral\", \"assertRegExpLiteral\");\n assert(\"RegexLiteral\", node, opts);\n}\nfunction assertRestProperty(node, opts) {\n (0, _deprecationWarning.default)(\"assertRestProperty\", \"assertRestElement\");\n assert(\"RestProperty\", node, opts);\n}\nfunction assertSpreadProperty(node, opts) {\n (0, _deprecationWarning.default)(\"assertSpreadProperty\", \"assertSpreadElement\");\n assert(\"SpreadProperty\", node, opts);\n}\nfunction assertModuleDeclaration(node, opts) {\n (0, _deprecationWarning.default)(\"assertModuleDeclaration\", \"assertImportOrExportDeclaration\");\n assert(\"ModuleDeclaration\", node, opts);\n}\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = require(\"../generated/index.js\");\nvar _default = exports.default = createTypeAnnotationBasedOnTypeof;\nfunction createTypeAnnotationBasedOnTypeof(type) {\n switch (type) {\n case \"string\":\n return (0, _index.stringTypeAnnotation)();\n case \"number\":\n return (0, _index.numberTypeAnnotation)();\n case \"undefined\":\n return (0, _index.voidTypeAnnotation)();\n case \"boolean\":\n return (0, _index.booleanTypeAnnotation)();\n case \"function\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Function\"));\n case \"object\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Object\"));\n case \"symbol\":\n return (0, _index.genericTypeAnnotation)((0, _index.identifier)(\"Symbol\"));\n case \"bigint\":\n return (0, _index.anyTypeAnnotation)();\n }\n throw new Error(\"Invalid typeof value: \" + type);\n}\n\n//# sourceMappingURL=createTypeAnnotationBasedOnTypeof.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removeTypeDuplicates;\nvar _index = require(\"../../validators/generated/index.js\");\nfunction getQualifiedName(node) {\n return (0, _index.isIdentifier)(node) ? node.name : `${node.id.name}.${getQualifiedName(node.qualification)}`;\n}\nfunction removeTypeDuplicates(nodesIn) {\n const nodes = Array.from(nodesIn);\n const generics = new Map();\n const bases = new Map();\n const typeGroups = new Set();\n const types = [];\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n if (types.includes(node)) {\n continue;\n }\n if ((0, _index.isAnyTypeAnnotation)(node)) {\n return [node];\n }\n if ((0, _index.isFlowBaseAnnotation)(node)) {\n bases.set(node.type, node);\n continue;\n }\n if ((0, _index.isUnionTypeAnnotation)(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n if ((0, _index.isGenericTypeAnnotation)(node)) {\n const name = getQualifiedName(node.id);\n if (generics.has(name)) {\n let existing = generics.get(name);\n if (existing.typeParameters) {\n if (node.typeParameters) {\n existing.typeParameters.params.push(...node.typeParameters.params);\n existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params);\n }\n } else {\n existing = node.typeParameters;\n }\n } else {\n generics.set(name, node);\n }\n continue;\n }\n types.push(node);\n }\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n return types;\n}\n\n//# sourceMappingURL=removeTypeDuplicates.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createFlowUnionType;\nvar _index = require(\"../generated/index.js\");\nvar _removeTypeDuplicates = require(\"../../modifications/flow/removeTypeDuplicates.js\");\nfunction createFlowUnionType(types) {\n const flattened = (0, _removeTypeDuplicates.default)(types);\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return (0, _index.unionTypeAnnotation)(flattened);\n }\n}\n\n//# sourceMappingURL=createFlowUnionType.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removeTypeDuplicates;\nvar _index = require(\"../../validators/generated/index.js\");\nfunction getQualifiedName(node) {\n return (0, _index.isIdentifier)(node) ? node.name : (0, _index.isThisExpression)(node) ? \"this\" : `${node.right.name}.${getQualifiedName(node.left)}`;\n}\nfunction removeTypeDuplicates(nodesIn) {\n const nodes = Array.from(nodesIn);\n const generics = new Map();\n const bases = new Map();\n const typeGroups = new Set();\n const types = [];\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (!node) continue;\n if (types.includes(node)) {\n continue;\n }\n if ((0, _index.isTSAnyKeyword)(node)) {\n return [node];\n }\n if ((0, _index.isTSBaseType)(node)) {\n bases.set(node.type, node);\n continue;\n }\n if ((0, _index.isTSUnionType)(node)) {\n if (!typeGroups.has(node.types)) {\n nodes.push(...node.types);\n typeGroups.add(node.types);\n }\n continue;\n }\n const typeArgumentsKey = \"typeParameters\";\n if ((0, _index.isTSTypeReference)(node) && node[typeArgumentsKey]) {\n const typeArguments = node[typeArgumentsKey];\n const name = getQualifiedName(node.typeName);\n if (generics.has(name)) {\n let existing = generics.get(name);\n const existingTypeArguments = existing[typeArgumentsKey];\n if (existingTypeArguments) {\n existingTypeArguments.params.push(...typeArguments.params);\n existingTypeArguments.params = removeTypeDuplicates(existingTypeArguments.params);\n } else {\n existing = typeArguments;\n }\n } else {\n generics.set(name, node);\n }\n continue;\n }\n types.push(node);\n }\n for (const [, baseType] of bases) {\n types.push(baseType);\n }\n for (const [, genericName] of generics) {\n types.push(genericName);\n }\n return types;\n}\n\n//# sourceMappingURL=removeTypeDuplicates.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createTSUnionType;\nvar _index = require(\"../generated/index.js\");\nvar _removeTypeDuplicates = require(\"../../modifications/typescript/removeTypeDuplicates.js\");\nvar _index2 = require(\"../../validators/generated/index.js\");\nfunction createTSUnionType(typeAnnotations) {\n const types = typeAnnotations.map(type => {\n return (0, _index2.isTSTypeAnnotation)(type) ? type.typeAnnotation : type;\n });\n const flattened = (0, _removeTypeDuplicates.default)(types);\n if (flattened.length === 1) {\n return flattened[0];\n } else {\n return (0, _index.tsUnionType)(flattened);\n }\n}\n\n//# sourceMappingURL=createTSUnionType.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.buildUndefinedNode = buildUndefinedNode;\nvar _index = require(\"./generated/index.js\");\nfunction buildUndefinedNode() {\n return (0, _index.unaryExpression)(\"void\", (0, _index.numericLiteral)(0), true);\n}\n\n//# sourceMappingURL=productions.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cloneNode;\nvar _index = require(\"../definitions/index.js\");\nvar _index2 = require(\"../validators/generated/index.js\");\nconst {\n hasOwn\n} = {\n hasOwn: Function.call.bind(Object.prototype.hasOwnProperty)\n};\nfunction cloneIfNode(obj, deep, withoutLoc, commentsCache) {\n if (obj && typeof obj.type === \"string\") {\n return cloneNodeInternal(obj, deep, withoutLoc, commentsCache);\n }\n return obj;\n}\nfunction cloneIfNodeOrArray(obj, deep, withoutLoc, commentsCache) {\n if (Array.isArray(obj)) {\n return obj.map(node => cloneIfNode(node, deep, withoutLoc, commentsCache));\n }\n return cloneIfNode(obj, deep, withoutLoc, commentsCache);\n}\nfunction cloneNode(node, deep = true, withoutLoc = false) {\n return cloneNodeInternal(node, deep, withoutLoc, new Map());\n}\nfunction cloneNodeInternal(node, deep = true, withoutLoc = false, commentsCache) {\n if (!node) return node;\n const {\n type\n } = node;\n const newNode = {\n type: node.type\n };\n if ((0, _index2.isIdentifier)(node)) {\n newNode.name = node.name;\n if (hasOwn(node, \"optional\") && typeof node.optional === \"boolean\") {\n newNode.optional = node.optional;\n }\n if (hasOwn(node, \"typeAnnotation\")) {\n newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true, withoutLoc, commentsCache) : node.typeAnnotation;\n }\n if (hasOwn(node, \"decorators\")) {\n newNode.decorators = deep ? cloneIfNodeOrArray(node.decorators, true, withoutLoc, commentsCache) : node.decorators;\n }\n } else if (!hasOwn(_index.NODE_FIELDS, type)) {\n throw new Error(`Unknown node type: \"${type}\"`);\n } else {\n for (const field of Object.keys(_index.NODE_FIELDS[type])) {\n if (hasOwn(node, field)) {\n if (deep) {\n newNode[field] = (0, _index2.isFile)(node) && field === \"comments\" ? maybeCloneComments(node.comments, deep, withoutLoc, commentsCache) : cloneIfNodeOrArray(node[field], true, withoutLoc, commentsCache);\n } else {\n newNode[field] = node[field];\n }\n }\n }\n }\n if (hasOwn(node, \"loc\")) {\n if (withoutLoc) {\n newNode.loc = null;\n } else {\n newNode.loc = node.loc;\n }\n }\n if (hasOwn(node, \"leadingComments\")) {\n newNode.leadingComments = maybeCloneComments(node.leadingComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"innerComments\")) {\n newNode.innerComments = maybeCloneComments(node.innerComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"trailingComments\")) {\n newNode.trailingComments = maybeCloneComments(node.trailingComments, deep, withoutLoc, commentsCache);\n }\n if (hasOwn(node, \"extra\")) {\n newNode.extra = Object.assign({}, node.extra);\n }\n return newNode;\n}\nfunction maybeCloneComments(comments, deep, withoutLoc, commentsCache) {\n if (!comments || !deep) {\n return comments;\n }\n return comments.map(comment => {\n const cache = commentsCache.get(comment);\n if (cache) return cache;\n const {\n type,\n value,\n loc\n } = comment;\n const ret = {\n type,\n value,\n loc\n };\n if (withoutLoc) {\n ret.loc = null;\n }\n commentsCache.set(comment, ret);\n return ret;\n });\n}\n\n//# sourceMappingURL=cloneNode.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = clone;\nvar _cloneNode = require(\"./cloneNode.js\");\nfunction clone(node) {\n return (0, _cloneNode.default)(node, false);\n}\n\n//# sourceMappingURL=clone.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cloneDeep;\nvar _cloneNode = require(\"./cloneNode.js\");\nfunction cloneDeep(node) {\n return (0, _cloneNode.default)(node);\n}\n\n//# sourceMappingURL=cloneDeep.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cloneDeepWithoutLoc;\nvar _cloneNode = require(\"./cloneNode.js\");\nfunction cloneDeepWithoutLoc(node) {\n return (0, _cloneNode.default)(node, true, true);\n}\n\n//# sourceMappingURL=cloneDeepWithoutLoc.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cloneWithoutLoc;\nvar _cloneNode = require(\"./cloneNode.js\");\nfunction cloneWithoutLoc(node) {\n return (0, _cloneNode.default)(node, false, true);\n}\n\n//# sourceMappingURL=cloneWithoutLoc.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addComments;\nfunction addComments(node, type, comments) {\n if (!comments || !node) return node;\n const key = `${type}Comments`;\n if (node[key]) {\n if (type === \"leading\") {\n node[key] = comments.concat(node[key]);\n } else {\n node[key].push(...comments);\n }\n } else {\n node[key] = comments;\n }\n return node;\n}\n\n//# sourceMappingURL=addComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addComment;\nvar _addComments = require(\"./addComments.js\");\nfunction addComment(node, type, content, line) {\n return (0, _addComments.default)(node, type, [{\n type: line ? \"CommentLine\" : \"CommentBlock\",\n value: content\n }]);\n}\n\n//# sourceMappingURL=addComment.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inherit;\nfunction inherit(key, child, parent) {\n if (child && parent) {\n child[key] = Array.from(new Set([].concat(child[key], parent[key]).filter(Boolean)));\n }\n}\n\n//# sourceMappingURL=inherit.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inheritInnerComments;\nvar _inherit = require(\"../utils/inherit.js\");\nfunction inheritInnerComments(child, parent) {\n (0, _inherit.default)(\"innerComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritInnerComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inheritLeadingComments;\nvar _inherit = require(\"../utils/inherit.js\");\nfunction inheritLeadingComments(child, parent) {\n (0, _inherit.default)(\"leadingComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritLeadingComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inheritTrailingComments;\nvar _inherit = require(\"../utils/inherit.js\");\nfunction inheritTrailingComments(child, parent) {\n (0, _inherit.default)(\"trailingComments\", child, parent);\n}\n\n//# sourceMappingURL=inheritTrailingComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inheritsComments;\nvar _inheritTrailingComments = require(\"./inheritTrailingComments.js\");\nvar _inheritLeadingComments = require(\"./inheritLeadingComments.js\");\nvar _inheritInnerComments = require(\"./inheritInnerComments.js\");\nfunction inheritsComments(child, parent) {\n (0, _inheritTrailingComments.default)(child, parent);\n (0, _inheritLeadingComments.default)(child, parent);\n (0, _inheritInnerComments.default)(child, parent);\n return child;\n}\n\n//# sourceMappingURL=inheritsComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removeComments;\nvar _index = require(\"../constants/index.js\");\nfunction removeComments(node) {\n _index.COMMENT_KEYS.forEach(key => {\n node[key] = null;\n });\n return node;\n}\n\n//# sourceMappingURL=removeComments.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WHILE_TYPES = exports.USERWHITESPACABLE_TYPES = exports.UNARYLIKE_TYPES = exports.TYPESCRIPT_TYPES = exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.TSENTITYNAME_TYPES = exports.TSBASETYPE_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.STANDARDIZED_TYPES = exports.SCOPABLE_TYPES = exports.PUREISH_TYPES = exports.PROPERTY_TYPES = exports.PRIVATE_TYPES = exports.PATTERN_TYPES = exports.PATTERNLIKE_TYPES = exports.OBJECTMEMBER_TYPES = exports.MODULESPECIFIER_TYPES = exports.MODULEDECLARATION_TYPES = exports.MISCELLANEOUS_TYPES = exports.METHOD_TYPES = exports.LVAL_TYPES = exports.LOOP_TYPES = exports.LITERAL_TYPES = exports.JSX_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = exports.IMMUTABLE_TYPES = exports.FUNCTION_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FUNCTIONPARAMETER_TYPES = exports.FOR_TYPES = exports.FORXSTATEMENT_TYPES = exports.FLOW_TYPES = exports.FLOWTYPE_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.EXPRESSION_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.DECLARATION_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.CLASS_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.BINARY_TYPES = exports.ACCESSOR_TYPES = void 0;\nvar _index = require(\"../../definitions/index.js\");\nconst STANDARDIZED_TYPES = exports.STANDARDIZED_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Standardized\"];\nconst EXPRESSION_TYPES = exports.EXPRESSION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Expression\"];\nconst BINARY_TYPES = exports.BINARY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Binary\"];\nconst SCOPABLE_TYPES = exports.SCOPABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Scopable\"];\nconst BLOCKPARENT_TYPES = exports.BLOCKPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"BlockParent\"];\nconst BLOCK_TYPES = exports.BLOCK_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Block\"];\nconst STATEMENT_TYPES = exports.STATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Statement\"];\nconst TERMINATORLESS_TYPES = exports.TERMINATORLESS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Terminatorless\"];\nconst COMPLETIONSTATEMENT_TYPES = exports.COMPLETIONSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"CompletionStatement\"];\nconst CONDITIONAL_TYPES = exports.CONDITIONAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Conditional\"];\nconst LOOP_TYPES = exports.LOOP_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Loop\"];\nconst WHILE_TYPES = exports.WHILE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"While\"];\nconst EXPRESSIONWRAPPER_TYPES = exports.EXPRESSIONWRAPPER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ExpressionWrapper\"];\nconst FOR_TYPES = exports.FOR_TYPES = _index.FLIPPED_ALIAS_KEYS[\"For\"];\nconst FORXSTATEMENT_TYPES = exports.FORXSTATEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ForXStatement\"];\nconst FUNCTION_TYPES = exports.FUNCTION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Function\"];\nconst FUNCTIONPARENT_TYPES = exports.FUNCTIONPARENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FunctionParent\"];\nconst PUREISH_TYPES = exports.PUREISH_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Pureish\"];\nconst DECLARATION_TYPES = exports.DECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Declaration\"];\nconst FUNCTIONPARAMETER_TYPES = exports.FUNCTIONPARAMETER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FunctionParameter\"];\nconst PATTERNLIKE_TYPES = exports.PATTERNLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"PatternLike\"];\nconst LVAL_TYPES = exports.LVAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"LVal\"];\nconst TSENTITYNAME_TYPES = exports.TSENTITYNAME_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSEntityName\"];\nconst LITERAL_TYPES = exports.LITERAL_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Literal\"];\nconst IMMUTABLE_TYPES = exports.IMMUTABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Immutable\"];\nconst USERWHITESPACABLE_TYPES = exports.USERWHITESPACABLE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"UserWhitespacable\"];\nconst METHOD_TYPES = exports.METHOD_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Method\"];\nconst OBJECTMEMBER_TYPES = exports.OBJECTMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ObjectMember\"];\nconst PROPERTY_TYPES = exports.PROPERTY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Property\"];\nconst UNARYLIKE_TYPES = exports.UNARYLIKE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"UnaryLike\"];\nconst PATTERN_TYPES = exports.PATTERN_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Pattern\"];\nconst CLASS_TYPES = exports.CLASS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Class\"];\nconst IMPORTOREXPORTDECLARATION_TYPES = exports.IMPORTOREXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ImportOrExportDeclaration\"];\nconst EXPORTDECLARATION_TYPES = exports.EXPORTDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ExportDeclaration\"];\nconst MODULESPECIFIER_TYPES = exports.MODULESPECIFIER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"ModuleSpecifier\"];\nconst ACCESSOR_TYPES = exports.ACCESSOR_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Accessor\"];\nconst PRIVATE_TYPES = exports.PRIVATE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Private\"];\nconst FLOW_TYPES = exports.FLOW_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Flow\"];\nconst FLOWTYPE_TYPES = exports.FLOWTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowType\"];\nconst FLOWBASEANNOTATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowBaseAnnotation\"];\nconst FLOWDECLARATION_TYPES = exports.FLOWDECLARATION_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowDeclaration\"];\nconst FLOWPREDICATE_TYPES = exports.FLOWPREDICATE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"FlowPredicate\"];\nconst ENUMBODY_TYPES = exports.ENUMBODY_TYPES = _index.FLIPPED_ALIAS_KEYS[\"EnumBody\"];\nconst ENUMMEMBER_TYPES = exports.ENUMMEMBER_TYPES = _index.FLIPPED_ALIAS_KEYS[\"EnumMember\"];\nconst JSX_TYPES = exports.JSX_TYPES = _index.FLIPPED_ALIAS_KEYS[\"JSX\"];\nconst MISCELLANEOUS_TYPES = exports.MISCELLANEOUS_TYPES = _index.FLIPPED_ALIAS_KEYS[\"Miscellaneous\"];\nconst TYPESCRIPT_TYPES = exports.TYPESCRIPT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TypeScript\"];\nconst TSTYPEELEMENT_TYPES = exports.TSTYPEELEMENT_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSTypeElement\"];\nconst TSTYPE_TYPES = exports.TSTYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSType\"];\nconst TSBASETYPE_TYPES = exports.TSBASETYPE_TYPES = _index.FLIPPED_ALIAS_KEYS[\"TSBaseType\"];\nconst MODULEDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = IMPORTOREXPORTDECLARATION_TYPES;\n\n//# sourceMappingURL=index.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toBlock;\nvar _index = require(\"../validators/generated/index.js\");\nvar _index2 = require(\"../builders/generated/index.js\");\nfunction toBlock(node, parent) {\n if ((0, _index.isBlockStatement)(node)) {\n return node;\n }\n let blockNodes = [];\n if ((0, _index.isEmptyStatement)(node)) {\n blockNodes = [];\n } else {\n if (!(0, _index.isStatement)(node)) {\n if ((0, _index.isFunction)(parent)) {\n node = (0, _index2.returnStatement)(node);\n } else {\n node = (0, _index2.expressionStatement)(node);\n }\n }\n blockNodes = [node];\n }\n return (0, _index2.blockStatement)(blockNodes);\n}\n\n//# sourceMappingURL=toBlock.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ensureBlock;\nvar _toBlock = require(\"./toBlock.js\");\nfunction ensureBlock(node, key = \"body\") {\n const result = (0, _toBlock.default)(node[key], node);\n node[key] = result;\n return result;\n}\n\n//# sourceMappingURL=ensureBlock.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toIdentifier;\nvar _isValidIdentifier = require(\"../validators/isValidIdentifier.js\");\nvar _helperValidatorIdentifier = require(\"@babel/helper-validator-identifier\");\nfunction toIdentifier(input) {\n input = input + \"\";\n let name = \"\";\n for (const c of input) {\n name += (0, _helperValidatorIdentifier.isIdentifierChar)(c.codePointAt(0)) ? c : \"-\";\n }\n name = name.replace(/^[-0-9]+/, \"\");\n name = name.replace(/[-\\s]+(.)?/g, function (match, c) {\n return c ? c.toUpperCase() : \"\";\n });\n if (!(0, _isValidIdentifier.default)(name)) {\n name = `_${name}`;\n }\n return name || \"_\";\n}\n\n//# sourceMappingURL=toIdentifier.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toBindingIdentifierName;\nvar _toIdentifier = require(\"./toIdentifier.js\");\nfunction toBindingIdentifierName(name) {\n name = (0, _toIdentifier.default)(name);\n if (name === \"eval\" || name === \"arguments\") name = \"_\" + name;\n return name;\n}\n\n//# sourceMappingURL=toBindingIdentifierName.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toComputedKey;\nvar _index = require(\"../validators/generated/index.js\");\nvar _index2 = require(\"../builders/generated/index.js\");\nfunction toComputedKey(node, key = node.key || node.property) {\n if (!node.computed && (0, _index.isIdentifier)(key)) key = (0, _index2.stringLiteral)(key.name);\n return key;\n}\n\n//# sourceMappingURL=toComputedKey.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = require(\"../validators/generated/index.js\");\nvar _default = exports.default = toExpression;\nfunction toExpression(node) {\n if ((0, _index.isExpressionStatement)(node)) {\n node = node.expression;\n }\n if ((0, _index.isExpression)(node)) {\n return node;\n }\n if ((0, _index.isClass)(node)) {\n node.type = \"ClassExpression\";\n node.abstract = false;\n } else if ((0, _index.isFunction)(node)) {\n node.type = \"FunctionExpression\";\n }\n if (!(0, _index.isExpression)(node)) {\n throw new Error(`cannot turn ${node.type} to an expression`);\n }\n return node;\n}\n\n//# sourceMappingURL=toExpression.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = traverseFast;\nvar _index = require(\"../definitions/index.js\");\nconst _skip = Symbol();\nconst _stop = Symbol();\nfunction traverseFast(node, enter, opts) {\n if (!node) return false;\n const keys = _index.VISITOR_KEYS[node.type];\n if (!keys) return false;\n opts = opts || {};\n const ret = enter(node, opts);\n if (ret !== undefined) {\n switch (ret) {\n case _skip:\n return false;\n case _stop:\n return true;\n }\n }\n for (const key of keys) {\n const subNode = node[key];\n if (!subNode) continue;\n if (Array.isArray(subNode)) {\n for (const node of subNode) {\n if (traverseFast(node, enter, opts)) return true;\n }\n } else {\n if (traverseFast(subNode, enter, opts)) return true;\n }\n }\n return false;\n}\ntraverseFast.skip = _skip;\ntraverseFast.stop = _stop;\n\n//# sourceMappingURL=traverseFast.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removeProperties;\nvar _index = require(\"../constants/index.js\");\nconst CLEAR_KEYS = [\"tokens\", \"start\", \"end\", \"loc\", \"raw\", \"rawValue\"];\nconst CLEAR_KEYS_PLUS_COMMENTS = [..._index.COMMENT_KEYS, \"comments\", ...CLEAR_KEYS];\nfunction removeProperties(node, opts = {}) {\n const map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS;\n for (const key of map) {\n if (node[key] != null) node[key] = undefined;\n }\n for (const key of Object.keys(node)) {\n if (key[0] === \"_\" && node[key] != null) node[key] = undefined;\n }\n const symbols = Object.getOwnPropertySymbols(node);\n for (const sym of symbols) {\n node[sym] = null;\n }\n}\n\n//# sourceMappingURL=removeProperties.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = removePropertiesDeep;\nvar _traverseFast = require(\"../traverse/traverseFast.js\");\nvar _removeProperties = require(\"./removeProperties.js\");\nfunction removePropertiesDeep(tree, opts) {\n (0, _traverseFast.default)(tree, _removeProperties.default, opts);\n return tree;\n}\n\n//# sourceMappingURL=removePropertiesDeep.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toKeyAlias;\nvar _index = require(\"../validators/generated/index.js\");\nvar _cloneNode = require(\"../clone/cloneNode.js\");\nvar _removePropertiesDeep = require(\"../modifications/removePropertiesDeep.js\");\nfunction toKeyAlias(node, key = node.key) {\n let alias;\n if (node.kind === \"method\") {\n return toKeyAlias.increment() + \"\";\n } else if ((0, _index.isIdentifier)(key)) {\n alias = key.name;\n } else if ((0, _index.isStringLiteral)(key)) {\n alias = JSON.stringify(key.value);\n } else {\n alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key)));\n }\n if (node.computed) {\n alias = `[${alias}]`;\n }\n if (node.static) {\n alias = `static:${alias}`;\n }\n return alias;\n}\ntoKeyAlias.uid = 0;\ntoKeyAlias.increment = function () {\n if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {\n return toKeyAlias.uid = 0;\n } else {\n return toKeyAlias.uid++;\n }\n};\n\n//# sourceMappingURL=toKeyAlias.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _index = require(\"../validators/generated/index.js\");\nvar _index2 = require(\"../builders/generated/index.js\");\nvar _default = exports.default = toStatement;\nfunction toStatement(node, ignore) {\n if ((0, _index.isStatement)(node)) {\n return node;\n }\n let mustHaveId = false;\n let newType;\n if ((0, _index.isClass)(node)) {\n mustHaveId = true;\n newType = \"ClassDeclaration\";\n } else if ((0, _index.isFunction)(node)) {\n mustHaveId = true;\n newType = \"FunctionDeclaration\";\n } else if ((0, _index.isAssignmentExpression)(node)) {\n return (0, _index2.expressionStatement)(node);\n }\n if (mustHaveId && !node.id) {\n newType = false;\n }\n if (!newType) {\n if (ignore) {\n return false;\n } else {\n throw new Error(`cannot turn ${node.type} to a statement`);\n }\n }\n node.type = newType;\n return node;\n}\n\n//# sourceMappingURL=toStatement.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _isValidIdentifier = require(\"../validators/isValidIdentifier.js\");\nvar _index = require(\"../builders/generated/index.js\");\nvar _default = exports.default = valueToNode;\nconst objectToString = Function.call.bind(Object.prototype.toString);\nfunction isRegExp(value) {\n return objectToString(value) === \"[object RegExp]\";\n}\nfunction isPlainObject(value) {\n if (typeof value !== \"object\" || value === null || Object.prototype.toString.call(value) !== \"[object Object]\") {\n return false;\n }\n const proto = Object.getPrototypeOf(value);\n return proto === null || Object.getPrototypeOf(proto) === null;\n}\nfunction valueToNode(value) {\n if (value === undefined) {\n return (0, _index.identifier)(\"undefined\");\n }\n if (value === true || value === false) {\n return (0, _index.booleanLiteral)(value);\n }\n if (value === null) {\n return (0, _index.nullLiteral)();\n }\n if (typeof value === \"string\") {\n return (0, _index.stringLiteral)(value);\n }\n if (typeof value === \"number\") {\n let result;\n if (Number.isFinite(value)) {\n result = (0, _index.numericLiteral)(Math.abs(value));\n } else {\n let numerator;\n if (Number.isNaN(value)) {\n numerator = (0, _index.numericLiteral)(0);\n } else {\n numerator = (0, _index.numericLiteral)(1);\n }\n result = (0, _index.binaryExpression)(\"/\", numerator, (0, _index.numericLiteral)(0));\n }\n if (value < 0 || Object.is(value, -0)) {\n result = (0, _index.unaryExpression)(\"-\", result);\n }\n return result;\n }\n if (typeof value === \"bigint\") {\n if (value < 0) {\n return (0, _index.unaryExpression)(\"-\", (0, _index.bigIntLiteral)(-value));\n } else {\n return (0, _index.bigIntLiteral)(value);\n }\n }\n if (isRegExp(value)) {\n const pattern = value.source;\n const flags = /\\/([a-z]*)$/.exec(value.toString())[1];\n return (0, _index.regExpLiteral)(pattern, flags);\n }\n if (Array.isArray(value)) {\n return (0, _index.arrayExpression)(value.map(valueToNode));\n }\n if (isPlainObject(value)) {\n const props = [];\n for (const key of Object.keys(value)) {\n let nodeKey,\n computed = false;\n if ((0, _isValidIdentifier.default)(key)) {\n if (key === \"__proto__\") {\n computed = true;\n nodeKey = (0, _index.stringLiteral)(key);\n } else {\n nodeKey = (0, _index.identifier)(key);\n }\n } else {\n nodeKey = (0, _index.stringLiteral)(key);\n }\n props.push((0, _index.objectProperty)(nodeKey, valueToNode(value[key]), computed));\n }\n return (0, _index.objectExpression)(props);\n }\n throw new Error(\"don't know how to turn this value into a node\");\n}\n\n//# sourceMappingURL=valueToNode.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = appendToMemberExpression;\nvar _index = require(\"../builders/generated/index.js\");\nfunction appendToMemberExpression(member, append, computed = false) {\n member.object = (0, _index.memberExpression)(member.object, member.property, member.computed);\n member.property = append;\n member.computed = !!computed;\n return member;\n}\n\n//# sourceMappingURL=appendToMemberExpression.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = inherits;\nvar _index = require(\"../constants/index.js\");\nvar _inheritsComments = require(\"../comments/inheritsComments.js\");\nfunction inherits(child, parent) {\n if (!child || !parent) return child;\n for (const key of _index.INHERIT_KEYS.optional) {\n if (child[key] == null) {\n child[key] = parent[key];\n }\n }\n for (const key of Object.keys(parent)) {\n if (key[0] === \"_\" && key !== \"__clone\") {\n child[key] = parent[key];\n }\n }\n for (const key of _index.INHERIT_KEYS.force) {\n child[key] = parent[key];\n }\n (0, _inheritsComments.default)(child, parent);\n return child;\n}\n\n//# sourceMappingURL=inherits.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prependToMemberExpression;\nvar _index = require(\"../builders/generated/index.js\");\nvar _index2 = require(\"../index.js\");\nfunction prependToMemberExpression(member, prepend) {\n if ((0, _index2.isSuper)(member.object)) {\n throw new Error(\"Cannot prepend node to super property access (`super.foo`).\");\n }\n member.object = (0, _index.memberExpression)(prepend, member.object);\n return member;\n}\n\n//# sourceMappingURL=prependToMemberExpression.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getAssignmentIdentifiers;\nfunction getAssignmentIdentifiers(node) {\n const search = [].concat(node);\n const ids = Object.create(null);\n while (search.length) {\n const id = search.pop();\n if (!id) continue;\n switch (id.type) {\n case \"ArrayPattern\":\n search.push(...id.elements);\n break;\n case \"AssignmentExpression\":\n case \"AssignmentPattern\":\n case \"ForInStatement\":\n case \"ForOfStatement\":\n search.push(id.left);\n break;\n case \"ObjectPattern\":\n search.push(...id.properties);\n break;\n case \"ObjectProperty\":\n search.push(id.value);\n break;\n case \"RestElement\":\n case \"UpdateExpression\":\n search.push(id.argument);\n break;\n case \"UnaryExpression\":\n if (id.operator === \"delete\") {\n search.push(id.argument);\n }\n break;\n case \"Identifier\":\n ids[id.name] = id;\n break;\n default:\n break;\n }\n }\n return ids;\n}\n\n//# sourceMappingURL=getAssignmentIdentifiers.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBindingIdentifiers;\nvar _index = require(\"../validators/generated/index.js\");\nfunction getBindingIdentifiers(node, duplicates, outerOnly, newBindingsOnly) {\n const search = [].concat(node);\n const ids = Object.create(null);\n while (search.length) {\n const id = search.shift();\n if (!id) continue;\n if (newBindingsOnly && ((0, _index.isAssignmentExpression)(id) || (0, _index.isUnaryExpression)(id) || (0, _index.isUpdateExpression)(id))) {\n continue;\n }\n if ((0, _index.isIdentifier)(id)) {\n if (duplicates) {\n const _ids = ids[id.name] = ids[id.name] || [];\n _ids.push(id);\n } else {\n ids[id.name] = id;\n }\n continue;\n }\n if ((0, _index.isExportDeclaration)(id) && !(0, _index.isExportAllDeclaration)(id)) {\n if ((0, _index.isDeclaration)(id.declaration)) {\n search.push(id.declaration);\n }\n continue;\n }\n if (outerOnly) {\n if ((0, _index.isFunctionDeclaration)(id)) {\n search.push(id.id);\n continue;\n }\n if ((0, _index.isFunctionExpression)(id)) {\n continue;\n }\n }\n const keys = getBindingIdentifiers.keys[id.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const nodes = id[key];\n if (nodes) {\n if (Array.isArray(nodes)) {\n search.push(...nodes);\n } else {\n search.push(nodes);\n }\n }\n }\n }\n }\n return ids;\n}\nconst keys = {\n DeclareClass: [\"id\"],\n DeclareFunction: [\"id\"],\n DeclareModule: [\"id\"],\n DeclareVariable: [\"id\"],\n DeclareInterface: [\"id\"],\n DeclareTypeAlias: [\"id\"],\n DeclareOpaqueType: [\"id\"],\n InterfaceDeclaration: [\"id\"],\n TypeAlias: [\"id\"],\n OpaqueType: [\"id\"],\n CatchClause: [\"param\"],\n LabeledStatement: [\"label\"],\n UnaryExpression: [\"argument\"],\n AssignmentExpression: [\"left\"],\n ImportSpecifier: [\"local\"],\n ImportNamespaceSpecifier: [\"local\"],\n ImportDefaultSpecifier: [\"local\"],\n ImportDeclaration: [\"specifiers\"],\n TSImportEqualsDeclaration: [\"id\"],\n ExportSpecifier: [\"exported\"],\n ExportNamespaceSpecifier: [\"exported\"],\n ExportDefaultSpecifier: [\"exported\"],\n FunctionDeclaration: [\"id\", \"params\"],\n FunctionExpression: [\"id\", \"params\"],\n ArrowFunctionExpression: [\"params\"],\n ObjectMethod: [\"params\"],\n ClassMethod: [\"params\"],\n ClassPrivateMethod: [\"params\"],\n ForInStatement: [\"left\"],\n ForOfStatement: [\"left\"],\n ClassDeclaration: [\"id\"],\n ClassExpression: [\"id\"],\n RestElement: [\"argument\"],\n UpdateExpression: [\"argument\"],\n ObjectProperty: [\"value\"],\n AssignmentPattern: [\"left\"],\n ArrayPattern: [\"elements\"],\n ObjectPattern: [\"properties\"],\n VariableDeclaration: [\"declarations\"],\n VariableDeclarator: [\"id\"]\n};\ngetBindingIdentifiers.keys = keys;\n\n//# sourceMappingURL=getBindingIdentifiers.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _getBindingIdentifiers = require(\"./getBindingIdentifiers.js\");\nvar _default = exports.default = getOuterBindingIdentifiers;\nfunction getOuterBindingIdentifiers(node, duplicates) {\n return (0, _getBindingIdentifiers.default)(node, duplicates, true);\n}\n\n//# sourceMappingURL=getOuterBindingIdentifiers.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getFunctionName;\nvar _index = require(\"../validators/generated/index.js\");\nfunction getNameFromLiteralId(id) {\n if ((0, _index.isNullLiteral)(id)) {\n return \"null\";\n }\n if ((0, _index.isRegExpLiteral)(id)) {\n return `/${id.pattern}/${id.flags}`;\n }\n if ((0, _index.isTemplateLiteral)(id)) {\n return id.quasis.map(quasi => quasi.value.raw).join(\"\");\n }\n if (id.value !== undefined) {\n return String(id.value);\n }\n return null;\n}\nfunction getObjectMemberKey(node) {\n if (!node.computed || (0, _index.isLiteral)(node.key)) {\n return node.key;\n }\n}\nfunction getFunctionName(node, parent) {\n if (\"id\" in node && node.id) {\n return {\n name: node.id.name,\n originalNode: node.id\n };\n }\n let prefix = \"\";\n let id;\n if ((0, _index.isObjectProperty)(parent, {\n value: node\n })) {\n id = getObjectMemberKey(parent);\n } else if ((0, _index.isObjectMethod)(node) || (0, _index.isClassMethod)(node)) {\n id = getObjectMemberKey(node);\n if (node.kind === \"get\") prefix = \"get \";else if (node.kind === \"set\") prefix = \"set \";\n } else if ((0, _index.isVariableDeclarator)(parent, {\n init: node\n })) {\n id = parent.id;\n } else if ((0, _index.isAssignmentExpression)(parent, {\n operator: \"=\",\n right: node\n })) {\n id = parent.left;\n }\n if (!id) return null;\n const name = (0, _index.isLiteral)(id) ? getNameFromLiteralId(id) : (0, _index.isIdentifier)(id) ? id.name : (0, _index.isPrivateName)(id) ? id.id.name : null;\n if (name == null) return null;\n return {\n name: prefix + name,\n originalNode: id\n };\n}\n\n//# sourceMappingURL=getFunctionName.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = traverse;\nvar _index = require(\"../definitions/index.js\");\nfunction traverse(node, handlers, state) {\n if (typeof handlers === \"function\") {\n handlers = {\n enter: handlers\n };\n }\n const {\n enter,\n exit\n } = handlers;\n traverseSimpleImpl(node, enter, exit, state, []);\n}\nfunction traverseSimpleImpl(node, enter, exit, state, ancestors) {\n const keys = _index.VISITOR_KEYS[node.type];\n if (!keys) return;\n if (enter) enter(node, ancestors, state);\n for (const key of keys) {\n const subNode = node[key];\n if (Array.isArray(subNode)) {\n for (let i = 0; i < subNode.length; i++) {\n const child = subNode[i];\n if (!child) continue;\n ancestors.push({\n node,\n key,\n index: i\n });\n traverseSimpleImpl(child, enter, exit, state, ancestors);\n ancestors.pop();\n }\n } else if (subNode) {\n ancestors.push({\n node,\n key\n });\n traverseSimpleImpl(subNode, enter, exit, state, ancestors);\n ancestors.pop();\n }\n }\n if (exit) exit(node, ancestors, state);\n}\n\n//# sourceMappingURL=traverse.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isBinding;\nvar _getBindingIdentifiers = require(\"../retrievers/getBindingIdentifiers.js\");\nfunction isBinding(node, parent, grandparent) {\n if (grandparent && node.type === \"Identifier\" && parent.type === \"ObjectProperty\" && grandparent.type === \"ObjectExpression\") {\n return false;\n }\n const keys = _getBindingIdentifiers.default.keys[parent.type];\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const val = parent[key];\n if (Array.isArray(val)) {\n if (val.includes(node)) return true;\n } else {\n if (val === node) return true;\n }\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isBinding.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isLet;\nvar _index = require(\"./generated/index.js\");\n{\n var BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n}\nfunction isLet(node) {\n {\n return (0, _index.isVariableDeclaration)(node) && (node.kind !== \"var\" || node[BLOCK_SCOPED_SYMBOL]);\n }\n}\n\n//# sourceMappingURL=isLet.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isBlockScoped;\nvar _index = require(\"./generated/index.js\");\nvar _isLet = require(\"./isLet.js\");\nfunction isBlockScoped(node) {\n return (0, _index.isFunctionDeclaration)(node) || (0, _index.isClassDeclaration)(node) || (0, _isLet.default)(node);\n}\n\n//# sourceMappingURL=isBlockScoped.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isImmutable;\nvar _isType = require(\"./isType.js\");\nvar _index = require(\"./generated/index.js\");\nfunction isImmutable(node) {\n if ((0, _isType.default)(node.type, \"Immutable\")) return true;\n if ((0, _index.isIdentifier)(node)) {\n if (node.name === \"undefined\") {\n return true;\n } else {\n return false;\n }\n }\n return false;\n}\n\n//# sourceMappingURL=isImmutable.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isNodesEquivalent;\nvar _index = require(\"../definitions/index.js\");\nfunction isNodesEquivalent(a, b) {\n if (typeof a !== \"object\" || typeof b !== \"object\" || a == null || b == null) {\n return a === b;\n }\n if (a.type !== b.type) {\n return false;\n }\n const fields = Object.keys(_index.NODE_FIELDS[a.type] || a.type);\n const visitorKeys = _index.VISITOR_KEYS[a.type];\n for (const field of fields) {\n const val_a = a[field];\n const val_b = b[field];\n if (typeof val_a !== typeof val_b) {\n return false;\n }\n if (val_a == null && val_b == null) {\n continue;\n } else if (val_a == null || val_b == null) {\n return false;\n }\n if (Array.isArray(val_a)) {\n if (!Array.isArray(val_b)) {\n return false;\n }\n if (val_a.length !== val_b.length) {\n return false;\n }\n for (let i = 0; i < val_a.length; i++) {\n if (!isNodesEquivalent(val_a[i], val_b[i])) {\n return false;\n }\n }\n continue;\n }\n if (typeof val_a === \"object\" && !(visitorKeys != null && visitorKeys.includes(field))) {\n for (const key of Object.keys(val_a)) {\n if (val_a[key] !== val_b[key]) {\n return false;\n }\n }\n continue;\n }\n if (!isNodesEquivalent(val_a, val_b)) {\n return false;\n }\n }\n return true;\n}\n\n//# sourceMappingURL=isNodesEquivalent.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isReferenced;\nfunction isReferenced(node, parent, grandparent) {\n switch (parent.type) {\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n if (parent.property === node) {\n return !!parent.computed;\n }\n return parent.object === node;\n case \"JSXMemberExpression\":\n return parent.object === node;\n case \"VariableDeclarator\":\n return parent.init === node;\n case \"ArrowFunctionExpression\":\n return parent.body === node;\n case \"PrivateName\":\n return false;\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"ObjectMethod\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return false;\n case \"ObjectProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return !grandparent || grandparent.type !== \"ObjectPattern\";\n case \"ClassProperty\":\n case \"ClassAccessorProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n case \"ClassPrivateProperty\":\n return parent.key !== node;\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n return parent.superClass === node;\n case \"AssignmentExpression\":\n return parent.right === node;\n case \"AssignmentPattern\":\n return parent.right === node;\n case \"LabeledStatement\":\n return false;\n case \"CatchClause\":\n return false;\n case \"RestElement\":\n return false;\n case \"BreakStatement\":\n case \"ContinueStatement\":\n return false;\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n return false;\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return false;\n case \"ExportSpecifier\":\n if (grandparent != null && grandparent.source) {\n return false;\n }\n return parent.local === node;\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n return false;\n case \"ImportAttribute\":\n return false;\n case \"JSXAttribute\":\n return false;\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n return false;\n case \"MetaProperty\":\n return false;\n case \"ObjectTypeProperty\":\n return parent.key !== node;\n case \"TSEnumMember\":\n return parent.id !== node;\n case \"TSPropertySignature\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n }\n return true;\n}\n\n//# sourceMappingURL=isReferenced.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isScope;\nvar _index = require(\"./generated/index.js\");\nfunction isScope(node, parent) {\n if ((0, _index.isBlockStatement)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) {\n return false;\n }\n if ((0, _index.isPattern)(node) && ((0, _index.isFunction)(parent) || (0, _index.isCatchClause)(parent))) {\n return true;\n }\n return (0, _index.isScopable)(node);\n}\n\n//# sourceMappingURL=isScope.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isSpecifierDefault;\nvar _index = require(\"./generated/index.js\");\nfunction isSpecifierDefault(specifier) {\n return (0, _index.isImportDefaultSpecifier)(specifier) || (0, _index.isIdentifier)(specifier.imported || specifier.exported, {\n name: \"default\"\n });\n}\n\n//# sourceMappingURL=isSpecifierDefault.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidES3Identifier;\nvar _isValidIdentifier = require(\"./isValidIdentifier.js\");\nconst RESERVED_WORDS_ES3_ONLY = new Set([\"abstract\", \"boolean\", \"byte\", \"char\", \"double\", \"enum\", \"final\", \"float\", \"goto\", \"implements\", \"int\", \"interface\", \"long\", \"native\", \"package\", \"private\", \"protected\", \"public\", \"short\", \"static\", \"synchronized\", \"throws\", \"transient\", \"volatile\"]);\nfunction isValidES3Identifier(name) {\n return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name);\n}\n\n//# sourceMappingURL=isValidES3Identifier.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isVar;\nvar _index = require(\"./generated/index.js\");\n{\n var BLOCK_SCOPED_SYMBOL = Symbol.for(\"var used to be block scoped\");\n}\nfunction isVar(node) {\n {\n return (0, _index.isVariableDeclaration)(node, {\n kind: \"var\"\n }) && !node[BLOCK_SCOPED_SYMBOL];\n }\n}\n\n//# sourceMappingURL=isVar.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gatherSequenceExpressions;\nvar _getBindingIdentifiers = require(\"../retrievers/getBindingIdentifiers.js\");\nvar _index = require(\"../validators/generated/index.js\");\nvar _index2 = require(\"../builders/generated/index.js\");\nvar _productions = require(\"../builders/productions.js\");\nvar _cloneNode = require(\"../clone/cloneNode.js\");\n;\nfunction gatherSequenceExpressions(nodes, declars) {\n const exprs = [];\n let ensureLastUndefined = true;\n for (const node of nodes) {\n if (!(0, _index.isEmptyStatement)(node)) {\n ensureLastUndefined = false;\n }\n if ((0, _index.isExpression)(node)) {\n exprs.push(node);\n } else if ((0, _index.isExpressionStatement)(node)) {\n exprs.push(node.expression);\n } else if ((0, _index.isVariableDeclaration)(node)) {\n if (node.kind !== \"var\") return;\n for (const declar of node.declarations) {\n const bindings = (0, _getBindingIdentifiers.default)(declar);\n for (const key of Object.keys(bindings)) {\n declars.push({\n kind: node.kind,\n id: (0, _cloneNode.default)(bindings[key])\n });\n }\n if (declar.init) {\n exprs.push((0, _index2.assignmentExpression)(\"=\", declar.id, declar.init));\n }\n }\n ensureLastUndefined = true;\n } else if ((0, _index.isIfStatement)(node)) {\n const consequent = node.consequent ? gatherSequenceExpressions([node.consequent], declars) : (0, _productions.buildUndefinedNode)();\n const alternate = node.alternate ? gatherSequenceExpressions([node.alternate], declars) : (0, _productions.buildUndefinedNode)();\n if (!consequent || !alternate) return;\n exprs.push((0, _index2.conditionalExpression)(node.test, consequent, alternate));\n } else if ((0, _index.isBlockStatement)(node)) {\n const body = gatherSequenceExpressions(node.body, declars);\n if (!body) return;\n exprs.push(body);\n } else if ((0, _index.isEmptyStatement)(node)) {\n if (nodes.indexOf(node) === 0) {\n ensureLastUndefined = true;\n }\n } else {\n return;\n }\n }\n if (ensureLastUndefined) {\n exprs.push((0, _productions.buildUndefinedNode)());\n }\n if (exprs.length === 1) {\n return exprs[0];\n } else {\n return (0, _index2.sequenceExpression)(exprs);\n }\n}\n\n//# sourceMappingURL=gatherSequenceExpressions.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = toSequenceExpression;\nvar _gatherSequenceExpressions = require(\"./gatherSequenceExpressions.js\");\n;\nfunction toSequenceExpression(nodes, scope) {\n if (!(nodes != null && nodes.length)) return;\n const declars = [];\n const result = (0, _gatherSequenceExpressions.default)(nodes, declars);\n if (!result) return;\n for (const declar of declars) {\n scope.push(declar);\n }\n return result;\n}\n\n//# sourceMappingURL=toSequenceExpression.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {\n react: true,\n assertNode: true,\n createTypeAnnotationBasedOnTypeof: true,\n createUnionTypeAnnotation: true,\n createFlowUnionType: true,\n createTSUnionType: true,\n cloneNode: true,\n clone: true,\n cloneDeep: true,\n cloneDeepWithoutLoc: true,\n cloneWithoutLoc: true,\n addComment: true,\n addComments: true,\n inheritInnerComments: true,\n inheritLeadingComments: true,\n inheritsComments: true,\n inheritTrailingComments: true,\n removeComments: true,\n ensureBlock: true,\n toBindingIdentifierName: true,\n toBlock: true,\n toComputedKey: true,\n toExpression: true,\n toIdentifier: true,\n toKeyAlias: true,\n toStatement: true,\n valueToNode: true,\n appendToMemberExpression: true,\n inherits: true,\n prependToMemberExpression: true,\n removeProperties: true,\n removePropertiesDeep: true,\n removeTypeDuplicates: true,\n getAssignmentIdentifiers: true,\n getBindingIdentifiers: true,\n getOuterBindingIdentifiers: true,\n getFunctionName: true,\n traverse: true,\n traverseFast: true,\n shallowEqual: true,\n is: true,\n isBinding: true,\n isBlockScoped: true,\n isImmutable: true,\n isLet: true,\n isNode: true,\n isNodesEquivalent: true,\n isPlaceholderType: true,\n isReferenced: true,\n isScope: true,\n isSpecifierDefault: true,\n isType: true,\n isValidES3Identifier: true,\n isValidIdentifier: true,\n isVar: true,\n matchesPattern: true,\n validate: true,\n buildMatchMemberExpression: true,\n __internal__deprecationWarning: true\n};\nObject.defineProperty(exports, \"__internal__deprecationWarning\", {\n enumerable: true,\n get: function () {\n return _deprecationWarning.default;\n }\n});\nObject.defineProperty(exports, \"addComment\", {\n enumerable: true,\n get: function () {\n return _addComment.default;\n }\n});\nObject.defineProperty(exports, \"addComments\", {\n enumerable: true,\n get: function () {\n return _addComments.default;\n }\n});\nObject.defineProperty(exports, \"appendToMemberExpression\", {\n enumerable: true,\n get: function () {\n return _appendToMemberExpression.default;\n }\n});\nObject.defineProperty(exports, \"assertNode\", {\n enumerable: true,\n get: function () {\n return _assertNode.default;\n }\n});\nObject.defineProperty(exports, \"buildMatchMemberExpression\", {\n enumerable: true,\n get: function () {\n return _buildMatchMemberExpression.default;\n }\n});\nObject.defineProperty(exports, \"clone\", {\n enumerable: true,\n get: function () {\n return _clone.default;\n }\n});\nObject.defineProperty(exports, \"cloneDeep\", {\n enumerable: true,\n get: function () {\n return _cloneDeep.default;\n }\n});\nObject.defineProperty(exports, \"cloneDeepWithoutLoc\", {\n enumerable: true,\n get: function () {\n return _cloneDeepWithoutLoc.default;\n }\n});\nObject.defineProperty(exports, \"cloneNode\", {\n enumerable: true,\n get: function () {\n return _cloneNode.default;\n }\n});\nObject.defineProperty(exports, \"cloneWithoutLoc\", {\n enumerable: true,\n get: function () {\n return _cloneWithoutLoc.default;\n }\n});\nObject.defineProperty(exports, \"createFlowUnionType\", {\n enumerable: true,\n get: function () {\n return _createFlowUnionType.default;\n }\n});\nObject.defineProperty(exports, \"createTSUnionType\", {\n enumerable: true,\n get: function () {\n return _createTSUnionType.default;\n }\n});\nObject.defineProperty(exports, \"createTypeAnnotationBasedOnTypeof\", {\n enumerable: true,\n get: function () {\n return _createTypeAnnotationBasedOnTypeof.default;\n }\n});\nObject.defineProperty(exports, \"createUnionTypeAnnotation\", {\n enumerable: true,\n get: function () {\n return _createFlowUnionType.default;\n }\n});\nObject.defineProperty(exports, \"ensureBlock\", {\n enumerable: true,\n get: function () {\n return _ensureBlock.default;\n }\n});\nObject.defineProperty(exports, \"getAssignmentIdentifiers\", {\n enumerable: true,\n get: function () {\n return _getAssignmentIdentifiers.default;\n }\n});\nObject.defineProperty(exports, \"getBindingIdentifiers\", {\n enumerable: true,\n get: function () {\n return _getBindingIdentifiers.default;\n }\n});\nObject.defineProperty(exports, \"getFunctionName\", {\n enumerable: true,\n get: function () {\n return _getFunctionName.default;\n }\n});\nObject.defineProperty(exports, \"getOuterBindingIdentifiers\", {\n enumerable: true,\n get: function () {\n return _getOuterBindingIdentifiers.default;\n }\n});\nObject.defineProperty(exports, \"inheritInnerComments\", {\n enumerable: true,\n get: function () {\n return _inheritInnerComments.default;\n }\n});\nObject.defineProperty(exports, \"inheritLeadingComments\", {\n enumerable: true,\n get: function () {\n return _inheritLeadingComments.default;\n }\n});\nObject.defineProperty(exports, \"inheritTrailingComments\", {\n enumerable: true,\n get: function () {\n return _inheritTrailingComments.default;\n }\n});\nObject.defineProperty(exports, \"inherits\", {\n enumerable: true,\n get: function () {\n return _inherits.default;\n }\n});\nObject.defineProperty(exports, \"inheritsComments\", {\n enumerable: true,\n get: function () {\n return _inheritsComments.default;\n }\n});\nObject.defineProperty(exports, \"is\", {\n enumerable: true,\n get: function () {\n return _is.default;\n }\n});\nObject.defineProperty(exports, \"isBinding\", {\n enumerable: true,\n get: function () {\n return _isBinding.default;\n }\n});\nObject.defineProperty(exports, \"isBlockScoped\", {\n enumerable: true,\n get: function () {\n return _isBlockScoped.default;\n }\n});\nObject.defineProperty(exports, \"isImmutable\", {\n enumerable: true,\n get: function () {\n return _isImmutable.default;\n }\n});\nObject.defineProperty(exports, \"isLet\", {\n enumerable: true,\n get: function () {\n return _isLet.default;\n }\n});\nObject.defineProperty(exports, \"isNode\", {\n enumerable: true,\n get: function () {\n return _isNode.default;\n }\n});\nObject.defineProperty(exports, \"isNodesEquivalent\", {\n enumerable: true,\n get: function () {\n return _isNodesEquivalent.default;\n }\n});\nObject.defineProperty(exports, \"isPlaceholderType\", {\n enumerable: true,\n get: function () {\n return _isPlaceholderType.default;\n }\n});\nObject.defineProperty(exports, \"isReferenced\", {\n enumerable: true,\n get: function () {\n return _isReferenced.default;\n }\n});\nObject.defineProperty(exports, \"isScope\", {\n enumerable: true,\n get: function () {\n return _isScope.default;\n }\n});\nObject.defineProperty(exports, \"isSpecifierDefault\", {\n enumerable: true,\n get: function () {\n return _isSpecifierDefault.default;\n }\n});\nObject.defineProperty(exports, \"isType\", {\n enumerable: true,\n get: function () {\n return _isType.default;\n }\n});\nObject.defineProperty(exports, \"isValidES3Identifier\", {\n enumerable: true,\n get: function () {\n return _isValidES3Identifier.default;\n }\n});\nObject.defineProperty(exports, \"isValidIdentifier\", {\n enumerable: true,\n get: function () {\n return _isValidIdentifier.default;\n }\n});\nObject.defineProperty(exports, \"isVar\", {\n enumerable: true,\n get: function () {\n return _isVar.default;\n }\n});\nObject.defineProperty(exports, \"matchesPattern\", {\n enumerable: true,\n get: function () {\n return _matchesPattern.default;\n }\n});\nObject.defineProperty(exports, \"prependToMemberExpression\", {\n enumerable: true,\n get: function () {\n return _prependToMemberExpression.default;\n }\n});\nexports.react = void 0;\nObject.defineProperty(exports, \"removeComments\", {\n enumerable: true,\n get: function () {\n return _removeComments.default;\n }\n});\nObject.defineProperty(exports, \"removeProperties\", {\n enumerable: true,\n get: function () {\n return _removeProperties.default;\n }\n});\nObject.defineProperty(exports, \"removePropertiesDeep\", {\n enumerable: true,\n get: function () {\n return _removePropertiesDeep.default;\n }\n});\nObject.defineProperty(exports, \"removeTypeDuplicates\", {\n enumerable: true,\n get: function () {\n return _removeTypeDuplicates.default;\n }\n});\nObject.defineProperty(exports, \"shallowEqual\", {\n enumerable: true,\n get: function () {\n return _shallowEqual.default;\n }\n});\nObject.defineProperty(exports, \"toBindingIdentifierName\", {\n enumerable: true,\n get: function () {\n return _toBindingIdentifierName.default;\n }\n});\nObject.defineProperty(exports, \"toBlock\", {\n enumerable: true,\n get: function () {\n return _toBlock.default;\n }\n});\nObject.defineProperty(exports, \"toComputedKey\", {\n enumerable: true,\n get: function () {\n return _toComputedKey.default;\n }\n});\nObject.defineProperty(exports, \"toExpression\", {\n enumerable: true,\n get: function () {\n return _toExpression.default;\n }\n});\nObject.defineProperty(exports, \"toIdentifier\", {\n enumerable: true,\n get: function () {\n return _toIdentifier.default;\n }\n});\nObject.defineProperty(exports, \"toKeyAlias\", {\n enumerable: true,\n get: function () {\n return _toKeyAlias.default;\n }\n});\nObject.defineProperty(exports, \"toStatement\", {\n enumerable: true,\n get: function () {\n return _toStatement.default;\n }\n});\nObject.defineProperty(exports, \"traverse\", {\n enumerable: true,\n get: function () {\n return _traverse.default;\n }\n});\nObject.defineProperty(exports, \"traverseFast\", {\n enumerable: true,\n get: function () {\n return _traverseFast.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"valueToNode\", {\n enumerable: true,\n get: function () {\n return _valueToNode.default;\n }\n});\nvar _isReactComponent = require(\"./validators/react/isReactComponent.js\");\nvar _isCompatTag = require(\"./validators/react/isCompatTag.js\");\nvar _buildChildren = require(\"./builders/react/buildChildren.js\");\nvar _assertNode = require(\"./asserts/assertNode.js\");\nvar _index = require(\"./asserts/generated/index.js\");\nObject.keys(_index).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index[key];\n }\n });\n});\nvar _createTypeAnnotationBasedOnTypeof = require(\"./builders/flow/createTypeAnnotationBasedOnTypeof.js\");\nvar _createFlowUnionType = require(\"./builders/flow/createFlowUnionType.js\");\nvar _createTSUnionType = require(\"./builders/typescript/createTSUnionType.js\");\nvar _productions = require(\"./builders/productions.js\");\nObject.keys(_productions).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _productions[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _productions[key];\n }\n });\n});\nvar _index2 = require(\"./builders/generated/index.js\");\nObject.keys(_index2).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index2[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index2[key];\n }\n });\n});\nvar _cloneNode = require(\"./clone/cloneNode.js\");\nvar _clone = require(\"./clone/clone.js\");\nvar _cloneDeep = require(\"./clone/cloneDeep.js\");\nvar _cloneDeepWithoutLoc = require(\"./clone/cloneDeepWithoutLoc.js\");\nvar _cloneWithoutLoc = require(\"./clone/cloneWithoutLoc.js\");\nvar _addComment = require(\"./comments/addComment.js\");\nvar _addComments = require(\"./comments/addComments.js\");\nvar _inheritInnerComments = require(\"./comments/inheritInnerComments.js\");\nvar _inheritLeadingComments = require(\"./comments/inheritLeadingComments.js\");\nvar _inheritsComments = require(\"./comments/inheritsComments.js\");\nvar _inheritTrailingComments = require(\"./comments/inheritTrailingComments.js\");\nvar _removeComments = require(\"./comments/removeComments.js\");\nvar _index3 = require(\"./constants/generated/index.js\");\nObject.keys(_index3).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index3[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index3[key];\n }\n });\n});\nvar _index4 = require(\"./constants/index.js\");\nObject.keys(_index4).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index4[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index4[key];\n }\n });\n});\nvar _ensureBlock = require(\"./converters/ensureBlock.js\");\nvar _toBindingIdentifierName = require(\"./converters/toBindingIdentifierName.js\");\nvar _toBlock = require(\"./converters/toBlock.js\");\nvar _toComputedKey = require(\"./converters/toComputedKey.js\");\nvar _toExpression = require(\"./converters/toExpression.js\");\nvar _toIdentifier = require(\"./converters/toIdentifier.js\");\nvar _toKeyAlias = require(\"./converters/toKeyAlias.js\");\nvar _toStatement = require(\"./converters/toStatement.js\");\nvar _valueToNode = require(\"./converters/valueToNode.js\");\nvar _index5 = require(\"./definitions/index.js\");\nObject.keys(_index5).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index5[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index5[key];\n }\n });\n});\nvar _appendToMemberExpression = require(\"./modifications/appendToMemberExpression.js\");\nvar _inherits = require(\"./modifications/inherits.js\");\nvar _prependToMemberExpression = require(\"./modifications/prependToMemberExpression.js\");\nvar _removeProperties = require(\"./modifications/removeProperties.js\");\nvar _removePropertiesDeep = require(\"./modifications/removePropertiesDeep.js\");\nvar _removeTypeDuplicates = require(\"./modifications/flow/removeTypeDuplicates.js\");\nvar _getAssignmentIdentifiers = require(\"./retrievers/getAssignmentIdentifiers.js\");\nvar _getBindingIdentifiers = require(\"./retrievers/getBindingIdentifiers.js\");\nvar _getOuterBindingIdentifiers = require(\"./retrievers/getOuterBindingIdentifiers.js\");\nvar _getFunctionName = require(\"./retrievers/getFunctionName.js\");\nvar _traverse = require(\"./traverse/traverse.js\");\nObject.keys(_traverse).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _traverse[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _traverse[key];\n }\n });\n});\nvar _traverseFast = require(\"./traverse/traverseFast.js\");\nvar _shallowEqual = require(\"./utils/shallowEqual.js\");\nvar _is = require(\"./validators/is.js\");\nvar _isBinding = require(\"./validators/isBinding.js\");\nvar _isBlockScoped = require(\"./validators/isBlockScoped.js\");\nvar _isImmutable = require(\"./validators/isImmutable.js\");\nvar _isLet = require(\"./validators/isLet.js\");\nvar _isNode = require(\"./validators/isNode.js\");\nvar _isNodesEquivalent = require(\"./validators/isNodesEquivalent.js\");\nvar _isPlaceholderType = require(\"./validators/isPlaceholderType.js\");\nvar _isReferenced = require(\"./validators/isReferenced.js\");\nvar _isScope = require(\"./validators/isScope.js\");\nvar _isSpecifierDefault = require(\"./validators/isSpecifierDefault.js\");\nvar _isType = require(\"./validators/isType.js\");\nvar _isValidES3Identifier = require(\"./validators/isValidES3Identifier.js\");\nvar _isValidIdentifier = require(\"./validators/isValidIdentifier.js\");\nvar _isVar = require(\"./validators/isVar.js\");\nvar _matchesPattern = require(\"./validators/matchesPattern.js\");\nvar _validate = require(\"./validators/validate.js\");\nvar _buildMatchMemberExpression = require(\"./validators/buildMatchMemberExpression.js\");\nvar _index6 = require(\"./validators/generated/index.js\");\nObject.keys(_index6).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _index6[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _index6[key];\n }\n });\n});\nvar _deprecationWarning = require(\"./utils/deprecationWarning.js\");\nvar _toSequenceExpression = require(\"./converters/toSequenceExpression.js\");\nconst react = exports.react = {\n isReactComponent: _isReactComponent.default,\n isCompatTag: _isCompatTag.default,\n buildChildren: _buildChildren.default\n};\n{\n exports.toSequenceExpression = _toSequenceExpression.default;\n}\nif (process.env.BABEL_TYPES_8_BREAKING) {\n console.warn(\"BABEL_TYPES_8_BREAKING is not supported anymore. Use the latest Babel 8.0.0 pre-release instead!\");\n}\n\n//# sourceMappingURL=index.js.map\n","import { Context } from \"effect\";\nimport type { APIDocument } from \"./types.js\";\nimport type * as t from \"@babel/types\";\n\nexport interface DocumentContextData {\n document: APIDocument<object>;\n imports: t.ImportDeclaration[];\n schemas: Map<string, t.Statement[]>;\n processingSchemas: Set<string>;\n processingSchemaTypes: Set<string>;\n}\n\nexport class DocumentContext extends Context.Tag(\"DocumentContext\")<\n DocumentContext,\n DocumentContextData\n>() {}\n","import { Data } from \"effect\";\n\nexport class NotImplementedError extends Data.Error<{ message: string }> {}\n","import { Data, Effect } from \"effect\";\nimport { DocumentContext } from \"../context.js\";\nimport * as t from \"@babel/types\";\nimport { NotImplementedError } from \"../errors.js\";\n\nexport const ensureImport = Effect.fn(function* (\n name: string,\n from: string,\n typeOnly: boolean = false\n) {\n const ctx = yield* DocumentContext;\n\n const identifier = t.identifier(name);\n\n const existingImport = ctx.imports.find((i) => i.source.value === from);\n if (existingImport) {\n if (\n !existingImport.specifiers.find(\n (s) => s.type === \"ImportSpecifier\" && s.local.name === name\n )\n ) {\n const specifier = t.importSpecifier(identifier, identifier);\n if (typeOnly) specifier.importKind = \"type\";\n existingImport.specifiers.push(specifier);\n }\n return identifier;\n }\n\n ctx.imports.push(\n t.importDeclaration(\n [t.importSpecifier(identifier, identifier)],\n t.stringLiteral(from)\n )\n );\n return identifier;\n});\n\nexport const ensureNamespaceImport = Effect.fn(function* (\n name: string,\n from: string\n) {\n const ctx = yield* DocumentContext;\n\n const identifier = t.identifier(name);\n\n const existingImport = ctx.imports.find((i) => i.source.value === from);\n if (existingImport) {\n if (\n !existingImport.specifiers.find(\n (s) => s.type === \"ImportNamespaceSpecifier\" && s.local.name === name\n )\n ) {\n existingImport.specifiers.push(t.importNamespaceSpecifier(identifier));\n }\n return identifier;\n }\n\n ctx.imports.push(\n t.importDeclaration(\n [t.importNamespaceSpecifier(identifier)],\n t.stringLiteral(from)\n )\n );\n return identifier;\n});\n\nexport const getKey = Effect.fn(function* (name: string) {\n if (!name) {\n return yield* new NotImplementedError({\n message: \"key for empty name\",\n });\n }\n const safeName = name.replace(/[^a-zA-Z0-9]/g, \"_\");\n return {\n lower: `${safeName[0]!.toLowerCase()}${safeName.slice(1)}`,\n upper: `${safeName[0]!.toUpperCase()}${safeName.slice(1)}`,\n };\n});\n\nexport type OperationKey = {\n lower: string;\n upper: string;\n};\n\nexport const httpMethods = [\n \"get\",\n \"post\",\n \"put\",\n \"delete\",\n \"options\",\n \"head\",\n \"patch\",\n \"trace\"\n] as const;\n\nexport type HttpMethod = (typeof httpMethods)[number];"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"mappings":"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ACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,kBACH;GACF,KAAK;AACH,YAAQ,KAAK,cAAb;KACE,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK,YACH;KACF,QACE,QAAO;IACV;AACD;GACF,QACE,QAAO;EACV;AACD,SAAO,QAAQ,SAAS,GAAGA,gBAAc,SAAS,MAAM,KAAK;CAC9D;CACD,SAAS,aAAa,MAAM,MAAM;AAChC,MAAI,CAAC,KAAM,QAAO;AAClB,UAAQ,KAAK,MAAb;GACE,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;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AG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAG;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAK;EAAI;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAK;EAAI;EAAK;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAI;EAAI;EAAK;EAAI;EAAI;EAAG;EAAG;EAAI;EAAI;EAAG;EAAI;EAAI;EAAK;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAG;EAAK;EAAI;EAAI;EAAG;EAAG;EAAI;EAAG;EAAI;EAAK;EAAG;EAAI;EAAK;EAAK;EAAK;EAAI;EAAK;EAAM;EAAI;EAAI;EAAM;EAAI;EAAG;EAAI;EAAM;EAAG;EAAK;EAAM;EAAI;EAAM;EAAK;EAAG;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAI;EAAG;EAAI;EAAI;EAAG;EAAI;EAAK;EAAI;EAAK;EAAI;EAAK;EAAI;EAAG;EAAG;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAM;EAAG;EAAM;EAAI;EAAG;EAAM;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAK;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAK;EAAM;EAAK;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAM;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAK;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAG;EAAM;EAAI;EAAG;EAAG;EAAK;EAAI;EAAK;EAAI;EAAI;EAAG;EAAI;EAAG;EAAK;EAAI;EAAI;EAAI;EAAK;EAAI;EAAK;EAAI;EAAG;EAAG;EAAK;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAK;EAAI;EAAI;EAAG;EAAG;EAAM;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAM;EAAO;EAAI;EAAM;EAAG;EAAK;EAAG;EAAM;EAAI;EAAM;EAAI;EAAK;EAAM;EAAK;EAAM;EAAM;EAAG;CAAK;CACtpE,MAAM,wBAAwB;EAAC;EAAK;EAAG;EAAK;EAAG;EAAK;EAAG;EAAK;EAAG;EAAM;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAK;EAAG;EAAK;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAK;EAAG;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAK;EAAG;EAAI;EAAI;EAAI;EAAI;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAG;EAAK;EAAI;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAG;EAAK;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAI;EAAG;EAAI;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAG;EAAG;EAAK;EAAI;EAAK;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAK;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAI;EAAI;EAAI;EAAK;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAG;EAAI;EAAI;EAAG;EAAI;EAAK;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAK;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAI;EAAI;EAAM;EAAG;EAAG;EAAI;EAAO;EAAI;EAAM;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAI;EAAG;EAAK;EAAG;EAAK;EAAG;EAAG;EAAI;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAO;EAAG;EAAM;EAAG;EAAK;EAAI;EAAG;EAAI;EAAK;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAI;EAAG;EAAK;EAAG;EAAM;EAAI;EAAK;EAAI;EAAG;EAAI;EAAG;EAAG;EAAI;EAAG;EAAI;EAAG;EAAG;EAAI;EAAM;EAAG;EAAG;EAAI;EAAG;EAAG;EAAG;EAAG;EAAG;EAAG;EAAK;EAAG;EAAK;EAAG;EAAI;EAAG;EAAK;EAAG;EAAI;EAAI;EAAK;EAAI;EAAK;EAAG;EAAG;EAAG;EAAK;EAA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"}
|