UNPKG

aws-sdk-js-codemod

Version:

Collection of codemod scripts that help update AWS SDK for JavaScript APIs

26 lines (25 loc) 1.31 kB
"use strict"; 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;