From 08ba15aab8a7847c7ad830f3fe50de7fb010d4d2 Mon Sep 17 00:00:00 2001 From: Ian Craig Date: Sun, 17 Feb 2019 17:12:46 -0800 Subject: [PATCH] is* and assert* checks accept null and undefined --- types/babel-types/babel-types-tests.ts | 6 + types/babel-types/index.d.ts | 928 ++++++++++++------------- types/babel-types/tsconfig.json | 2 +- 3 files changed, 471 insertions(+), 465 deletions(-) diff --git a/types/babel-types/babel-types-tests.ts b/types/babel-types/babel-types-tests.ts index 8ffb1b32de..921608924c 100644 --- a/types/babel-types/babel-types-tests.ts +++ b/types/babel-types/babel-types-tests.ts @@ -53,6 +53,12 @@ traverse(ast, { } }); +// Node type checks +t.isIdentifier(t.identifier("id")); +t.isIdentifier(exp); +t.isIdentifier(null); +t.isIdentifier(undefined); + // TypeScript Types // TODO: Test all variants of these functions' signatures diff --git a/types/babel-types/index.d.ts b/types/babel-types/index.d.ts index d37cdf0a76..d164fba1d5 100644 --- a/types/babel-types/index.d.ts +++ b/types/babel-types/index.d.ts @@ -1514,246 +1514,246 @@ export function TSUndefinedKeyword(): TSUndefinedKeyword; export function TSUnionType(types: TSType[]): TSUnionType; export function TSVoidKeyword(): TSVoidKeyword; -export function isArrayExpression(node: object, opts?: object): node is ArrayExpression; -export function isAssignmentExpression(node: object, opts?: object): node is AssignmentExpression; -export function isBinaryExpression(node: object, opts?: object): node is BinaryExpression; -export function isDirective(node: object, opts?: object): node is Directive; -export function isDirectiveLiteral(node: object, opts?: object): node is DirectiveLiteral; -export function isBlockStatement(node: object, opts?: object): node is BlockStatement; -export function isBreakStatement(node: object, opts?: object): node is BreakStatement; -export function isCallExpression(node: object, opts?: object): node is CallExpression; -export function isCatchClause(node: object, opts?: object): node is CatchClause; -export function isConditionalExpression(node: object, opts?: object): node is ConditionalExpression; -export function isContinueStatement(node: object, opts?: object): node is ContinueStatement; -export function isDebuggerStatement(node: object, opts?: object): node is DebuggerStatement; -export function isDoWhileStatement(node: object, opts?: object): node is DoWhileStatement; -export function isEmptyStatement(node: object, opts?: object): node is EmptyStatement; -export function isExpressionStatement(node: object, opts?: object): node is ExpressionStatement; -export function isFile(node: object, opts?: object): node is File; -export function isForInStatement(node: object, opts?: object): node is ForInStatement; -export function isForStatement(node: object, opts?: object): node is ForStatement; -export function isFunctionDeclaration(node: object, opts?: object): node is FunctionDeclaration; -export function isFunctionExpression(node: object, opts?: object): node is FunctionExpression; -export function isIdentifier(node: object, opts?: object): node is Identifier; -export function isIfStatement(node: object, opts?: object): node is IfStatement; -export function isLabeledStatement(node: object, opts?: object): node is LabeledStatement; -export function isStringLiteral(node: object, opts?: object): node is StringLiteral; -export function isNumericLiteral(node: object, opts?: object): node is NumericLiteral; -export function isNullLiteral(node: object, opts?: object): node is NullLiteral; -export function isBooleanLiteral(node: object, opts?: object): node is BooleanLiteral; -export function isRegExpLiteral(node: object, opts?: object): node is RegExpLiteral; -export function isLogicalExpression(node: object, opts?: object): node is LogicalExpression; -export function isMemberExpression(node: object, opts?: object): node is MemberExpression; -export function isNewExpression(node: object, opts?: object): node is NewExpression; -export function isProgram(node: object, opts?: object): node is Program; -export function isObjectExpression(node: object, opts?: object): node is ObjectExpression; -export function isObjectMethod(node: object, opts?: object): node is ObjectMethod; -export function isObjectProperty(node: object, opts?: object): node is ObjectProperty; -export function isRestElement(node: object, opts?: object): node is RestElement; -export function isReturnStatement(node: object, opts?: object): node is ReturnStatement; -export function isSequenceExpression(node: object, opts?: object): node is SequenceExpression; -export function isSwitchCase(node: object, opts?: object): node is SwitchCase; -export function isSwitchStatement(node: object, opts?: object): node is SwitchStatement; -export function isThisExpression(node: object, opts?: object): node is ThisExpression; -export function isThrowStatement(node: object, opts?: object): node is ThrowStatement; -export function isTryStatement(node: object, opts?: object): node is TryStatement; -export function isUnaryExpression(node: object, opts?: object): node is UnaryExpression; -export function isUpdateExpression(node: object, opts?: object): node is UpdateExpression; -export function isVariableDeclaration(node: object, opts?: object): node is VariableDeclaration; -export function isVariableDeclarator(node: object, opts?: object): node is VariableDeclarator; -export function isWhileStatement(node: object, opts?: object): node is WhileStatement; -export function isWithStatement(node: object, opts?: object): node is WithStatement; -export function isAssignmentPattern(node: object, opts?: object): node is AssignmentPattern; -export function isArrayPattern(node: object, opts?: object): node is ArrayPattern; -export function isArrowFunctionExpression(node: object, opts?: object): node is ArrowFunctionExpression; -export function isClassBody(node: object, opts?: object): node is ClassBody; -export function isClassDeclaration(node: object, opts?: object): node is ClassDeclaration; -export function isClassExpression(node: object, opts?: object): node is ClassExpression; -export function isExportAllDeclaration(node: object, opts?: object): node is ExportAllDeclaration; -export function isExportDefaultDeclaration(node: object, opts?: object): node is ExportDefaultDeclaration; -export function isExportNamedDeclaration(node: object, opts?: object): node is ExportNamedDeclaration; -export function isExportSpecifier(node: object, opts?: object): node is ExportSpecifier; -export function isForOfStatement(node: object, opts?: object): node is ForOfStatement; -export function isImportDeclaration(node: object, opts?: object): node is ImportDeclaration; -export function isImportDefaultSpecifier(node: object, opts?: object): node is ImportDefaultSpecifier; -export function isImportNamespaceSpecifier(node: object, opts?: object): node is ImportNamespaceSpecifier; -export function isImportSpecifier(node: object, opts?: object): node is ImportSpecifier; -export function isMetaProperty(node: object, opts?: object): node is MetaProperty; -export function isClassMethod(node: object, opts?: object): node is ClassMethod; -export function isObjectPattern(node: object, opts?: object): node is ObjectPattern; -export function isSpreadElement(node: object, opts?: object): node is SpreadElement; -export function isSuper(node: object, opts?: object): node is Super; -export function isTaggedTemplateExpression(node: object, opts?: object): node is TaggedTemplateExpression; -export function isTemplateElement(node: object, opts?: object): node is TemplateElement; -export function isTemplateLiteral(node: object, opts?: object): node is TemplateLiteral; -export function isYieldExpression(node: object, opts?: object): node is YieldExpression; -export function isAnyTypeAnnotation(node: object, opts?: object): node is AnyTypeAnnotation; -export function isArrayTypeAnnotation(node: object, opts?: object): node is ArrayTypeAnnotation; -export function isBooleanTypeAnnotation(node: object, opts?: object): node is BooleanTypeAnnotation; -export function isBooleanLiteralTypeAnnotation(node: object, opts?: object): node is BooleanLiteralTypeAnnotation; -export function isNullLiteralTypeAnnotation(node: object, opts?: object): node is NullLiteralTypeAnnotation; -export function isClassImplements(node: object, opts?: object): node is ClassImplements; -export function isClassProperty(node: object, opts?: object): node is ClassProperty; -export function isDeclareClass(node: object, opts?: object): node is DeclareClass; -export function isDeclareFunction(node: object, opts?: object): node is DeclareFunction; -export function isDeclareInterface(node: object, opts?: object): node is DeclareInterface; -export function isDeclareModule(node: object, opts?: object): node is DeclareModule; -export function isDeclareTypeAlias(node: object, opts?: object): node is DeclareTypeAlias; -export function isDeclareVariable(node: object, opts?: object): node is DeclareVariable; -export function isExistentialTypeParam(node: object, opts?: object): node is ExistentialTypeParam; -export function isFunctionTypeAnnotation(node: object, opts?: object): node is FunctionTypeAnnotation; -export function isFunctionTypeParam(node: object, opts?: object): node is FunctionTypeParam; -export function isGenericTypeAnnotation(node: object, opts?: object): node is GenericTypeAnnotation; -export function isInterfaceExtends(node: object, opts?: object): node is InterfaceExtends; -export function isInterfaceDeclaration(node: object, opts?: object): node is InterfaceDeclaration; -export function isIntersectionTypeAnnotation(node: object, opts?: object): node is IntersectionTypeAnnotation; -export function isMixedTypeAnnotation(node: object, opts?: object): node is MixedTypeAnnotation; -export function isNullableTypeAnnotation(node: object, opts?: object): node is NullableTypeAnnotation; -export function isNumericLiteralTypeAnnotation(node: object, opts?: object): node is NumericLiteralTypeAnnotation; -export function isNumberTypeAnnotation(node: object, opts?: object): node is NumberTypeAnnotation; -export function isStringLiteralTypeAnnotation(node: object, opts?: object): node is StringLiteralTypeAnnotation; -export function isStringTypeAnnotation(node: object, opts?: object): node is StringTypeAnnotation; -export function isThisTypeAnnotation(node: object, opts?: object): node is ThisTypeAnnotation; -export function isTupleTypeAnnotation(node: object, opts?: object): node is TupleTypeAnnotation; -export function isTypeofTypeAnnotation(node: object, opts?: object): node is TypeofTypeAnnotation; -export function isTypeAlias(node: object, opts?: object): node is TypeAlias; -export function isTypeAnnotation(node: object, opts?: object): node is TypeAnnotation; -export function isTypeCastExpression(node: object, opts?: object): node is TypeCastExpression; -export function isTypeParameter(node: object, opts?: object): node is TypeParameter; -export function isTypeParameterDeclaration(node: object, opts?: object): node is TypeParameterDeclaration; -export function isTypeParameterInstantiation(node: object, opts?: object): node is TypeParameterInstantiation; -export function isObjectTypeAnnotation(node: object, opts?: object): node is ObjectTypeAnnotation; -export function isObjectTypeCallProperty(node: object, opts?: object): node is ObjectTypeCallProperty; -export function isObjectTypeIndexer(node: object, opts?: object): node is ObjectTypeIndexer; -export function isObjectTypeProperty(node: object, opts?: object): node is ObjectTypeProperty; -export function isQualifiedTypeIdentifier(node: object, opts?: object): node is QualifiedTypeIdentifier; -export function isUnionTypeAnnotation(node: object, opts?: object): node is UnionTypeAnnotation; -export function isVoidTypeAnnotation(node: object, opts?: object): node is VoidTypeAnnotation; -export function isJSXAttribute(node: object, opts?: object): node is JSXAttribute; -export function isJSXClosingElement(node: object, opts?: object): node is JSXClosingElement; -export function isJSXElement(node: object, opts?: object): node is JSXElement; -export function isJSXEmptyExpression(node: object, opts?: object): node is JSXEmptyExpression; -export function isJSXExpressionContainer(node: object, opts?: object): node is JSXExpressionContainer; -export function isJSXIdentifier(node: object, opts?: object): node is JSXIdentifier; -export function isJSXMemberExpression(node: object, opts?: object): node is JSXMemberExpression; -export function isJSXNamespacedName(node: object, opts?: object): node is JSXNamespacedName; -export function isJSXOpeningElement(node: object, opts?: object): node is JSXOpeningElement; -export function isJSXSpreadAttribute(node: object, opts?: object): node is JSXSpreadAttribute; -export function isJSXText(node: object, opts?: object): node is JSXText; -export function isNoop(node: object, opts?: object): node is Noop; -export function isParenthesizedExpression(node: object, opts?: object): node is ParenthesizedExpression; -export function isAwaitExpression(node: object, opts?: object): node is AwaitExpression; -export function isBindExpression(node: object, opts?: object): node is BindExpression; -export function isDecorator(node: object, opts?: object): node is Decorator; -export function isDoExpression(node: object, opts?: object): node is DoExpression; -export function isExportDefaultSpecifier(node: object, opts?: object): node is ExportDefaultSpecifier; -export function isExportNamespaceSpecifier(node: object, opts?: object): node is ExportNamespaceSpecifier; -export function isRestProperty(node: object, opts?: object): node is RestProperty; -export function isSpreadProperty(node: object, opts?: object): node is SpreadProperty; -export function isExpression(node: object, opts?: object): node is Expression; -export function isBinary(node: object, opts?: object): node is Binary; -export function isScopable(node: object, opts?: object): node is Scopable; -export function isBlockParent(node: object, opts?: object): node is BlockParent; -export function isBlock(node: object, opts?: object): node is Block; -export function isStatement(node: object, opts?: object): node is Statement; -export function isTerminatorless(node: object, opts?: object): node is Terminatorless; -export function isCompletionStatement(node: object, opts?: object): node is CompletionStatement; -export function isConditional(node: object, opts?: object): node is Conditional; -export function isLoop(node: object, opts?: object): node is Loop; -export function isWhile(node: object, opts?: object): node is While; -export function isExpressionWrapper(node: object, opts?: object): node is ExpressionWrapper; -export function isFor(node: object, opts?: object): node is For; -export function isForXStatement(node: object, opts?: object): node is ForXStatement; +export function isArrayExpression(node: any, opts?: object): node is ArrayExpression; +export function isAssignmentExpression(node: any, opts?: object): node is AssignmentExpression; +export function isBinaryExpression(node: any, opts?: object): node is BinaryExpression; +export function isDirective(node: any, opts?: object): node is Directive; +export function isDirectiveLiteral(node: any, opts?: object): node is DirectiveLiteral; +export function isBlockStatement(node: any, opts?: object): node is BlockStatement; +export function isBreakStatement(node: any, opts?: object): node is BreakStatement; +export function isCallExpression(node: any, opts?: object): node is CallExpression; +export function isCatchClause(node: any, opts?: object): node is CatchClause; +export function isConditionalExpression(node: any, opts?: object): node is ConditionalExpression; +export function isContinueStatement(node: any, opts?: object): node is ContinueStatement; +export function isDebuggerStatement(node: any, opts?: object): node is DebuggerStatement; +export function isDoWhileStatement(node: any, opts?: object): node is DoWhileStatement; +export function isEmptyStatement(node: any, opts?: object): node is EmptyStatement; +export function isExpressionStatement(node: any, opts?: object): node is ExpressionStatement; +export function isFile(node: any, opts?: object): node is File; +export function isForInStatement(node: any, opts?: object): node is ForInStatement; +export function isForStatement(node: any, opts?: object): node is ForStatement; +export function isFunctionDeclaration(node: any, opts?: object): node is FunctionDeclaration; +export function isFunctionExpression(node: any, opts?: object): node is FunctionExpression; +export function isIdentifier(node: any, opts?: object): node is Identifier; +export function isIfStatement(node: any, opts?: object): node is IfStatement; +export function isLabeledStatement(node: any, opts?: object): node is LabeledStatement; +export function isStringLiteral(node: any, opts?: object): node is StringLiteral; +export function isNumericLiteral(node: any, opts?: object): node is NumericLiteral; +export function isNullLiteral(node: any, opts?: object): node is NullLiteral; +export function isBooleanLiteral(node: any, opts?: object): node is BooleanLiteral; +export function isRegExpLiteral(node: any, opts?: object): node is RegExpLiteral; +export function isLogicalExpression(node: any, opts?: object): node is LogicalExpression; +export function isMemberExpression(node: any, opts?: object): node is MemberExpression; +export function isNewExpression(node: any, opts?: object): node is NewExpression; +export function isProgram(node: any, opts?: object): node is Program; +export function isObjectExpression(node: any, opts?: object): node is ObjectExpression; +export function isObjectMethod(node: any, opts?: object): node is ObjectMethod; +export function isObjectProperty(node: any, opts?: object): node is ObjectProperty; +export function isRestElement(node: any, opts?: object): node is RestElement; +export function isReturnStatement(node: any, opts?: object): node is ReturnStatement; +export function isSequenceExpression(node: any, opts?: object): node is SequenceExpression; +export function isSwitchCase(node: any, opts?: object): node is SwitchCase; +export function isSwitchStatement(node: any, opts?: object): node is SwitchStatement; +export function isThisExpression(node: any, opts?: object): node is ThisExpression; +export function isThrowStatement(node: any, opts?: object): node is ThrowStatement; +export function isTryStatement(node: any, opts?: object): node is TryStatement; +export function isUnaryExpression(node: any, opts?: object): node is UnaryExpression; +export function isUpdateExpression(node: any, opts?: object): node is UpdateExpression; +export function isVariableDeclaration(node: any, opts?: object): node is VariableDeclaration; +export function isVariableDeclarator(node: any, opts?: object): node is VariableDeclarator; +export function isWhileStatement(node: any, opts?: object): node is WhileStatement; +export function isWithStatement(node: any, opts?: object): node is WithStatement; +export function isAssignmentPattern(node: any, opts?: object): node is AssignmentPattern; +export function isArrayPattern(node: any, opts?: object): node is ArrayPattern; +export function isArrowFunctionExpression(node: any, opts?: object): node is ArrowFunctionExpression; +export function isClassBody(node: any, opts?: object): node is ClassBody; +export function isClassDeclaration(node: any, opts?: object): node is ClassDeclaration; +export function isClassExpression(node: any, opts?: object): node is ClassExpression; +export function isExportAllDeclaration(node: any, opts?: object): node is ExportAllDeclaration; +export function isExportDefaultDeclaration(node: any, opts?: object): node is ExportDefaultDeclaration; +export function isExportNamedDeclaration(node: any, opts?: object): node is ExportNamedDeclaration; +export function isExportSpecifier(node: any, opts?: object): node is ExportSpecifier; +export function isForOfStatement(node: any, opts?: object): node is ForOfStatement; +export function isImportDeclaration(node: any, opts?: object): node is ImportDeclaration; +export function isImportDefaultSpecifier(node: any, opts?: object): node is ImportDefaultSpecifier; +export function isImportNamespaceSpecifier(node: any, opts?: object): node is ImportNamespaceSpecifier; +export function isImportSpecifier(node: any, opts?: object): node is ImportSpecifier; +export function isMetaProperty(node: any, opts?: object): node is MetaProperty; +export function isClassMethod(node: any, opts?: object): node is ClassMethod; +export function isObjectPattern(node: any, opts?: object): node is ObjectPattern; +export function isSpreadElement(node: any, opts?: object): node is SpreadElement; +export function isSuper(node: any, opts?: object): node is Super; +export function isTaggedTemplateExpression(node: any, opts?: object): node is TaggedTemplateExpression; +export function isTemplateElement(node: any, opts?: object): node is TemplateElement; +export function isTemplateLiteral(node: any, opts?: object): node is TemplateLiteral; +export function isYieldExpression(node: any, opts?: object): node is YieldExpression; +export function isAnyTypeAnnotation(node: any, opts?: object): node is AnyTypeAnnotation; +export function isArrayTypeAnnotation(node: any, opts?: object): node is ArrayTypeAnnotation; +export function isBooleanTypeAnnotation(node: any, opts?: object): node is BooleanTypeAnnotation; +export function isBooleanLiteralTypeAnnotation(node: any, opts?: object): node is BooleanLiteralTypeAnnotation; +export function isNullLiteralTypeAnnotation(node: any, opts?: object): node is NullLiteralTypeAnnotation; +export function isClassImplements(node: any, opts?: object): node is ClassImplements; +export function isClassProperty(node: any, opts?: object): node is ClassProperty; +export function isDeclareClass(node: any, opts?: object): node is DeclareClass; +export function isDeclareFunction(node: any, opts?: object): node is DeclareFunction; +export function isDeclareInterface(node: any, opts?: object): node is DeclareInterface; +export function isDeclareModule(node: any, opts?: object): node is DeclareModule; +export function isDeclareTypeAlias(node: any, opts?: object): node is DeclareTypeAlias; +export function isDeclareVariable(node: any, opts?: object): node is DeclareVariable; +export function isExistentialTypeParam(node: any, opts?: object): node is ExistentialTypeParam; +export function isFunctionTypeAnnotation(node: any, opts?: object): node is FunctionTypeAnnotation; +export function isFunctionTypeParam(node: any, opts?: object): node is FunctionTypeParam; +export function isGenericTypeAnnotation(node: any, opts?: object): node is GenericTypeAnnotation; +export function isInterfaceExtends(node: any, opts?: object): node is InterfaceExtends; +export function isInterfaceDeclaration(node: any, opts?: object): node is InterfaceDeclaration; +export function isIntersectionTypeAnnotation(node: any, opts?: object): node is IntersectionTypeAnnotation; +export function isMixedTypeAnnotation(node: any, opts?: object): node is MixedTypeAnnotation; +export function isNullableTypeAnnotation(node: any, opts?: object): node is NullableTypeAnnotation; +export function isNumericLiteralTypeAnnotation(node: any, opts?: object): node is NumericLiteralTypeAnnotation; +export function isNumberTypeAnnotation(node: any, opts?: object): node is NumberTypeAnnotation; +export function isStringLiteralTypeAnnotation(node: any, opts?: object): node is StringLiteralTypeAnnotation; +export function isStringTypeAnnotation(node: any, opts?: object): node is StringTypeAnnotation; +export function isThisTypeAnnotation(node: any, opts?: object): node is ThisTypeAnnotation; +export function isTupleTypeAnnotation(node: any, opts?: object): node is TupleTypeAnnotation; +export function isTypeofTypeAnnotation(node: any, opts?: object): node is TypeofTypeAnnotation; +export function isTypeAlias(node: any, opts?: object): node is TypeAlias; +export function isTypeAnnotation(node: any, opts?: object): node is TypeAnnotation; +export function isTypeCastExpression(node: any, opts?: object): node is TypeCastExpression; +export function isTypeParameter(node: any, opts?: object): node is TypeParameter; +export function isTypeParameterDeclaration(node: any, opts?: object): node is TypeParameterDeclaration; +export function isTypeParameterInstantiation(node: any, opts?: object): node is TypeParameterInstantiation; +export function isObjectTypeAnnotation(node: any, opts?: object): node is ObjectTypeAnnotation; +export function isObjectTypeCallProperty(node: any, opts?: object): node is ObjectTypeCallProperty; +export function isObjectTypeIndexer(node: any, opts?: object): node is ObjectTypeIndexer; +export function isObjectTypeProperty(node: any, opts?: object): node is ObjectTypeProperty; +export function isQualifiedTypeIdentifier(node: any, opts?: object): node is QualifiedTypeIdentifier; +export function isUnionTypeAnnotation(node: any, opts?: object): node is UnionTypeAnnotation; +export function isVoidTypeAnnotation(node: any, opts?: object): node is VoidTypeAnnotation; +export function isJSXAttribute(node: any, opts?: object): node is JSXAttribute; +export function isJSXClosingElement(node: any, opts?: object): node is JSXClosingElement; +export function isJSXElement(node: any, opts?: object): node is JSXElement; +export function isJSXEmptyExpression(node: any, opts?: object): node is JSXEmptyExpression; +export function isJSXExpressionContainer(node: any, opts?: object): node is JSXExpressionContainer; +export function isJSXIdentifier(node: any, opts?: object): node is JSXIdentifier; +export function isJSXMemberExpression(node: any, opts?: object): node is JSXMemberExpression; +export function isJSXNamespacedName(node: any, opts?: object): node is JSXNamespacedName; +export function isJSXOpeningElement(node: any, opts?: object): node is JSXOpeningElement; +export function isJSXSpreadAttribute(node: any, opts?: object): node is JSXSpreadAttribute; +export function isJSXText(node: any, opts?: object): node is JSXText; +export function isNoop(node: any, opts?: object): node is Noop; +export function isParenthesizedExpression(node: any, opts?: object): node is ParenthesizedExpression; +export function isAwaitExpression(node: any, opts?: object): node is AwaitExpression; +export function isBindExpression(node: any, opts?: object): node is BindExpression; +export function isDecorator(node: any, opts?: object): node is Decorator; +export function isDoExpression(node: any, opts?: object): node is DoExpression; +export function isExportDefaultSpecifier(node: any, opts?: object): node is ExportDefaultSpecifier; +export function isExportNamespaceSpecifier(node: any, opts?: object): node is ExportNamespaceSpecifier; +export function isRestProperty(node: any, opts?: object): node is RestProperty; +export function isSpreadProperty(node: any, opts?: object): node is SpreadProperty; +export function isExpression(node: any, opts?: object): node is Expression; +export function isBinary(node: any, opts?: object): node is Binary; +export function isScopable(node: any, opts?: object): node is Scopable; +export function isBlockParent(node: any, opts?: object): node is BlockParent; +export function isBlock(node: any, opts?: object): node is Block; +export function isStatement(node: any, opts?: object): node is Statement; +export function isTerminatorless(node: any, opts?: object): node is Terminatorless; +export function isCompletionStatement(node: any, opts?: object): node is CompletionStatement; +export function isConditional(node: any, opts?: object): node is Conditional; +export function isLoop(node: any, opts?: object): node is Loop; +export function isWhile(node: any, opts?: object): node is While; +export function isExpressionWrapper(node: any, opts?: object): node is ExpressionWrapper; +export function isFor(node: any, opts?: object): node is For; +export function isForXStatement(node: any, opts?: object): node is ForXStatement; // tslint:disable-next-line ban-types -export function isFunction(node: object, opts?: object): node is Function; -export function isFunctionParent(node: object, opts?: object): node is FunctionParent; -export function isPureish(node: object, opts?: object): node is Pureish; -export function isDeclaration(node: object, opts?: object): node is Declaration; -export function isLVal(node: object, opts?: object): node is LVal; -export function isLiteral(node: object, opts?: object): node is Literal; -export function isImmutable(node: object, opts?: object): node is Immutable; -export function isUserWhitespacable(node: object, opts?: object): node is UserWhitespacable; -export function isMethod(node: object, opts?: object): node is Method; -export function isObjectMember(node: object, opts?: object): node is ObjectMember; -export function isProperty(node: object, opts?: object): node is Property; -export function isUnaryLike(node: object, opts?: object): node is UnaryLike; -export function isPattern(node: object, opts?: object): node is Pattern; -export function isClass(node: object, opts?: object): node is Class; -export function isModuleDeclaration(node: object, opts?: object): node is ModuleDeclaration; -export function isExportDeclaration(node: object, opts?: object): node is ExportDeclaration; -export function isModuleSpecifier(node: object, opts?: object): node is ModuleSpecifier; -export function isFlow(node: object, opts?: object): node is Flow; -export function isFlowBaseAnnotation(node: object, opts?: object): node is FlowBaseAnnotation; -export function isFlowDeclaration(node: object, opts?: object): node is FlowDeclaration; -export function isJSX(node: object, opts?: object): node is JSX; -export function isNumberLiteral(node: object, opts?: object): node is NumericLiteral; -export function isRegexLiteral(node: object, opts?: object): node is RegExpLiteral; +export function isFunction(node: any, opts?: object): node is Function; +export function isFunctionParent(node: any, opts?: object): node is FunctionParent; +export function isPureish(node: any, opts?: object): node is Pureish; +export function isDeclaration(node: any, opts?: object): node is Declaration; +export function isLVal(node: any, opts?: object): node is LVal; +export function isLiteral(node: any, opts?: object): node is Literal; +export function isImmutable(node: any, opts?: object): node is Immutable; +export function isUserWhitespacable(node: any, opts?: object): node is UserWhitespacable; +export function isMethod(node: any, opts?: object): node is Method; +export function isObjectMember(node: any, opts?: object): node is ObjectMember; +export function isProperty(node: any, opts?: object): node is Property; +export function isUnaryLike(node: any, opts?: object): node is UnaryLike; +export function isPattern(node: any, opts?: object): node is Pattern; +export function isClass(node: any, opts?: object): node is Class; +export function isModuleDeclaration(node: any, opts?: object): node is ModuleDeclaration; +export function isExportDeclaration(node: any, opts?: object): node is ExportDeclaration; +export function isModuleSpecifier(node: any, opts?: object): node is ModuleSpecifier; +export function isFlow(node: any, opts?: object): node is Flow; +export function isFlowBaseAnnotation(node: any, opts?: object): node is FlowBaseAnnotation; +export function isFlowDeclaration(node: any, opts?: object): node is FlowDeclaration; +export function isJSX(node: any, opts?: object): node is JSX; +export function isNumberLiteral(node: any, opts?: object): node is NumericLiteral; +export function isRegexLiteral(node: any, opts?: object): node is RegExpLiteral; -export function isReferencedIdentifier(node: object, opts?: object): node is Identifier | JSXIdentifier; -export function isReferencedMemberExpression(node: object, opts?: object): node is MemberExpression; -export function isBindingIdentifier(node: object, opts?: object): node is Identifier; -export function isScope(node: object, opts?: object): node is Scopable; -export function isReferenced(node: object, opts?: object): boolean; -export function isBlockScoped(node: object, opts?: object): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration; -export function isVar(node: object, opts?: object): node is VariableDeclaration; -export function isUser(node: object, opts?: object): boolean; -export function isGenerated(node: object, opts?: object): boolean; -export function isPure(node: object, opts?: object): boolean; +export function isReferencedIdentifier(node: any, opts?: object): node is Identifier | JSXIdentifier; +export function isReferencedMemberExpression(node: any, opts?: object): node is MemberExpression; +export function isBindingIdentifier(node: any, opts?: object): node is Identifier; +export function isScope(node: any, opts?: object): node is Scopable; +export function isReferenced(node: any, opts?: object): boolean; +export function isBlockScoped(node: any, opts?: object): node is FunctionDeclaration | ClassDeclaration | VariableDeclaration; +export function isVar(node: any, opts?: object): node is VariableDeclaration; +export function isUser(node: any, opts?: object): boolean; +export function isGenerated(node: any, opts?: object): boolean; +export function isPure(node: any, opts?: object): boolean; -export function isTSAnyKeyword(node: object, opts?: object): node is TSAnyKeyword; -export function isTSArrayType(node: object, opts?: object): node is TSArrayType; -export function isTSAsExpression(node: object, opts?: object): node is TSAsExpression; -export function isTSBooleanKeyword(node: object, opts?: object): node is TSBooleanKeyword; -export function isTSCallSignatureDeclaration(node: object, opts?: object): node is TSCallSignatureDeclaration; -export function isTSConstructSignatureDeclaration(node: object, opts?: object): node is TSTypeElement; -export function isTSConstructorType(node: object, opts?: object): node is TSConstructorType; -export function isTSDeclareFunction(node: object, opts?: object): node is TSDeclareFunction; -export function isTSDeclareMethod(node: object, opts?: object): node is TSDeclareMethod; -export function isTSEnumDeclaration(node: object, opts?: object): node is TSEnumDeclaration; -export function isTSEnumMember(node: object, opts?: object): node is TSEnumMember; -export function isTSExportAssignment(node: object, opts?: object): node is TSExportAssignment; -export function isTSExpressionWithTypeArguments(node: object, opts?: object): node is TSExpressionWithTypeArguments; -export function isTSExternalModuleReference(node: object, opts?: object): node is TSExternalModuleReference; -export function isTSFunctionType(node: object, opts?: object): node is TSFunctionType; -export function isTSImportEqualsDeclaration(node: object, opts?: object): node is TSImportEqualsDeclaration; -export function isTSIndexSignature(node: object, opts?: object): node is TSIndexSignature; -export function isTSIndexedAccessType(node: object, opts?: object): node is TSIndexedAccessType; -export function isTSInterfaceBody(node: object, opts?: object): node is TSInterfaceBody; -export function isTSInterfaceDeclaration(node: object, opts?: object): node is TSInterfaceDeclaration; -export function isTSIntersectionType(node: object, opts?: object): node is TSIntersectionType; -export function isTSLiteralType(node: object, opts?: object): node is TSLiteralType; -export function isTSMappedType(node: object, opts?: object): node is TSMappedType; -export function isTSMethodSignature(node: object, opts?: object): node is TSMethodSignature; -export function isTSModuleBlock(node: object, opts?: object): node is TSModuleBlock; -export function isTSModuleDeclaration(node: object, opts?: object): node is TSModuleDeclaration; -export function isTSNamespaceExportDeclaration(node: object, opts?: object): node is TSNamespaceExportDeclaration; -export function isTSNeverKeyword(node: object, opts?: object): node is TSNeverKeyword; -export function isTSNonNullExpression(node: object, opts?: object): node is TSNonNullExpression; -export function isTSNullKeyword(node: object, opts?: object): node is TSNullKeyword; -export function isTSNumberKeyword(node: object, opts?: object): node is TSNumberKeyword; -export function isTSObjectKeyword(node: object, opts?: object): node is TSObjectKeyword; -export function isTSParameterProperty(node: object, opts?: object): node is TSParameterProperty; -export function isTSParenthesizedType(node: object, opts?: object): node is TSParenthesizedType; -export function isTSPropertySignature(node: object, opts?: object): node is TSPropertySignature; -export function isTSQualifiedName(node: object, opts?: object): node is TSQualifiedName; -export function isTSStringKeyword(node: object, opts?: object): node is TSStringKeyword; -export function isTSSymbolKeyword(node: object, opts?: object): node is TSSymbolKeyword; -export function isTSThisType(node: object, opts?: object): node is TSThisType; -export function isTSTupleType(node: object, opts?: object): node is TSTupleType; -export function isTSTypeAliasDeclaration(node: object, opts?: object): node is TSTypeAliasDeclaration; -export function isTSTypeAnnotation(node: object, opts?: object): node is TSTypeAnnotation; -export function isTSTypeAssertion(node: object, opts?: object): node is TSTypeAssertion; -export function isTSTypeLiteral(node: object, opts?: object): node is TSTypeLiteral; -export function isTSTypeOperator(node: object, opts?: object): node is TSTypeOperator; -export function isTSTypeParameter(node: object, opts?: object): node is TSTypeParameter; -export function isTSTypeParameterDeclaration(node: object, opts?: object): node is TSTypeParameterDeclaration; -export function isTSTypeParameterInstantiation(node: object, opts?: object): node is TSTypeParameterInstantiation; -export function isTSTypePredicate(node: object, opts?: object): node is TSTypePredicate; -export function isTSTypeQuery(node: object, opts?: object): node is TSTypeQuery; -export function isTSTypeReference(node: object, opts?: object): node is TSTypeReference; -export function isTSUndefinedKeyword(node: object, opts?: object): node is TSUndefinedKeyword; -export function isTSUnionType(node: object, opts?: object): node is TSUnionType; -export function isTSVoidKeyword(node: object, opts?: object): node is TSVoidKeyword; +export function isTSAnyKeyword(node: any, opts?: object): node is TSAnyKeyword; +export function isTSArrayType(node: any, opts?: object): node is TSArrayType; +export function isTSAsExpression(node: any, opts?: object): node is TSAsExpression; +export function isTSBooleanKeyword(node: any, opts?: object): node is TSBooleanKeyword; +export function isTSCallSignatureDeclaration(node: any, opts?: object): node is TSCallSignatureDeclaration; +export function isTSConstructSignatureDeclaration(node: any, opts?: object): node is TSTypeElement; +export function isTSConstructorType(node: any, opts?: object): node is TSConstructorType; +export function isTSDeclareFunction(node: any, opts?: object): node is TSDeclareFunction; +export function isTSDeclareMethod(node: any, opts?: object): node is TSDeclareMethod; +export function isTSEnumDeclaration(node: any, opts?: object): node is TSEnumDeclaration; +export function isTSEnumMember(node: any, opts?: object): node is TSEnumMember; +export function isTSExportAssignment(node: any, opts?: object): node is TSExportAssignment; +export function isTSExpressionWithTypeArguments(node: any, opts?: object): node is TSExpressionWithTypeArguments; +export function isTSExternalModuleReference(node: any, opts?: object): node is TSExternalModuleReference; +export function isTSFunctionType(node: any, opts?: object): node is TSFunctionType; +export function isTSImportEqualsDeclaration(node: any, opts?: object): node is TSImportEqualsDeclaration; +export function isTSIndexSignature(node: any, opts?: object): node is TSIndexSignature; +export function isTSIndexedAccessType(node: any, opts?: object): node is TSIndexedAccessType; +export function isTSInterfaceBody(node: any, opts?: object): node is TSInterfaceBody; +export function isTSInterfaceDeclaration(node: any, opts?: object): node is TSInterfaceDeclaration; +export function isTSIntersectionType(node: any, opts?: object): node is TSIntersectionType; +export function isTSLiteralType(node: any, opts?: object): node is TSLiteralType; +export function isTSMappedType(node: any, opts?: object): node is TSMappedType; +export function isTSMethodSignature(node: any, opts?: object): node is TSMethodSignature; +export function isTSModuleBlock(node: any, opts?: object): node is TSModuleBlock; +export function isTSModuleDeclaration(node: any, opts?: object): node is TSModuleDeclaration; +export function isTSNamespaceExportDeclaration(node: any, opts?: object): node is TSNamespaceExportDeclaration; +export function isTSNeverKeyword(node: any, opts?: object): node is TSNeverKeyword; +export function isTSNonNullExpression(node: any, opts?: object): node is TSNonNullExpression; +export function isTSNullKeyword(node: any, opts?: object): node is TSNullKeyword; +export function isTSNumberKeyword(node: any, opts?: object): node is TSNumberKeyword; +export function isTSObjectKeyword(node: any, opts?: object): node is TSObjectKeyword; +export function isTSParameterProperty(node: any, opts?: object): node is TSParameterProperty; +export function isTSParenthesizedType(node: any, opts?: object): node is TSParenthesizedType; +export function isTSPropertySignature(node: any, opts?: object): node is TSPropertySignature; +export function isTSQualifiedName(node: any, opts?: object): node is TSQualifiedName; +export function isTSStringKeyword(node: any, opts?: object): node is TSStringKeyword; +export function isTSSymbolKeyword(node: any, opts?: object): node is TSSymbolKeyword; +export function isTSThisType(node: any, opts?: object): node is TSThisType; +export function isTSTupleType(node: any, opts?: object): node is TSTupleType; +export function isTSTypeAliasDeclaration(node: any, opts?: object): node is TSTypeAliasDeclaration; +export function isTSTypeAnnotation(node: any, opts?: object): node is TSTypeAnnotation; +export function isTSTypeAssertion(node: any, opts?: object): node is TSTypeAssertion; +export function isTSTypeLiteral(node: any, opts?: object): node is TSTypeLiteral; +export function isTSTypeOperator(node: any, opts?: object): node is TSTypeOperator; +export function isTSTypeParameter(node: any, opts?: object): node is TSTypeParameter; +export function isTSTypeParameterDeclaration(node: any, opts?: object): node is TSTypeParameterDeclaration; +export function isTSTypeParameterInstantiation(node: any, opts?: object): node is TSTypeParameterInstantiation; +export function isTSTypePredicate(node: any, opts?: object): node is TSTypePredicate; +export function isTSTypeQuery(node: any, opts?: object): node is TSTypeQuery; +export function isTSTypeReference(node: any, opts?: object): node is TSTypeReference; +export function isTSUndefinedKeyword(node: any, opts?: object): node is TSUndefinedKeyword; +export function isTSUnionType(node: any, opts?: object): node is TSUnionType; +export function isTSVoidKeyword(node: any, opts?: object): node is TSVoidKeyword; // React specific export interface ReactHelpers { @@ -1762,231 +1762,231 @@ export interface ReactHelpers { } export const react: ReactHelpers; -export function assertArrayExpression(node: object, opts?: object): void; -export function assertAssignmentExpression(node: object, opts?: object): void; -export function assertBinaryExpression(node: object, opts?: object): void; -export function assertDirective(node: object, opts?: object): void; -export function assertDirectiveLiteral(node: object, opts?: object): void; -export function assertBlockStatement(node: object, opts?: object): void; -export function assertBreakStatement(node: object, opts?: object): void; -export function assertCallExpression(node: object, opts?: object): void; -export function assertCatchClause(node: object, opts?: object): void; -export function assertConditionalExpression(node: object, opts?: object): void; -export function assertContinueStatement(node: object, opts?: object): void; -export function assertDebuggerStatement(node: object, opts?: object): void; -export function assertDoWhileStatement(node: object, opts?: object): void; -export function assertEmptyStatement(node: object, opts?: object): void; -export function assertExpressionStatement(node: object, opts?: object): void; -export function assertFile(node: object, opts?: object): void; -export function assertForInStatement(node: object, opts?: object): void; -export function assertForStatement(node: object, opts?: object): void; -export function assertFunctionDeclaration(node: object, opts?: object): void; -export function assertFunctionExpression(node: object, opts?: object): void; -export function assertIdentifier(node: object, opts?: object): void; -export function assertIfStatement(node: object, opts?: object): void; -export function assertLabeledStatement(node: object, opts?: object): void; -export function assertStringLiteral(node: object, opts?: object): void; -export function assertNumericLiteral(node: object, opts?: object): void; -export function assertNullLiteral(node: object, opts?: object): void; -export function assertBooleanLiteral(node: object, opts?: object): void; -export function assertRegExpLiteral(node: object, opts?: object): void; -export function assertLogicalExpression(node: object, opts?: object): void; -export function assertMemberExpression(node: object, opts?: object): void; -export function assertNewExpression(node: object, opts?: object): void; -export function assertProgram(node: object, opts?: object): void; -export function assertObjectExpression(node: object, opts?: object): void; -export function assertObjectMethod(node: object, opts?: object): void; -export function assertObjectProperty(node: object, opts?: object): void; -export function assertRestElement(node: object, opts?: object): void; -export function assertReturnStatement(node: object, opts?: object): void; -export function assertSequenceExpression(node: object, opts?: object): void; -export function assertSwitchCase(node: object, opts?: object): void; -export function assertSwitchStatement(node: object, opts?: object): void; -export function assertThisExpression(node: object, opts?: object): void; -export function assertThrowStatement(node: object, opts?: object): void; -export function assertTryStatement(node: object, opts?: object): void; -export function assertUnaryExpression(node: object, opts?: object): void; -export function assertUpdateExpression(node: object, opts?: object): void; -export function assertVariableDeclaration(node: object, opts?: object): void; -export function assertVariableDeclarator(node: object, opts?: object): void; -export function assertWhileStatement(node: object, opts?: object): void; -export function assertWithStatement(node: object, opts?: object): void; -export function assertAssignmentPattern(node: object, opts?: object): void; -export function assertArrayPattern(node: object, opts?: object): void; -export function assertArrowFunctionExpression(node: object, opts?: object): void; -export function assertClassBody(node: object, opts?: object): void; -export function assertClassDeclaration(node: object, opts?: object): void; -export function assertClassExpression(node: object, opts?: object): void; -export function assertExportAllDeclaration(node: object, opts?: object): void; -export function assertExportDefaultDeclaration(node: object, opts?: object): void; -export function assertExportNamedDeclaration(node: object, opts?: object): void; -export function assertExportSpecifier(node: object, opts?: object): void; -export function assertForOfStatement(node: object, opts?: object): void; -export function assertImportDeclaration(node: object, opts?: object): void; -export function assertImportDefaultSpecifier(node: object, opts?: object): void; -export function assertImportNamespaceSpecifier(node: object, opts?: object): void; -export function assertImportSpecifier(node: object, opts?: object): void; -export function assertMetaProperty(node: object, opts?: object): void; -export function assertClassMethod(node: object, opts?: object): void; -export function assertObjectPattern(node: object, opts?: object): void; -export function assertSpreadElement(node: object, opts?: object): void; -export function assertSuper(node: object, opts?: object): void; -export function assertTaggedTemplateExpression(node: object, opts?: object): void; -export function assertTemplateElement(node: object, opts?: object): void; -export function assertTemplateLiteral(node: object, opts?: object): void; -export function assertYieldExpression(node: object, opts?: object): void; -export function assertAnyTypeAnnotation(node: object, opts?: object): void; -export function assertArrayTypeAnnotation(node: object, opts?: object): void; -export function assertBooleanTypeAnnotation(node: object, opts?: object): void; -export function assertBooleanLiteralTypeAnnotation(node: object, opts?: object): void; -export function assertNullLiteralTypeAnnotation(node: object, opts?: object): void; -export function assertClassImplements(node: object, opts?: object): void; -export function assertClassProperty(node: object, opts?: object): void; -export function assertDeclareClass(node: object, opts?: object): void; -export function assertDeclareFunction(node: object, opts?: object): void; -export function assertDeclareInterface(node: object, opts?: object): void; -export function assertDeclareModule(node: object, opts?: object): void; -export function assertDeclareTypeAlias(node: object, opts?: object): void; -export function assertDeclareVariable(node: object, opts?: object): void; -export function assertExistentialTypeParam(node: object, opts?: object): void; -export function assertFunctionTypeAnnotation(node: object, opts?: object): void; -export function assertFunctionTypeParam(node: object, opts?: object): void; -export function assertGenericTypeAnnotation(node: object, opts?: object): void; -export function assertInterfaceExtends(node: object, opts?: object): void; -export function assertInterfaceDeclaration(node: object, opts?: object): void; -export function assertIntersectionTypeAnnotation(node: object, opts?: object): void; -export function assertMixedTypeAnnotation(node: object, opts?: object): void; -export function assertNullableTypeAnnotation(node: object, opts?: object): void; -export function assertNumericLiteralTypeAnnotation(node: object, opts?: object): void; -export function assertNumberTypeAnnotation(node: object, opts?: object): void; -export function assertStringLiteralTypeAnnotation(node: object, opts?: object): void; -export function assertStringTypeAnnotation(node: object, opts?: object): void; -export function assertThisTypeAnnotation(node: object, opts?: object): void; -export function assertTupleTypeAnnotation(node: object, opts?: object): void; -export function assertTypeofTypeAnnotation(node: object, opts?: object): void; -export function assertTypeAlias(node: object, opts?: object): void; -export function assertTypeAnnotation(node: object, opts?: object): void; -export function assertTypeCastExpression(node: object, opts?: object): void; -export function assertTypeParameter(node: object, opts?: object): void; -export function assertTypeParameterDeclaration(node: object, opts?: object): void; -export function assertTypeParameterInstantiation(node: object, opts?: object): void; -export function assertObjectTypeAnnotation(node: object, opts?: object): void; -export function assertObjectTypeCallProperty(node: object, opts?: object): void; -export function assertObjectTypeIndexer(node: object, opts?: object): void; -export function assertObjectTypeProperty(node: object, opts?: object): void; -export function assertQualifiedTypeIdentifier(node: object, opts?: object): void; -export function assertUnionTypeAnnotation(node: object, opts?: object): void; -export function assertVoidTypeAnnotation(node: object, opts?: object): void; -export function assertJSXAttribute(node: object, opts?: object): void; -export function assertJSXClosingElement(node: object, opts?: object): void; -export function assertJSXElement(node: object, opts?: object): void; -export function assertJSXEmptyExpression(node: object, opts?: object): void; -export function assertJSXExpressionContainer(node: object, opts?: object): void; -export function assertJSXIdentifier(node: object, opts?: object): void; -export function assertJSXMemberExpression(node: object, opts?: object): void; -export function assertJSXNamespacedName(node: object, opts?: object): void; -export function assertJSXOpeningElement(node: object, opts?: object): void; -export function assertJSXSpreadAttribute(node: object, opts?: object): void; -export function assertJSXText(node: object, opts?: object): void; -export function assertNoop(node: object, opts?: object): void; -export function assertParenthesizedExpression(node: object, opts?: object): void; -export function assertAwaitExpression(node: object, opts?: object): void; -export function assertBindExpression(node: object, opts?: object): void; -export function assertDecorator(node: object, opts?: object): void; -export function assertDoExpression(node: object, opts?: object): void; -export function assertExportDefaultSpecifier(node: object, opts?: object): void; -export function assertExportNamespaceSpecifier(node: object, opts?: object): void; -export function assertRestProperty(node: object, opts?: object): void; -export function assertSpreadProperty(node: object, opts?: object): void; -export function assertExpression(node: object, opts?: object): void; -export function assertBinary(node: object, opts?: object): void; -export function assertScopable(node: object, opts?: object): void; -export function assertBlockParent(node: object, opts?: object): void; -export function assertBlock(node: object, opts?: object): void; -export function assertStatement(node: object, opts?: object): void; -export function assertTerminatorless(node: object, opts?: object): void; -export function assertCompletionStatement(node: object, opts?: object): void; -export function assertConditional(node: object, opts?: object): void; -export function assertLoop(node: object, opts?: object): void; -export function assertWhile(node: object, opts?: object): void; -export function assertExpressionWrapper(node: object, opts?: object): void; -export function assertFor(node: object, opts?: object): void; -export function assertForXStatement(node: object, opts?: object): void; -export function assertFunction(node: object, opts?: object): void; -export function assertFunctionParent(node: object, opts?: object): void; -export function assertPureish(node: object, opts?: object): void; -export function assertDeclaration(node: object, opts?: object): void; -export function assertLVal(node: object, opts?: object): void; -export function assertLiteral(node: object, opts?: object): void; -export function assertImmutable(node: object, opts?: object): void; -export function assertUserWhitespacable(node: object, opts?: object): void; -export function assertMethod(node: object, opts?: object): void; -export function assertObjectMember(node: object, opts?: object): void; -export function assertProperty(node: object, opts?: object): void; -export function assertUnaryLike(node: object, opts?: object): void; -export function assertPattern(node: object, opts?: object): void; -export function assertClass(node: object, opts?: object): void; -export function assertModuleDeclaration(node: object, opts?: object): void; -export function assertExportDeclaration(node: object, opts?: object): void; -export function assertModuleSpecifier(node: object, opts?: object): void; -export function assertFlow(node: object, opts?: object): void; -export function assertFlowBaseAnnotation(node: object, opts?: object): void; -export function assertFlowDeclaration(node: object, opts?: object): void; -export function assertJSX(node: object, opts?: object): void; -export function assertNumberLiteral(node: object, opts?: object): void; -export function assertRegexLiteral(node: object, opts?: object): void; +export function assertArrayExpression(node: any, opts?: object): void; +export function assertAssignmentExpression(node: any, opts?: object): void; +export function assertBinaryExpression(node: any, opts?: object): void; +export function assertDirective(node: any, opts?: object): void; +export function assertDirectiveLiteral(node: any, opts?: object): void; +export function assertBlockStatement(node: any, opts?: object): void; +export function assertBreakStatement(node: any, opts?: object): void; +export function assertCallExpression(node: any, opts?: object): void; +export function assertCatchClause(node: any, opts?: object): void; +export function assertConditionalExpression(node: any, opts?: object): void; +export function assertContinueStatement(node: any, opts?: object): void; +export function assertDebuggerStatement(node: any, opts?: object): void; +export function assertDoWhileStatement(node: any, opts?: object): void; +export function assertEmptyStatement(node: any, opts?: object): void; +export function assertExpressionStatement(node: any, opts?: object): void; +export function assertFile(node: any, opts?: object): void; +export function assertForInStatement(node: any, opts?: object): void; +export function assertForStatement(node: any, opts?: object): void; +export function assertFunctionDeclaration(node: any, opts?: object): void; +export function assertFunctionExpression(node: any, opts?: object): void; +export function assertIdentifier(node: any, opts?: object): void; +export function assertIfStatement(node: any, opts?: object): void; +export function assertLabeledStatement(node: any, opts?: object): void; +export function assertStringLiteral(node: any, opts?: object): void; +export function assertNumericLiteral(node: any, opts?: object): void; +export function assertNullLiteral(node: any, opts?: object): void; +export function assertBooleanLiteral(node: any, opts?: object): void; +export function assertRegExpLiteral(node: any, opts?: object): void; +export function assertLogicalExpression(node: any, opts?: object): void; +export function assertMemberExpression(node: any, opts?: object): void; +export function assertNewExpression(node: any, opts?: object): void; +export function assertProgram(node: any, opts?: object): void; +export function assertObjectExpression(node: any, opts?: object): void; +export function assertObjectMethod(node: any, opts?: object): void; +export function assertObjectProperty(node: any, opts?: object): void; +export function assertRestElement(node: any, opts?: object): void; +export function assertReturnStatement(node: any, opts?: object): void; +export function assertSequenceExpression(node: any, opts?: object): void; +export function assertSwitchCase(node: any, opts?: object): void; +export function assertSwitchStatement(node: any, opts?: object): void; +export function assertThisExpression(node: any, opts?: object): void; +export function assertThrowStatement(node: any, opts?: object): void; +export function assertTryStatement(node: any, opts?: object): void; +export function assertUnaryExpression(node: any, opts?: object): void; +export function assertUpdateExpression(node: any, opts?: object): void; +export function assertVariableDeclaration(node: any, opts?: object): void; +export function assertVariableDeclarator(node: any, opts?: object): void; +export function assertWhileStatement(node: any, opts?: object): void; +export function assertWithStatement(node: any, opts?: object): void; +export function assertAssignmentPattern(node: any, opts?: object): void; +export function assertArrayPattern(node: any, opts?: object): void; +export function assertArrowFunctionExpression(node: any, opts?: object): void; +export function assertClassBody(node: any, opts?: object): void; +export function assertClassDeclaration(node: any, opts?: object): void; +export function assertClassExpression(node: any, opts?: object): void; +export function assertExportAllDeclaration(node: any, opts?: object): void; +export function assertExportDefaultDeclaration(node: any, opts?: object): void; +export function assertExportNamedDeclaration(node: any, opts?: object): void; +export function assertExportSpecifier(node: any, opts?: object): void; +export function assertForOfStatement(node: any, opts?: object): void; +export function assertImportDeclaration(node: any, opts?: object): void; +export function assertImportDefaultSpecifier(node: any, opts?: object): void; +export function assertImportNamespaceSpecifier(node: any, opts?: object): void; +export function assertImportSpecifier(node: any, opts?: object): void; +export function assertMetaProperty(node: any, opts?: object): void; +export function assertClassMethod(node: any, opts?: object): void; +export function assertObjectPattern(node: any, opts?: object): void; +export function assertSpreadElement(node: any, opts?: object): void; +export function assertSuper(node: any, opts?: object): void; +export function assertTaggedTemplateExpression(node: any, opts?: object): void; +export function assertTemplateElement(node: any, opts?: object): void; +export function assertTemplateLiteral(node: any, opts?: object): void; +export function assertYieldExpression(node: any, opts?: object): void; +export function assertAnyTypeAnnotation(node: any, opts?: object): void; +export function assertArrayTypeAnnotation(node: any, opts?: object): void; +export function assertBooleanTypeAnnotation(node: any, opts?: object): void; +export function assertBooleanLiteralTypeAnnotation(node: any, opts?: object): void; +export function assertNullLiteralTypeAnnotation(node: any, opts?: object): void; +export function assertClassImplements(node: any, opts?: object): void; +export function assertClassProperty(node: any, opts?: object): void; +export function assertDeclareClass(node: any, opts?: object): void; +export function assertDeclareFunction(node: any, opts?: object): void; +export function assertDeclareInterface(node: any, opts?: object): void; +export function assertDeclareModule(node: any, opts?: object): void; +export function assertDeclareTypeAlias(node: any, opts?: object): void; +export function assertDeclareVariable(node: any, opts?: object): void; +export function assertExistentialTypeParam(node: any, opts?: object): void; +export function assertFunctionTypeAnnotation(node: any, opts?: object): void; +export function assertFunctionTypeParam(node: any, opts?: object): void; +export function assertGenericTypeAnnotation(node: any, opts?: object): void; +export function assertInterfaceExtends(node: any, opts?: object): void; +export function assertInterfaceDeclaration(node: any, opts?: object): void; +export function assertIntersectionTypeAnnotation(node: any, opts?: object): void; +export function assertMixedTypeAnnotation(node: any, opts?: object): void; +export function assertNullableTypeAnnotation(node: any, opts?: object): void; +export function assertNumericLiteralTypeAnnotation(node: any, opts?: object): void; +export function assertNumberTypeAnnotation(node: any, opts?: object): void; +export function assertStringLiteralTypeAnnotation(node: any, opts?: object): void; +export function assertStringTypeAnnotation(node: any, opts?: object): void; +export function assertThisTypeAnnotation(node: any, opts?: object): void; +export function assertTupleTypeAnnotation(node: any, opts?: object): void; +export function assertTypeofTypeAnnotation(node: any, opts?: object): void; +export function assertTypeAlias(node: any, opts?: object): void; +export function assertTypeAnnotation(node: any, opts?: object): void; +export function assertTypeCastExpression(node: any, opts?: object): void; +export function assertTypeParameter(node: any, opts?: object): void; +export function assertTypeParameterDeclaration(node: any, opts?: object): void; +export function assertTypeParameterInstantiation(node: any, opts?: object): void; +export function assertObjectTypeAnnotation(node: any, opts?: object): void; +export function assertObjectTypeCallProperty(node: any, opts?: object): void; +export function assertObjectTypeIndexer(node: any, opts?: object): void; +export function assertObjectTypeProperty(node: any, opts?: object): void; +export function assertQualifiedTypeIdentifier(node: any, opts?: object): void; +export function assertUnionTypeAnnotation(node: any, opts?: object): void; +export function assertVoidTypeAnnotation(node: any, opts?: object): void; +export function assertJSXAttribute(node: any, opts?: object): void; +export function assertJSXClosingElement(node: any, opts?: object): void; +export function assertJSXElement(node: any, opts?: object): void; +export function assertJSXEmptyExpression(node: any, opts?: object): void; +export function assertJSXExpressionContainer(node: any, opts?: object): void; +export function assertJSXIdentifier(node: any, opts?: object): void; +export function assertJSXMemberExpression(node: any, opts?: object): void; +export function assertJSXNamespacedName(node: any, opts?: object): void; +export function assertJSXOpeningElement(node: any, opts?: object): void; +export function assertJSXSpreadAttribute(node: any, opts?: object): void; +export function assertJSXText(node: any, opts?: object): void; +export function assertNoop(node: any, opts?: object): void; +export function assertParenthesizedExpression(node: any, opts?: object): void; +export function assertAwaitExpression(node: any, opts?: object): void; +export function assertBindExpression(node: any, opts?: object): void; +export function assertDecorator(node: any, opts?: object): void; +export function assertDoExpression(node: any, opts?: object): void; +export function assertExportDefaultSpecifier(node: any, opts?: object): void; +export function assertExportNamespaceSpecifier(node: any, opts?: object): void; +export function assertRestProperty(node: any, opts?: object): void; +export function assertSpreadProperty(node: any, opts?: object): void; +export function assertExpression(node: any, opts?: object): void; +export function assertBinary(node: any, opts?: object): void; +export function assertScopable(node: any, opts?: object): void; +export function assertBlockParent(node: any, opts?: object): void; +export function assertBlock(node: any, opts?: object): void; +export function assertStatement(node: any, opts?: object): void; +export function assertTerminatorless(node: any, opts?: object): void; +export function assertCompletionStatement(node: any, opts?: object): void; +export function assertConditional(node: any, opts?: object): void; +export function assertLoop(node: any, opts?: object): void; +export function assertWhile(node: any, opts?: object): void; +export function assertExpressionWrapper(node: any, opts?: object): void; +export function assertFor(node: any, opts?: object): void; +export function assertForXStatement(node: any, opts?: object): void; +export function assertFunction(node: any, opts?: object): void; +export function assertFunctionParent(node: any, opts?: object): void; +export function assertPureish(node: any, opts?: object): void; +export function assertDeclaration(node: any, opts?: object): void; +export function assertLVal(node: any, opts?: object): void; +export function assertLiteral(node: any, opts?: object): void; +export function assertImmutable(node: any, opts?: object): void; +export function assertUserWhitespacable(node: any, opts?: object): void; +export function assertMethod(node: any, opts?: object): void; +export function assertObjectMember(node: any, opts?: object): void; +export function assertProperty(node: any, opts?: object): void; +export function assertUnaryLike(node: any, opts?: object): void; +export function assertPattern(node: any, opts?: object): void; +export function assertClass(node: any, opts?: object): void; +export function assertModuleDeclaration(node: any, opts?: object): void; +export function assertExportDeclaration(node: any, opts?: object): void; +export function assertModuleSpecifier(node: any, opts?: object): void; +export function assertFlow(node: any, opts?: object): void; +export function assertFlowBaseAnnotation(node: any, opts?: object): void; +export function assertFlowDeclaration(node: any, opts?: object): void; +export function assertJSX(node: any, opts?: object): void; +export function assertNumberLiteral(node: any, opts?: object): void; +export function assertRegexLiteral(node: any, opts?: object): void; -export function assertTSAnyKeyword(node: object, opts?: object): void; -export function assertTSArrayType(node: object, opts?: object): void; -export function assertTSAsExpression(node: object, opts?: object): void; -export function assertTSBooleanKeyword(node: object, opts?: object): void; -export function assertTSCallSignatureDeclaration(node: object, opts?: object): void; -export function assertTSConstructSignatureDeclaration(node: object, opts?: object): void; -export function assertTSConstructorType(node: object, opts?: object): void; -export function assertTSDeclareFunction(node: object, opts?: object): void; -export function assertTSDeclareMethod(node: object, opts?: object): void; -export function assertTSEnumDeclaration(node: object, opts?: object): void; -export function assertTSEnumMember(node: object, opts?: object): void; -export function assertTSExportAssignment(node: object, opts?: object): void; -export function assertTSExpressionWithTypeArguments(node: object, opts?: object): void; -export function assertTSExternalModuleReference(node: object, opts?: object): void; -export function assertTSFunctionType(node: object, opts?: object): void; -export function assertTSImportEqualsDeclaration(node: object, opts?: object): void; -export function assertTSIndexSignature(node: object, opts?: object): void; -export function assertTSIndexedAccessType(node: object, opts?: object): void; -export function assertTSInterfaceBody(node: object, opts?: object): void; -export function assertTSInterfaceDeclaration(node: object, opts?: object): void; -export function assertTSIntersectionType(node: object, opts?: object): void; -export function assertTSLiteralType(node: object, opts?: object): void; -export function assertTSMappedType(node: object, opts?: object): void; -export function assertTSMethodSignature(node: object, opts?: object): void; -export function assertTSModuleBlock(node: object, opts?: object): void; -export function assertTSModuleDeclaration(node: object, opts?: object): void; -export function assertTSNamespaceExportDeclaration(node: object, opts?: object): void; -export function assertTSNeverKeyword(node: object, opts?: object): void; -export function assertTSNonNullExpression(node: object, opts?: object): void; -export function assertTSNullKeyword(node: object, opts?: object): void; -export function assertTSNumberKeyword(node: object, opts?: object): void; -export function assertTSObjectKeyword(node: object, opts?: object): void; -export function assertTSParameterProperty(node: object, opts?: object): void; -export function assertTSParenthesizedType(node: object, opts?: object): void; -export function assertTSPropertySignature(node: object, opts?: object): void; -export function assertTSQualifiedName(node: object, opts?: object): void; -export function assertTSStringKeyword(node: object, opts?: object): void; -export function assertTSSymbolKeyword(node: object, opts?: object): void; -export function assertTSThisType(node: object, opts?: object): void; -export function assertTSTupleType(node: object, opts?: object): void; -export function assertTSTypeAliasDeclaration(node: object, opts?: object): void; -export function assertTSTypeAnnotation(node: object, opts?: object): void; -export function assertTSTypeAssertion(node: object, opts?: object): void; -export function assertTSTypeLiteral(node: object, opts?: object): void; -export function assertTSTypeOperator(node: object, opts?: object): void; -export function assertTSTypeParameter(node: object, opts?: object): void; -export function assertTSTypeParameterDeclaration(node: object, opts?: object): void; -export function assertTSTypeParameterInstantiation(node: object, opts?: object): void; -export function assertTSTypePredicate(node: object, opts?: object): void; -export function assertTSTypeQuery(node: object, opts?: object): void; -export function assertTSTypeReference(node: object, opts?: object): void; -export function assertTSUndefinedKeyword(node: object, opts?: object): void; -export function assertTSUnionType(node: object, opts?: object): void; -export function assertTSVoidKeyword(node: object, opts?: object): void; +export function assertTSAnyKeyword(node: any, opts?: object): void; +export function assertTSArrayType(node: any, opts?: object): void; +export function assertTSAsExpression(node: any, opts?: object): void; +export function assertTSBooleanKeyword(node: any, opts?: object): void; +export function assertTSCallSignatureDeclaration(node: any, opts?: object): void; +export function assertTSConstructSignatureDeclaration(node: any, opts?: object): void; +export function assertTSConstructorType(node: any, opts?: object): void; +export function assertTSDeclareFunction(node: any, opts?: object): void; +export function assertTSDeclareMethod(node: any, opts?: object): void; +export function assertTSEnumDeclaration(node: any, opts?: object): void; +export function assertTSEnumMember(node: any, opts?: object): void; +export function assertTSExportAssignment(node: any, opts?: object): void; +export function assertTSExpressionWithTypeArguments(node: any, opts?: object): void; +export function assertTSExternalModuleReference(node: any, opts?: object): void; +export function assertTSFunctionType(node: any, opts?: object): void; +export function assertTSImportEqualsDeclaration(node: any, opts?: object): void; +export function assertTSIndexSignature(node: any, opts?: object): void; +export function assertTSIndexedAccessType(node: any, opts?: object): void; +export function assertTSInterfaceBody(node: any, opts?: object): void; +export function assertTSInterfaceDeclaration(node: any, opts?: object): void; +export function assertTSIntersectionType(node: any, opts?: object): void; +export function assertTSLiteralType(node: any, opts?: object): void; +export function assertTSMappedType(node: any, opts?: object): void; +export function assertTSMethodSignature(node: any, opts?: object): void; +export function assertTSModuleBlock(node: any, opts?: object): void; +export function assertTSModuleDeclaration(node: any, opts?: object): void; +export function assertTSNamespaceExportDeclaration(node: any, opts?: object): void; +export function assertTSNeverKeyword(node: any, opts?: object): void; +export function assertTSNonNullExpression(node: any, opts?: object): void; +export function assertTSNullKeyword(node: any, opts?: object): void; +export function assertTSNumberKeyword(node: any, opts?: object): void; +export function assertTSObjectKeyword(node: any, opts?: object): void; +export function assertTSParameterProperty(node: any, opts?: object): void; +export function assertTSParenthesizedType(node: any, opts?: object): void; +export function assertTSPropertySignature(node: any, opts?: object): void; +export function assertTSQualifiedName(node: any, opts?: object): void; +export function assertTSStringKeyword(node: any, opts?: object): void; +export function assertTSSymbolKeyword(node: any, opts?: object): void; +export function assertTSThisType(node: any, opts?: object): void; +export function assertTSTupleType(node: any, opts?: object): void; +export function assertTSTypeAliasDeclaration(node: any, opts?: object): void; +export function assertTSTypeAnnotation(node: any, opts?: object): void; +export function assertTSTypeAssertion(node: any, opts?: object): void; +export function assertTSTypeLiteral(node: any, opts?: object): void; +export function assertTSTypeOperator(node: any, opts?: object): void; +export function assertTSTypeParameter(node: any, opts?: object): void; +export function assertTSTypeParameterDeclaration(node: any, opts?: object): void; +export function assertTSTypeParameterInstantiation(node: any, opts?: object): void; +export function assertTSTypePredicate(node: any, opts?: object): void; +export function assertTSTypeQuery(node: any, opts?: object): void; +export function assertTSTypeReference(node: any, opts?: object): void; +export function assertTSUndefinedKeyword(node: any, opts?: object): void; +export function assertTSUnionType(node: any, opts?: object): void; +export function assertTSVoidKeyword(node: any, opts?: object): void; diff --git a/types/babel-types/tsconfig.json b/types/babel-types/tsconfig.json index 92d7d6442e..f4a6179f99 100644 --- a/types/babel-types/tsconfig.json +++ b/types/babel-types/tsconfig.json @@ -6,7 +6,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "strictFunctionTypes": true, "baseUrl": "../", "typeRoots": [