@infra-blocks/aws-dynamodb 0.3.2-alpha.0 → 0.4.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 +3 -2
- package/lib/cjs/client.js +6 -14
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/commands/index.d.ts +2 -0
- package/lib/cjs/commands/write-transaction.d.ts +13 -0
- package/lib/cjs/commands/write-transaction.js +27 -0
- package/lib/cjs/commands/write-transaction.js.map +1 -0
- package/lib/cjs/types.d.ts +0 -4
- package/lib/esm/client.d.ts +3 -2
- package/lib/esm/client.js +7 -15
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/commands/index.d.ts +2 -0
- package/lib/esm/commands/write-transaction.d.ts +13 -0
- package/lib/esm/commands/write-transaction.js +23 -0
- package/lib/esm/commands/write-transaction.js.map +1 -0
- package/lib/esm/types.d.ts +0 -4
- package/package.json +1 -1
package/lib/cjs/client.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
|
6
6
|
import { type CreateTableParams } from "./commands/create-table.js";
|
|
7
7
|
import { type GetItemParams } from "./commands/get-item.js";
|
|
8
8
|
import { type PutItemParams } from "./commands/put-item.js";
|
|
9
|
-
import
|
|
9
|
+
import { type WriteTransactionParams } from "./commands/write-transaction.js";
|
|
10
|
+
import type { Attributes, Query } from "./types.js";
|
|
10
11
|
/**
|
|
11
12
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
12
13
|
*/
|
|
@@ -120,7 +121,7 @@ export declare class DynamoDbClient {
|
|
|
120
121
|
*
|
|
121
122
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TransactWriteItems.html
|
|
122
123
|
*/
|
|
123
|
-
|
|
124
|
+
writeTransaction(params: WriteTransactionParams): Promise<void>;
|
|
124
125
|
/**
|
|
125
126
|
* Alias for the {@link putItem} method.
|
|
126
127
|
*/
|
package/lib/cjs/client.js
CHANGED
|
@@ -8,6 +8,7 @@ const retry_1 = require("@infra-blocks/retry");
|
|
|
8
8
|
const create_table_js_1 = require("./commands/create-table.js");
|
|
9
9
|
const get_item_js_1 = require("./commands/get-item.js");
|
|
10
10
|
const put_item_js_1 = require("./commands/put-item.js");
|
|
11
|
+
const write_transaction_js_1 = require("./commands/write-transaction.js");
|
|
11
12
|
class DynamoDbClientError extends Error {
|
|
12
13
|
constructor(message, options) {
|
|
13
14
|
super(message, options);
|
|
@@ -200,14 +201,12 @@ class DynamoDbClient {
|
|
|
200
201
|
*
|
|
201
202
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TransactWriteItems.html
|
|
202
203
|
*/
|
|
203
|
-
async
|
|
204
|
+
async writeTransaction(params) {
|
|
205
|
+
if (this.logger.isDebugEnabled()) {
|
|
206
|
+
this.logger.debug("transactWriteItems(%s)", JSON.stringify(params));
|
|
207
|
+
}
|
|
204
208
|
try {
|
|
205
|
-
|
|
206
|
-
if (this.logger.isDebugEnabled()) {
|
|
207
|
-
this.logger.debug("executing transaction write: %s", JSON.stringify(commandInput));
|
|
208
|
-
}
|
|
209
|
-
const command = new lib_dynamodb_1.TransactWriteCommand(commandInput);
|
|
210
|
-
await this.client.send(command);
|
|
209
|
+
await this.client.send(write_transaction_js_1.WriteTransaction.from(params).toAwsCommand());
|
|
211
210
|
}
|
|
212
211
|
catch (err) {
|
|
213
212
|
throw new DynamoDbClientError("error while transactionally writing items in DynamoDB", {
|
|
@@ -268,11 +267,4 @@ class DynamoDbClient {
|
|
|
268
267
|
}
|
|
269
268
|
}
|
|
270
269
|
exports.DynamoDbClient = DynamoDbClient;
|
|
271
|
-
function toTransactWriteItemsCommandInput(params) {
|
|
272
|
-
return {
|
|
273
|
-
TransactItems: params.items.map((item) => ({
|
|
274
|
-
Put: put_item_js_1.PutItem.from(item).toAwsCommandInput(),
|
|
275
|
-
})),
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
270
|
//# sourceMappingURL=client.js.map
|
package/lib/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AACA,8DAA6E;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransactWriteCommand, type TransactWriteCommandInput } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
import { type PutItemParams } from "./put-item.js";
|
|
3
|
+
import type { Command } from "./types.js";
|
|
4
|
+
export interface WriteTransactionParams {
|
|
5
|
+
writes: PutItemParams[];
|
|
6
|
+
}
|
|
7
|
+
export declare class WriteTransaction implements Command<TransactWriteCommandInput, TransactWriteCommand> {
|
|
8
|
+
private readonly writes;
|
|
9
|
+
private constructor();
|
|
10
|
+
toAwsCommandInput(): TransactWriteCommandInput;
|
|
11
|
+
toAwsCommand(): TransactWriteCommand;
|
|
12
|
+
static from(params: WriteTransactionParams): WriteTransaction;
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WriteTransaction = void 0;
|
|
4
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
5
|
+
const put_item_js_1 = require("./put-item.js");
|
|
6
|
+
class WriteTransaction {
|
|
7
|
+
writes;
|
|
8
|
+
constructor(params) {
|
|
9
|
+
const { writes } = params;
|
|
10
|
+
this.writes = writes;
|
|
11
|
+
}
|
|
12
|
+
toAwsCommandInput() {
|
|
13
|
+
return {
|
|
14
|
+
TransactItems: this.writes.map((item) => ({
|
|
15
|
+
Put: put_item_js_1.PutItem.from(item).toAwsCommandInput(),
|
|
16
|
+
})),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
toAwsCommand() {
|
|
20
|
+
return new lib_dynamodb_1.TransactWriteCommand(this.toAwsCommandInput());
|
|
21
|
+
}
|
|
22
|
+
static from(params) {
|
|
23
|
+
return new WriteTransaction(params);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.WriteTransaction = WriteTransaction;
|
|
27
|
+
//# sourceMappingURL=write-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-transaction.js","sourceRoot":"","sources":["../../../src/commands/write-transaction.ts"],"names":[],"mappings":";;;AAAA,wDAG+B;AAC/B,+CAA4D;AAQ5D,MAAa,gBAAgB;IAGV,MAAM,CAAkB;IAEzC,YAAoB,MAA8B;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,EAAE,qBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE;aAC5C,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,mCAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAA8B;QACxC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AAzBD,4CAyBC"}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import type { PutItemParams } from "./commands/put-item.js";
|
|
4
3
|
import type { KeyConditionExpression } from "./key-condition-expression.js";
|
|
5
4
|
export type AttributeName = string;
|
|
6
5
|
export type AttributeValue = NativeAttributeValue;
|
|
@@ -20,9 +19,6 @@ export interface Index {
|
|
|
20
19
|
partitionKey: IndexField;
|
|
21
20
|
sortKey?: IndexField;
|
|
22
21
|
}
|
|
23
|
-
export interface WriteTransaction {
|
|
24
|
-
items: PutItemParams[];
|
|
25
|
-
}
|
|
26
22
|
export interface Query {
|
|
27
23
|
table: string;
|
|
28
24
|
index?: string;
|
package/lib/esm/client.d.ts
CHANGED
|
@@ -6,7 +6,8 @@ import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
|
6
6
|
import { type CreateTableParams } from "./commands/create-table.js";
|
|
7
7
|
import { type GetItemParams } from "./commands/get-item.js";
|
|
8
8
|
import { type PutItemParams } from "./commands/put-item.js";
|
|
9
|
-
import
|
|
9
|
+
import { type WriteTransactionParams } from "./commands/write-transaction.js";
|
|
10
|
+
import type { Attributes, Query } from "./types.js";
|
|
10
11
|
/**
|
|
11
12
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
12
13
|
*/
|
|
@@ -120,7 +121,7 @@ export declare class DynamoDbClient {
|
|
|
120
121
|
*
|
|
121
122
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TransactWriteItems.html
|
|
122
123
|
*/
|
|
123
|
-
|
|
124
|
+
writeTransaction(params: WriteTransactionParams): Promise<void>;
|
|
124
125
|
/**
|
|
125
126
|
* Alias for the {@link putItem} method.
|
|
126
127
|
*/
|
package/lib/esm/client.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { DynamoDBClient, ListTablesCommand } from "@aws-sdk/client-dynamodb";
|
|
2
|
-
import { DynamoDBDocumentClient, QueryCommand
|
|
2
|
+
import { DynamoDBDocumentClient, QueryCommand } from "@aws-sdk/lib-dynamodb";
|
|
3
3
|
import { NullLogger } from "@infra-blocks/null-logger";
|
|
4
4
|
import { retry } from "@infra-blocks/retry";
|
|
5
5
|
import { CreateTable, } from "./commands/create-table.js";
|
|
6
6
|
import { GetItem } from "./commands/get-item.js";
|
|
7
7
|
import { PutItem } from "./commands/put-item.js";
|
|
8
|
+
import { WriteTransaction, } from "./commands/write-transaction.js";
|
|
8
9
|
export class DynamoDbClientError extends Error {
|
|
9
10
|
constructor(message, options) {
|
|
10
11
|
super(message, options);
|
|
@@ -196,14 +197,12 @@ export class DynamoDbClient {
|
|
|
196
197
|
*
|
|
197
198
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_TransactWriteItems.html
|
|
198
199
|
*/
|
|
199
|
-
async
|
|
200
|
+
async writeTransaction(params) {
|
|
201
|
+
if (this.logger.isDebugEnabled()) {
|
|
202
|
+
this.logger.debug("transactWriteItems(%s)", JSON.stringify(params));
|
|
203
|
+
}
|
|
200
204
|
try {
|
|
201
|
-
|
|
202
|
-
if (this.logger.isDebugEnabled()) {
|
|
203
|
-
this.logger.debug("executing transaction write: %s", JSON.stringify(commandInput));
|
|
204
|
-
}
|
|
205
|
-
const command = new TransactWriteCommand(commandInput);
|
|
206
|
-
await this.client.send(command);
|
|
205
|
+
await this.client.send(WriteTransaction.from(params).toAwsCommand());
|
|
207
206
|
}
|
|
208
207
|
catch (err) {
|
|
209
208
|
throw new DynamoDbClientError("error while transactionally writing items in DynamoDB", {
|
|
@@ -263,11 +262,4 @@ export class DynamoDbClient {
|
|
|
263
262
|
return DynamoDbClient.from({ client, logger });
|
|
264
263
|
}
|
|
265
264
|
}
|
|
266
|
-
function toTransactWriteItemsCommandInput(params) {
|
|
267
|
-
return {
|
|
268
|
-
TransactItems: params.items.map((item) => ({
|
|
269
|
-
Put: PutItem.from(item).toAwsCommandInput(),
|
|
270
|
-
})),
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
265
|
//# sourceMappingURL=client.js.map
|
package/lib/esm/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TransactWriteCommand, type TransactWriteCommandInput } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
import { type PutItemParams } from "./put-item.js";
|
|
3
|
+
import type { Command } from "./types.js";
|
|
4
|
+
export interface WriteTransactionParams {
|
|
5
|
+
writes: PutItemParams[];
|
|
6
|
+
}
|
|
7
|
+
export declare class WriteTransaction implements Command<TransactWriteCommandInput, TransactWriteCommand> {
|
|
8
|
+
private readonly writes;
|
|
9
|
+
private constructor();
|
|
10
|
+
toAwsCommandInput(): TransactWriteCommandInput;
|
|
11
|
+
toAwsCommand(): TransactWriteCommand;
|
|
12
|
+
static from(params: WriteTransactionParams): WriteTransaction;
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TransactWriteCommand, } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
import { PutItem } from "./put-item.js";
|
|
3
|
+
export class WriteTransaction {
|
|
4
|
+
writes;
|
|
5
|
+
constructor(params) {
|
|
6
|
+
const { writes } = params;
|
|
7
|
+
this.writes = writes;
|
|
8
|
+
}
|
|
9
|
+
toAwsCommandInput() {
|
|
10
|
+
return {
|
|
11
|
+
TransactItems: this.writes.map((item) => ({
|
|
12
|
+
Put: PutItem.from(item).toAwsCommandInput(),
|
|
13
|
+
})),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
toAwsCommand() {
|
|
17
|
+
return new TransactWriteCommand(this.toAwsCommandInput());
|
|
18
|
+
}
|
|
19
|
+
static from(params) {
|
|
20
|
+
return new WriteTransaction(params);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=write-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"write-transaction.js","sourceRoot":"","sources":["../../../src/commands/write-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAsB,MAAM,eAAe,CAAC;AAQ5D,MAAM,OAAO,gBAAgB;IAGV,MAAM,CAAkB;IAEzC,YAAoB,MAA8B;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE;aAC5C,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAA8B;QACxC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import type { PutItemParams } from "./commands/put-item.js";
|
|
4
3
|
import type { KeyConditionExpression } from "./key-condition-expression.js";
|
|
5
4
|
export type AttributeName = string;
|
|
6
5
|
export type AttributeValue = NativeAttributeValue;
|
|
@@ -20,9 +19,6 @@ export interface Index {
|
|
|
20
19
|
partitionKey: IndexField;
|
|
21
20
|
sortKey?: IndexField;
|
|
22
21
|
}
|
|
23
|
-
export interface WriteTransaction {
|
|
24
|
-
items: PutItemParams[];
|
|
25
|
-
}
|
|
26
22
|
export interface Query {
|
|
27
23
|
table: string;
|
|
28
24
|
index?: string;
|