aws-sdk-js-codemod
Version:
Collection of codemod scripts that help update AWS SDK for JavaScript APIs
39 lines (38 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.replaceAwsError = void 0;
const modules_1 = require("../modules");
const replaceAwsError = (j, source, { v2GlobalName, importType }) => {
const v2AwsErrorName = "AWSError";
const v3AwsErrorName = "ServiceException";
const namedModuleParams = {
importType,
localName: v3AwsErrorName,
packageName: "@smithy/smithy-client",
};
if (v2GlobalName) {
source
.find(j.TSTypeReference, {
typeName: {
left: { type: "Identifier", name: v2GlobalName },
right: { type: "Identifier", name: v2AwsErrorName },
},
})
.replaceWith((v2ErrorType) => {
(0, modules_1.addNamedModule)(j, source, namedModuleParams);
return j.tsTypeReference(j.identifier(v3AwsErrorName), v2ErrorType.node.typeParameters);
});
}
source
.find(j.TSTypeReference, {
typeName: {
type: "Identifier",
name: v2AwsErrorName,
},
})
.replaceWith((v2ErrorType) => {
(0, modules_1.addNamedModule)(j, source, namedModuleParams);
return j.tsTypeReference(j.identifier(v3AwsErrorName), v2ErrorType.node.typeParameters);
});
};
exports.replaceAwsError = replaceAwsError;