1 line
65 KiB
JSON
1 line
65 KiB
JSON
{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertArrayExpression = assertArrayExpression;\nexports.assertAssignmentExpression = assertAssignmentExpression;\nexports.assertBinaryExpression = assertBinaryExpression;\nexports.assertInterpreterDirective = assertInterpreterDirective;\nexports.assertDirective = assertDirective;\nexports.assertDirectiveLiteral = assertDirectiveLiteral;\nexports.assertBlockStatement = assertBlockStatement;\nexports.assertBreakStatement = assertBreakStatement;\nexports.assertCallExpression = assertCallExpression;\nexports.assertCatchClause = assertCatchClause;\nexports.assertConditionalExpression = assertConditionalExpression;\nexports.assertContinueStatement = assertContinueStatement;\nexports.assertDebuggerStatement = assertDebuggerStatement;\nexports.assertDoWhileStatement = assertDoWhileStatement;\nexports.assertEmptyStatement = assertEmptyStatement;\nexports.assertExpressionStatement = assertExpressionStatement;\nexports.assertFile = assertFile;\nexports.assertForInStatement = assertForInStatement;\nexports.assertForStatement = assertForStatement;\nexports.assertFunctionDeclaration = assertFunctionDeclaration;\nexports.assertFunctionExpression = assertFunctionExpression;\nexports.assertIdentifier = assertIdentifier;\nexports.assertIfStatement = assertIfStatement;\nexports.assertLabeledStatement = assertLabeledStatement;\nexports.assertStringLiteral = assertStringLiteral;\nexports.assertNumericLiteral = assertNumericLiteral;\nexports.assertNullLiteral = assertNullLiteral;\nexports.assertBooleanLiteral = assertBooleanLiteral;\nexports.assertRegExpLiteral = assertRegExpLiteral;\nexports.assertLogicalExpression = assertLogicalExpression;\nexports.assertMemberExpression = assertMemberExpression;\nexports.assertNewExpression = assertNewExpression;\nexports.assertProgram = assertProgram;\nexports.assertObjectExpression = assertObjectExpression;\nexports.assertObjectMethod = assertObjectMethod;\nexports.assertObjectProperty = assertObjectProperty;\nexports.assertRestElement = assertRestElement;\nexports.assertReturnStatement = assertReturnStatement;\nexports.assertSequenceExpression = assertSequenceExpression;\nexports.assertParenthesizedExpression = assertParenthesizedExpression;\nexports.assertSwitchCase = assertSwitchCase;\nexports.assertSwitchStatement = assertSwitchStatement;\nexports.assertThisExpression = assertThisExpression;\nexports.assertThrowStatement = assertThrowStatement;\nexports.assertTryStatement = assertTryStatement;\nexports.assertUnaryExpression = assertUnaryExpression;\nexports.assertUpdateExpression = assertUpdateExpression;\nexports.assertVariableDeclaration = assertVariableDeclaration;\nexports.assertVariableDeclarator = assertVariableDeclarator;\nexports.assertWhileStatement = assertWhileStatement;\nexports.assertWithStatement = assertWithStatement;\nexports.assertAssignmentPattern = assertAssignmentPattern;\nexports.assertArrayPattern = assertArrayPattern;\nexports.assertArrowFunctionExpression = assertArrowFunctionExpression;\nexports.assertClassBody = assertClassBody;\nexports.assertClassDeclaration = assertClassDeclaration;\nexports.assertClassExpression = assertClassExpression;\nexports.assertExportAllDeclaration = assertExportAllDeclaration;\nexports.assertExportDefaultDeclaration = assertExportDefaultDeclaration;\nexports.assertExportNamedDeclaration = assertExportNamedDeclaration;\nexports.assertExportSpecifier = assertExportSpecifier;\nexports.assertForOfStatement = assertForOfStatement;\nexports.assertImportDeclaration = assertImportDeclaration;\nexports.assertImportDefaultSpecifier = assertImportDefaultSpecifier;\nexports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier;\nexports.assertImportSpecifier = assertImportSpecifier;\nexports.assertMetaProperty = assertMetaProperty;\nexports.assertClassMethod = assertClassMethod;\nexports.assertObjectPattern = assertObjectPattern;\nexports.assertSpreadElement = assertSpreadElement;\nexports.assertSuper = assertSuper;\nexports.assertTaggedTemplateExpression = assertTaggedTemplateExpression;\nexports.assertTemplateElement = assertTemplateElement;\nexports.assertTemplateLiteral = assertTemplateLiteral;\nexports.assertYieldExpression = assertYieldExpression;\nexports.assertAnyTypeAnnotation = assertAnyTypeAnnotation;\nexports.assertArrayTypeAnnotation = assertArrayTypeAnnotation;\nexports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation;\nexports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation;\nexports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation;\nexports.assertClassImplements = assertClassImplements;\nexports.assertDeclareClass = assertDeclareClass;\nexports.assertDeclareFunction = assertDeclareFunction;\nexports.assertDeclareInterface = assertDeclareInterface;\nexports.assertDeclareModule = assertDeclareModule;\nexports.assertDeclareModuleExports = assertDeclareModuleExports;\nexports.assertDeclareTypeAlias = assertDeclareTypeAlias;\nexports.assertDeclareOpaqueType = assertDeclareOpaqueType;\nexports.assertDeclareVariable = assertDeclareVariable;\nexports.assertDeclareExportDeclaration = assertDeclareExportDeclaration;\nexports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration;\nexports.assertDeclaredPredicate = assertDeclaredPredicate;\nexports.assertExistsTypeAnnotation = assertExistsTypeAnnotation;\nexports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation;\nexports.assertFunctionTypeParam = assertFunctionTypeParam;\nexports.assertGenericTypeAnnotation = assertGenericTypeAnnotation;\nexports.assertInferredPredicate = assertInferredPredicate;\nexports.assertInterfaceExtends = assertInterfaceExtends;\nexports.assertInterfaceDeclaration = assertInterfaceDeclaration;\nexports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation;\nexports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation;\nexports.assertMixedTypeAnnotation = assertMixedTypeAnnotation;\nexports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation;\nexports.assertNullableTypeAnnotation = assertNullableTypeAnnotation;\nexports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation;\nexports.assertNumberTypeAnnotation = assertNumberTypeAnnotation;\nexports.assertObjectTypeAnnotation = assertObjectTypeAnnotation;\nexports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot;\nexports.assertObjectTypeCallProperty = assertObjectTypeCallProperty;\nexports.assertObjectTypeIndexer = assertObjectTypeIndexer;\nexports.assertObjectTypeProperty = assertObjectTypeProperty;\nexports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty;\nexports.assertOpaqueType = assertOpaqueType;\nexports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier;\nexports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation;\nexports.assertStringTypeAnnotation = assertStringTypeAnnotation;\nexports.assertThisTypeAnnotation = assertThisTypeAnnotation;\nexports.assertTupleTypeAnnotation = assertTupleTypeAnnotation;\nexports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation;\nexports.assertTypeAlias = assertTypeAlias;\nexports.assertTypeAnnotation = assertTypeAnnotation;\nexports.assertTypeCastExpression = assertTypeCastExpression;\nexports.assertTypeParameter = assertTypeParameter;\nexports.assertTypeParameterDeclaration = assertTypeParameterDeclaration;\nexports.assertTypeParameterInstantiation = assertTypeParameterInstantiation;\nexports.assertUnionTypeAnnotation = assertUnionTypeAnnotation;\nexports.assertVariance = assertVariance;\nexports.assertVoidTypeAnnotation = assertVoidTypeAnnotation;\nexports.assertEnumDeclaration = assertEnumDeclaration;\nexports.assertEnumBooleanBody = assertEnumBooleanBody;\nexports.assertEnumNumberBody = assertEnumNumberBody;\nexports.assertEnumStringBody = assertEnumStringBody;\nexports.assertEnumSymbolBody = assertEnumSymbolBody;\nexports.assertEnumBooleanMember = assertEnumBooleanMember;\nexports.assertEnumNumberMember = assertEnumNumberMember;\nexports.assertEnumStringMember = assertEnumStringMember;\nexports.assertEnumDefaultedMember = assertEnumDefaultedMember;\nexports.assertJSXAttribute = assertJSXAttribute;\nexports.assertJSXClosingElement = assertJSXClosingElement;\nexports.assertJSXElement = assertJSXElement;\nexports.assertJSXEmptyExpression = assertJSXEmptyExpression;\nexports.assertJSXExpressionContainer = assertJSXExpressionContainer;\nexports.assertJSXSpreadChild = assertJSXSpreadChild;\nexports.assertJSXIdentifier = assertJSXIdentifier;\nexports.assertJSXMemberExpression = assertJSXMemberExpression;\nexports.assertJSXNamespacedName = assertJSXNamespacedName;\nexports.assertJSXOpeningElement = assertJSXOpeningElement;\nexports.assertJSXSpreadAttribute = assertJSXSpreadAttribute;\nexports.assertJSXText = assertJSXText;\nexports.assertJSXFragment = assertJSXFragment;\nexports.assertJSXOpeningFragment = assertJSXOpeningFragment;\nexports.assertJSXClosingFragment = assertJSXClosingFragment;\nexports.assertNoop = assertNoop;\nexports.assertPlaceholder = assertPlaceholder;\nexports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier;\nexports.assertArgumentPlaceholder = assertArgumentPlaceholder;\nexports.assertAwaitExpression = assertAwaitExpression;\nexports.assertBindExpression = assertBindExpression;\nexports.assertClassProperty = assertClassProperty;\nexports.assertOptionalMemberExpression = assertOptionalMemberExpression;\nexports.assertPipelineTopicExpression = assertPipelineTopicExpression;\nexports.assertPipelineBareFunction = assertPipelineBareFunction;\nexports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference;\nexports.assertOptionalCallExpression = assertOptionalCallExpression;\nexports.assertClassPrivateProperty = assertClassPrivateProperty;\nexports.assertClassPrivateMethod = assertClassPrivateMethod;\nexports.assertImport = assertImport;\nexports.assertDecorator = assertDecorator;\nexports.assertDoExpression = assertDoExpression;\nexports.assertExportDefaultSpecifier = assertExportDefaultSpecifier;\nexports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier;\nexports.assertPrivateName = assertPrivateName;\nexports.assertBigIntLiteral = assertBigIntLiteral;\nexports.assertTSParameterProperty = assertTSParameterProperty;\nexports.assertTSDeclareFunction = assertTSDeclareFunction;\nexports.assertTSDeclareMethod = assertTSDeclareMethod;\nexports.assertTSQualifiedName = assertTSQualifiedName;\nexports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration;\nexports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration;\nexports.assertTSPropertySignature = assertTSPropertySignature;\nexports.assertTSMethodSignature = assertTSMethodSignature;\nexports.assertTSIndexSignature = assertTSIndexSignature;\nexports.assertTSAnyKeyword = assertTSAnyKeyword;\nexports.assertTSBooleanKeyword = assertTSBooleanKeyword;\nexports.assertTSBigIntKeyword = assertTSBigIntKeyword;\nexports.assertTSNeverKeyword = assertTSNeverKeyword;\nexports.assertTSNullKeyword = assertTSNullKeyword;\nexports.assertTSNumberKeyword = assertTSNumberKeyword;\nexports.assertTSObjectKeyword = assertTSObjectKeyword;\nexports.assertTSStringKeyword = assertTSStringKeyword;\nexports.assertTSSymbolKeyword = assertTSSymbolKeyword;\nexports.assertTSUndefinedKeyword = assertTSUndefinedKeyword;\nexports.assertTSUnknownKeyword = assertTSUnknownKeyword;\nexports.assertTSVoidKeyword = assertTSVoidKeyword;\nexports.assertTSThisType = assertTSThisType;\nexports.assertTSFunctionType = assertTSFunctionType;\nexports.assertTSConstructorType = assertTSConstructorType;\nexports.assertTSTypeReference = assertTSTypeReference;\nexports.assertTSTypePredicate = assertTSTypePredicate;\nexports.assertTSTypeQuery = assertTSTypeQuery;\nexports.assertTSTypeLiteral = assertTSTypeLiteral;\nexports.assertTSArrayType = assertTSArrayType;\nexports.assertTSTupleType = assertTSTupleType;\nexports.assertTSOptionalType = assertTSOptionalType;\nexports.assertTSRestType = assertTSRestType;\nexports.assertTSUnionType = assertTSUnionType;\nexports.assertTSIntersectionType = assertTSIntersectionType;\nexports.assertTSConditionalType = assertTSConditionalType;\nexports.assertTSInferType = assertTSInferType;\nexports.assertTSParenthesizedType = assertTSParenthesizedType;\nexports.assertTSTypeOperator = assertTSTypeOperator;\nexports.assertTSIndexedAccessType = assertTSIndexedAccessType;\nexports.assertTSMappedType = assertTSMappedType;\nexports.assertTSLiteralType = assertTSLiteralType;\nexports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments;\nexports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration;\nexports.assertTSInterfaceBody = assertTSInterfaceBody;\nexports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration;\nexports.assertTSAsExpression = assertTSAsExpression;\nexports.assertTSTypeAssertion = assertTSTypeAssertion;\nexports.assertTSEnumDeclaration = assertTSEnumDeclaration;\nexports.assertTSEnumMember = assertTSEnumMember;\nexports.assertTSModuleDeclaration = assertTSModuleDeclaration;\nexports.assertTSModuleBlock = assertTSModuleBlock;\nexports.assertTSImportType = assertTSImportType;\nexports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration;\nexports.assertTSExternalModuleReference = assertTSExternalModuleReference;\nexports.assertTSNonNullExpression = assertTSNonNullExpression;\nexports.assertTSExportAssignment = assertTSExportAssignment;\nexports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration;\nexports.assertTSTypeAnnotation = assertTSTypeAnnotation;\nexports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation;\nexports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration;\nexports.assertTSTypeParameter = assertTSTypeParameter;\nexports.assertExpression = assertExpression;\nexports.assertBinary = assertBinary;\nexports.assertScopable = assertScopable;\nexports.assertBlockParent = assertBlockParent;\nexports.assertBlock = assertBlock;\nexports.assertStatement = assertStatement;\nexports.assertTerminatorless = assertTerminatorless;\nexports.assertCompletionStatement = assertCompletionStatement;\nexports.assertConditional = assertConditional;\nexports.assertLoop = assertLoop;\nexports.assertWhile = assertWhile;\nexports.assertExpressionWrapper = assertExpressionWrapper;\nexports.assertFor = assertFor;\nexports.assertForXStatement = assertForXStatement;\nexports.assertFunction = assertFunction;\nexports.assertFunctionParent = assertFunctionParent;\nexports.assertPureish = assertPureish;\nexports.assertDeclaration = assertDeclaration;\nexports.assertPatternLike = assertPatternLike;\nexports.assertLVal = assertLVal;\nexports.assertTSEntityName = assertTSEntityName;\nexports.assertLiteral = assertLiteral;\nexports.assertImmutable = assertImmutable;\nexports.assertUserWhitespacable = assertUserWhitespacable;\nexports.assertMethod = assertMethod;\nexports.assertObjectMember = assertObjectMember;\nexports.assertProperty = assertProperty;\nexports.assertUnaryLike = assertUnaryLike;\nexports.assertPattern = assertPattern;\nexports.assertClass = assertClass;\nexports.assertModuleDeclaration = assertModuleDeclaration;\nexports.assertExportDeclaration = assertExportDeclaration;\nexports.assertModuleSpecifier = assertModuleSpecifier;\nexports.assertFlow = assertFlow;\nexports.assertFlowType = assertFlowType;\nexports.assertFlowBaseAnnotation = assertFlowBaseAnnotation;\nexports.assertFlowDeclaration = assertFlowDeclaration;\nexports.assertFlowPredicate = assertFlowPredicate;\nexports.assertEnumBody = assertEnumBody;\nexports.assertEnumMember = assertEnumMember;\nexports.assertJSX = assertJSX;\nexports.assertPrivate = assertPrivate;\nexports.assertTSTypeElement = assertTSTypeElement;\nexports.assertTSType = assertTSType;\nexports.assertNumberLiteral = assertNumberLiteral;\nexports.assertRegexLiteral = assertRegexLiteral;\nexports.assertRestProperty = assertRestProperty;\nexports.assertSpreadProperty = assertSpreadProperty;\n\nvar _is = _interopRequireDefault(require(\"../../validators/is\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction assert(type, node, opts) {\n if (!(0, _is.default)(type, node, opts)) {\n throw new Error(\"Expected type \\\"\".concat(type, \"\\\" with option \").concat(JSON.stringify(opts), \", \") + \"but instead got \\\"\".concat(node.type, \"\\\".\"));\n }\n}\n\nfunction assertArrayExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ArrayExpression\", node, opts);\n}\n\nfunction assertAssignmentExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"AssignmentExpression\", node, opts);\n}\n\nfunction assertBinaryExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BinaryExpression\", node, opts);\n}\n\nfunction assertInterpreterDirective(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"InterpreterDirective\", node, opts);\n}\n\nfunction assertDirective(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Directive\", node, opts);\n}\n\nfunction assertDirectiveLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DirectiveLiteral\", node, opts);\n}\n\nfunction assertBlockStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BlockStatement\", node, opts);\n}\n\nfunction assertBreakStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BreakStatement\", node, opts);\n}\n\nfunction assertCallExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"CallExpression\", node, opts);\n}\n\nfunction assertCatchClause(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"CatchClause\", node, opts);\n}\n\nfunction assertConditionalExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ConditionalExpression\", node, opts);\n}\n\nfunction assertContinueStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ContinueStatement\", node, opts);\n}\n\nfunction assertDebuggerStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DebuggerStatement\", node, opts);\n}\n\nfunction assertDoWhileStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DoWhileStatement\", node, opts);\n}\n\nfunction assertEmptyStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EmptyStatement\", node, opts);\n}\n\nfunction assertExpressionStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExpressionStatement\", node, opts);\n}\n\nfunction assertFile(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"File\", node, opts);\n}\n\nfunction assertForInStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ForInStatement\", node, opts);\n}\n\nfunction assertForStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ForStatement\", node, opts);\n}\n\nfunction assertFunctionDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FunctionDeclaration\", node, opts);\n}\n\nfunction assertFunctionExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FunctionExpression\", node, opts);\n}\n\nfunction assertIdentifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Identifier\", node, opts);\n}\n\nfunction assertIfStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"IfStatement\", node, opts);\n}\n\nfunction assertLabeledStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"LabeledStatement\", node, opts);\n}\n\nfunction assertStringLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"StringLiteral\", node, opts);\n}\n\nfunction assertNumericLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NumericLiteral\", node, opts);\n}\n\nfunction assertNullLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NullLiteral\", node, opts);\n}\n\nfunction assertBooleanLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BooleanLiteral\", node, opts);\n}\n\nfunction assertRegExpLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"RegExpLiteral\", node, opts);\n}\n\nfunction assertLogicalExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"LogicalExpression\", node, opts);\n}\n\nfunction assertMemberExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"MemberExpression\", node, opts);\n}\n\nfunction assertNewExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NewExpression\", node, opts);\n}\n\nfunction assertProgram(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Program\", node, opts);\n}\n\nfunction assertObjectExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectExpression\", node, opts);\n}\n\nfunction assertObjectMethod(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectMethod\", node, opts);\n}\n\nfunction assertObjectProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectProperty\", node, opts);\n}\n\nfunction assertRestElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"RestElement\", node, opts);\n}\n\nfunction assertReturnStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ReturnStatement\", node, opts);\n}\n\nfunction assertSequenceExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"SequenceExpression\", node, opts);\n}\n\nfunction assertParenthesizedExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ParenthesizedExpression\", node, opts);\n}\n\nfunction assertSwitchCase(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"SwitchCase\", node, opts);\n}\n\nfunction assertSwitchStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"SwitchStatement\", node, opts);\n}\n\nfunction assertThisExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ThisExpression\", node, opts);\n}\n\nfunction assertThrowStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ThrowStatement\", node, opts);\n}\n\nfunction assertTryStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TryStatement\", node, opts);\n}\n\nfunction assertUnaryExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"UnaryExpression\", node, opts);\n}\n\nfunction assertUpdateExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"UpdateExpression\", node, opts);\n}\n\nfunction assertVariableDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"VariableDeclaration\", node, opts);\n}\n\nfunction assertVariableDeclarator(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"VariableDeclarator\", node, opts);\n}\n\nfunction assertWhileStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"WhileStatement\", node, opts);\n}\n\nfunction assertWithStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"WithStatement\", node, opts);\n}\n\nfunction assertAssignmentPattern(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"AssignmentPattern\", node, opts);\n}\n\nfunction assertArrayPattern(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ArrayPattern\", node, opts);\n}\n\nfunction assertArrowFunctionExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ArrowFunctionExpression\", node, opts);\n}\n\nfunction assertClassBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassBody\", node, opts);\n}\n\nfunction assertClassDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassDeclaration\", node, opts);\n}\n\nfunction assertClassExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassExpression\", node, opts);\n}\n\nfunction assertExportAllDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportAllDeclaration\", node, opts);\n}\n\nfunction assertExportDefaultDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportDefaultDeclaration\", node, opts);\n}\n\nfunction assertExportNamedDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportNamedDeclaration\", node, opts);\n}\n\nfunction assertExportSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportSpecifier\", node, opts);\n}\n\nfunction assertForOfStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ForOfStatement\", node, opts);\n}\n\nfunction assertImportDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ImportDeclaration\", node, opts);\n}\n\nfunction assertImportDefaultSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ImportDefaultSpecifier\", node, opts);\n}\n\nfunction assertImportNamespaceSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ImportNamespaceSpecifier\", node, opts);\n}\n\nfunction assertImportSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ImportSpecifier\", node, opts);\n}\n\nfunction assertMetaProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"MetaProperty\", node, opts);\n}\n\nfunction assertClassMethod(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassMethod\", node, opts);\n}\n\nfunction assertObjectPattern(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectPattern\", node, opts);\n}\n\nfunction assertSpreadElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"SpreadElement\", node, opts);\n}\n\nfunction assertSuper(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Super\", node, opts);\n}\n\nfunction assertTaggedTemplateExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TaggedTemplateExpression\", node, opts);\n}\n\nfunction assertTemplateElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TemplateElement\", node, opts);\n}\n\nfunction assertTemplateLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TemplateLiteral\", node, opts);\n}\n\nfunction assertYieldExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"YieldExpression\", node, opts);\n}\n\nfunction assertAnyTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"AnyTypeAnnotation\", node, opts);\n}\n\nfunction assertArrayTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ArrayTypeAnnotation\", node, opts);\n}\n\nfunction assertBooleanTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BooleanTypeAnnotation\", node, opts);\n}\n\nfunction assertBooleanLiteralTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BooleanLiteralTypeAnnotation\", node, opts);\n}\n\nfunction assertNullLiteralTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NullLiteralTypeAnnotation\", node, opts);\n}\n\nfunction assertClassImplements(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassImplements\", node, opts);\n}\n\nfunction assertDeclareClass(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareClass\", node, opts);\n}\n\nfunction assertDeclareFunction(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareFunction\", node, opts);\n}\n\nfunction assertDeclareInterface(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareInterface\", node, opts);\n}\n\nfunction assertDeclareModule(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareModule\", node, opts);\n}\n\nfunction assertDeclareModuleExports(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareModuleExports\", node, opts);\n}\n\nfunction assertDeclareTypeAlias(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareTypeAlias\", node, opts);\n}\n\nfunction assertDeclareOpaqueType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareOpaqueType\", node, opts);\n}\n\nfunction assertDeclareVariable(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareVariable\", node, opts);\n}\n\nfunction assertDeclareExportDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareExportDeclaration\", node, opts);\n}\n\nfunction assertDeclareExportAllDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclareExportAllDeclaration\", node, opts);\n}\n\nfunction assertDeclaredPredicate(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DeclaredPredicate\", node, opts);\n}\n\nfunction assertExistsTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExistsTypeAnnotation\", node, opts);\n}\n\nfunction assertFunctionTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FunctionTypeAnnotation\", node, opts);\n}\n\nfunction assertFunctionTypeParam(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FunctionTypeParam\", node, opts);\n}\n\nfunction assertGenericTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"GenericTypeAnnotation\", node, opts);\n}\n\nfunction assertInferredPredicate(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"InferredPredicate\", node, opts);\n}\n\nfunction assertInterfaceExtends(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"InterfaceExtends\", node, opts);\n}\n\nfunction assertInterfaceDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"InterfaceDeclaration\", node, opts);\n}\n\nfunction assertInterfaceTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"InterfaceTypeAnnotation\", node, opts);\n}\n\nfunction assertIntersectionTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"IntersectionTypeAnnotation\", node, opts);\n}\n\nfunction assertMixedTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"MixedTypeAnnotation\", node, opts);\n}\n\nfunction assertEmptyTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EmptyTypeAnnotation\", node, opts);\n}\n\nfunction assertNullableTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NullableTypeAnnotation\", node, opts);\n}\n\nfunction assertNumberLiteralTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NumberLiteralTypeAnnotation\", node, opts);\n}\n\nfunction assertNumberTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"NumberTypeAnnotation\", node, opts);\n}\n\nfunction assertObjectTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeAnnotation\", node, opts);\n}\n\nfunction assertObjectTypeInternalSlot(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeInternalSlot\", node, opts);\n}\n\nfunction assertObjectTypeCallProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeCallProperty\", node, opts);\n}\n\nfunction assertObjectTypeIndexer(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeIndexer\", node, opts);\n}\n\nfunction assertObjectTypeProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeProperty\", node, opts);\n}\n\nfunction assertObjectTypeSpreadProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectTypeSpreadProperty\", node, opts);\n}\n\nfunction assertOpaqueType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"OpaqueType\", node, opts);\n}\n\nfunction assertQualifiedTypeIdentifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"QualifiedTypeIdentifier\", node, opts);\n}\n\nfunction assertStringLiteralTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"StringLiteralTypeAnnotation\", node, opts);\n}\n\nfunction assertStringTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"StringTypeAnnotation\", node, opts);\n}\n\nfunction assertThisTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ThisTypeAnnotation\", node, opts);\n}\n\nfunction assertTupleTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TupleTypeAnnotation\", node, opts);\n}\n\nfunction assertTypeofTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeofTypeAnnotation\", node, opts);\n}\n\nfunction assertTypeAlias(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeAlias\", node, opts);\n}\n\nfunction assertTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeAnnotation\", node, opts);\n}\n\nfunction assertTypeCastExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeCastExpression\", node, opts);\n}\n\nfunction assertTypeParameter(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeParameter\", node, opts);\n}\n\nfunction assertTypeParameterDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeParameterDeclaration\", node, opts);\n}\n\nfunction assertTypeParameterInstantiation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TypeParameterInstantiation\", node, opts);\n}\n\nfunction assertUnionTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"UnionTypeAnnotation\", node, opts);\n}\n\nfunction assertVariance(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Variance\", node, opts);\n}\n\nfunction assertVoidTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"VoidTypeAnnotation\", node, opts);\n}\n\nfunction assertEnumDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumDeclaration\", node, opts);\n}\n\nfunction assertEnumBooleanBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumBooleanBody\", node, opts);\n}\n\nfunction assertEnumNumberBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumNumberBody\", node, opts);\n}\n\nfunction assertEnumStringBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumStringBody\", node, opts);\n}\n\nfunction assertEnumSymbolBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumSymbolBody\", node, opts);\n}\n\nfunction assertEnumBooleanMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumBooleanMember\", node, opts);\n}\n\nfunction assertEnumNumberMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumNumberMember\", node, opts);\n}\n\nfunction assertEnumStringMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumStringMember\", node, opts);\n}\n\nfunction assertEnumDefaultedMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumDefaultedMember\", node, opts);\n}\n\nfunction assertJSXAttribute(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXAttribute\", node, opts);\n}\n\nfunction assertJSXClosingElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXClosingElement\", node, opts);\n}\n\nfunction assertJSXElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXElement\", node, opts);\n}\n\nfunction assertJSXEmptyExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXEmptyExpression\", node, opts);\n}\n\nfunction assertJSXExpressionContainer(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXExpressionContainer\", node, opts);\n}\n\nfunction assertJSXSpreadChild(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXSpreadChild\", node, opts);\n}\n\nfunction assertJSXIdentifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXIdentifier\", node, opts);\n}\n\nfunction assertJSXMemberExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXMemberExpression\", node, opts);\n}\n\nfunction assertJSXNamespacedName(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXNamespacedName\", node, opts);\n}\n\nfunction assertJSXOpeningElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXOpeningElement\", node, opts);\n}\n\nfunction assertJSXSpreadAttribute(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXSpreadAttribute\", node, opts);\n}\n\nfunction assertJSXText(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXText\", node, opts);\n}\n\nfunction assertJSXFragment(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXFragment\", node, opts);\n}\n\nfunction assertJSXOpeningFragment(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXOpeningFragment\", node, opts);\n}\n\nfunction assertJSXClosingFragment(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSXClosingFragment\", node, opts);\n}\n\nfunction assertNoop(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Noop\", node, opts);\n}\n\nfunction assertPlaceholder(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Placeholder\", node, opts);\n}\n\nfunction assertV8IntrinsicIdentifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"V8IntrinsicIdentifier\", node, opts);\n}\n\nfunction assertArgumentPlaceholder(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ArgumentPlaceholder\", node, opts);\n}\n\nfunction assertAwaitExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"AwaitExpression\", node, opts);\n}\n\nfunction assertBindExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BindExpression\", node, opts);\n}\n\nfunction assertClassProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassProperty\", node, opts);\n}\n\nfunction assertOptionalMemberExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"OptionalMemberExpression\", node, opts);\n}\n\nfunction assertPipelineTopicExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"PipelineTopicExpression\", node, opts);\n}\n\nfunction assertPipelineBareFunction(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"PipelineBareFunction\", node, opts);\n}\n\nfunction assertPipelinePrimaryTopicReference(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"PipelinePrimaryTopicReference\", node, opts);\n}\n\nfunction assertOptionalCallExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"OptionalCallExpression\", node, opts);\n}\n\nfunction assertClassPrivateProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassPrivateProperty\", node, opts);\n}\n\nfunction assertClassPrivateMethod(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ClassPrivateMethod\", node, opts);\n}\n\nfunction assertImport(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Import\", node, opts);\n}\n\nfunction assertDecorator(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Decorator\", node, opts);\n}\n\nfunction assertDoExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"DoExpression\", node, opts);\n}\n\nfunction assertExportDefaultSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportDefaultSpecifier\", node, opts);\n}\n\nfunction assertExportNamespaceSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportNamespaceSpecifier\", node, opts);\n}\n\nfunction assertPrivateName(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"PrivateName\", node, opts);\n}\n\nfunction assertBigIntLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BigIntLiteral\", node, opts);\n}\n\nfunction assertTSParameterProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSParameterProperty\", node, opts);\n}\n\nfunction assertTSDeclareFunction(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSDeclareFunction\", node, opts);\n}\n\nfunction assertTSDeclareMethod(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSDeclareMethod\", node, opts);\n}\n\nfunction assertTSQualifiedName(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSQualifiedName\", node, opts);\n}\n\nfunction assertTSCallSignatureDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSCallSignatureDeclaration\", node, opts);\n}\n\nfunction assertTSConstructSignatureDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSConstructSignatureDeclaration\", node, opts);\n}\n\nfunction assertTSPropertySignature(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSPropertySignature\", node, opts);\n}\n\nfunction assertTSMethodSignature(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSMethodSignature\", node, opts);\n}\n\nfunction assertTSIndexSignature(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSIndexSignature\", node, opts);\n}\n\nfunction assertTSAnyKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSAnyKeyword\", node, opts);\n}\n\nfunction assertTSBooleanKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSBooleanKeyword\", node, opts);\n}\n\nfunction assertTSBigIntKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSBigIntKeyword\", node, opts);\n}\n\nfunction assertTSNeverKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSNeverKeyword\", node, opts);\n}\n\nfunction assertTSNullKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSNullKeyword\", node, opts);\n}\n\nfunction assertTSNumberKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSNumberKeyword\", node, opts);\n}\n\nfunction assertTSObjectKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSObjectKeyword\", node, opts);\n}\n\nfunction assertTSStringKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSStringKeyword\", node, opts);\n}\n\nfunction assertTSSymbolKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSSymbolKeyword\", node, opts);\n}\n\nfunction assertTSUndefinedKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSUndefinedKeyword\", node, opts);\n}\n\nfunction assertTSUnknownKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSUnknownKeyword\", node, opts);\n}\n\nfunction assertTSVoidKeyword(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSVoidKeyword\", node, opts);\n}\n\nfunction assertTSThisType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSThisType\", node, opts);\n}\n\nfunction assertTSFunctionType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSFunctionType\", node, opts);\n}\n\nfunction assertTSConstructorType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSConstructorType\", node, opts);\n}\n\nfunction assertTSTypeReference(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeReference\", node, opts);\n}\n\nfunction assertTSTypePredicate(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypePredicate\", node, opts);\n}\n\nfunction assertTSTypeQuery(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeQuery\", node, opts);\n}\n\nfunction assertTSTypeLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeLiteral\", node, opts);\n}\n\nfunction assertTSArrayType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSArrayType\", node, opts);\n}\n\nfunction assertTSTupleType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTupleType\", node, opts);\n}\n\nfunction assertTSOptionalType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSOptionalType\", node, opts);\n}\n\nfunction assertTSRestType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSRestType\", node, opts);\n}\n\nfunction assertTSUnionType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSUnionType\", node, opts);\n}\n\nfunction assertTSIntersectionType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSIntersectionType\", node, opts);\n}\n\nfunction assertTSConditionalType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSConditionalType\", node, opts);\n}\n\nfunction assertTSInferType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSInferType\", node, opts);\n}\n\nfunction assertTSParenthesizedType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSParenthesizedType\", node, opts);\n}\n\nfunction assertTSTypeOperator(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeOperator\", node, opts);\n}\n\nfunction assertTSIndexedAccessType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSIndexedAccessType\", node, opts);\n}\n\nfunction assertTSMappedType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSMappedType\", node, opts);\n}\n\nfunction assertTSLiteralType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSLiteralType\", node, opts);\n}\n\nfunction assertTSExpressionWithTypeArguments(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSExpressionWithTypeArguments\", node, opts);\n}\n\nfunction assertTSInterfaceDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSInterfaceDeclaration\", node, opts);\n}\n\nfunction assertTSInterfaceBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSInterfaceBody\", node, opts);\n}\n\nfunction assertTSTypeAliasDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeAliasDeclaration\", node, opts);\n}\n\nfunction assertTSAsExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSAsExpression\", node, opts);\n}\n\nfunction assertTSTypeAssertion(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeAssertion\", node, opts);\n}\n\nfunction assertTSEnumDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSEnumDeclaration\", node, opts);\n}\n\nfunction assertTSEnumMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSEnumMember\", node, opts);\n}\n\nfunction assertTSModuleDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSModuleDeclaration\", node, opts);\n}\n\nfunction assertTSModuleBlock(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSModuleBlock\", node, opts);\n}\n\nfunction assertTSImportType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSImportType\", node, opts);\n}\n\nfunction assertTSImportEqualsDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSImportEqualsDeclaration\", node, opts);\n}\n\nfunction assertTSExternalModuleReference(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSExternalModuleReference\", node, opts);\n}\n\nfunction assertTSNonNullExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSNonNullExpression\", node, opts);\n}\n\nfunction assertTSExportAssignment(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSExportAssignment\", node, opts);\n}\n\nfunction assertTSNamespaceExportDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSNamespaceExportDeclaration\", node, opts);\n}\n\nfunction assertTSTypeAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeAnnotation\", node, opts);\n}\n\nfunction assertTSTypeParameterInstantiation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeParameterInstantiation\", node, opts);\n}\n\nfunction assertTSTypeParameterDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeParameterDeclaration\", node, opts);\n}\n\nfunction assertTSTypeParameter(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeParameter\", node, opts);\n}\n\nfunction assertExpression(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Expression\", node, opts);\n}\n\nfunction assertBinary(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Binary\", node, opts);\n}\n\nfunction assertScopable(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Scopable\", node, opts);\n}\n\nfunction assertBlockParent(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"BlockParent\", node, opts);\n}\n\nfunction assertBlock(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Block\", node, opts);\n}\n\nfunction assertStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Statement\", node, opts);\n}\n\nfunction assertTerminatorless(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Terminatorless\", node, opts);\n}\n\nfunction assertCompletionStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"CompletionStatement\", node, opts);\n}\n\nfunction assertConditional(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Conditional\", node, opts);\n}\n\nfunction assertLoop(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Loop\", node, opts);\n}\n\nfunction assertWhile(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"While\", node, opts);\n}\n\nfunction assertExpressionWrapper(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExpressionWrapper\", node, opts);\n}\n\nfunction assertFor(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"For\", node, opts);\n}\n\nfunction assertForXStatement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ForXStatement\", node, opts);\n}\n\nfunction assertFunction(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Function\", node, opts);\n}\n\nfunction assertFunctionParent(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FunctionParent\", node, opts);\n}\n\nfunction assertPureish(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Pureish\", node, opts);\n}\n\nfunction assertDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Declaration\", node, opts);\n}\n\nfunction assertPatternLike(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"PatternLike\", node, opts);\n}\n\nfunction assertLVal(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"LVal\", node, opts);\n}\n\nfunction assertTSEntityName(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSEntityName\", node, opts);\n}\n\nfunction assertLiteral(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Literal\", node, opts);\n}\n\nfunction assertImmutable(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Immutable\", node, opts);\n}\n\nfunction assertUserWhitespacable(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"UserWhitespacable\", node, opts);\n}\n\nfunction assertMethod(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Method\", node, opts);\n}\n\nfunction assertObjectMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ObjectMember\", node, opts);\n}\n\nfunction assertProperty(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Property\", node, opts);\n}\n\nfunction assertUnaryLike(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"UnaryLike\", node, opts);\n}\n\nfunction assertPattern(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Pattern\", node, opts);\n}\n\nfunction assertClass(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Class\", node, opts);\n}\n\nfunction assertModuleDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ModuleDeclaration\", node, opts);\n}\n\nfunction assertExportDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ExportDeclaration\", node, opts);\n}\n\nfunction assertModuleSpecifier(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"ModuleSpecifier\", node, opts);\n}\n\nfunction assertFlow(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Flow\", node, opts);\n}\n\nfunction assertFlowType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FlowType\", node, opts);\n}\n\nfunction assertFlowBaseAnnotation(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FlowBaseAnnotation\", node, opts);\n}\n\nfunction assertFlowDeclaration(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FlowDeclaration\", node, opts);\n}\n\nfunction assertFlowPredicate(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"FlowPredicate\", node, opts);\n}\n\nfunction assertEnumBody(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumBody\", node, opts);\n}\n\nfunction assertEnumMember(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"EnumMember\", node, opts);\n}\n\nfunction assertJSX(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"JSX\", node, opts);\n}\n\nfunction assertPrivate(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"Private\", node, opts);\n}\n\nfunction assertTSTypeElement(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSTypeElement\", node, opts);\n}\n\nfunction assertTSType(node) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n assert(\"TSType\", node, opts);\n}\n\nfunction assertNumberLiteral(node, opts) {\n console.trace(\"The node type NumberLiteral has been renamed to NumericLiteral\");\n assert(\"NumberLiteral\", node, opts);\n}\n\nfunction assertRegexLiteral(node, opts) {\n console.trace(\"The node type RegexLiteral has been renamed to RegExpLiteral\");\n assert(\"RegexLiteral\", node, opts);\n}\n\nfunction assertRestProperty(node, opts) {\n console.trace(\"The node type RestProperty has been renamed to RestElement\");\n assert(\"RestProperty\", node, opts);\n}\n\nfunction assertSpreadProperty(node, opts) {\n console.trace(\"The node type SpreadProperty has been renamed to SpreadElement\");\n assert(\"SpreadProperty\", node, opts);\n}","map":null,"metadata":{},"sourceType":"script"} |