@depup/aws-sdk__lib-dynamodb 3.1005.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +31 -0
  3. package/dist-cjs/index.js +836 -0
  4. package/dist-es/DynamoDBDocument.js +214 -0
  5. package/dist-es/DynamoDBDocumentClient.js +20 -0
  6. package/dist-es/baseCommand/DynamoDBDocumentClientCommand.js +32 -0
  7. package/dist-es/commands/BatchExecuteStatementCommand.js +39 -0
  8. package/dist-es/commands/BatchGetCommand.js +45 -0
  9. package/dist-es/commands/BatchWriteCommand.js +57 -0
  10. package/dist-es/commands/DeleteCommand.js +38 -0
  11. package/dist-es/commands/ExecuteStatementCommand.js +31 -0
  12. package/dist-es/commands/ExecuteTransactionCommand.js +36 -0
  13. package/dist-es/commands/GetCommand.js +28 -0
  14. package/dist-es/commands/PutCommand.js +38 -0
  15. package/dist-es/commands/QueryCommand.js +42 -0
  16. package/dist-es/commands/ScanCommand.js +37 -0
  17. package/dist-es/commands/TransactGetCommand.js +38 -0
  18. package/dist-es/commands/TransactWriteCommand.js +53 -0
  19. package/dist-es/commands/UpdateCommand.js +43 -0
  20. package/dist-es/commands/index.js +13 -0
  21. package/dist-es/commands/utils.js +80 -0
  22. package/dist-es/index.js +5 -0
  23. package/dist-es/pagination/Interfaces.js +1 -0
  24. package/dist-es/pagination/QueryPaginator.js +4 -0
  25. package/dist-es/pagination/ScanPaginator.js +4 -0
  26. package/dist-es/pagination/index.js +3 -0
  27. package/dist-types/DynamoDBDocument.d.ts +195 -0
  28. package/dist-types/DynamoDBDocumentClient.d.ts +96 -0
  29. package/dist-types/baseCommand/DynamoDBDocumentClientCommand.d.ts +17 -0
  30. package/dist-types/commands/BatchExecuteStatementCommand.d.ts +66 -0
  31. package/dist-types/commands/BatchGetCommand.d.ts +70 -0
  32. package/dist-types/commands/BatchWriteCommand.d.ts +94 -0
  33. package/dist-types/commands/DeleteCommand.d.ts +66 -0
  34. package/dist-types/commands/ExecuteStatementCommand.d.ts +52 -0
  35. package/dist-types/commands/ExecuteTransactionCommand.d.ts +60 -0
  36. package/dist-types/commands/GetCommand.d.ts +48 -0
  37. package/dist-types/commands/PutCommand.d.ts +66 -0
  38. package/dist-types/commands/QueryCommand.d.ts +70 -0
  39. package/dist-types/commands/ScanCommand.d.ts +62 -0
  40. package/dist-types/commands/TransactGetCommand.d.ts +64 -0
  41. package/dist-types/commands/TransactWriteCommand.d.ts +92 -0
  42. package/dist-types/commands/UpdateCommand.d.ts +74 -0
  43. package/dist-types/commands/index.d.ts +13 -0
  44. package/dist-types/commands/utils.d.ts +33 -0
  45. package/dist-types/index.d.ts +7 -0
  46. package/dist-types/pagination/Interfaces.d.ts +13 -0
  47. package/dist-types/pagination/QueryPaginator.d.ts +11 -0
  48. package/dist-types/pagination/ScanPaginator.d.ts +11 -0
  49. package/dist-types/pagination/index.d.ts +3 -0
  50. package/dist-types/ts3.4/DynamoDBDocument.d.ts +221 -0
  51. package/dist-types/ts3.4/DynamoDBDocumentClient.d.ts +105 -0
  52. package/dist-types/ts3.4/baseCommand/DynamoDBDocumentClientCommand.d.ts +30 -0
  53. package/dist-types/ts3.4/commands/BatchExecuteStatementCommand.d.ts +96 -0
  54. package/dist-types/ts3.4/commands/BatchGetCommand.d.ts +92 -0
  55. package/dist-types/ts3.4/commands/BatchWriteCommand.d.ts +142 -0
  56. package/dist-types/ts3.4/commands/DeleteCommand.d.ts +96 -0
  57. package/dist-types/ts3.4/commands/ExecuteStatementCommand.d.ts +61 -0
  58. package/dist-types/ts3.4/commands/ExecuteTransactionCommand.d.ts +78 -0
  59. package/dist-types/ts3.4/commands/GetCommand.d.ts +57 -0
  60. package/dist-types/ts3.4/commands/PutCommand.d.ts +93 -0
  61. package/dist-types/ts3.4/commands/QueryCommand.d.ts +96 -0
  62. package/dist-types/ts3.4/commands/ScanCommand.d.ts +80 -0
  63. package/dist-types/ts3.4/commands/TransactGetCommand.d.ts +82 -0
  64. package/dist-types/ts3.4/commands/TransactWriteCommand.d.ts +151 -0
  65. package/dist-types/ts3.4/commands/UpdateCommand.d.ts +113 -0
  66. package/dist-types/ts3.4/commands/index.d.ts +13 -0
  67. package/dist-types/ts3.4/commands/utils.d.ts +17 -0
  68. package/dist-types/ts3.4/index.d.ts +11 -0
  69. package/dist-types/ts3.4/pagination/Interfaces.d.ts +8 -0
  70. package/dist-types/ts3.4/pagination/QueryPaginator.d.ts +12 -0
  71. package/dist-types/ts3.4/pagination/ScanPaginator.d.ts +9 -0
  72. package/dist-types/ts3.4/pagination/index.d.ts +3 -0
  73. package/package.json +87 -0
