* Backport #6031 * Backport #6031 * Rebase on master, rerun scripts * Update flowconfig
This commit is contained in:
parent
d375d80001
commit
f4716dc816
@ -1,6 +1,7 @@
|
||||
[ignore]
|
||||
.*/packages/.*/lib
|
||||
.*/packages/.*/test
|
||||
.*/node_modules/conventional-changelog-core/
|
||||
|
||||
[include]
|
||||
packages/*/src
|
||||
|
||||
102
lib/types.js
102
lib/types.js
@ -68,8 +68,8 @@ declare class BabelNodeDirectiveLiteral extends BabelNode {
|
||||
|
||||
declare class BabelNodeBlockStatement extends BabelNode {
|
||||
type: "BlockStatement";
|
||||
directives?: any;
|
||||
body: any;
|
||||
directives?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeBreakStatement extends BabelNode {
|
||||
@ -231,8 +231,8 @@ declare class BabelNodeNewExpression extends BabelNode {
|
||||
|
||||
declare class BabelNodeProgram extends BabelNode {
|
||||
type: "Program";
|
||||
directives?: any;
|
||||
body: any;
|
||||
directives?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeObjectExpression extends BabelNode {
|
||||
@ -243,22 +243,22 @@ declare class BabelNodeObjectExpression extends BabelNode {
|
||||
declare class BabelNodeObjectMethod extends BabelNode {
|
||||
type: "ObjectMethod";
|
||||
kind?: any;
|
||||
computed?: boolean;
|
||||
key: any;
|
||||
decorators?: any;
|
||||
body: BabelNodeBlockStatement;
|
||||
generator?: boolean;
|
||||
async?: boolean;
|
||||
params: any;
|
||||
body: BabelNodeBlockStatement;
|
||||
computed?: boolean;
|
||||
async?: boolean;
|
||||
decorators?: any;
|
||||
generator?: boolean;
|
||||
returnType?: any;
|
||||
typeParameters?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeObjectProperty extends BabelNode {
|
||||
type: "ObjectProperty";
|
||||
computed?: boolean;
|
||||
key: any;
|
||||
value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement;
|
||||
computed?: boolean;
|
||||
shorthand?: boolean;
|
||||
decorators?: any;
|
||||
}
|
||||
@ -266,8 +266,8 @@ declare class BabelNodeObjectProperty extends BabelNode {
|
||||
declare class BabelNodeRestElement extends BabelNode {
|
||||
type: "RestElement";
|
||||
argument: BabelNodeLVal;
|
||||
decorators?: any;
|
||||
typeAnnotation: any;
|
||||
decorators?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeReturnStatement extends BabelNode {
|
||||
@ -303,24 +303,24 @@ declare class BabelNodeThrowStatement extends BabelNode {
|
||||
|
||||
declare class BabelNodeTryStatement extends BabelNode {
|
||||
type: "TryStatement";
|
||||
body?: ?BabelNodeBlockStatement;
|
||||
block: any;
|
||||
handler?: any;
|
||||
finalizer?: ?BabelNodeBlockStatement;
|
||||
block: any;
|
||||
body?: ?BabelNodeBlockStatement;
|
||||
}
|
||||
|
||||
declare class BabelNodeUnaryExpression extends BabelNode {
|
||||
type: "UnaryExpression";
|
||||
prefix?: boolean;
|
||||
argument: BabelNodeExpression;
|
||||
operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof";
|
||||
argument: BabelNodeExpression;
|
||||
prefix?: boolean;
|
||||
}
|
||||
|
||||
declare class BabelNodeUpdateExpression extends BabelNode {
|
||||
type: "UpdateExpression";
|
||||
prefix?: boolean;
|
||||
argument: BabelNodeExpression;
|
||||
operator: "++" | "--";
|
||||
argument: BabelNodeExpression;
|
||||
prefix?: boolean;
|
||||
}
|
||||
|
||||
declare class BabelNodeVariableDeclaration extends BabelNode {
|
||||
@ -357,8 +357,8 @@ declare class BabelNodeAssignmentPattern extends BabelNode {
|
||||
declare class BabelNodeArrayPattern extends BabelNode {
|
||||
type: "ArrayPattern";
|
||||
elements: any;
|
||||
decorators?: any;
|
||||
typeAnnotation: any;
|
||||
decorators?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeArrowFunctionExpression extends BabelNode {
|
||||
@ -378,23 +378,23 @@ declare class BabelNodeClassBody extends BabelNode {
|
||||
declare class BabelNodeClassDeclaration extends BabelNode {
|
||||
type: "ClassDeclaration";
|
||||
id: BabelNodeIdentifier;
|
||||
body: BabelNodeClassBody;
|
||||
superClass?: ?BabelNodeExpression;
|
||||
body: BabelNodeClassBody;
|
||||
decorators: any;
|
||||
mixins?: any;
|
||||
typeParameters?: any;
|
||||
superTypeParameters?: any;
|
||||
typeParameters?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeClassExpression extends BabelNode {
|
||||
type: "ClassExpression";
|
||||
id?: ?BabelNodeIdentifier;
|
||||
body: BabelNodeClassBody;
|
||||
superClass?: ?BabelNodeExpression;
|
||||
body: BabelNodeClassBody;
|
||||
decorators: any;
|
||||
mixins?: any;
|
||||
typeParameters?: any;
|
||||
superTypeParameters?: any;
|
||||
typeParameters?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeExportAllDeclaration extends BabelNode {
|
||||
@ -459,13 +459,13 @@ declare class BabelNodeMetaProperty extends BabelNode {
|
||||
declare class BabelNodeClassMethod extends BabelNode {
|
||||
type: "ClassMethod";
|
||||
kind?: any;
|
||||
computed?: boolean;
|
||||
key: any;
|
||||
params: any;
|
||||
body: BabelNodeBlockStatement;
|
||||
generator?: boolean;
|
||||
computed?: boolean;
|
||||
async?: boolean;
|
||||
decorators?: any;
|
||||
generator?: boolean;
|
||||
returnType?: any;
|
||||
typeParameters?: any;
|
||||
}
|
||||
@ -473,8 +473,8 @@ declare class BabelNodeClassMethod extends BabelNode {
|
||||
declare class BabelNodeObjectPattern extends BabelNode {
|
||||
type: "ObjectPattern";
|
||||
properties: any;
|
||||
decorators?: any;
|
||||
typeAnnotation: any;
|
||||
decorators?: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeSpreadElement extends BabelNode {
|
||||
@ -506,8 +506,8 @@ declare class BabelNodeTemplateLiteral extends BabelNode {
|
||||
|
||||
declare class BabelNodeYieldExpression extends BabelNode {
|
||||
type: "YieldExpression";
|
||||
delegate?: boolean;
|
||||
argument?: ?BabelNodeExpression;
|
||||
delegate?: boolean;
|
||||
}
|
||||
|
||||
declare class BabelNodeAnyTypeAnnotation extends BabelNode {
|
||||
@ -539,11 +539,11 @@ declare class BabelNodeClassImplements extends BabelNode {
|
||||
|
||||
declare class BabelNodeClassProperty extends BabelNode {
|
||||
type: "ClassProperty";
|
||||
computed?: boolean;
|
||||
key: any;
|
||||
value: any;
|
||||
typeAnnotation: any;
|
||||
decorators: any;
|
||||
computed?: boolean;
|
||||
}
|
||||
|
||||
declare class BabelNodeDeclareClass extends BabelNode {
|
||||
@ -595,6 +595,13 @@ declare class BabelNodeDeclareVariable extends BabelNode {
|
||||
id: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeDeclareExportDeclaration extends BabelNode {
|
||||
type: "DeclareExportDeclaration";
|
||||
declaration: any;
|
||||
specifiers: any;
|
||||
source: any;
|
||||
}
|
||||
|
||||
declare class BabelNodeExistentialTypeParam extends BabelNode {
|
||||
type: "ExistentialTypeParam";
|
||||
}
|
||||
@ -819,8 +826,8 @@ declare class BabelNodeJSXNamespacedName extends BabelNode {
|
||||
declare class BabelNodeJSXOpeningElement extends BabelNode {
|
||||
type: "JSXOpeningElement";
|
||||
name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression;
|
||||
selfClosing?: boolean;
|
||||
attributes: any;
|
||||
selfClosing?: boolean;
|
||||
}
|
||||
|
||||
declare class BabelNodeJSXSpreadAttribute extends BabelNode {
|
||||
@ -899,7 +906,7 @@ type BabelNodeBinary = BabelNodeBinaryExpression | BabelNodeLogicalExpression;
|
||||
type BabelNodeScopable = BabelNodeBlockStatement | BabelNodeCatchClause | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeClassDeclaration | BabelNodeClassExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeForAwaitStatement;
|
||||
type BabelNodeBlockParent = BabelNodeBlockStatement | BabelNodeDoWhileStatement | BabelNodeForInStatement | BabelNodeForStatement | BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | BabelNodeObjectMethod | BabelNodeSwitchStatement | BabelNodeWhileStatement | BabelNodeArrowFunctionExpression | BabelNodeForOfStatement | BabelNodeClassMethod | BabelNodeForAwaitStatement;
|
||||
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 | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeForAwaitStatement;
|
||||
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 | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeForAwaitStatement;
|
||||
type BabelNodeTerminatorless = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement | BabelNodeYieldExpression | BabelNodeAwaitExpression;
|
||||
type BabelNodeCompletionStatement = BabelNodeBreakStatement | BabelNodeContinueStatement | BabelNodeReturnStatement | BabelNodeThrowStatement;
|
||||
type BabelNodeConditional = BabelNodeConditionalExpression | BabelNodeIfStatement;
|
||||
@ -911,7 +918,7 @@ type BabelNodeForXStatement = BabelNodeForInStatement | BabelNodeForOfStatement
|
||||
type BabelNodeFunction = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeObjectMethod | BabelNodeArrowFunctionExpression | BabelNodeClassMethod;
|
||||
type BabelNodeFunctionParent = BabelNodeFunctionDeclaration | BabelNodeFunctionExpression | BabelNodeProgram | 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 | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
|
||||
type BabelNodeDeclaration = BabelNodeFunctionDeclaration | BabelNodeVariableDeclaration | BabelNodeClassDeclaration | BabelNodeExportAllDeclaration | BabelNodeExportDefaultDeclaration | BabelNodeExportNamedDeclaration | BabelNodeImportDeclaration | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
|
||||
type BabelNodeLVal = BabelNodeIdentifier | BabelNodeMemberExpression | BabelNodeRestElement | BabelNodeAssignmentPattern | BabelNodeArrayPattern | BabelNodeObjectPattern;
|
||||
type BabelNodeLiteral = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeRegExpLiteral | BabelNodeTemplateLiteral;
|
||||
type BabelNodeImmutable = BabelNodeStringLiteral | BabelNodeNumericLiteral | BabelNodeNullLiteral | BabelNodeBooleanLiteral | BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXOpeningElement | BabelNodeJSXText;
|
||||
@ -925,9 +932,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 | BabelNodeExistentialTypeParam | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumericLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeQualifiedTypeIdentifier | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation;
|
||||
type BabelNodeFlow = BabelNodeAnyTypeAnnotation | BabelNodeArrayTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeBooleanLiteralTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeClassImplements | BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeExistentialTypeParam | BabelNodeFunctionTypeAnnotation | BabelNodeFunctionTypeParam | BabelNodeGenericTypeAnnotation | BabelNodeInterfaceExtends | BabelNodeInterfaceDeclaration | BabelNodeIntersectionTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNullableTypeAnnotation | BabelNodeNumericLiteralTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringLiteralTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeTupleTypeAnnotation | BabelNodeTypeofTypeAnnotation | BabelNodeTypeAlias | BabelNodeOpaqueType | BabelNodeTypeAnnotation | BabelNodeTypeCastExpression | BabelNodeTypeParameter | BabelNodeTypeParameterDeclaration | BabelNodeTypeParameterInstantiation | BabelNodeObjectTypeAnnotation | BabelNodeObjectTypeCallProperty | BabelNodeObjectTypeIndexer | BabelNodeObjectTypeProperty | BabelNodeObjectTypeSpreadProperty | BabelNodeQualifiedTypeIdentifier | BabelNodeUnionTypeAnnotation | BabelNodeVoidTypeAnnotation;
|
||||
type BabelNodeFlowBaseAnnotation = BabelNodeAnyTypeAnnotation | BabelNodeBooleanTypeAnnotation | BabelNodeNullLiteralTypeAnnotation | BabelNodeMixedTypeAnnotation | BabelNodeEmptyTypeAnnotation | BabelNodeNumberTypeAnnotation | BabelNodeStringTypeAnnotation | BabelNodeThisTypeAnnotation | BabelNodeVoidTypeAnnotation;
|
||||
type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
|
||||
type BabelNodeFlowDeclaration = BabelNodeDeclareClass | BabelNodeDeclareFunction | BabelNodeDeclareInterface | BabelNodeDeclareModule | BabelNodeDeclareModuleExports | BabelNodeDeclareTypeAlias | BabelNodeDeclareOpaqueType | BabelNodeDeclareVariable | BabelNodeDeclareExportDeclaration | BabelNodeInterfaceDeclaration | BabelNodeTypeAlias | BabelNodeOpaqueType;
|
||||
type BabelNodeJSX = BabelNodeJSXAttribute | BabelNodeJSXClosingElement | BabelNodeJSXElement | BabelNodeJSXEmptyExpression | BabelNodeJSXExpressionContainer | BabelNodeJSXSpreadChild | BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression | BabelNodeJSXNamespacedName | BabelNodeJSXOpeningElement | BabelNodeJSXSpreadAttribute | BabelNodeJSXText;
|
||||
|
||||
declare module "babel-types" {
|
||||
@ -936,7 +943,7 @@ declare module "babel-types" {
|
||||
declare function binaryExpression(operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeBinaryExpression;
|
||||
declare function directive(value: BabelNodeDirectiveLiteral): BabelNodeDirective;
|
||||
declare function directiveLiteral(value: string): BabelNodeDirectiveLiteral;
|
||||
declare function blockStatement(directives?: any, body: any): BabelNodeBlockStatement;
|
||||
declare function blockStatement(body: any, directives?: any): BabelNodeBlockStatement;
|
||||
declare function breakStatement(label?: ?BabelNodeIdentifier): BabelNodeBreakStatement;
|
||||
declare function callExpression(callee: BabelNodeExpression, _arguments: any): BabelNodeCallExpression;
|
||||
declare function catchClause(param: BabelNodeIdentifier, body: BabelNodeBlockStatement): BabelNodeCatchClause;
|
||||
@ -962,30 +969,30 @@ declare module "babel-types" {
|
||||
declare function logicalExpression(operator: "||" | "&&", left: BabelNodeExpression, right: BabelNodeExpression): BabelNodeLogicalExpression;
|
||||
declare function memberExpression(object: BabelNodeExpression, property: any, computed?: boolean): BabelNodeMemberExpression;
|
||||
declare function newExpression(callee: BabelNodeExpression, _arguments: any): BabelNodeNewExpression;
|
||||
declare function program(directives?: any, body: any): BabelNodeProgram;
|
||||
declare function program(body: any, directives?: any): BabelNodeProgram;
|
||||
declare function objectExpression(properties: any): BabelNodeObjectExpression;
|
||||
declare function objectMethod(kind?: any, computed?: boolean, key: any, decorators?: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, params: any, returnType?: any, typeParameters?: any): BabelNodeObjectMethod;
|
||||
declare function objectProperty(computed?: boolean, key: any, value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty;
|
||||
declare function restElement(argument: BabelNodeLVal, decorators?: any, typeAnnotation: any): BabelNodeRestElement;
|
||||
declare function objectMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: any, typeParameters?: any): BabelNodeObjectMethod;
|
||||
declare function objectProperty(key: any, value: BabelNodeExpression | BabelNodePattern | BabelNodeRestElement, computed?: boolean, shorthand?: boolean, decorators?: any): BabelNodeObjectProperty;
|
||||
declare function restElement(argument: BabelNodeLVal, typeAnnotation: any, decorators?: any): 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(body?: ?BabelNodeBlockStatement, handler?: any, finalizer?: ?BabelNodeBlockStatement, block: any): BabelNodeTryStatement;
|
||||
declare function unaryExpression(prefix?: boolean, argument: BabelNodeExpression, operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof"): BabelNodeUnaryExpression;
|
||||
declare function updateExpression(prefix?: boolean, argument: BabelNodeExpression, operator: "++" | "--"): BabelNodeUpdateExpression;
|
||||
declare function tryStatement(block: any, handler?: any, finalizer?: ?BabelNodeBlockStatement, body?: ?BabelNodeBlockStatement): BabelNodeTryStatement;
|
||||
declare function unaryExpression(operator: "void" | "delete" | "!" | "+" | "-" | "++" | "--" | "~" | "typeof", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUnaryExpression;
|
||||
declare function updateExpression(operator: "++" | "--", argument: BabelNodeExpression, prefix?: boolean): BabelNodeUpdateExpression;
|
||||
declare function variableDeclaration(kind: any, declarations: any): 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, right: BabelNodeExpression, decorators?: any): BabelNodeAssignmentPattern;
|
||||
declare function arrayPattern(elements: any, decorators?: any, typeAnnotation: any): BabelNodeArrayPattern;
|
||||
declare function arrayPattern(elements: any, typeAnnotation: any, decorators?: any): BabelNodeArrayPattern;
|
||||
declare function arrowFunctionExpression(params: any, body: BabelNodeBlockStatement | BabelNodeExpression, async?: boolean, returnType?: any, typeParameters?: any): BabelNodeArrowFunctionExpression;
|
||||
declare function classBody(body: any): BabelNodeClassBody;
|
||||
declare function classDeclaration(id: BabelNodeIdentifier, body: BabelNodeClassBody, superClass?: ?BabelNodeExpression, decorators: any, mixins?: any, typeParameters?: any, superTypeParameters?: any, _implements?: any): BabelNodeClassDeclaration;
|
||||
declare function classExpression(id?: ?BabelNodeIdentifier, body: BabelNodeClassBody, superClass?: ?BabelNodeExpression, decorators: any, mixins?: any, typeParameters?: any, superTypeParameters?: any, _implements?: any): BabelNodeClassExpression;
|
||||
declare function classDeclaration(id: BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators: any, _implements?: any, mixins?: any, superTypeParameters?: any, typeParameters?: any): BabelNodeClassDeclaration;
|
||||
declare function classExpression(id?: ?BabelNodeIdentifier, superClass?: ?BabelNodeExpression, body: BabelNodeClassBody, decorators: any, _implements?: any, mixins?: any, superTypeParameters?: any, typeParameters?: any): BabelNodeClassExpression;
|
||||
declare function exportAllDeclaration(source: BabelNodeStringLiteral): BabelNodeExportAllDeclaration;
|
||||
declare function exportDefaultDeclaration(declaration: BabelNodeFunctionDeclaration | BabelNodeClassDeclaration | BabelNodeExpression): BabelNodeExportDefaultDeclaration;
|
||||
declare function exportNamedDeclaration(declaration?: ?BabelNodeDeclaration, specifiers: any, source?: ?BabelNodeStringLiteral): BabelNodeExportNamedDeclaration;
|
||||
@ -996,20 +1003,20 @@ 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: string, property: string): BabelNodeMetaProperty;
|
||||
declare function classMethod(kind?: any, computed?: boolean, _static?: boolean, key: any, params: any, body: BabelNodeBlockStatement, generator?: boolean, async?: boolean, decorators?: any, returnType?: any, typeParameters?: any): BabelNodeClassMethod;
|
||||
declare function objectPattern(properties: any, decorators?: any, typeAnnotation: any): BabelNodeObjectPattern;
|
||||
declare function classMethod(kind?: any, key: any, params: any, body: BabelNodeBlockStatement, computed?: boolean, _static?: boolean, async?: boolean, decorators?: any, generator?: boolean, returnType?: any, typeParameters?: any): BabelNodeClassMethod;
|
||||
declare function objectPattern(properties: any, typeAnnotation: any, decorators?: any): BabelNodeObjectPattern;
|
||||
declare function spreadElement(argument: BabelNodeExpression): BabelNodeSpreadElement;
|
||||
declare function taggedTemplateExpression(tag: BabelNodeExpression, quasi: BabelNodeTemplateLiteral): BabelNodeTaggedTemplateExpression;
|
||||
declare function templateElement(value: any, tail?: boolean): BabelNodeTemplateElement;
|
||||
declare function templateLiteral(quasis: any, expressions: any): BabelNodeTemplateLiteral;
|
||||
declare function yieldExpression(delegate?: boolean, argument?: ?BabelNodeExpression): BabelNodeYieldExpression;
|
||||
declare function yieldExpression(argument?: ?BabelNodeExpression, delegate?: boolean): BabelNodeYieldExpression;
|
||||
declare function anyTypeAnnotation(): BabelNodeAnyTypeAnnotation;
|
||||
declare function arrayTypeAnnotation(elementType: any): BabelNodeArrayTypeAnnotation;
|
||||
declare function booleanTypeAnnotation(): BabelNodeBooleanTypeAnnotation;
|
||||
declare function booleanLiteralTypeAnnotation(): BabelNodeBooleanLiteralTypeAnnotation;
|
||||
declare function nullLiteralTypeAnnotation(): BabelNodeNullLiteralTypeAnnotation;
|
||||
declare function classImplements(id: any, typeParameters: any): BabelNodeClassImplements;
|
||||
declare function classProperty(computed?: boolean, key: any, value: any, typeAnnotation: any, decorators: any): BabelNodeClassProperty;
|
||||
declare function classProperty(key: any, value: any, typeAnnotation: any, decorators: any, computed?: boolean): BabelNodeClassProperty;
|
||||
declare function declareClass(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareClass;
|
||||
declare function declareFunction(id: any): BabelNodeDeclareFunction;
|
||||
declare function declareInterface(id: any, typeParameters: any, _extends: any, body: any): BabelNodeDeclareInterface;
|
||||
@ -1018,6 +1025,7 @@ declare module "babel-types" {
|
||||
declare function declareTypeAlias(id: any, typeParameters: any, right: any): BabelNodeDeclareTypeAlias;
|
||||
declare function declareOpaqueType(id: any, typeParameters: any, supertype: any): BabelNodeDeclareOpaqueType;
|
||||
declare function declareVariable(id: any): BabelNodeDeclareVariable;
|
||||
declare function declareExportDeclaration(declaration: any, specifiers: any, source: any): BabelNodeDeclareExportDeclaration;
|
||||
declare function existentialTypeParam(): BabelNodeExistentialTypeParam;
|
||||
declare function functionTypeAnnotation(typeParameters: any, params: any, rest: any, returnType: any): BabelNodeFunctionTypeAnnotation;
|
||||
declare function functionTypeParam(name: any, typeAnnotation: any): BabelNodeFunctionTypeParam;
|
||||
@ -1059,7 +1067,7 @@ declare module "babel-types" {
|
||||
declare function jSXIdentifier(name: string): BabelNodeJSXIdentifier;
|
||||
declare function jSXMemberExpression(object: BabelNodeJSXMemberExpression | BabelNodeJSXIdentifier, property: BabelNodeJSXIdentifier): BabelNodeJSXMemberExpression;
|
||||
declare function jSXNamespacedName(namespace: BabelNodeJSXIdentifier, name: BabelNodeJSXIdentifier): BabelNodeJSXNamespacedName;
|
||||
declare function jSXOpeningElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression, selfClosing?: boolean, attributes: any): BabelNodeJSXOpeningElement;
|
||||
declare function jSXOpeningElement(name: BabelNodeJSXIdentifier | BabelNodeJSXMemberExpression, attributes: any, selfClosing?: boolean): BabelNodeJSXOpeningElement;
|
||||
declare function jSXSpreadAttribute(argument: BabelNodeExpression): BabelNodeJSXSpreadAttribute;
|
||||
declare function jSXText(value: string): BabelNodeJSXText;
|
||||
declare function noop(): BabelNodeNoop;
|
||||
@ -1067,7 +1075,6 @@ declare module "babel-types" {
|
||||
declare function awaitExpression(argument: BabelNodeExpression): BabelNodeAwaitExpression;
|
||||
declare function forAwaitStatement(left: BabelNodeVariableDeclaration | BabelNodeLVal, right: BabelNodeExpression, body: BabelNodeStatement): BabelNodeForAwaitStatement;
|
||||
declare function bindExpression(object: any, callee: any): BabelNodeBindExpression;
|
||||
declare function import(): BabelNodeImport;
|
||||
declare function decorator(expression: BabelNodeExpression): BabelNodeDecorator;
|
||||
declare function doExpression(body: BabelNodeBlockStatement): BabelNodeDoExpression;
|
||||
declare function exportDefaultSpecifier(exported: BabelNodeIdentifier): BabelNodeExportDefaultSpecifier;
|
||||
@ -1162,6 +1169,7 @@ declare module "babel-types" {
|
||||
declare function isDeclareTypeAlias(node: Object, opts?: Object): boolean;
|
||||
declare function isDeclareOpaqueType(node: Object, opts?: Object): boolean;
|
||||
declare function isDeclareVariable(node: Object, opts?: Object): boolean;
|
||||
declare function isDeclareExportDeclaration(node: Object, opts?: Object): boolean;
|
||||
declare function isExistentialTypeParam(node: Object, opts?: Object): boolean;
|
||||
declare function isFunctionTypeAnnotation(node: Object, opts?: Object): boolean;
|
||||
declare function isFunctionTypeParam(node: Object, opts?: Object): boolean;
|
||||
|
||||
@ -407,6 +407,21 @@ Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`
|
||||
|
||||
---
|
||||
|
||||
### declareExportDeclaration
|
||||
```javascript
|
||||
t.declareExportDeclaration(declaration, specifiers, source)
|
||||
```
|
||||
|
||||
See also `t.isDeclareExportDeclaration(node, opts)` and `t.assertDeclareExportDeclaration(node, opts)`.
|
||||
|
||||
Aliases: `Flow`, `FlowDeclaration`, `Statement`, `Declaration`
|
||||
|
||||
- `declaration` (required)
|
||||
- `specifiers` (required)
|
||||
- `source` (required)
|
||||
|
||||
---
|
||||
|
||||
### declareFunction
|
||||
```javascript
|
||||
t.declareFunction(id)
|
||||
|
||||
@ -52,20 +52,31 @@ for (var type in t.NODE_FIELDS) {
|
||||
var struct = ['type: "' + type + '";'];
|
||||
var args = [];
|
||||
|
||||
for (var fieldName in fields) {
|
||||
var field = fields[fieldName];
|
||||
Object.keys(t.NODE_FIELDS[type])
|
||||
.sort((fieldA, fieldB) => {
|
||||
const indexA = t.BUILDER_KEYS[type].indexOf(fieldA);
|
||||
const indexB = t.BUILDER_KEYS[type].indexOf(fieldB);
|
||||
if (indexA === indexB) return fieldA < fieldB ? -1 : 1;
|
||||
if (indexA === -1) return 1;
|
||||
if (indexB === -1) return -1;
|
||||
return indexA - indexB;
|
||||
})
|
||||
.forEach(fieldName => {
|
||||
const field = fields[fieldName];
|
||||
|
||||
var suffix = "";
|
||||
let suffix = "";
|
||||
if (field.optional || field.default != null) suffix += "?";
|
||||
|
||||
var typeAnnotation = "any";
|
||||
let typeAnnotation = "any";
|
||||
|
||||
var validate = field.validate;
|
||||
const validate = field.validate;
|
||||
if (validate) {
|
||||
if (validate.oneOf) {
|
||||
typeAnnotation = validate.oneOf.map(function (val) {
|
||||
typeAnnotation = validate.oneOf
|
||||
.map(function(val) {
|
||||
return JSON.stringify(val);
|
||||
}).join(" | ");
|
||||
})
|
||||
.join(" | ");
|
||||
}
|
||||
|
||||
if (validate.type) {
|
||||
@ -77,7 +88,9 @@ for (var type in t.NODE_FIELDS) {
|
||||
}
|
||||
|
||||
if (validate.oneOfNodeTypes) {
|
||||
var types = validate.oneOfNodeTypes.map(type => `${NODE_PREFIX}${type}`);
|
||||
const types = validate.oneOfNodeTypes.map(
|
||||
type => `${NODE_PREFIX}${type}`
|
||||
);
|
||||
typeAnnotation = types.join(" | ");
|
||||
if (suffix === "?") typeAnnotation = "?" + typeAnnotation;
|
||||
}
|
||||
@ -88,16 +101,18 @@ for (var type in t.NODE_FIELDS) {
|
||||
}
|
||||
|
||||
args.push(t.toBindingIdentifierName(fieldName) + suffix);
|
||||
if (!t.isValidIdentifier(fieldName)) continue;
|
||||
|
||||
if (t.isValidIdentifier(fieldName)) {
|
||||
struct.push(fieldName + suffix + ";");
|
||||
}
|
||||
});
|
||||
|
||||
code += `declare class ${NODE_PREFIX}${type} extends ${NODE_PREFIX} {
|
||||
${struct.join("\n ").trim()}
|
||||
}\n\n`;
|
||||
|
||||
// Flow chokes on super() :/
|
||||
if (type !== 'Super') {
|
||||
// Flow chokes on super() and import() :/
|
||||
if (type !== "Super" && type !== "Import") {
|
||||
lines.push(`declare function ${type[0].toLowerCase() + type.slice(1)}(${args.join(", ")}): ${NODE_PREFIX}${type};`);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user