UNPKG

aws-sdk-js-codemod

Version:

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

31 lines (30 loc) 1.49 kB
"use strict"; 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;