| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.ImportSpecifier = ImportSpecifier; |
| exports.ImportDefaultSpecifier = ImportDefaultSpecifier; |
| exports.ExportDefaultSpecifier = ExportDefaultSpecifier; |
| exports.ExportSpecifier = ExportSpecifier; |
| exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; |
| exports.ExportAllDeclaration = ExportAllDeclaration; |
| exports.ExportNamedDeclaration = ExportNamedDeclaration; |
| exports.ExportDefaultDeclaration = ExportDefaultDeclaration; |
| exports.ImportDeclaration = ImportDeclaration; |
| exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; |
| |
| var t = _interopRequireWildcard(require("@babel/types")); |
| |
| function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } |
| |
| function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } |
| |
| function ImportSpecifier(node) { |
| if (node.importKind === "type" || node.importKind === "typeof") { |
| this.word(node.importKind); |
| this.space(); |
| } |
| |
| this.print(node.imported, node); |
| |
| if (node.local && node.local.name !== node.imported.name) { |
| this.space(); |
| this.word("as"); |
| this.space(); |
| this.print(node.local, node); |
| } |
| } |
| |
| function ImportDefaultSpecifier(node) { |
| this.print(node.local, node); |
| } |
| |
| function ExportDefaultSpecifier(node) { |
| this.print(node.exported, node); |
| } |
| |
| function ExportSpecifier(node) { |
| this.print(node.local, node); |
| |
| if (node.exported && node.local.name !== node.exported.name) { |
| this.space(); |
| this.word("as"); |
| this.space(); |
| this.print(node.exported, node); |
| } |
| } |
| |
| function ExportNamespaceSpecifier(node) { |
| this.token("*"); |
| this.space(); |
| this.word("as"); |
| this.space(); |
| this.print(node.exported, node); |
| } |
| |
| function ExportAllDeclaration(node) { |
| this.word("export"); |
| this.space(); |
| |
| if (node.exportKind === "type") { |
| this.word("type"); |
| this.space(); |
| } |
| |
| this.token("*"); |
| this.space(); |
| this.word("from"); |
| this.space(); |
| this.print(node.source, node); |
| this.semicolon(); |
| } |
| |
| function ExportNamedDeclaration(node) { |
| if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { |
| this.printJoin(node.declaration.decorators, node); |
| } |
| |
| this.word("export"); |
| this.space(); |
| ExportDeclaration.apply(this, arguments); |
| } |
| |
| function ExportDefaultDeclaration(node) { |
| if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { |
| this.printJoin(node.declaration.decorators, node); |
| } |
| |
| this.word("export"); |
| this.space(); |
| this.word("default"); |
| this.space(); |
| ExportDeclaration.apply(this, arguments); |
| } |
| |
| function ExportDeclaration(node) { |
| if (node.declaration) { |
| const declar = node.declaration; |
| this.print(declar, node); |
| if (!t.isStatement(declar)) this.semicolon(); |
| } else { |
| if (node.exportKind === "type") { |
| this.word("type"); |
| this.space(); |
| } |
| |
| const specifiers = node.specifiers.slice(0); |
| let hasSpecial = false; |
| |
| while (true) { |
| const first = specifiers[0]; |
| |
| if (t.isExportDefaultSpecifier(first) || t.isExportNamespaceSpecifier(first)) { |
| hasSpecial = true; |
| this.print(specifiers.shift(), node); |
| |
| if (specifiers.length) { |
| this.token(","); |
| this.space(); |
| } |
| } else { |
| break; |
| } |
| } |
| |
| if (specifiers.length || !specifiers.length && !hasSpecial) { |
| this.token("{"); |
| |
| if (specifiers.length) { |
| this.space(); |
| this.printList(specifiers, node); |
| this.space(); |
| } |
| |
| this.token("}"); |
| } |
| |
| if (node.source) { |
| this.space(); |
| this.word("from"); |
| this.space(); |
| this.print(node.source, node); |
| } |
| |
| this.semicolon(); |
| } |
| } |
| |
| function ImportDeclaration(node) { |
| this.word("import"); |
| this.space(); |
| |
| if (node.importKind === "type" || node.importKind === "typeof") { |
| this.word(node.importKind); |
| this.space(); |
| } |
| |
| const specifiers = node.specifiers.slice(0); |
| |
| if (specifiers && specifiers.length) { |
| while (true) { |
| const first = specifiers[0]; |
| |
| if (t.isImportDefaultSpecifier(first) || t.isImportNamespaceSpecifier(first)) { |
| this.print(specifiers.shift(), node); |
| |
| if (specifiers.length) { |
| this.token(","); |
| this.space(); |
| } |
| } else { |
| break; |
| } |
| } |
| |
| if (specifiers.length) { |
| this.token("{"); |
| this.space(); |
| this.printList(specifiers, node); |
| this.space(); |
| this.token("}"); |
| } |
| |
| this.space(); |
| this.word("from"); |
| this.space(); |
| } |
| |
| this.print(node.source, node); |
| this.semicolon(); |
| } |
| |
| function ImportNamespaceSpecifier(node) { |
| this.token("*"); |
| this.space(); |
| this.word("as"); |
| this.space(); |
| this.print(node.local, node); |
| } |