diff --git a/lib/types.js b/lib/types.js index fccd1a8405..a443e2b242 100644 --- a/lib/types.js +++ b/lib/types.js @@ -152,7 +152,7 @@ declare class BabelNodeFunctionDeclaration extends BabelNode { generator?: boolean; async?: boolean; declare?: boolean; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; } @@ -163,7 +163,7 @@ declare class BabelNodeFunctionExpression extends BabelNode { body: BabelNodeBlockStatement; generator?: boolean; async?: boolean; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; } @@ -172,7 +172,7 @@ declare class BabelNodeIdentifier extends BabelNode { name: any; decorators?: any; optional?: boolean; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; } declare class BabelNodeIfStatement extends BabelNode { @@ -240,6 +240,7 @@ declare class BabelNodeProgram extends BabelNode { type: "Program"; body: any; directives?: any; + sourceType?: "script" | "module"; sourceFile?: string; } @@ -258,7 +259,7 @@ declare class BabelNodeObjectMethod extends BabelNode { async?: boolean; decorators?: any; generator?: boolean; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; } @@ -275,7 +276,7 @@ declare class BabelNodeRestElement extends BabelNode { type: "RestElement"; argument: BabelNodeLVal; decorators?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; } declare class BabelNodeReturnStatement extends BabelNode { @@ -311,15 +312,14 @@ declare class BabelNodeThrowStatement extends BabelNode { declare class BabelNodeTryStatement extends BabelNode { type: "TryStatement"; - block: any; - handler?: ?BabelNodeBlockStatement; + block: BabelNodeBlockStatement; + handler?: ?BabelNodeCatchClause; finalizer?: ?BabelNodeBlockStatement; - body?: ?BabelNodeBlockStatement; } declare class BabelNodeUnaryExpression extends BabelNode { type: "UnaryExpression"; - operator: "void" | "delete" | "!" | "+" | "-" | "~" | "typeof"; + operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof"; argument: BabelNodeExpression; prefix?: boolean; } @@ -361,14 +361,14 @@ declare class BabelNodeAssignmentPattern extends BabelNode { left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern; right: BabelNodeExpression; decorators?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; } declare class BabelNodeArrayPattern extends BabelNode { type: "ArrayPattern"; elements: any; decorators?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; } declare class BabelNodeArrowFunctionExpression extends BabelNode { @@ -378,7 +378,7 @@ declare class BabelNodeArrowFunctionExpression extends BabelNode { async?: boolean; expression?: boolean; generator?: boolean; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; } @@ -484,7 +484,7 @@ declare class BabelNodeClassMethod extends BabelNode { decorators?: any; generator?: boolean; optional?: boolean; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; } @@ -492,7 +492,7 @@ declare class BabelNodeObjectPattern extends BabelNode { type: "ObjectPattern"; properties: any; decorators?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; } declare class BabelNodeSpreadElement extends BabelNode { @@ -688,49 +688,6 @@ declare class BabelNodeNumberTypeAnnotation extends BabelNode { type: "NumberTypeAnnotation"; } -declare class BabelNodeStringLiteralTypeAnnotation extends BabelNode { - type: "StringLiteralTypeAnnotation"; -} - -declare class BabelNodeStringTypeAnnotation extends BabelNode { - type: "StringTypeAnnotation"; -} - -declare class BabelNodeThisTypeAnnotation extends BabelNode { - type: "ThisTypeAnnotation"; -} - -declare class BabelNodeTupleTypeAnnotation extends BabelNode { - type: "TupleTypeAnnotation"; - types: any; -} - -declare class BabelNodeTypeofTypeAnnotation extends BabelNode { - type: "TypeofTypeAnnotation"; - argument: any; -} - -declare class BabelNodeTypeAlias extends BabelNode { - type: "TypeAlias"; - id: any; - typeParameters: any; - right: any; -} - -declare class BabelNodeOpaqueType extends BabelNode { - type: "OpaqueType"; - id: any; - typeParameters: any; - supertype: any; - impltype: any; -} - -declare class BabelNodeTypeCastExpression extends BabelNode { - type: "TypeCastExpression"; - expression: any; - typeAnnotation: any; -} - declare class BabelNodeObjectTypeAnnotation extends BabelNode { type: "ObjectTypeAnnotation"; properties: any; @@ -761,12 +718,76 @@ declare class BabelNodeObjectTypeSpreadProperty extends BabelNode { argument: any; } +declare class BabelNodeOpaqueType extends BabelNode { + type: "OpaqueType"; + id: any; + typeParameters: any; + supertype: any; + impltype: any; +} + declare class BabelNodeQualifiedTypeIdentifier extends BabelNode { type: "QualifiedTypeIdentifier"; id: any; qualification: any; } +declare class BabelNodeStringLiteralTypeAnnotation extends BabelNode { + type: "StringLiteralTypeAnnotation"; +} + +declare class BabelNodeStringTypeAnnotation extends BabelNode { + type: "StringTypeAnnotation"; +} + +declare class BabelNodeThisTypeAnnotation extends BabelNode { + type: "ThisTypeAnnotation"; +} + +declare class BabelNodeTupleTypeAnnotation extends BabelNode { + type: "TupleTypeAnnotation"; + types: any; +} + +declare class BabelNodeTypeofTypeAnnotation extends BabelNode { + type: "TypeofTypeAnnotation"; + argument: any; +} + +declare class BabelNodeTypeAlias extends BabelNode { + type: "TypeAlias"; + id: any; + typeParameters: any; + right: any; +} + +declare class BabelNodeTypeAnnotation extends BabelNode { + type: "TypeAnnotation"; + typeAnnotation: BabelNodeFlow; +} + +declare class BabelNodeTypeCastExpression extends BabelNode { + type: "TypeCastExpression"; + expression: any; + typeAnnotation: any; +} + +declare class BabelNodeTypeParameter extends BabelNode { + type: "TypeParameter"; + bound?: ?BabelNodeTypeAnnotation; + name?: string; +} + +declare class BabelNodeTypeParameterDeclaration extends BabelNode { + type: "TypeParameterDeclaration"; + params: any; +} + +declare class BabelNodeTypeParameterInstantiation extends BabelNode { + type: "TypeParameterInstantiation"; + params: any; +} + declare class BabelNodeUnionTypeAnnotation extends BabelNode { type: "UnionTypeAnnotation"; types: any; @@ -863,6 +884,19 @@ declare class BabelNodeBindExpression extends BabelNode { callee: any; } +declare class BabelNodeClassProperty extends BabelNode { + type: "ClassProperty"; + key: any; + value?: ?BabelNodeExpression; + typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; + decorators?: any; + computed?: boolean; + abstract?: boolean; + accessibility?: any; + optional?: boolean; + readonly?: boolean; +} + declare class BabelNodeImport extends BabelNode { type: "Import"; } @@ -887,41 +921,6 @@ declare class BabelNodeExportNamespaceSpecifier extends BabelNode { exported: BabelNodeIdentifier; } -declare class BabelNodeTypeAnnotation extends BabelNode { - type: "TypeAnnotation"; - typeAnnotation: BabelNodeTSType | BabelNodeFlow; -} - -declare class BabelNodeTypeParameterInstantiation extends BabelNode { - type: "TypeParameterInstantiation"; - params: any; -} - -declare class BabelNodeTypeParameterDeclaration extends BabelNode { - type: "TypeParameterDeclaration"; - params: any; -} - -declare class BabelNodeTypeParameter extends BabelNode { - type: "TypeParameter"; - bound?: ?BabelNodeTypeAnnotation; - constraint?: ?BabelNodeTSType; - name?: string; -} - -declare class BabelNodeClassProperty extends BabelNode { - type: "ClassProperty"; - key: any; - value?: ?BabelNodeExpression; - typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop; - decorators?: any; - computed?: boolean; - abstract?: boolean; - accessibility?: any; - optional?: boolean; - readonly?: boolean; -} - declare class BabelNodeTSParameterProperty extends BabelNode { type: "TSParameterProperty"; parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern; @@ -934,7 +933,7 @@ declare class BabelNodeTSDeclareFunction extends BabelNode { id?: ?BabelNodeIdentifier; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; params: any; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; async?: boolean; declare?: boolean; generator?: boolean; @@ -946,7 +945,7 @@ declare class BabelNodeTSDeclareMethod extends BabelNode { key: any; typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop; params: any; - returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop; + returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop; abstract?: boolean; access?: any; accessibility?: any; @@ -967,20 +966,20 @@ declare class BabelNodeTSCallSignatureDeclaration extends BabelNode { type: "TSCallSignatureDeclaration"; typeParameters?: ?BabelNodeTypeParameterDeclaration; parameters?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; } declare class BabelNodeTSConstructSignatureDeclaration extends BabelNode { type: "TSConstructSignatureDeclaration"; typeParameters?: ?BabelNodeTypeParameterDeclaration; parameters?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; } declare class BabelNodeTSPropertySignature extends BabelNode { type: "TSPropertySignature"; key: BabelNodeExpression; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; initializer?: ?BabelNodeExpression; computed?: boolean; optional?: boolean; @@ -992,7 +991,7 @@ declare class BabelNodeTSMethodSignature extends BabelNode { key: BabelNodeExpression; typeParameters?: ?BabelNodeTypeParameterDeclaration; parameters?: any; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; computed?: boolean; optional?: boolean; } @@ -1000,7 +999,7 @@ declare class BabelNodeTSMethodSignature extends BabelNode { declare class BabelNodeTSIndexSignature extends BabelNode { type: "TSIndexSignature"; parameters: any; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; readonly?: boolean; } @@ -1051,14 +1050,14 @@ declare class BabelNodeTSThisType extends BabelNode { declare class BabelNodeTSFunctionType extends BabelNode { type: "TSFunctionType"; typeParameters?: ?BabelNodeTypeParameterDeclaration; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; parameters?: any; } declare class BabelNodeTSConstructorType extends BabelNode { type: "TSConstructorType"; typeParameters?: ?BabelNodeTypeParameterDeclaration; - typeAnnotation?: ?BabelNodeTypeAnnotation; + typeAnnotation?: ?BabelNodeTSTypeAnnotation; parameters?: any; } @@ -1071,7 +1070,7 @@ declare class BabelNodeTSTypeReference extends BabelNode { declare class BabelNodeTSTypePredicate extends BabelNode { type: "TSTypePredicate"; parameterName: BabelNodeIdentifier | BabelNodeTSThisType; - typeAnnotation: BabelNodeTypeAnnotation; + typeAnnotation: BabelNodeTSTypeAnnotation; } declare class BabelNodeTSTypeQuery extends BabelNode { @@ -1227,12 +1226,33 @@ declare class BabelNodeTSNamespaceExportDeclaration extends BabelNode { id: BabelNodeIdentifier; } +declare class BabelNodeTSTypeAnnotation extends BabelNode { + type: "TSTypeAnnotation"; + typeAnnotation: BabelNodeTSType; +} + +declare class BabelNodeTSTypeParameterInstantiation extends BabelNode { + type: "TSTypeParameterInstantiation"; + params: any; +} + +declare class BabelNodeTSTypeParameterDeclaration extends BabelNode { + type: "TSTypeParameterDeclaration"; + params: any; +} + +declare class BabelNodeTSTypeParameter extends BabelNode { + type: "TSTypeParameter"; + constraint?: ?BabelNodeTSType; + name?: string; +} + type BabelNodeExpression = BabelNodeArrayExpression | BabelNodeAssignmentExpression | BabelNodeBinaryExpression | BabelNodeCallExpression | BabelNodeConditionalExpression | BabelNodeFunctionExpression | BabelNodeIdentifier | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeLogicalExpression | BabelNodeMemberExpression | BabelNodeNewExpression | BabelNodeObjectExpression | BabelNodeSequenceExpression | BabelNodeThisExpression | BabelNodeUnaryExpression | BabelNodeUpdateExpression | BabelNodeArrowFunctionExpression | BabelNodeClassExpression | BabelNodeMetaProperty | BabelNodeSuper | BabelNodeTaggedTemplateExpression | BabelNodeTemplateLiteral | BabelNodeYieldExpression | BabelNodeTypeCastExpression | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeParenthesizedExpression | BabelNodeAwaitExpression | BabelNodeBindExpression | BabelNodeImport | BabelNodeDoExpression | BabelNodeTSAsExpression | BabelNodeTSTypeAssertion | BabelNodeTSNonNullExpression; type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression; type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression | BabelNodeForOfStatement | BabelNodeClassMethod; -type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod; +type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod; type BabelNodeBlock = BabelNodeBlockStatement | BabelNodeProgram; -type BabelNodeStatement = BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeReturnStatement | BabelNodeSwitchStatement | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeVariableDeclaration | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration | BabelNodeTSImportEqualsDeclaration | BabelNodeTSExportAssignment | BabelNodeTSNamespaceExportDeclaration; +type BabelNodeStatement = BabelNodeBlockStatement | BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeDebuggerStatement | BabelNodeDoWhileStatement | BabelNodeEmptyStatement | BabelNodeExpressionStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeIfStatement | BabelNodeLabeledStatement | BabelNodeReturnStatement | BabelNodeSwitchStatement | BabelNodeThrowStatement | BabelNodeTryStatement | BabelNodeVariableDeclaration | BabelNodeWhileStatement | BabelNodeWithStatement | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeForOfStatement | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration | BabelNodeTSImportEqualsDeclaration | BabelNodeTSExportAssignment | BabelNodeTSNamespaceExportDeclaration; type BabelNodeTerminatorless = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement | BabelNodeYieldExpression | BabelNodeAwaitExpression; type BabelNodeCompletionStatement = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement; type BabelNodeConditional = BabelNodeConditionalExpression | BabelNodeIfStatement; @@ -1244,7 +1264,7 @@ type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement; type BabelNodeFunction = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod; type BabelNodeFunctionParent = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod; type BabelNodePureish = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression; -type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration; +type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias | BabelNodeTSDeclareFunction | BabelNodeTSInterfaceDeclaration | BabelNodeTSTypeAliasDeclaration | BabelNodeTSEnumDeclaration | BabelNodeTSModuleDeclaration; type BabelNodePatternLike = BabelNodeIdentifier | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern; type BabelNodeLVal = BabelNodeIdentifier | BabelNodeMemberExpression | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern | BabelNodeTSParameterProperty; type BabelNodeTSEntityName = BabelNodeIdentifier | BabelNodeTSQualifiedName; @@ -1260,9 +1280,9 @@ type BabelNodeClass = BabelNodeClassDeclaration | BabelNodeClassExpression; type BabelNodeModuleDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration; type BabelNodeExportDeclaration = BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration; type BabelNodeModuleSpecifier = BabelNodeExportSpecifier | BabelNodeImportDefaultSpecifier | BabelNodeImportNamespaceSpecifier | BabelNodeImportSpecifier | BabelNodeExportDefaultSpecifier | BabelNodeExportNamespaceSpecifier; -type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTypeCastExpression | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeQualifiedTypeIdentifier | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation | BabelNodeTypeAnnotation | BabelNodeTypeParameterInstantiation | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameter; +type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeDeclaredPredicate | BabelNodeExistsTypeAnnotation | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInferredPredicate | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumberLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeOpaqueType | BabelNodeQualifiedTypeIdentifier | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation; type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation; -type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType; +type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeDeclareExportAllDeclaration | BabelNodeInterfaceDeclaration | BabelNodeOpaqueType | BabelNodeTypeAlias; type BabelNodeFlowPredicate = BabelNodeDeclaredPredicate | BabelNodeInferredPredicate; type BabelNodeJSX = BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName | BabelNodeJSXOpeningElement | BabelNodeJSXSpreadAttribute | BabelNodeJSXText; type BabelNodeTSTypeElement = BabelNodeTSCallSignatureDeclaration | BabelNodeTSConstructSignatureDeclaration | BabelNodeTSPropertySignature | BabelNodeTSMethodSignature | BabelNodeTSIndexSignature; @@ -1287,9 +1307,9 @@ declare module "babel-types" { declare function file(program: BabelNodeProgram, comments: any, tokens: any): BabelNodeFile; declare function forInStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForInStatement; declare function forStatement(init?: ?BabelNodeVariableDeclaration | BabelNodeExpression, test?: ?BabelNodeExpression, update?: ?BabelNodeExpression, body: BabelNodeStatement): BabelNodeForStatement; - declare function functionDeclaration(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, declare?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeFunctionDeclaration; - declare function functionExpression(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeFunctionExpression; - declare function identifier(name: any, decorators?: any, optional?: boolean, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop): BabelNodeIdentifier; + declare function functionDeclaration(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, declare?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeFunctionDeclaration; + declare function functionExpression(id?: ?BabelNodeIdentifier, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeFunctionExpression; + declare function identifier(name: any, decorators?: any, optional?: boolean, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeIdentifier; declare function ifStatement(test: BabelNodeExpression, consequent: BabelNodeStatement, alternate?: ?BabelNodeStatement): BabelNodeIfStatement; declare function labeledStatement(label: BabelNodeIdentifier, body: BabelNodeStatement): BabelNodeLabeledStatement; declare function stringLiteral(value: string): BabelNodeStringLiteral; @@ -1300,27 +1320,27 @@ declare module "babel-types" { declare function logicalExpression(operator: "||" | "&&", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeLogicalExpression; declare function memberExpression(object: BabelNodeExpression, property: any, computed?: boolean, optional?: true | false): BabelNodeMemberExpression; declare function newExpression(callee: BabelNodeExpression, _arguments: any, optional?: true | false, typeParameters?: ?BabelNodeTypeParameterInstantiation): BabelNodeNewExpression; - declare function program(body: any, directives?: any, sourceFile?: string): BabelNodeProgram; + declare function program(body: any, directives?: any, sourceType?: "script" | "module", sourceFile?: string): BabelNodeProgram; declare function objectExpression(properties: any): BabelNodeObjectExpression; - declare function objectMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeObjectMethod; + declare function objectMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeObjectMethod; declare function objectProperty(key: any, value: BabelNodeExpression | BabelNodePatternLike, computed?: boolean, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty; - declare function restElement(argument: BabelNodeLVal, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop): BabelNodeRestElement; + declare function restElement(argument: BabelNodeLVal, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeRestElement; declare function returnStatement(argument?: ?BabelNodeExpression): BabelNodeReturnStatement; declare function sequenceExpression(expressions: any): BabelNodeSequenceExpression; declare function switchCase(test?: ?BabelNodeExpression, consequent: any): BabelNodeSwitchCase; declare function switchStatement(discriminant: BabelNodeExpression, cases: any): BabelNodeSwitchStatement; declare function thisExpression(): BabelNodeThisExpression; declare function throwStatement(argument: BabelNodeExpression): BabelNodeThrowStatement; - declare function tryStatement(block: any, handler?: ?BabelNodeBlockStatement, finalizer?: ?BabelNodeBlockStatement, body?: ?BabelNodeBlockStatement): BabelNodeTryStatement; - declare function unaryExpression(operator: "void" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUnaryExpression; + declare function tryStatement(block: BabelNodeBlockStatement, handler?: ?BabelNodeCatchClause, finalizer?: ?BabelNodeBlockStatement): BabelNodeTryStatement; + declare function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUnaryExpression; declare function updateExpression(operator: "++" | "--", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUpdateExpression; declare function variableDeclaration(kind: any, declarations: any, declare?: boolean): BabelNodeVariableDeclaration; declare function variableDeclarator(id: BabelNodeLVal, init?: ?BabelNodeExpression): BabelNodeVariableDeclarator; declare function whileStatement(test: BabelNodeExpression, body: BabelNodeBlockStatement | BabelNodeStatement): BabelNodeWhileStatement; declare function withStatement(object: any, body: BabelNodeBlockStatement | BabelNodeStatement): BabelNodeWithStatement; - declare function assignmentPattern(left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern, right: BabelNodeExpression, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop): BabelNodeAssignmentPattern; - declare function arrayPattern(elements: any, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop): BabelNodeArrayPattern; - declare function arrowFunctionExpression(params: any, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean, expression?: boolean, generator?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeArrowFunctionExpression; + declare function assignmentPattern(left: BabelNodeIdentifier | BabelNodeObjectPattern | BabelNodeArrayPattern, right: BabelNodeExpression, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeAssignmentPattern; + declare function arrayPattern(elements: any, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeArrayPattern; + declare function arrowFunctionExpression(params: any, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean, expression?: boolean, generator?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeArrowFunctionExpression; declare function classBody(body: any): BabelNodeClassBody; declare function classDeclaration(id?: ?BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators?: any, abstract?: boolean, declare?: boolean, _implements?: any, mixins?: any, superTypeParameters?: ?BabelNodeTypeParameterInstantiation, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeClassDeclaration; declare function classExpression(id?: ?BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators?: any, _implements?: any, mixins?: any, superTypeParameters?: ?BabelNodeTypeParameterInstantiation, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeClassExpression; @@ -1334,8 +1354,8 @@ declare module "babel-types" { declare function importNamespaceSpecifier(local: BabelNodeIdentifier): BabelNodeImportNamespaceSpecifier; declare function importSpecifier(local: BabelNodeIdentifier, imported: BabelNodeIdentifier, importKind?: null | "type" | "typeof"): BabelNodeImportSpecifier; declare function metaProperty(meta: BabelNodeIdentifier, property: BabelNodeIdentifier): BabelNodeMetaProperty; - declare function classMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, _static?: boolean, abstract?: boolean, access?: any, accessibility?: any, async?: boolean, decorators?: any, generator?: boolean, optional?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeClassMethod; - declare function objectPattern(properties: any, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop): BabelNodeObjectPattern; + declare function classMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, _static?: boolean, abstract?: boolean, access?: any, accessibility?: any, async?: boolean, decorators?: any, generator?: boolean, optional?: boolean, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop): BabelNodeClassMethod; + declare function objectPattern(properties: any, decorators?: any, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop): BabelNodeObjectPattern; declare function spreadElement(argument: BabelNodeExpression): BabelNodeSpreadElement; declare function taggedTemplateExpression(tag: BabelNodeExpression, quasi: BabelNodeTemplateLiteral): BabelNodeTaggedTemplateExpression; declare function templateElement(value: any, tail?: boolean): BabelNodeTemplateElement; @@ -1371,20 +1391,24 @@ declare module "babel-types" { declare function nullableTypeAnnotation(typeAnnotation: any): BabelNodeNullableTypeAnnotation; declare function numberLiteralTypeAnnotation(): BabelNodeNumberLiteralTypeAnnotation; declare function numberTypeAnnotation(): BabelNodeNumberTypeAnnotation; + declare function objectTypeAnnotation(properties: any, indexers: any, callProperties: any): BabelNodeObjectTypeAnnotation; + declare function objectTypeCallProperty(value: any): BabelNodeObjectTypeCallProperty; + declare function objectTypeIndexer(id: any, key: any, value: any): BabelNodeObjectTypeIndexer; + declare function objectTypeProperty(key: any, value: any): BabelNodeObjectTypeProperty; + declare function objectTypeSpreadProperty(argument: any): BabelNodeObjectTypeSpreadProperty; + declare function opaqueType(id: any, typeParameters: any, supertype: any, impltype: any): BabelNodeOpaqueType; + declare function qualifiedTypeIdentifier(id: any, qualification: any): BabelNodeQualifiedTypeIdentifier; declare function stringLiteralTypeAnnotation(): BabelNodeStringLiteralTypeAnnotation; declare function stringTypeAnnotation(): BabelNodeStringTypeAnnotation; declare function thisTypeAnnotation(): BabelNodeThisTypeAnnotation; declare function tupleTypeAnnotation(types: any): BabelNodeTupleTypeAnnotation; declare function typeofTypeAnnotation(argument: any): BabelNodeTypeofTypeAnnotation; declare function typeAlias(id: any, typeParameters: any, right: any): BabelNodeTypeAlias; - declare function opaqueType(id: any, typeParameters: any, supertype: any, impltype: any): BabelNodeOpaqueType; + declare function typeAnnotation(typeAnnotation: BabelNodeFlow): BabelNodeTypeAnnotation; declare function typeCastExpression(expression: any, typeAnnotation: any): BabelNodeTypeCastExpression; - declare function objectTypeAnnotation(properties: any, indexers: any, callProperties: any): BabelNodeObjectTypeAnnotation; - declare function objectTypeCallProperty(value: any): BabelNodeObjectTypeCallProperty; - declare function objectTypeIndexer(id: any, key: any, value: any): BabelNodeObjectTypeIndexer; - declare function objectTypeProperty(key: any, value: any): BabelNodeObjectTypeProperty; - declare function objectTypeSpreadProperty(argument: any): BabelNodeObjectTypeSpreadProperty; - declare function qualifiedTypeIdentifier(id: any, qualification: any): BabelNodeQualifiedTypeIdentifier; + declare function typeParameter(bound?: ?BabelNodeTypeAnnotation, _default?: ?BabelNodeFlow, name?: string): BabelNodeTypeParameter; + declare function typeParameterDeclaration(params: any): BabelNodeTypeParameterDeclaration; + declare function typeParameterInstantiation(params: any): BabelNodeTypeParameterInstantiation; declare function unionTypeAnnotation(types: any): BabelNodeUnionTypeAnnotation; declare function voidTypeAnnotation(): BabelNodeVoidTypeAnnotation; declare function jSXAttribute(name: BabelNodeJSXIdentifier | BabelNodeJSXNamespacedName, value?: ?BabelNodeJSXElement | BabelNodeStringLiteral | BabelNodeJSXExpressionContainer): BabelNodeJSXAttribute; @@ -1403,24 +1427,20 @@ declare module "babel-types" { declare function parenthesizedExpression(expression: BabelNodeExpression): BabelNodeParenthesizedExpression; declare function awaitExpression(argument: BabelNodeExpression): BabelNodeAwaitExpression; declare function bindExpression(object: any, callee: any): BabelNodeBindExpression; + declare function classProperty(key: any, value?: ?BabelNodeExpression, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, decorators?: any, computed?: boolean, abstract?: boolean, accessibility?: any, optional?: boolean, readonly?: boolean, _static?: boolean): BabelNodeClassProperty; declare function decorator(expression: BabelNodeExpression): BabelNodeDecorator; declare function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression; declare function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier; declare function exportNamespaceSpecifier(exported: BabelNodeIdentifier): BabelNodeExportNamespaceSpecifier; - declare function typeAnnotation(typeAnnotation: BabelNodeTSType | BabelNodeFlow): BabelNodeTypeAnnotation; - declare function typeParameterInstantiation(params: any): BabelNodeTypeParameterInstantiation; - declare function typeParameterDeclaration(params: any): BabelNodeTypeParameterDeclaration; - declare function typeParameter(bound?: ?BabelNodeTypeAnnotation, constraint?: ?BabelNodeTSType, _default?: ?BabelNodeTSType | BabelNodeFlow, name?: string): BabelNodeTypeParameter; - declare function classProperty(key: any, value?: ?BabelNodeExpression, typeAnnotation?: ?BabelNodeTypeAnnotation | BabelNodeNoop, decorators?: any, computed?: boolean, abstract?: boolean, accessibility?: any, optional?: boolean, readonly?: boolean, _static?: boolean): BabelNodeClassProperty; declare function tSParameterProperty(parameter: BabelNodeIdentifier | BabelNodeAssignmentPattern, accessibility?: "public" | "private" | "protected", readonly?: boolean): BabelNodeTSParameterProperty; - declare function tSDeclareFunction(id?: ?BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop, params: any, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, async?: boolean, declare?: boolean, generator?: boolean): BabelNodeTSDeclareFunction; - declare function tSDeclareMethod(decorators?: any, key: any, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop, params: any, returnType?: ?BabelNodeTypeAnnotation | BabelNodeNoop, abstract?: boolean, access?: any, accessibility?: any, async?: boolean, computed?: boolean, generator?: boolean, kind?: any, optional?: boolean, _static?: boolean): BabelNodeTSDeclareMethod; + declare function tSDeclareFunction(id?: ?BabelNodeIdentifier, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop, params: any, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, async?: boolean, declare?: boolean, generator?: boolean): BabelNodeTSDeclareFunction; + declare function tSDeclareMethod(decorators?: any, key: any, typeParameters?: ?BabelNodeTypeParameterDeclaration | BabelNodeNoop, params: any, returnType?: ?BabelNodeTypeAnnotation | BabelNodeTSTypeAnnotation | BabelNodeNoop, abstract?: boolean, access?: any, accessibility?: any, async?: boolean, computed?: boolean, generator?: boolean, kind?: any, optional?: boolean, _static?: boolean): BabelNodeTSDeclareMethod; declare function tSQualifiedName(left: BabelNodeTSEntityName, right: BabelNodeIdentifier): BabelNodeTSQualifiedName; - declare function tSCallSignatureDeclaration(typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTypeAnnotation): BabelNodeTSCallSignatureDeclaration; - declare function tSConstructSignatureDeclaration(typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTypeAnnotation): BabelNodeTSConstructSignatureDeclaration; - declare function tSPropertySignature(key: BabelNodeExpression, typeAnnotation?: ?BabelNodeTypeAnnotation, initializer?: ?BabelNodeExpression, computed?: boolean, optional?: boolean, readonly?: boolean): BabelNodeTSPropertySignature; - declare function tSMethodSignature(key: BabelNodeExpression, typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTypeAnnotation, computed?: boolean, optional?: boolean): BabelNodeTSMethodSignature; - declare function tSIndexSignature(parameters: any, typeAnnotation?: ?BabelNodeTypeAnnotation, readonly?: boolean): BabelNodeTSIndexSignature; + declare function tSCallSignatureDeclaration(typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTSTypeAnnotation): BabelNodeTSCallSignatureDeclaration; + declare function tSConstructSignatureDeclaration(typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTSTypeAnnotation): BabelNodeTSConstructSignatureDeclaration; + declare function tSPropertySignature(key: BabelNodeExpression, typeAnnotation?: ?BabelNodeTSTypeAnnotation, initializer?: ?BabelNodeExpression, computed?: boolean, optional?: boolean, readonly?: boolean): BabelNodeTSPropertySignature; + declare function tSMethodSignature(key: BabelNodeExpression, typeParameters?: ?BabelNodeTypeParameterDeclaration, parameters?: any, typeAnnotation?: ?BabelNodeTSTypeAnnotation, computed?: boolean, optional?: boolean): BabelNodeTSMethodSignature; + declare function tSIndexSignature(parameters: any, typeAnnotation?: ?BabelNodeTSTypeAnnotation, readonly?: boolean): BabelNodeTSIndexSignature; declare function tSAnyKeyword(): BabelNodeTSAnyKeyword; declare function tSNumberKeyword(): BabelNodeTSNumberKeyword; declare function tSObjectKeyword(): BabelNodeTSObjectKeyword; @@ -1432,10 +1452,10 @@ declare module "babel-types" { declare function tSNullKeyword(): BabelNodeTSNullKeyword; declare function tSNeverKeyword(): BabelNodeTSNeverKeyword; declare function tSThisType(): BabelNodeTSThisType; - declare function tSFunctionType(typeParameters?: ?BabelNodeTypeParameterDeclaration, typeAnnotation?: ?BabelNodeTypeAnnotation, parameters?: any): BabelNodeTSFunctionType; - declare function tSConstructorType(typeParameters?: ?BabelNodeTypeParameterDeclaration, typeAnnotation?: ?BabelNodeTypeAnnotation, parameters?: any): BabelNodeTSConstructorType; + declare function tSFunctionType(typeParameters?: ?BabelNodeTypeParameterDeclaration, typeAnnotation?: ?BabelNodeTSTypeAnnotation, parameters?: any): BabelNodeTSFunctionType; + declare function tSConstructorType(typeParameters?: ?BabelNodeTypeParameterDeclaration, typeAnnotation?: ?BabelNodeTSTypeAnnotation, parameters?: any): BabelNodeTSConstructorType; declare function tSTypeReference(typeName: BabelNodeTSEntityName, typeParameters?: ?BabelNodeTypeParameterInstantiation): BabelNodeTSTypeReference; - declare function tSTypePredicate(parameterName: BabelNodeIdentifier | BabelNodeTSThisType, typeAnnotation: BabelNodeTypeAnnotation): BabelNodeTSTypePredicate; + declare function tSTypePredicate(parameterName: BabelNodeIdentifier | BabelNodeTSThisType, typeAnnotation: BabelNodeTSTypeAnnotation): BabelNodeTSTypePredicate; declare function tSTypeQuery(exprName: BabelNodeTSEntityName): BabelNodeTSTypeQuery; declare function tSTypeLiteral(members: any): BabelNodeTSTypeLiteral; declare function tSArrayType(elementType: BabelNodeTSType): BabelNodeTSArrayType; @@ -1462,6 +1482,10 @@ declare module "babel-types" { declare function tSNonNullExpression(expression: BabelNodeExpression): BabelNodeTSNonNullExpression; declare function tSExportAssignment(expression: BabelNodeExpression): BabelNodeTSExportAssignment; declare function tSNamespaceExportDeclaration(id: BabelNodeIdentifier): BabelNodeTSNamespaceExportDeclaration; + declare function tSTypeAnnotation(typeAnnotation: BabelNodeTSType): BabelNodeTSTypeAnnotation; + declare function tSTypeParameterInstantiation(params: any): BabelNodeTSTypeParameterInstantiation; + declare function tSTypeParameterDeclaration(params: any): BabelNodeTSTypeParameterDeclaration; + declare function tSTypeParameter(constraint?: ?BabelNodeTSType, _default?: ?BabelNodeTSType, name?: string): BabelNodeTSTypeParameter; declare function isArrayExpression(node: Object, opts?: Object): boolean; declare function isAssignmentExpression(node: Object, opts?: Object): boolean; declare function isBinaryExpression(node: Object, opts?: Object): boolean; @@ -1565,20 +1589,24 @@ declare module "babel-types" { declare function isNullableTypeAnnotation(node: Object, opts?: Object): boolean; declare function isNumberLiteralTypeAnnotation(node: Object, opts?: Object): boolean; declare function isNumberTypeAnnotation(node: Object, opts?: Object): boolean; + declare function isObjectTypeAnnotation(node: Object, opts?: Object): boolean; + declare function isObjectTypeCallProperty(node: Object, opts?: Object): boolean; + declare function isObjectTypeIndexer(node: Object, opts?: Object): boolean; + declare function isObjectTypeProperty(node: Object, opts?: Object): boolean; + declare function isObjectTypeSpreadProperty(node: Object, opts?: Object): boolean; + declare function isOpaqueType(node: Object, opts?: Object): boolean; + declare function isQualifiedTypeIdentifier(node: Object, opts?: Object): boolean; declare function isStringLiteralTypeAnnotation(node: Object, opts?: Object): boolean; declare function isStringTypeAnnotation(node: Object, opts?: Object): boolean; declare function isThisTypeAnnotation(node: Object, opts?: Object): boolean; declare function isTupleTypeAnnotation(node: Object, opts?: Object): boolean; declare function isTypeofTypeAnnotation(node: Object, opts?: Object): boolean; declare function isTypeAlias(node: Object, opts?: Object): boolean; - declare function isOpaqueType(node: Object, opts?: Object): boolean; + declare function isTypeAnnotation(node: Object, opts?: Object): boolean; declare function isTypeCastExpression(node: Object, opts?: Object): boolean; - declare function isObjectTypeAnnotation(node: Object, opts?: Object): boolean; - declare function isObjectTypeCallProperty(node: Object, opts?: Object): boolean; - declare function isObjectTypeIndexer(node: Object, opts?: Object): boolean; - declare function isObjectTypeProperty(node: Object, opts?: Object): boolean; - declare function isObjectTypeSpreadProperty(node: Object, opts?: Object): boolean; - declare function isQualifiedTypeIdentifier(node: Object, opts?: Object): boolean; + declare function isTypeParameter(node: Object, opts?: Object): boolean; + declare function isTypeParameterDeclaration(node: Object, opts?: Object): boolean; + declare function isTypeParameterInstantiation(node: Object, opts?: Object): boolean; declare function isUnionTypeAnnotation(node: Object, opts?: Object): boolean; declare function isVoidTypeAnnotation(node: Object, opts?: Object): boolean; declare function isJSXAttribute(node: Object, opts?: Object): boolean; @@ -1597,16 +1625,12 @@ declare module "babel-types" { declare function isParenthesizedExpression(node: Object, opts?: Object): boolean; declare function isAwaitExpression(node: Object, opts?: Object): boolean; declare function isBindExpression(node: Object, opts?: Object): boolean; + declare function isClassProperty(node: Object, opts?: Object): boolean; declare function isImport(node: Object, opts?: Object): boolean; declare function isDecorator(node: Object, opts?: Object): boolean; declare function isDoExpression(node: Object, opts?: Object): boolean; declare function isExportDefaultSpecifier(node: Object, opts?: Object): boolean; declare function isExportNamespaceSpecifier(node: Object, opts?: Object): boolean; - declare function isTypeAnnotation(node: Object, opts?: Object): boolean; - declare function isTypeParameterInstantiation(node: Object, opts?: Object): boolean; - declare function isTypeParameterDeclaration(node: Object, opts?: Object): boolean; - declare function isTypeParameter(node: Object, opts?: Object): boolean; - declare function isClassProperty(node: Object, opts?: Object): boolean; declare function isTSParameterProperty(node: Object, opts?: Object): boolean; declare function isTSDeclareFunction(node: Object, opts?: Object): boolean; declare function isTSDeclareMethod(node: Object, opts?: Object): boolean; @@ -1657,6 +1681,10 @@ declare module "babel-types" { declare function isTSNonNullExpression(node: Object, opts?: Object): boolean; declare function isTSExportAssignment(node: Object, opts?: Object): boolean; declare function isTSNamespaceExportDeclaration(node: Object, opts?: Object): boolean; + declare function isTSTypeAnnotation(node: Object, opts?: Object): boolean; + declare function isTSTypeParameterInstantiation(node: Object, opts?: Object): boolean; + declare function isTSTypeParameterDeclaration(node: Object, opts?: Object): boolean; + declare function isTSTypeParameter(node: Object, opts?: Object): boolean; declare function isExpression(node: Object, opts?: Object): boolean; declare function isBinary(node: Object, opts?: Object): boolean; declare function isScopable(node: Object, opts?: Object): boolean; diff --git a/packages/babel-types/README.md b/packages/babel-types/README.md index a4de738d94..db99391fdd 100644 --- a/packages/babel-types/README.md +++ b/packages/babel-types/README.md @@ -2676,7 +2676,7 @@ See also `t.isUnaryExpression(node, opts)` and `t.assertUnaryExpression(node, op Aliases: `UnaryLike`, `Expression` - - `operator`: `'void' | 'delete' | '!' | '+' | '-' | '~' | 'typeof'` (required) + - `operator`: `'void' | 'throw' | 'delete' | '!' | '+' | '-' | '~' | 'typeof'` (required) - `argument`: `Expression` (required) - `prefix`: `boolean` (default: `true`)