@@ -0,0 +1,38 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { DynamoDBDocumentClientCommand } from "../baseCommand/DynamoDBDocumentClientCommand";
3
+ import { ALL_VALUES } from "../commands/utils";
4
+ import { TransactGetItemsCommand as __TransactGetItemsCommand } from "@aws-sdk/client-dynamodb";
5
+ export { DynamoDBDocumentClientCommand, $Command };
6
+ export class TransactGetCommand extends DynamoDBDocumentClientCommand {
7
+ input;
8
+ inputKeyNodes = {
9
+ 'TransactItems': {
10
+ '*': {
11
+ 'Get': {
12
+ 'Key': ALL_VALUES,
13
+ },
14
+ }
15
+ },
16
+ };
17
+ outputKeyNodes = {
18
+ 'Responses': {
19
+ '*': {
20
+ 'Item': ALL_VALUES,
21
+ }
22
+ },
23
+ };
24
+ clientCommand;
25
+ middlewareStack;
26
+ constructor(input) {
27
+ super();
28
+ this.input = input;
29
+ this.clientCommand = new __TransactGetItemsCommand(this.input);
30
+ this.middlewareStack = this.clientCommand.middlewareStack;
31
+ }
32
+ resolveMiddleware(clientStack, configuration, options) {
33
+ this.addMarshallingMiddleware(configuration);
34
+ const stack = clientStack.concat(this.middlewareStack);
35
+ const handler = this.clientCommand.resolveMiddleware(stack, configuration, options);
36
+ return async () => handler(this.clientCommand);
37
+ }
38
+ }
@@ -0,0 +1,53 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { DynamoDBDocumentClientCommand } from "../baseCommand/DynamoDBDocumentClientCommand";
3
+ import { ALL_VALUES } from "../commands/utils";
4
+ import { TransactWriteItemsCommand as __TransactWriteItemsCommand } from "@aws-sdk/client-dynamodb";
5
+ export { DynamoDBDocumentClientCommand, $Command };
6
+ export class TransactWriteCommand extends DynamoDBDocumentClientCommand {
7
+ input;
8
+ inputKeyNodes = {
9
+ 'TransactItems': {
10
+ '*': {
11
+ 'ConditionCheck': {
12
+ 'Key': ALL_VALUES,
13
+ 'ExpressionAttributeValues': ALL_VALUES,
14
+ },
15
+ 'Put': {
16
+ 'Item': ALL_VALUES,
17
+ 'ExpressionAttributeValues': ALL_VALUES,
18
+ },
19
+ 'Delete': {
20
+ 'Key': ALL_VALUES,
21
+ 'ExpressionAttributeValues': ALL_VALUES,
22
+ },
23
+ 'Update': {
24
+ 'Key': ALL_VALUES,
25
+ 'ExpressionAttributeValues': ALL_VALUES,
26
+ },
27
+ }
28
+ },
29
+ };
30
+ outputKeyNodes = {
31
+ 'ItemCollectionMetrics': {
32
+ '*': {
33
+ '*': {
34
+ 'ItemCollectionKey': ALL_VALUES,
35
+ }
36
+ }
37
+ },
38
+ };
39
+ clientCommand;
40
+ middlewareStack;
41
+ constructor(input) {
42
+ super();
43
+ this.input = input;
44
+ this.clientCommand = new __TransactWriteItemsCommand(this.input);
45
+ this.middlewareStack = this.clientCommand.middlewareStack;
46
+ }
47
+ resolveMiddleware(clientStack, configuration, options) {
48
+ this.addMarshallingMiddleware(configuration);
49
+ const stack = clientStack.concat(this.middlewareStack);
50
+ const handler = this.clientCommand.resolveMiddleware(stack, configuration, options);
51
+ return async () => handler(this.clientCommand);
52
+ }
53
+ }
@@ -0,0 +1,43 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { DynamoDBDocumentClientCommand } from "../baseCommand/DynamoDBDocumentClientCommand";
3
+ import { ALL_MEMBERS, ALL_VALUES, SELF } from "../commands/utils";
4
+ import { UpdateItemCommand as __UpdateItemCommand } from "@aws-sdk/client-dynamodb";
5
+ export { DynamoDBDocumentClientCommand, $Command };
6
+ export class UpdateCommand extends DynamoDBDocumentClientCommand {
7
+ input;
8
+ inputKeyNodes = {
9
+ 'Key': ALL_VALUES,
10
+ 'AttributeUpdates': {
11
+ '*': {
12
+ 'Value': SELF,
13
+ }
14
+ },
15
+ 'Expected': {
16
+ '*': {
17
+ 'Value': SELF,
18
+ 'AttributeValueList': ALL_MEMBERS,
19
+ }
20
+ },
21
+ 'ExpressionAttributeValues': ALL_VALUES,
22
+ };
23
+ outputKeyNodes = {
24
+ 'Attributes': ALL_VALUES,
25
+ 'ItemCollectionMetrics': {
26
+ 'ItemCollectionKey': ALL_VALUES,
27
+ },
28
+ };
29
+ clientCommand;
30
+ middlewareStack;
31
+ constructor(input) {
32
+ super();
33
+ this.input = input;
34
+ this.clientCommand = new __UpdateItemCommand(this.input);
35
+ this.middlewareStack = this.clientCommand.middlewareStack;
36
+ }
37
+ resolveMiddleware(clientStack, configuration, options) {
38
+ this.addMarshallingMiddleware(configuration);
39
+ const stack = clientStack.concat(this.middlewareStack);
40
+ const handler = this.clientCommand.resolveMiddleware(stack, configuration, options);
41
+ return async () => handler(this.clientCommand);
42
+ }
43
+ }
@@ -0,0 +1,13 @@
1
+ export * from './BatchExecuteStatementCommand';
2
+ export * from './BatchGetCommand';
3
+ export * from './BatchWriteCommand';
4
+ export * from './DeleteCommand';
5
+ export * from './ExecuteStatementCommand';
6
+ export * from './ExecuteTransactionCommand';
7
+ export * from './GetCommand';
8
+ export * from './PutCommand';
9
+ export * from './QueryCommand';
10
+ export * from './ScanCommand';
11
+ export * from './TransactGetCommand';
12
+ export * from './TransactWriteCommand';
13
+ export * from './UpdateCommand';
@@ -0,0 +1,80 @@
1
+ import { marshall, unmarshall } from "@aws-sdk/util-dynamodb";
2
+ export const SELF = null;
3
+ export const ALL_VALUES = {};
4
+ export const ALL_MEMBERS = [];
5
+ const NEXT_LEVEL = "*";
6
+ const processObj = (obj, processFunc, keyNodes) => {
7
+ if (obj !== undefined) {
8
+ if (keyNodes == null) {
9
+ return processFunc(obj);
10
+ }
11
+ else {
12
+ const keys = Object.keys(keyNodes);
13
+ const goToNextLevel = keys.length === 1 && keys[0] === NEXT_LEVEL;
14
+ const someChildren = keys.length >= 1 && !goToNextLevel;
15
+ const allChildren = keys.length === 0;
16
+ if (someChildren) {
17
+ return processKeysInObj(obj, processFunc, keyNodes);
18
+ }
19
+ else if (allChildren) {
20
+ return processAllKeysInObj(obj, processFunc, SELF);
21
+ }
22
+ else if (goToNextLevel) {
23
+ return Object.entries(obj ?? {}).reduce((acc, [k, v]) => {
24
+ if (typeof v !== "function") {
25
+ acc[k] = processObj(v, processFunc, keyNodes[NEXT_LEVEL]);
26
+ }
27
+ return acc;
28
+ }, (Array.isArray(obj) ? [] : {}));
29
+ }
30
+ }
31
+ }
32
+ return undefined;
33
+ };
34
+ const processKeysInObj = (obj, processFunc, keyNodes) => {
35
+ let accumulator;
36
+ if (Array.isArray(obj)) {
37
+ accumulator = obj.filter((item) => typeof item !== "function");
38
+ }
39
+ else {
40
+ accumulator = {};
41
+ for (const [k, v] of Object.entries(obj)) {
42
+ if (typeof v !== "function") {
43
+ accumulator[k] = v;
44
+ }
45
+ }
46
+ }
47
+ for (const [nodeKey, nodes] of Object.entries(keyNodes)) {
48
+ if (typeof obj[nodeKey] === "function") {
49
+ continue;
50
+ }
51
+ const processedValue = processObj(obj[nodeKey], processFunc, nodes);
52
+ if (processedValue !== undefined && typeof processedValue !== "function") {
53
+ accumulator[nodeKey] = processedValue;
54
+ }
55
+ }
56
+ return accumulator;
57
+ };
58
+ const processAllKeysInObj = (obj, processFunc, keyNodes) => {
59
+ if (Array.isArray(obj)) {
60
+ return obj.filter((item) => typeof item !== "function").map((item) => processObj(item, processFunc, keyNodes));
61
+ }
62
+ return Object.entries(obj).reduce((acc, [key, value]) => {
63
+ if (typeof value === "function") {
64
+ return acc;
65
+ }
66
+ const processedValue = processObj(value, processFunc, keyNodes);
67
+ if (processedValue !== undefined && typeof processedValue !== "function") {
68
+ acc[key] = processedValue;
69
+ }
70
+ return acc;
71
+ }, {});
72
+ };
73
+ export const marshallInput = (obj, keyNodes, options) => {
74
+ const marshallFunc = (toMarshall) => marshall(toMarshall, options);
75
+ return processKeysInObj(obj, marshallFunc, keyNodes);
76
+ };
77
+ export const unmarshallOutput = (obj, keyNodes, options) => {
78
+ const unmarshallFunc = (toMarshall) => unmarshall(toMarshall, options);
79
+ return processKeysInObj(obj, unmarshallFunc, keyNodes);
80
+ };
@@ -0,0 +1,5 @@
1
+ export * from './commands';
2
+ export * from './pagination';
3
+ export * from './DynamoDBDocumentClient';
4
+ export * from './DynamoDBDocument';
5
+ export { NumberValueImpl as NumberValue } from "@aws-sdk/util-dynamodb";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { createPaginator } from "@smithy/core";
2
+ import { QueryCommand } from "../commands/QueryCommand";
3
+ import { DynamoDBDocumentClient } from "../DynamoDBDocumentClient";
4
+ export const paginateQuery = createPaginator(DynamoDBDocumentClient, QueryCommand, "ExclusiveStartKey", "LastEvaluatedKey", "Limit");
@@ -0,0 +1,4 @@
1
+ import { createPaginator } from "@smithy/core";
2
+ import { ScanCommand } from "../commands/ScanCommand";
3
+ import { DynamoDBDocumentClient } from "../DynamoDBDocumentClient";
4
+ export const paginateScan = createPaginator(DynamoDBDocumentClient, ScanCommand, "ExclusiveStartKey", "LastEvaluatedKey", "Limit");
@@ -0,0 +1,3 @@
1
+ export * from './Interfaces';
2
+ export * from './QueryPaginator';
3
+ export * from './ScanPaginator';
@@ -0,0 +1,195 @@
1
+ import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
2
+ import { BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput } from "./commands/BatchExecuteStatementCommand";
3
+ import { BatchGetCommandInput, BatchGetCommandOutput } from "./commands/BatchGetCommand";
4
+ import { BatchWriteCommandInput, BatchWriteCommandOutput } from "./commands/BatchWriteCommand";
5
+ import { DeleteCommandInput, DeleteCommandOutput } from "./commands/DeleteCommand";
6
+ import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "./commands/ExecuteStatementCommand";
7
+ import { ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput } from "./commands/ExecuteTransactionCommand";
8
+ import { GetCommandInput, GetCommandOutput } from "./commands/GetCommand";
9
+ import { PutCommandInput, PutCommandOutput } from "./commands/PutCommand";
10
+ import { QueryCommandInput, QueryCommandOutput } from "./commands/QueryCommand";
11
+ import { ScanCommandInput, ScanCommandOutput } from "./commands/ScanCommand";
12
+ import { TransactGetCommandInput, TransactGetCommandOutput } from "./commands/TransactGetCommand";
13
+ import { TransactWriteCommandInput, TransactWriteCommandOutput } from "./commands/TransactWriteCommand";
14
+ import { UpdateCommandInput, UpdateCommandOutput } from "./commands/UpdateCommand";
15
+ import { DynamoDBDocumentClient, TranslateConfig } from "./DynamoDBDocumentClient";
16
+ import { DynamoDBClient } from "@aws-sdk/client-dynamodb";
17
+ /**
18
+ * The document client simplifies working with items in Amazon DynamoDB by
19
+ * abstracting away the notion of attribute values. This abstraction annotates native
20
+ * JavaScript types supplied as input parameters, as well as converts annotated
21
+ * response data to native JavaScript types.
22
+ *
23
+ * ## Marshalling Input and Unmarshalling Response Data
24
+ *
25
+ * The document client affords developers the use of native JavaScript types
26
+ * instead of `AttributeValue`s to simplify the JavaScript development
27
+ * experience with Amazon DynamoDB. JavaScript objects passed in as parameters
28
+ * are marshalled into `AttributeValue` shapes required by Amazon DynamoDB.
29
+ * Responses from DynamoDB are unmarshalled into plain JavaScript objects
30
+ * by the `DocumentClient`. The `DocumentClient` does not accept
31
+ * `AttributeValue`s in favor of native JavaScript types.
32
+ *
33
+ * | JavaScript Type | DynamoDB AttributeValue |
34
+ * | :-------------------------------: | ----------------------- |
35
+ * | String | S |
36
+ * | Number / BigInt | N |
37
+ * | Boolean | BOOL |
38
+ * | null | NULL |
39
+ * | Array | L |
40
+ * | Object | M |
41
+ * | Set\<Uint8Array, Blob, ...\> | BS |
42
+ * | Set\<Number, BigInt\> | NS |
43
+ * | Set\<String\> | SS |
44
+ * | Uint8Array, Buffer, File, Blob... | B |
45
+ *
46
+ * ### Example
47
+ *
48
+ * Here is an example list which is sent to DynamoDB client in an operation:
49
+ *
50
+ * ```json
51
+ * { "L": [{ "NULL": true }, { "BOOL": false }, { "N": 1 }, { "S": "two" }] }
52
+ * ```
53
+ *
54
+ * The DynamoDB document client abstracts the attribute values as follows in
55
+ * both input and output:
56
+ *
57
+ * ```json
58
+ * [null, false, 1, "two"]
59
+ * ```
60
+ *
61
+ * @see {@link https://www.npmjs.com/package/@aws-sdk/client-dynamodb | @aws-sdk/client-dynamodb}
62
+ */
63
+ export declare class DynamoDBDocument extends DynamoDBDocumentClient {
64
+ static from(client: DynamoDBClient, translateConfig?: TranslateConfig): DynamoDBDocument;
65
+ /**
66
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
67
+ * BatchExecuteStatementCommand operation from {@link @aws-sdk/client-dynamodb#BatchExecuteStatementCommand}.
68
+ *
69
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
70
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
71
+ */
72
+ batchExecuteStatement(args: BatchExecuteStatementCommandInput, options?: __HttpHandlerOptions): Promise<BatchExecuteStatementCommandOutput>;
73
+ batchExecuteStatement(args: BatchExecuteStatementCommandInput, cb: (err: any, data?: BatchExecuteStatementCommandOutput) => void): void;
74
+ batchExecuteStatement(args: BatchExecuteStatementCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: BatchExecuteStatementCommandOutput) => void): void;
75
+ /**
76
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
77
+ * BatchGetItemCommand operation from {@link @aws-sdk/client-dynamodb#BatchGetItemCommand}.
78
+ *
79
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
80
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
81
+ */
82
+ batchGet(args: BatchGetCommandInput, options?: __HttpHandlerOptions): Promise<BatchGetCommandOutput>;
83
+ batchGet(args: BatchGetCommandInput, cb: (err: any, data?: BatchGetCommandOutput) => void): void;
84
+ batchGet(args: BatchGetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: BatchGetCommandOutput) => void): void;
85
+ /**
86
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
87
+ * BatchWriteItemCommand operation from {@link @aws-sdk/client-dynamodb#BatchWriteItemCommand}.
88
+ *
89
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
90
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
91
+ */
92
+ batchWrite(args: BatchWriteCommandInput, options?: __HttpHandlerOptions): Promise<BatchWriteCommandOutput>;
93
+ batchWrite(args: BatchWriteCommandInput, cb: (err: any, data?: BatchWriteCommandOutput) => void): void;
94
+ batchWrite(args: BatchWriteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: BatchWriteCommandOutput) => void): void;
95
+ /**
96
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
97
+ * DeleteItemCommand operation from {@link @aws-sdk/client-dynamodb#DeleteItemCommand}.
98
+ *
99
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
100
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
101
+ */
102
+ delete(args: DeleteCommandInput, options?: __HttpHandlerOptions): Promise<DeleteCommandOutput>;
103
+ delete(args: DeleteCommandInput, cb: (err: any, data?: DeleteCommandOutput) => void): void;
104
+ delete(args: DeleteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteCommandOutput) => void): void;
105
+ /**
106
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
107
+ * ExecuteStatementCommand operation from {@link @aws-sdk/client-dynamodb#ExecuteStatementCommand}.
108
+ *
109
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
110
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
111
+ */
112
+ executeStatement(args: ExecuteStatementCommandInput, options?: __HttpHandlerOptions): Promise<ExecuteStatementCommandOutput>;
113
+ executeStatement(args: ExecuteStatementCommandInput, cb: (err: any, data?: ExecuteStatementCommandOutput) => void): void;
114
+ executeStatement(args: ExecuteStatementCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ExecuteStatementCommandOutput) => void): void;
115
+ /**
116
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
117
+ * ExecuteTransactionCommand operation from {@link @aws-sdk/client-dynamodb#ExecuteTransactionCommand}.
118
+ *
119
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
120
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
121
+ */
122
+ executeTransaction(args: ExecuteTransactionCommandInput, options?: __HttpHandlerOptions): Promise<ExecuteTransactionCommandOutput>;
123
+ executeTransaction(args: ExecuteTransactionCommandInput, cb: (err: any, data?: ExecuteTransactionCommandOutput) => void): void;
124
+ executeTransaction(args: ExecuteTransactionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ExecuteTransactionCommandOutput) => void): void;
125
+ /**
126
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
127
+ * GetItemCommand operation from {@link @aws-sdk/client-dynamodb#GetItemCommand}.
128
+ *
129
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
130
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
131
+ */
132
+ get(args: GetCommandInput, options?: __HttpHandlerOptions): Promise<GetCommandOutput>;
133
+ get(args: GetCommandInput, cb: (err: any, data?: GetCommandOutput) => void): void;
134
+ get(args: GetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetCommandOutput) => void): void;
135
+ /**
136
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
137
+ * PutItemCommand operation from {@link @aws-sdk/client-dynamodb#PutItemCommand}.
138
+ *
139
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
140
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
141
+ */
142
+ put(args: PutCommandInput, options?: __HttpHandlerOptions): Promise<PutCommandOutput>;
143
+ put(args: PutCommandInput, cb: (err: any, data?: PutCommandOutput) => void): void;
144
+ put(args: PutCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutCommandOutput) => void): void;
145
+ /**
146
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
147
+ * QueryCommand operation from {@link @aws-sdk/client-dynamodb#QueryCommand}.
148
+ *
149
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
150
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
151
+ */
152
+ query(args: QueryCommandInput, options?: __HttpHandlerOptions): Promise<QueryCommandOutput>;
153
+ query(args: QueryCommandInput, cb: (err: any, data?: QueryCommandOutput) => void): void;
154
+ query(args: QueryCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: QueryCommandOutput) => void): void;
155
+ /**
156
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
157
+ * ScanCommand operation from {@link @aws-sdk/client-dynamodb#ScanCommand}.
158
+ *
159
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
160
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
161
+ */
162
+ scan(args: ScanCommandInput, options?: __HttpHandlerOptions): Promise<ScanCommandOutput>;
163
+ scan(args: ScanCommandInput, cb: (err: any, data?: ScanCommandOutput) => void): void;
164
+ scan(args: ScanCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ScanCommandOutput) => void): void;
165
+ /**
166
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
167
+ * TransactGetItemsCommand operation from {@link @aws-sdk/client-dynamodb#TransactGetItemsCommand}.
168
+ *
169
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
170
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
171
+ */
172
+ transactGet(args: TransactGetCommandInput, options?: __HttpHandlerOptions): Promise<TransactGetCommandOutput>;
173
+ transactGet(args: TransactGetCommandInput, cb: (err: any, data?: TransactGetCommandOutput) => void): void;
174
+ transactGet(args: TransactGetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TransactGetCommandOutput) => void): void;
175
+ /**
176
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
177
+ * TransactWriteItemsCommand operation from {@link @aws-sdk/client-dynamodb#TransactWriteItemsCommand}.
178
+ *
179
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
180
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
181
+ */
182
+ transactWrite(args: TransactWriteCommandInput, options?: __HttpHandlerOptions): Promise<TransactWriteCommandOutput>;
183
+ transactWrite(args: TransactWriteCommandInput, cb: (err: any, data?: TransactWriteCommandOutput) => void): void;
184
+ transactWrite(args: TransactWriteCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TransactWriteCommandOutput) => void): void;
185
+ /**
186
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
187
+ * UpdateItemCommand operation from {@link @aws-sdk/client-dynamodb#UpdateItemCommand}.
188
+ *
189
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
190
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
191
+ */
192
+ update(args: UpdateCommandInput, options?: __HttpHandlerOptions): Promise<UpdateCommandOutput>;
193
+ update(args: UpdateCommandInput, cb: (err: any, data?: UpdateCommandOutput) => void): void;
194
+ update(args: UpdateCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateCommandOutput) => void): void;
195
+ }
@@ -0,0 +1,96 @@
1
+ import { Client as __Client } from "@smithy/smithy-client";
2
+ import type { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
3
+ import { BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput } from "./commands/BatchExecuteStatementCommand";
4
+ import { BatchGetCommandInput, BatchGetCommandOutput } from "./commands/BatchGetCommand";
5
+ import { BatchWriteCommandInput, BatchWriteCommandOutput } from "./commands/BatchWriteCommand";
6
+ import { DeleteCommandInput, DeleteCommandOutput } from "./commands/DeleteCommand";
7
+ import { ExecuteStatementCommandInput, ExecuteStatementCommandOutput } from "./commands/ExecuteStatementCommand";
8
+ import { ExecuteTransactionCommandInput, ExecuteTransactionCommandOutput } from "./commands/ExecuteTransactionCommand";
9
+ import { GetCommandInput, GetCommandOutput } from "./commands/GetCommand";
10
+ import { PutCommandInput, PutCommandOutput } from "./commands/PutCommand";
11
+ import { QueryCommandInput, QueryCommandOutput } from "./commands/QueryCommand";
12
+ import { ScanCommandInput, ScanCommandOutput } from "./commands/ScanCommand";
13
+ import { TransactGetCommandInput, TransactGetCommandOutput } from "./commands/TransactGetCommand";
14
+ import { TransactWriteCommandInput, TransactWriteCommandOutput } from "./commands/TransactWriteCommand";
15
+ import { UpdateCommandInput, UpdateCommandOutput } from "./commands/UpdateCommand";
16
+ import { DynamoDBClient, DynamoDBClientResolvedConfig, ServiceInputTypes as __ServiceInputTypes, ServiceOutputTypes as __ServiceOutputTypes } from "@aws-sdk/client-dynamodb";
17
+ import { marshallOptions, unmarshallOptions } from "@aws-sdk/util-dynamodb";
18
+ /**
19
+ * @public
20
+ */
21
+ export { __Client };
22
+ /**
23
+ * @public
24
+ */
25
+ export type ServiceInputTypes = __ServiceInputTypes | BatchExecuteStatementCommandInput | BatchGetCommandInput | BatchWriteCommandInput | DeleteCommandInput | ExecuteStatementCommandInput | ExecuteTransactionCommandInput | GetCommandInput | PutCommandInput | QueryCommandInput | ScanCommandInput | TransactGetCommandInput | TransactWriteCommandInput | UpdateCommandInput;
26
+ /**
27
+ * @public
28
+ */
29
+ export type ServiceOutputTypes = __ServiceOutputTypes | BatchExecuteStatementCommandOutput | BatchGetCommandOutput | BatchWriteCommandOutput | DeleteCommandOutput | ExecuteStatementCommandOutput | ExecuteTransactionCommandOutput | GetCommandOutput | PutCommandOutput | QueryCommandOutput | ScanCommandOutput | TransactGetCommandOutput | TransactWriteCommandOutput | UpdateCommandOutput;
30
+ /**
31
+ * @public
32
+ */
33
+ export type TranslateConfig = {
34
+ marshallOptions?: marshallOptions;
35
+ unmarshallOptions?: unmarshallOptions;
36
+ };
37
+ /**
38
+ * @public
39
+ */
40
+ export type DynamoDBDocumentClientResolvedConfig = DynamoDBClientResolvedConfig & {
41
+ translateConfig?: TranslateConfig;
42
+ };
43
+ /**
44
+ * The document client simplifies working with items in Amazon DynamoDB by
45
+ * abstracting away the notion of attribute values. This abstraction annotates native
46
+ * JavaScript types supplied as input parameters, as well as converts annotated
47
+ * response data to native JavaScript types.
48
+ *
49
+ * ## Marshalling Input and Unmarshalling Response Data
50
+ *
51
+ * The document client affords developers the use of native JavaScript types
52
+ * instead of `AttributeValue`s to simplify the JavaScript development
53
+ * experience with Amazon DynamoDB. JavaScript objects passed in as parameters
54
+ * are marshalled into `AttributeValue` shapes required by Amazon DynamoDB.
55
+ * Responses from DynamoDB are unmarshalled into plain JavaScript objects
56
+ * by the `DocumentClient`. The `DocumentClient` does not accept
57
+ * `AttributeValue`s in favor of native JavaScript types.
58
+ *
59
+ * | JavaScript Type | DynamoDB AttributeValue |
60
+ * | :-------------------------------: | ----------------------- |
61
+ * | String | S |
62
+ * | Number / BigInt | N |
63
+ * | Boolean | BOOL |
64
+ * | null | NULL |
65
+ * | Array | L |
66
+ * | Object | M |
67
+ * | Set\<Uint8Array, Blob, ...\> | BS |
68
+ * | Set\<Number, BigInt\> | NS |
69
+ * | Set\<String\> | SS |
70
+ * | Uint8Array, Buffer, File, Blob... | B |
71
+ *
72
+ * ### Example
73
+ *
74
+ * Here is an example list which is sent to DynamoDB client in an operation:
75
+ *
76
+ * ```json
77
+ * { "L": [{ "NULL": true }, { "BOOL": false }, { "N": 1 }, { "S": "two" }] }
78
+ * ```
79
+ *
80
+ * The DynamoDB document client abstracts the attribute values as follows in
81
+ * both input and output:
82
+ *
83
+ * ```json
84
+ * [null, false, 1, "two"]
85
+ * ```
86
+ *
87
+ * @see {@link https://www.npmjs.com/package/@aws-sdk/client-dynamodb | @aws-sdk/client-dynamodb}
88
+ *
89
+ * @public
90
+ */
91
+ export declare class DynamoDBDocumentClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, DynamoDBDocumentClientResolvedConfig> {
92
+ readonly config: DynamoDBDocumentClientResolvedConfig;
93
+ protected constructor(client: DynamoDBClient, translateConfig?: TranslateConfig);
94
+ static from(client: DynamoDBClient, translateConfig?: TranslateConfig): DynamoDBDocumentClient;
95
+ destroy(): void;
96
+ }
@@ -0,0 +1,17 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MiddlewareStack } from "@smithy/types";
3
+ import { KeyNodeChildren } from "../commands/utils";
4
+ import { DynamoDBDocumentClientResolvedConfig } from "../DynamoDBDocumentClient";
5
+ /**
6
+ * Base class for Commands in lib-dynamodb used to pass middleware to
7
+ * the underlying DynamoDBClient Commands.
8
+ *
9
+ * @public
10
+ */
11
+ export declare abstract class DynamoDBDocumentClientCommand<Input extends object, Output extends object, BaseInput extends object, BaseOutput extends object, ResolvedClientConfiguration> extends $Command<Input | BaseInput, Output | BaseOutput, ResolvedClientConfiguration> {
12
+ protected abstract readonly inputKeyNodes: KeyNodeChildren;
13
+ protected abstract readonly outputKeyNodes: KeyNodeChildren;
14
+ protected abstract clientCommand: $Command<Input | BaseInput, Output | BaseOutput, ResolvedClientConfiguration>;
15
+ abstract middlewareStack: MiddlewareStack<Input | BaseInput, Output | BaseOutput>;
16
+ protected addMarshallingMiddleware(configuration: DynamoDBDocumentClientResolvedConfig): void;
17
+ }
@@ -0,0 +1,66 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { type HttpHandlerOptions as __HttpHandlerOptions, Handler, MiddlewareStack } from "@smithy/types";
3
+ import { DynamoDBDocumentClientCommand } from "../baseCommand/DynamoDBDocumentClientCommand";
4
+ import { DynamoDBDocumentClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBDocumentClient";
5
+ import { BatchExecuteStatementCommand as __BatchExecuteStatementCommand } from "@aws-sdk/client-dynamodb";
6
+ /**
7
+ * @public
8
+ */
9
+ export { DynamoDBDocumentClientCommand, $Command };
10
+ /**
11
+ * @public
12
+ */
13
+ export type BatchExecuteStatementCommandInput = Omit<__BatchExecuteStatementCommandInput, 'Statements'> & {
14
+ Statements: (Omit<BatchStatementRequest, 'Parameters'> & {
15
+ Parameters?: (NativeAttributeValue)[] | undefined;
16
+ })[] | undefined;
17
+ };
18
+ /**
19
+ * @public
20
+ */
21
+ export type BatchExecuteStatementCommandOutput = Omit<__BatchExecuteStatementCommandOutput, 'Responses'> & {
22
+ Responses?: (Omit<BatchStatementResponse, 'Error' | 'Item'> & {
23
+ Error?: Omit<BatchStatementError, 'Item'> & {
24
+ Item?: Record<string, NativeAttributeValue> | undefined;
25
+ } | undefined;
26
+ Item?: Record<string, NativeAttributeValue> | undefined;
27
+ })[] | undefined;
28
+ };
29
+ /**
30
+ * Accepts native JavaScript types instead of `AttributeValue`s, and calls
31
+ * BatchExecuteStatementCommand operation from {@link @aws-sdk/client-dynamodb#BatchExecuteStatementCommand}.
32
+ *
33
+ * JavaScript objects passed in as parameters are marshalled into `AttributeValue` shapes
34
+ * required by Amazon DynamoDB. Responses from DynamoDB are unmarshalled into plain JavaScript objects.
35
+ *
36
+ * @public
37
+ */
38
+ export declare class BatchExecuteStatementCommand extends DynamoDBDocumentClientCommand<BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput, __BatchExecuteStatementCommandInput, __BatchExecuteStatementCommandOutput, DynamoDBDocumentClientResolvedConfig> {
39
+ readonly input: BatchExecuteStatementCommandInput;
40
+ protected readonly inputKeyNodes: {
41
+ Statements: {
42
+ '*': {
43
+ Parameters: import("../commands/utils").KeyNodeChildren;
44
+ };
45
+ };
46
+ };
47
+ protected readonly outputKeyNodes: {
48
+ Responses: {
49
+ '*': {
50
+ Error: {
51
+ Item: import("../commands/utils").KeyNodeChildren;
52
+ };
53
+ Item: import("../commands/utils").KeyNodeChildren;
54
+ };
55
+ };
56
+ };
57
+ protected readonly clientCommand: __BatchExecuteStatementCommand;
58
+ readonly middlewareStack: MiddlewareStack<BatchExecuteStatementCommandInput | __BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput | __BatchExecuteStatementCommandOutput>;
59
+ constructor(input: BatchExecuteStatementCommandInput);
60
+ /**
61
+ * @internal
62
+ */
63
+ resolveMiddleware(clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>, configuration: DynamoDBDocumentClientResolvedConfig, options?: __HttpHandlerOptions): Handler<BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput>;
64
+ }
65
+ import type { BatchExecuteStatementCommandInput as __BatchExecuteStatementCommandInput, BatchExecuteStatementCommandOutput as __BatchExecuteStatementCommandOutput, BatchStatementError, BatchStatementRequest, BatchStatementResponse } from "@aws-sdk/client-dynamodb";
66
+ import type { NativeAttributeValue } from "@aws-sdk/util-dynamodb";