Skip to content

Commit 8a1fdff

Browse files
authored
Do not use spread syntax on accumulators (#897)
1 parent e66c64b commit 8a1fdff

File tree

5 files changed

+47
-42
lines changed

5 files changed

+47
-42
lines changed

.changeset/gentle-news-provide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"aws-sdk-js-codemod": patch
3+
---
4+
5+
Do not use spread syntax on accumulators

biome.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@
2020
"noUndeclaredVariables": "error",
2121
"noUnusedVariables": "error"
2222
},
23-
"performance": {
24-
"noAccumulatingSpread": "off"
25-
},
2623
"style": {
2724
"noNamespace": "error",
2825
"noNonNullAssertion": "off",

src/transforms/v2-to-v3/client-names/getClientMetadataRecord.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@ export const getClientMetadataRecord = (
77
): ClientMetadataRecord =>
88
Object.entries(
99
Object.entries(v2ClientNamesRecord).reduce(
10-
(acc, [v2ClientName, v2ClientLocalName]) => ({
11-
...acc,
12-
[v2ClientName]: {
10+
(acc: ClientMetadataRecord, [v2ClientName, v2ClientLocalName]) => {
11+
acc[v2ClientName] = {
1312
v2ClientLocalName,
1413
v3ClientName: getV3ClientName(v2ClientName),
1514
v3ClientPackageName: getV3ClientPackageName(v2ClientName),
16-
},
17-
}),
15+
};
16+
return acc;
17+
},
1818
{}
19-
) as ClientMetadataRecord
19+
)
2020
)
2121
.sort(([, { v3ClientPackageName: a }], [, { v3ClientPackageName: b }]) => b.localeCompare(a))
22-
.reduce((r, [k, v]) => ({ ...r, [k]: v }), {});
22+
.reduce((acc: ClientMetadataRecord, [key, value]) => {
23+
acc[key] = value;
24+
return acc;
25+
}, {});

src/transforms/v2-to-v3/config/CLIENT_NAMES_MAP.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ import { CLIENT_NAMES } from "./CLIENT_NAMES";
22

33
// The key is the client name in v2, and value is the client name in v3.
44
export const CLIENT_NAMES_MAP: Record<string, string> = {
5-
...CLIENT_NAMES.reduce((acc, name) => ({ ...acc, [name]: name }), {}),
5+
...CLIENT_NAMES.reduce((acc: Record<string, string>, name) => {
6+
acc[name] = name;
7+
return acc;
8+
}, {}),
69
AugmentedAIRuntime: "SageMakerA2IRuntime",
710
CUR: "CostAndUsageReportService",
811
CodeArtifact: "Codeartifact",

src/transforms/v2-to-v3/config/CLIENT_PACKAGE_NAMES_MAP.ts

Lines changed: 28 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,34 @@ import { CLIENT_NAMES } from "./CLIENT_NAMES";
22

33
// The key is the client name in v2, and value is the client package name in v3.
44
export const CLIENT_PACKAGE_NAMES_MAP: Record<string, string> = {
5-
...CLIENT_NAMES.reduce(
6-
(acc, name) => ({
7-
...acc,
8-
[name]: `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`
9-
.replace("-chime-sdk", "-chime-sdk-")
10-
.replace("client-amplify-", "client-amplify")
11-
.replace("client-bcmdata-exports", "client-bcm-data-exports")
12-
.replace("client-control-catalog", "client-controlcatalog")
13-
.replace("client-clean-rooms-ml", "client-cleanroomsml")
14-
.replace("client-cloud-", "client-cloud")
15-
.replace("client-code-", "client-code")
16-
.replace("client-connect-", "client-connect")
17-
.replace("client-data-", "client-data")
18-
.replace("client-free-tier", "client-freetier")
19-
.replace("client-io-t", "client-iot-")
20-
.replace("client-iot-fleet-", "client-iotfleet")
21-
.replace("client-lookout-", "client-lookout")
22-
.replace("client-media-", "client-media")
23-
.replace("client-migration-hub-", "client-migrationhub")
24-
.replace("client-network-monitor", "client-networkmonitor")
25-
.replace("client-pinpoint-sms", "client-pinpoint-sms-")
26-
.replace("client-route53", "client-route53-")
27-
.replace("client-sage-maker", "client-sagemaker")
28-
.replace("client-security-", "client-security")
29-
.replace("client-supply-chain", "client-supplychain")
30-
.replace("client-timestream-influx-db", "client-timestream-influxdb")
31-
.replace("client-trusted-advisor", "client-trustedadvisor")
32-
.replace("client-work-", "client-work"),
33-
}),
34-
{}
35-
),
5+
...CLIENT_NAMES.reduce((acc: Record<string, string>, name) => {
6+
acc[name] = `client-${name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()}`
7+
.replace("-chime-sdk", "-chime-sdk-")
8+
.replace("client-amplify-", "client-amplify")
9+
.replace("client-bcmdata-exports", "client-bcm-data-exports")
10+
.replace("client-control-catalog", "client-controlcatalog")
11+
.replace("client-clean-rooms-ml", "client-cleanroomsml")
12+
.replace("client-cloud-", "client-cloud")
13+
.replace("client-code-", "client-code")
14+
.replace("client-connect-", "client-connect")
15+
.replace("client-data-", "client-data")
16+
.replace("client-free-tier", "client-freetier")
17+
.replace("client-io-t", "client-iot-")
18+
.replace("client-iot-fleet-", "client-iotfleet")
19+
.replace("client-lookout-", "client-lookout")
20+
.replace("client-media-", "client-media")
21+
.replace("client-migration-hub-", "client-migrationhub")
22+
.replace("client-network-monitor", "client-networkmonitor")
23+
.replace("client-pinpoint-sms", "client-pinpoint-sms-")
24+
.replace("client-route53", "client-route53-")
25+
.replace("client-sage-maker", "client-sagemaker")
26+
.replace("client-security-", "client-security")
27+
.replace("client-supply-chain", "client-supplychain")
28+
.replace("client-timestream-influx-db", "client-timestream-influxdb")
29+
.replace("client-trusted-advisor", "client-trustedadvisor")
30+
.replace("client-work-", "client-work");
31+
return acc;
32+
}, {}),
3633
AccessAnalyzer: "client-accessanalyzer",
3734
ACMPCA: "client-acm-pca",
3835
APIGateway: "client-api-gateway",

0 commit comments

Comments
 (0)