diff --git a/packages/babel-types/src/asserts/generated/index.js b/packages/babel-types/src/asserts/generated/index.js index b59008770d..890e3d6e8d 100644 --- a/packages/babel-types/src/asserts/generated/index.js +++ b/packages/babel-types/src/asserts/generated/index.js @@ -939,6 +939,9 @@ export function assertTSModuleDeclaration( export function assertTSModuleBlock(node: Object, opts?: Object = {}): void { assert("TSModuleBlock", node, opts); } +export function assertTSImportType(node: Object, opts?: Object = {}): void { + assert("TSImportType", node, opts); +} export function assertTSImportEqualsDeclaration( node: Object, opts?: Object = {}, diff --git a/packages/babel-types/src/builders/generated/index.js b/packages/babel-types/src/builders/generated/index.js index 3ef4c396f9..a77b43cbb6 100644 --- a/packages/babel-types/src/builders/generated/index.js +++ b/packages/babel-types/src/builders/generated/index.js @@ -914,6 +914,11 @@ export function TSModuleBlock(...args: Array): Object { } export { TSModuleBlock as tsModuleBlock }; export { TSModuleBlock as tSModuleBlock }; +export function TSImportType(...args: Array): Object { + return builder("TSImportType", ...args); +} +export { TSImportType as tsImportType }; +export { TSImportType as tSImportType }; export function TSImportEqualsDeclaration(...args: Array): Object { return builder("TSImportEqualsDeclaration", ...args); } diff --git a/packages/babel-types/src/validators/generated/index.js b/packages/babel-types/src/validators/generated/index.js index e23dc5de2c..a93ccb5ce1 100644 --- a/packages/babel-types/src/validators/generated/index.js +++ b/packages/babel-types/src/validators/generated/index.js @@ -3031,6 +3031,20 @@ export function isTSModuleBlock(node: Object, opts?: Object): boolean { return false; } +export function isTSImportType(node: Object, opts?: Object): boolean { + if (!node) return false; + + const nodeType = node.type; + if (nodeType === "TSImportType") { + if (typeof opts === "undefined") { + return true; + } else { + return shallowEqual(node, opts); + } + } + + return false; +} export function isTSImportEqualsDeclaration( node: Object, opts?: Object, @@ -4254,7 +4268,8 @@ export function isTSType(node: Object, opts?: Object): boolean { "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || - "TSExpressionWithTypeArguments" === nodeType + "TSExpressionWithTypeArguments" === nodeType || + "TSImportType" === nodeType ) { if (typeof opts === "undefined") { return true;