UNPKG

st-bundle

Version:

CLI for watching and bundling SpringType projects.

38 lines (37 loc) 1.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const transformUtils_1 = require("../transformUtils"); function handleExportSpecifiers(ctx, node, parent, prop, idx) { if (node.source) { const name = ctx.generateName(); if (node.source.type === 'Literal') { ctx.reqStatements.push({ local: name, source: node.source.value }); } node.specifiers.forEach(specifier => { ctx.exported.push({ exported: specifier.exported.name, local: transformUtils_1.createMemberExpression(name, specifier.local.name), }); }); } else { // export { name1, name2} node.specifiers.forEach(specifier => { let replacement = specifier.local.name; if (ctx.tracedImportSpecifiers[specifier.local.name]) { const traced = ctx.tracedImportSpecifiers[specifier.local.name]; if (traced.replaceWithLocal) { replacement = { type: 'Identifier', name: traced.local }; } else { replacement = transformUtils_1.createMemberExpression(traced.local, traced.alias ? traced.alias : specifier.local.name); } } ctx.exported.push({ local: replacement, exported: specifier.exported.name }); }); } if (prop && idx !== undefined) { ctx.toRemove(parent[prop], node); } } exports.handleExportSpecifiers = handleExportSpecifiers;