scripts/generateNewClientTests/getV3PackageRequiresCode.ts (29 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 V3PackageRequiresCodeOptions {
useLocalSuffix?: boolean;
}
export const getV3PackageRequiresCode = (
clientsToTest: typeof CLIENT_NAMES,
options?: V3PackageRequiresCodeOptions
) => {
let content = "";
const { useLocalSuffix = false } = options || {};
for (const v2ClientName of clientsToTest) {
const v3ClientName = CLIENT_NAMES_MAP[v2ClientName];
const v3ClientPackageName = `@aws-sdk/${CLIENT_PACKAGE_NAMES_MAP[v2ClientName]}`;
const v2ClientLocalName = useLocalSuffix
? getClientNameWithLocalSuffix(v2ClientName)
: v2ClientName;
const v3RequireKeyValuePair =
v2ClientName === v2ClientLocalName
? ` ${v3ClientName} `
: `\n ${v3ClientName}: ${v2ClientLocalName}\n`;
content += `const {${v3RequireKeyValuePair}} = require("${v3ClientPackageName}");\n`;
}
return content;
};