scripts/generateNewClientTests/getV3PackageImportsCode.ts (27 lines of code) (raw):
import {
type CLIENT_NAMES,
CLIENT_NAMES_MAP,
CLIENT_PACKAGE_NAMES_MAP,
} from "../../src/transforms/v2-to-v3/config";
import { getClientNameWithLocalSuffix } from "./getClientNameWithLocalSuffix";
export interface V3PackageImportsCodeOptions {
useLocalSuffix?: boolean;
}
export const getV3PackageImportsCode = (
v2ClientNames: typeof CLIENT_NAMES,
options?: V3PackageImportsCodeOptions
) => {
let content = "";
const { useLocalSuffix = false } = options || {};
for (const v2ClientName of v2ClientNames) {
const v3ClientName = CLIENT_NAMES_MAP[v2ClientName];
const v3ClientPackageName = `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[v2ClientName]}`;
const v2ClientLocalName = useLocalSuffix
? getClientNameWithLocalSuffix(v2ClientName)
: v2ClientName;
const v3ImportSpecifier =
v2ClientName === v2ClientLocalName ? v3ClientName : `${v3ClientName} as ${v2ClientLocalName}`;
content += `import { ${v3ImportSpecifier} } from "${v3ClientPackageName}";\n`;
}
return content;
};