aws-sdk-js-codemod
Version:
Collection of codemod scripts that help update AWS SDK for JavaScript APIs
31 lines (30 loc) • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClientTypeNames = void 0;
const importModule_1 = require("../modules/importModule");
const utils_1 = require("../utils");
const getTSQualifiedNameFromClientName_1 = require("./getTSQualifiedNameFromClientName");
const getRightIdentifierName = (j, source, tsTypeRef) => source
.find(j.TSTypeReference, tsTypeRef)
.nodes()
.map((node) => node.typeName.right)
.filter((node) => node.type === "Identifier")
.map((node) => node.name);
const getClientTypeNames = (j, source, { v2ClientLocalName, v2ClientName, v2GlobalName }) => {
const clientTypeNames = [];
if (v2GlobalName) {
clientTypeNames.push(...getRightIdentifierName(j, source, {
typeName: {
left: (0, getTSQualifiedNameFromClientName_1.getTSQualifiedNameFromClientName)(v2ClientName, v2GlobalName),
},
}));
}
clientTypeNames.push(...getRightIdentifierName(j, source, {
typeName: { left: (0, getTSQualifiedNameFromClientName_1.getTSQualifiedNameFromClientName)(v2ClientLocalName) },
}));
clientTypeNames.push(...(0, importModule_1.getImportSpecifiers)(j, source, (0, utils_1.getClientDeepImportPath)(v2ClientName))
.filter((importSpecifier) => importSpecifier.importedName)
.map((importSpecifier) => importSpecifier.localName));
return [...new Set(clientTypeNames)];
};
exports.getClientTypeNames = getClientTypeNames;