Skip to content

Commit fbba1e9

Browse files
authored
Transform DocumentClient AttributeValue to NativeAttributeValue (#838)
1 parent 4defd41 commit fbba1e9

15 files changed

+63
-15
lines changed

.changeset/mean-ghosts-sparkle.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+
Transform DocumentClient AttributeValue to lib-dynamodb NativeAttributeValue

scripts/generateClientTypesMap/getClientTypesMap.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import jscodeshift, { Identifier, TSArrayType, TSTypeLiteral, TSTypeReference } from "jscodeshift";
22

3-
import { CLIENT_NAMES_MAP } from "../../src/transforms/v2-to-v3/config";
3+
import { CLIENT_NAMES_MAP, DOCUMENT_CLIENT } from "../../src/transforms/v2-to-v3/config";
44
import { getClientTypesMapWithKeysRemovedFromValues } from "./getClientTypesMapWithKeysRemovedFromValues";
55
import { getTypesSource } from "./getTypesSource";
66

@@ -25,7 +25,12 @@ export const getClientTypesMap = async (clientName: string): Promise<Record<stri
2525
tsTypes
2626
.filter((tsType) => tsType.typeAnnotation.type === type)
2727
.forEach((tsType) => {
28-
clientTypesMap[tsType.id.name] = value;
28+
const { name } = tsType.id;
29+
if (clientName === DOCUMENT_CLIENT && name === "AttributeValue" && value === "any") {
30+
clientTypesMap[name] = "NativeAttributeValue";
31+
} else {
32+
clientTypesMap[name] = value;
33+
}
2934
});
3035
}
3136

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import AWS = require("aws-sdk");
2+
3+
const key: AWS.DynamoDB.DocumentClient.Key = {};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import AWS_lib_dynamodb = require("@aws-sdk/lib-dynamodb");
2+
import NativeAttributeValue = AWS_lib_dynamodb.NativeAttributeValue;
3+
4+
const key: Record<string, NativeAttributeValue> = {};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import AWS from "aws-sdk";
2+
3+
const key: AWS.DynamoDB.DocumentClient.Key = {};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
2+
3+
const key: Record<string, NativeAttributeValue> = {};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import DynamoDB from "aws-sdk/clients/dynamodb";
2+
3+
const key: DynamoDB.DocumentClient.Key = {};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
2+
3+
const key: Record<string, NativeAttributeValue> = {};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import DynamoDB = require("aws-sdk/clients/dynamodb");
2+
3+
const key: DynamoDB.DocumentClient.Key = {};
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import AWS_lib_dynamodb = require("@aws-sdk/lib-dynamodb");
2+
import NativeAttributeValue = AWS_lib_dynamodb.NativeAttributeValue;
3+
4+
const key: Record<string, NativeAttributeValue> = {};

0 commit comments

Comments
 (0)