aws-sdk-js-codemod
Version:
Collection of codemod scripts that help update AWS SDK for JavaScript APIs
26 lines (25 loc) • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addDefaultModule = void 0;
const importEqualsModule_1 = require("../importEqualsModule");
const getDefaultName_1 = require("./getDefaultName");
const addDefaultModule = (j, source, packageName) => {
const defaultLocalName = (0, getDefaultName_1.getDefaultName)(packageName);
const existingImportEquals = (0, importEqualsModule_1.getImportSpecifiers)(j, source, packageName);
if (existingImportEquals.length > 0) {
if (existingImportEquals.some((importSpecifier) => importSpecifier.localName === defaultLocalName)) {
return;
}
}
// Build a new import equals declaration.
const v3importEqualsDeclaration = j.tsImportEqualsDeclaration(j.identifier(defaultLocalName), j.tsExternalModuleReference(j.stringLiteral(packageName)));
const v2ImportEquals = (0, importEqualsModule_1.getImportEqualsDeclarations)(j, source);
if (v2ImportEquals.size()) {
// Insert it after the first import equals declaration.
v2ImportEquals.at(0).insertAfter(v3importEqualsDeclaration);
return;
}
// Insert it at the top of the document.
source.get().node.program.body.unshift(v3importEqualsDeclaration);
};
exports.addDefaultModule = addDefaultModule;