@infra-blocks/aws-dynamodb 0.70.1 → 0.71.0-alpha.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.
- package/lib/cjs/client.d.ts +29 -21
- package/lib/cjs/client.js +52 -4
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/commands/inputs/update-item.js +2 -9
- package/lib/cjs/commands/inputs/update-item.js.map +1 -1
- package/lib/esm/client.d.ts +29 -21
- package/lib/esm/client.js +53 -5
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/commands/inputs/update-item.js +2 -9
- package/lib/esm/commands/inputs/update-item.js.map +1 -1
- package/package.json +1 -1
package/lib/cjs/client.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { TranslateConfig } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
1
|
+
import { type AttributeValue, type DynamoDBClientConfig } from "@aws-sdk/client-dynamodb";
|
|
4
2
|
import type { Logger } from "@infra-blocks/logger-interface";
|
|
5
3
|
import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
6
4
|
import { type CommandOutput, type CreateTableInput, type CreateTableOutput, type DeleteItemInput, type DeleteItemOutput, type DeleteTableInput, type DeleteTableOutput, type DynamoDbClientCommand, type GetItemInput, type GetItemOutput, type PutItemInput, type PutItemOutput, type QueryInput, type QueryOutput, type UpdateItemInput, type UpdateItemOutput, type UpdateTimeToLiveInput, type UpdateTimeToLiveOutput, type WriteTransactionInput, type WriteTransactionOutput } from "./commands/index.js";
|
|
@@ -9,10 +7,6 @@ import type { Attributes, KeyAttributes, KeySchema } from "./types.js";
|
|
|
9
7
|
* Re-export of the native client's, renamed.
|
|
10
8
|
*/
|
|
11
9
|
export type DynamoDbClientConfig = DynamoDBClientConfig;
|
|
12
|
-
/**
|
|
13
|
-
* Re-export of the document client's {@link TranslateConfig}, renamed.
|
|
14
|
-
*/
|
|
15
|
-
export type DocumentClientConfig = TranslateConfig;
|
|
16
10
|
/**
|
|
17
11
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
18
12
|
*/
|
|
@@ -24,13 +18,6 @@ export type CreateParams = {
|
|
|
24
18
|
* provided by the AWS SDK.
|
|
25
19
|
*/
|
|
26
20
|
dynamodb?: DynamoDbClientConfig;
|
|
27
|
-
/**
|
|
28
|
-
* The configuration for the document client.
|
|
29
|
-
*
|
|
30
|
-
* When none is provided, the document client is instantiated with the default
|
|
31
|
-
* configuration provided by the AWS SDK.
|
|
32
|
-
*/
|
|
33
|
-
document?: DocumentClientConfig;
|
|
34
21
|
/**
|
|
35
22
|
* Optional logger to use for logging.
|
|
36
23
|
*
|
|
@@ -202,6 +189,28 @@ export declare class DynamoDbClient {
|
|
|
202
189
|
* Alias for the {@link putItem} method.
|
|
203
190
|
*/
|
|
204
191
|
upsert: <T extends Attributes = Attributes>(params: PutItemInput<T>) => Promise<PutItemOutput<T>>;
|
|
192
|
+
/**
|
|
193
|
+
* Unmarshalls an item using this client's translation configuration.
|
|
194
|
+
*
|
|
195
|
+
* The item to unmarshall is expected to be an object with fields whose
|
|
196
|
+
* values are attribute definitions. Example:
|
|
197
|
+
* ```typescript
|
|
198
|
+
* {
|
|
199
|
+
* "field1": {
|
|
200
|
+
* "S": "toto"
|
|
201
|
+
* },
|
|
202
|
+
* "field2": {
|
|
203
|
+
* "N": "42"
|
|
204
|
+
* },
|
|
205
|
+
* ...
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*
|
|
209
|
+
* @param data - The item to unmarshall.
|
|
210
|
+
*
|
|
211
|
+
* @returns The unmarshalled data as a flat object.
|
|
212
|
+
*/
|
|
213
|
+
unmarshall<T extends Attributes = Attributes>(data: Record<string, AttributeValue>): T;
|
|
205
214
|
/**
|
|
206
215
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
207
216
|
* client directly.
|
|
@@ -214,10 +223,7 @@ export declare class DynamoDbClient {
|
|
|
214
223
|
*
|
|
215
224
|
* @returns A new instance of the {@link DynamoDbClient} wrapping the provided document client.
|
|
216
225
|
*/
|
|
217
|
-
static from
|
|
218
|
-
client: DynamoDBDocumentClient;
|
|
219
|
-
logger?: Logger;
|
|
220
|
-
}): DynamoDbClient;
|
|
226
|
+
private static from;
|
|
221
227
|
/**
|
|
222
228
|
* Creates an instance of the {@link DynamoDbClient} using the provided parameters.
|
|
223
229
|
*
|
|
@@ -226,9 +232,11 @@ export declare class DynamoDbClient {
|
|
|
226
232
|
* `@aws-sdk/client-dynamodb` package.
|
|
227
233
|
*
|
|
228
234
|
* This factory function first intantiates the vanilla client with optionally provided
|
|
229
|
-
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that
|
|
230
|
-
*
|
|
231
|
-
*
|
|
235
|
+
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that cannot be
|
|
236
|
+
* configured at this time. This is because the current code makes assumption based on the
|
|
237
|
+
* default translation configuration, but that could change in a future iteration.
|
|
238
|
+
*
|
|
239
|
+
* When no configuration is used, default configurations are used.
|
|
232
240
|
*
|
|
233
241
|
* The DynamoDB vanilla client can be configured using the `dynamodb` parameter,
|
|
234
242
|
* The document client can be configured using the `document` parameter,
|
package/lib/cjs/client.js
CHANGED
|
@@ -3,11 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DynamoDbClient = void 0;
|
|
4
4
|
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
5
5
|
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
6
|
+
const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
|
|
6
7
|
const null_logger_1 = require("@infra-blocks/null-logger");
|
|
7
8
|
const retry_1 = require("@infra-blocks/retry");
|
|
8
9
|
const types_1 = require("@infra-blocks/types");
|
|
9
10
|
const index_js_1 = require("./commands/index.js");
|
|
10
11
|
const error_js_1 = require("./error.js");
|
|
12
|
+
const MARSHALL_OPTIONS = {
|
|
13
|
+
convertEmptyValues: false,
|
|
14
|
+
removeUndefinedValues: false,
|
|
15
|
+
convertClassInstanceToMap: false,
|
|
16
|
+
convertTopLevelContainer: true,
|
|
17
|
+
allowImpreciseNumbers: false,
|
|
18
|
+
};
|
|
19
|
+
const UNMARSHALL_OPTIONS = {
|
|
20
|
+
wrapNumbers: false,
|
|
21
|
+
// This is actually not configurable. When set to false, it appears to break
|
|
22
|
+
// all of lib dynamodb's unmarshalling. Kek.
|
|
23
|
+
convertWithoutMapWrapper: true,
|
|
24
|
+
};
|
|
25
|
+
// This is the default translation configuration from the lib-dynamodb client.
|
|
26
|
+
const TRANSLATE_CONFIG = {
|
|
27
|
+
marshallOptions: MARSHALL_OPTIONS,
|
|
28
|
+
unmarshallOptions: UNMARSHALL_OPTIONS,
|
|
29
|
+
};
|
|
11
30
|
/**
|
|
12
31
|
* Wrapper class around the {@link DynamoDBDocumentClient} that provides added functionality,
|
|
13
32
|
* safer types and some convenience methods.
|
|
@@ -269,6 +288,33 @@ class DynamoDbClient {
|
|
|
269
288
|
* Alias for the {@link putItem} method.
|
|
270
289
|
*/
|
|
271
290
|
upsert = this.putItem;
|
|
291
|
+
/**
|
|
292
|
+
* Unmarshalls an item using this client's translation configuration.
|
|
293
|
+
*
|
|
294
|
+
* The item to unmarshall is expected to be an object with fields whose
|
|
295
|
+
* values are attribute definitions. Example:
|
|
296
|
+
* ```typescript
|
|
297
|
+
* {
|
|
298
|
+
* "field1": {
|
|
299
|
+
* "S": "toto"
|
|
300
|
+
* },
|
|
301
|
+
* "field2": {
|
|
302
|
+
* "N": "42"
|
|
303
|
+
* },
|
|
304
|
+
* ...
|
|
305
|
+
* }
|
|
306
|
+
* ```
|
|
307
|
+
*
|
|
308
|
+
* @param data - The item to unmarshall.
|
|
309
|
+
*
|
|
310
|
+
* @returns The unmarshalled data as a flat object.
|
|
311
|
+
*/
|
|
312
|
+
unmarshall(data) {
|
|
313
|
+
return (0, types_1.trusted)((0, util_dynamodb_1.unmarshall)(data, {
|
|
314
|
+
...UNMARSHALL_OPTIONS,
|
|
315
|
+
convertWithoutMapWrapper: false,
|
|
316
|
+
}));
|
|
317
|
+
}
|
|
272
318
|
/**
|
|
273
319
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
274
320
|
* client directly.
|
|
@@ -293,9 +339,11 @@ class DynamoDbClient {
|
|
|
293
339
|
* `@aws-sdk/client-dynamodb` package.
|
|
294
340
|
*
|
|
295
341
|
* This factory function first intantiates the vanilla client with optionally provided
|
|
296
|
-
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that
|
|
297
|
-
*
|
|
298
|
-
*
|
|
342
|
+
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that cannot be
|
|
343
|
+
* configured at this time. This is because the current code makes assumption based on the
|
|
344
|
+
* default translation configuration, but that could change in a future iteration.
|
|
345
|
+
*
|
|
346
|
+
* When no configuration is used, default configurations are used.
|
|
299
347
|
*
|
|
300
348
|
* The DynamoDB vanilla client can be configured using the `dynamodb` parameter,
|
|
301
349
|
* The document client can be configured using the `document` parameter,
|
|
@@ -313,7 +361,7 @@ class DynamoDbClient {
|
|
|
313
361
|
const p = params || {};
|
|
314
362
|
const { logger } = p;
|
|
315
363
|
const dynamodb = new client_dynamodb_1.DynamoDBClient(p.dynamodb || {});
|
|
316
|
-
const client = lib_dynamodb_1.DynamoDBDocumentClient.from(dynamodb,
|
|
364
|
+
const client = lib_dynamodb_1.DynamoDBDocumentClient.from(dynamodb, TRANSLATE_CONFIG);
|
|
317
365
|
return DynamoDbClient.from({ client, logger });
|
|
318
366
|
}
|
|
319
367
|
}
|
package/lib/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,16 +20,9 @@ function encode(input) {
|
|
|
20
20
|
result.ReturnValuesOnConditionCheckFailure =
|
|
21
21
|
input.returnValuesOnConditionCheckFailure;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
if (input.condition == null) {
|
|
26
|
-
result.ExpressionAttributeNames = formatter.getExpressionAttributeNames();
|
|
27
|
-
result.ExpressionAttributeValues = formatter.getExpressionAttributeValues();
|
|
28
|
-
return result;
|
|
23
|
+
if (input.condition != null) {
|
|
24
|
+
result.ConditionExpression = formatter.format(index_js_1.Condition.from(input.condition));
|
|
29
25
|
}
|
|
30
|
-
// Otherwise, we need to stringify the condition, reusing the same names and values
|
|
31
|
-
// as before.
|
|
32
|
-
result.ConditionExpression = formatter.format(index_js_1.Condition.from(input.condition));
|
|
33
26
|
result.ExpressionAttributeNames = formatter.getExpressionAttributeNames();
|
|
34
27
|
result.ExpressionAttributeValues = formatter.getExpressionAttributeValues();
|
|
35
28
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../../src/commands/inputs/update-item.ts"],"names":[],"mappings":";;;AAGA,sDAKiC;AAEjC,qCAAgD;AAmBnC,QAAA,eAAe,GAAG;IAC7B,MAAM;CACP,CAAC;AAEF,SAAS,MAAM,CACb,KAAyB;IAEzB,MAAM,SAAS,GAAG,6BAAoB,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9D,CAAC;IAEF,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,mCAAmC;YACxC,KAAK,CAAC,mCAAmC,CAAC;IAC9C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../../src/commands/inputs/update-item.ts"],"names":[],"mappings":";;;AAGA,sDAKiC;AAEjC,qCAAgD;AAmBnC,QAAA,eAAe,GAAG;IAC7B,MAAM;CACP,CAAC;AAEF,SAAS,MAAM,CACb,KAAyB;IAEzB,MAAM,SAAS,GAAG,6BAAoB,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9D,CAAC;IAEF,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,mCAAmC;YACxC,KAAK,CAAC,mCAAmC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC3C,oBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,wBAAwB,GAAG,SAAS,CAAC,2BAA2B,EAAE,CAAC;IAC1E,MAAM,CAAC,yBAAyB,GAAG,SAAS,CAAC,4BAA4B,EAAE,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/lib/esm/client.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { TranslateConfig } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
1
|
+
import { type AttributeValue, type DynamoDBClientConfig } from "@aws-sdk/client-dynamodb";
|
|
4
2
|
import type { Logger } from "@infra-blocks/logger-interface";
|
|
5
3
|
import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
6
4
|
import { type CommandOutput, type CreateTableInput, type CreateTableOutput, type DeleteItemInput, type DeleteItemOutput, type DeleteTableInput, type DeleteTableOutput, type DynamoDbClientCommand, type GetItemInput, type GetItemOutput, type PutItemInput, type PutItemOutput, type QueryInput, type QueryOutput, type UpdateItemInput, type UpdateItemOutput, type UpdateTimeToLiveInput, type UpdateTimeToLiveOutput, type WriteTransactionInput, type WriteTransactionOutput } from "./commands/index.js";
|
|
@@ -9,10 +7,6 @@ import type { Attributes, KeyAttributes, KeySchema } from "./types.js";
|
|
|
9
7
|
* Re-export of the native client's, renamed.
|
|
10
8
|
*/
|
|
11
9
|
export type DynamoDbClientConfig = DynamoDBClientConfig;
|
|
12
|
-
/**
|
|
13
|
-
* Re-export of the document client's {@link TranslateConfig}, renamed.
|
|
14
|
-
*/
|
|
15
|
-
export type DocumentClientConfig = TranslateConfig;
|
|
16
10
|
/**
|
|
17
11
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
18
12
|
*/
|
|
@@ -24,13 +18,6 @@ export type CreateParams = {
|
|
|
24
18
|
* provided by the AWS SDK.
|
|
25
19
|
*/
|
|
26
20
|
dynamodb?: DynamoDbClientConfig;
|
|
27
|
-
/**
|
|
28
|
-
* The configuration for the document client.
|
|
29
|
-
*
|
|
30
|
-
* When none is provided, the document client is instantiated with the default
|
|
31
|
-
* configuration provided by the AWS SDK.
|
|
32
|
-
*/
|
|
33
|
-
document?: DocumentClientConfig;
|
|
34
21
|
/**
|
|
35
22
|
* Optional logger to use for logging.
|
|
36
23
|
*
|
|
@@ -202,6 +189,28 @@ export declare class DynamoDbClient {
|
|
|
202
189
|
* Alias for the {@link putItem} method.
|
|
203
190
|
*/
|
|
204
191
|
upsert: <T extends Attributes = Attributes>(params: PutItemInput<T>) => Promise<PutItemOutput<T>>;
|
|
192
|
+
/**
|
|
193
|
+
* Unmarshalls an item using this client's translation configuration.
|
|
194
|
+
*
|
|
195
|
+
* The item to unmarshall is expected to be an object with fields whose
|
|
196
|
+
* values are attribute definitions. Example:
|
|
197
|
+
* ```typescript
|
|
198
|
+
* {
|
|
199
|
+
* "field1": {
|
|
200
|
+
* "S": "toto"
|
|
201
|
+
* },
|
|
202
|
+
* "field2": {
|
|
203
|
+
* "N": "42"
|
|
204
|
+
* },
|
|
205
|
+
* ...
|
|
206
|
+
* }
|
|
207
|
+
* ```
|
|
208
|
+
*
|
|
209
|
+
* @param data - The item to unmarshall.
|
|
210
|
+
*
|
|
211
|
+
* @returns The unmarshalled data as a flat object.
|
|
212
|
+
*/
|
|
213
|
+
unmarshall<T extends Attributes = Attributes>(data: Record<string, AttributeValue>): T;
|
|
205
214
|
/**
|
|
206
215
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
207
216
|
* client directly.
|
|
@@ -214,10 +223,7 @@ export declare class DynamoDbClient {
|
|
|
214
223
|
*
|
|
215
224
|
* @returns A new instance of the {@link DynamoDbClient} wrapping the provided document client.
|
|
216
225
|
*/
|
|
217
|
-
static from
|
|
218
|
-
client: DynamoDBDocumentClient;
|
|
219
|
-
logger?: Logger;
|
|
220
|
-
}): DynamoDbClient;
|
|
226
|
+
private static from;
|
|
221
227
|
/**
|
|
222
228
|
* Creates an instance of the {@link DynamoDbClient} using the provided parameters.
|
|
223
229
|
*
|
|
@@ -226,9 +232,11 @@ export declare class DynamoDbClient {
|
|
|
226
232
|
* `@aws-sdk/client-dynamodb` package.
|
|
227
233
|
*
|
|
228
234
|
* This factory function first intantiates the vanilla client with optionally provided
|
|
229
|
-
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that
|
|
230
|
-
*
|
|
231
|
-
*
|
|
235
|
+
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that cannot be
|
|
236
|
+
* configured at this time. This is because the current code makes assumption based on the
|
|
237
|
+
* default translation configuration, but that could change in a future iteration.
|
|
238
|
+
*
|
|
239
|
+
* When no configuration is used, default configurations are used.
|
|
232
240
|
*
|
|
233
241
|
* The DynamoDB vanilla client can be configured using the `dynamodb` parameter,
|
|
234
242
|
* The document client can be configured using the `document` parameter,
|
package/lib/esm/client.js
CHANGED
|
@@ -1,10 +1,29 @@
|
|
|
1
|
-
import { DynamoDBClient, ListTablesCommand } from "@aws-sdk/client-dynamodb";
|
|
1
|
+
import { DynamoDBClient, ListTablesCommand, } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
3
|
+
import { unmarshall } from "@aws-sdk/util-dynamodb";
|
|
3
4
|
import { NullLogger } from "@infra-blocks/null-logger";
|
|
4
5
|
import { retry } from "@infra-blocks/retry";
|
|
5
6
|
import { trusted } from "@infra-blocks/types";
|
|
6
7
|
import { CreateTable, DeleteItem, DeleteTable, GetItem, PutItem, Query, UpdateItem, UpdateTimeToLive, WriteTransaction, } from "./commands/index.js";
|
|
7
8
|
import { TooManyItemsException } from "./error.js";
|
|
9
|
+
const MARSHALL_OPTIONS = {
|
|
10
|
+
convertEmptyValues: false,
|
|
11
|
+
removeUndefinedValues: false,
|
|
12
|
+
convertClassInstanceToMap: false,
|
|
13
|
+
convertTopLevelContainer: true,
|
|
14
|
+
allowImpreciseNumbers: false,
|
|
15
|
+
};
|
|
16
|
+
const UNMARSHALL_OPTIONS = {
|
|
17
|
+
wrapNumbers: false,
|
|
18
|
+
// This is actually not configurable. When set to false, it appears to break
|
|
19
|
+
// all of lib dynamodb's unmarshalling. Kek.
|
|
20
|
+
convertWithoutMapWrapper: true,
|
|
21
|
+
};
|
|
22
|
+
// This is the default translation configuration from the lib-dynamodb client.
|
|
23
|
+
const TRANSLATE_CONFIG = {
|
|
24
|
+
marshallOptions: MARSHALL_OPTIONS,
|
|
25
|
+
unmarshallOptions: UNMARSHALL_OPTIONS,
|
|
26
|
+
};
|
|
8
27
|
/**
|
|
9
28
|
* Wrapper class around the {@link DynamoDBDocumentClient} that provides added functionality,
|
|
10
29
|
* safer types and some convenience methods.
|
|
@@ -266,6 +285,33 @@ export class DynamoDbClient {
|
|
|
266
285
|
* Alias for the {@link putItem} method.
|
|
267
286
|
*/
|
|
268
287
|
upsert = this.putItem;
|
|
288
|
+
/**
|
|
289
|
+
* Unmarshalls an item using this client's translation configuration.
|
|
290
|
+
*
|
|
291
|
+
* The item to unmarshall is expected to be an object with fields whose
|
|
292
|
+
* values are attribute definitions. Example:
|
|
293
|
+
* ```typescript
|
|
294
|
+
* {
|
|
295
|
+
* "field1": {
|
|
296
|
+
* "S": "toto"
|
|
297
|
+
* },
|
|
298
|
+
* "field2": {
|
|
299
|
+
* "N": "42"
|
|
300
|
+
* },
|
|
301
|
+
* ...
|
|
302
|
+
* }
|
|
303
|
+
* ```
|
|
304
|
+
*
|
|
305
|
+
* @param data - The item to unmarshall.
|
|
306
|
+
*
|
|
307
|
+
* @returns The unmarshalled data as a flat object.
|
|
308
|
+
*/
|
|
309
|
+
unmarshall(data) {
|
|
310
|
+
return trusted(unmarshall(data, {
|
|
311
|
+
...UNMARSHALL_OPTIONS,
|
|
312
|
+
convertWithoutMapWrapper: false,
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
269
315
|
/**
|
|
270
316
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
271
317
|
* client directly.
|
|
@@ -290,9 +336,11 @@ export class DynamoDbClient {
|
|
|
290
336
|
* `@aws-sdk/client-dynamodb` package.
|
|
291
337
|
*
|
|
292
338
|
* This factory function first intantiates the vanilla client with optionally provided
|
|
293
|
-
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that
|
|
294
|
-
*
|
|
295
|
-
*
|
|
339
|
+
* configuration, then wraps it in a {@link DynamoDBDocumentClient} that cannot be
|
|
340
|
+
* configured at this time. This is because the current code makes assumption based on the
|
|
341
|
+
* default translation configuration, but that could change in a future iteration.
|
|
342
|
+
*
|
|
343
|
+
* When no configuration is used, default configurations are used.
|
|
296
344
|
*
|
|
297
345
|
* The DynamoDB vanilla client can be configured using the `dynamodb` parameter,
|
|
298
346
|
* The document client can be configured using the `document` parameter,
|
|
@@ -310,7 +358,7 @@ export class DynamoDbClient {
|
|
|
310
358
|
const p = params || {};
|
|
311
359
|
const { logger } = p;
|
|
312
360
|
const dynamodb = new DynamoDBClient(p.dynamodb || {});
|
|
313
|
-
const client = DynamoDBDocumentClient.from(dynamodb,
|
|
361
|
+
const client = DynamoDBDocumentClient.from(dynamodb, TRANSLATE_CONFIG);
|
|
314
362
|
return DynamoDbClient.from({ client, logger });
|
|
315
363
|
}
|
|
316
364
|
}
|
package/lib/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,16 +17,9 @@ function encode(input) {
|
|
|
17
17
|
result.ReturnValuesOnConditionCheckFailure =
|
|
18
18
|
input.returnValuesOnConditionCheckFailure;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (input.condition == null) {
|
|
23
|
-
result.ExpressionAttributeNames = formatter.getExpressionAttributeNames();
|
|
24
|
-
result.ExpressionAttributeValues = formatter.getExpressionAttributeValues();
|
|
25
|
-
return result;
|
|
20
|
+
if (input.condition != null) {
|
|
21
|
+
result.ConditionExpression = formatter.format(Condition.from(input.condition));
|
|
26
22
|
}
|
|
27
|
-
// Otherwise, we need to stringify the condition, reusing the same names and values
|
|
28
|
-
// as before.
|
|
29
|
-
result.ConditionExpression = formatter.format(Condition.from(input.condition));
|
|
30
23
|
result.ExpressionAttributeNames = formatter.getExpressionAttributeNames();
|
|
31
24
|
result.ExpressionAttributeValues = formatter.getExpressionAttributeValues();
|
|
32
25
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../../src/commands/inputs/update-item.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAET,MAAM,GAEP,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAmBhD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;CACP,CAAC;AAEF,SAAS,MAAM,CACb,KAAyB;IAEzB,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9D,CAAC;IAEF,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,mCAAmC;YACxC,KAAK,CAAC,mCAAmC,CAAC;IAC9C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"update-item.js","sourceRoot":"","sources":["../../../../src/commands/inputs/update-item.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAET,MAAM,GAEP,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAmBhD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;CACP,CAAC;AAEF,SAAS,MAAM,CACb,KAAyB;IAEzB,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC;IAChD,MAAM,MAAM,GAAuB;QACjC,SAAS,EAAE,KAAK,CAAC,KAAK;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,gBAAgB,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9D,CAAC;IAEF,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,CAAC,mCAAmC,IAAI,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,mCAAmC;YACxC,KAAK,CAAC,mCAAmC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAC3C,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,wBAAwB,GAAG,SAAS,CAAC,2BAA2B,EAAE,CAAC;IAC1E,MAAM,CAAC,yBAAyB,GAAG,SAAS,CAAC,4BAA4B,EAAE,CAAC;IAC5E,OAAO,MAAM,CAAC;AAChB,CAAC"}
|