@infra-blocks/aws-dynamodb 0.3.0-alpha.1 → 0.3.1-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 +4 -3
- package/lib/cjs/client.js +9 -19
- package/lib/cjs/client.js.map +1 -1
- package/lib/cjs/commands/create-table.d.ts +3 -2
- package/lib/cjs/commands/create-table.js +2 -2
- package/lib/cjs/commands/create-table.js.map +1 -1
- package/lib/cjs/commands/put-item.d.ts +18 -0
- package/lib/cjs/commands/put-item.js +32 -0
- package/lib/cjs/commands/put-item.js.map +1 -0
- package/lib/cjs/commands/types.d.ts +4 -0
- package/lib/cjs/commands/types.js +3 -0
- package/lib/cjs/commands/types.js.map +1 -0
- package/lib/cjs/types.d.ts +2 -7
- package/lib/esm/client.d.ts +4 -3
- package/lib/esm/client.js +10 -20
- package/lib/esm/client.js.map +1 -1
- package/lib/esm/commands/create-table.d.ts +3 -2
- package/lib/esm/commands/create-table.js +2 -2
- package/lib/esm/commands/create-table.js.map +1 -1
- package/lib/esm/commands/put-item.d.ts +18 -0
- package/lib/esm/commands/put-item.js +28 -0
- package/lib/esm/commands/put-item.js.map +1 -0
- package/lib/esm/commands/types.d.ts +4 -0
- package/lib/esm/commands/types.js +2 -0
- package/lib/esm/commands/types.js.map +1 -0
- package/lib/esm/types.d.ts +2 -7
- package/package.json +1 -1
package/lib/cjs/client.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
|
4
4
|
import type { Logger } from "@infra-blocks/logger-interface";
|
|
5
5
|
import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
6
6
|
import { type CreateTableParams } from "./commands/create-table.js";
|
|
7
|
-
import
|
|
7
|
+
import { type PutItemParams } from "./commands/put-item.js";
|
|
8
|
+
import type { Attributes, GetItem, Query, WriteTransaction } from "./types.js";
|
|
8
9
|
/**
|
|
9
10
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
10
11
|
*/
|
|
@@ -73,7 +74,7 @@ export declare class DynamoDbClient {
|
|
|
73
74
|
*
|
|
74
75
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html
|
|
75
76
|
*/
|
|
76
|
-
putItem(params:
|
|
77
|
+
putItem(params: PutItemParams): Promise<void>;
|
|
77
78
|
/**
|
|
78
79
|
* Queries a table, or an index, using the Query API.
|
|
79
80
|
*
|
|
@@ -122,7 +123,7 @@ export declare class DynamoDbClient {
|
|
|
122
123
|
/**
|
|
123
124
|
* Alias for the {@link putItem} method.
|
|
124
125
|
*/
|
|
125
|
-
upsert: (params:
|
|
126
|
+
upsert: (params: PutItemParams) => Promise<void>;
|
|
126
127
|
/**
|
|
127
128
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
128
129
|
* client directly.
|
package/lib/cjs/client.js
CHANGED
|
@@ -6,6 +6,7 @@ const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
|
6
6
|
const null_logger_1 = require("@infra-blocks/null-logger");
|
|
7
7
|
const retry_1 = require("@infra-blocks/retry");
|
|
8
8
|
const create_table_js_1 = require("./commands/create-table.js");
|
|
9
|
+
const put_item_js_1 = require("./commands/put-item.js");
|
|
9
10
|
class DynamoDbClientError extends Error {
|
|
10
11
|
constructor(message, options) {
|
|
11
12
|
super(message, options);
|
|
@@ -41,7 +42,7 @@ class DynamoDbClient {
|
|
|
41
42
|
await this.client.send(command.toAwsCommand());
|
|
42
43
|
}
|
|
43
44
|
catch (err) {
|
|
44
|
-
throw new DynamoDbClientError(
|
|
45
|
+
throw new DynamoDbClientError("error while creating table", {
|
|
45
46
|
cause: err,
|
|
46
47
|
});
|
|
47
48
|
}
|
|
@@ -89,12 +90,15 @@ class DynamoDbClient {
|
|
|
89
90
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html
|
|
90
91
|
*/
|
|
91
92
|
async putItem(params) {
|
|
93
|
+
if (this.logger.isDebugEnabled()) {
|
|
94
|
+
this.logger.debug("putItem(%s)", JSON.stringify(params));
|
|
95
|
+
}
|
|
92
96
|
try {
|
|
93
|
-
|
|
97
|
+
const command = put_item_js_1.PutItem.from(params);
|
|
98
|
+
await this.client.send(command.toAwsCommand());
|
|
94
99
|
}
|
|
95
100
|
catch (err) {
|
|
96
|
-
|
|
97
|
-
throw new DynamoDbClientError("error while putting item in DynamoDB", {
|
|
101
|
+
throw new DynamoDbClientError("error while putting item", {
|
|
98
102
|
cause: err,
|
|
99
103
|
});
|
|
100
104
|
}
|
|
@@ -270,24 +274,10 @@ class DynamoDbClient {
|
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
276
|
exports.DynamoDbClient = DynamoDbClient;
|
|
273
|
-
// Could be associated on the PutItem type if it was an opaque type rather
|
|
274
|
-
// than an interface.
|
|
275
|
-
function toPutCommand(params) {
|
|
276
|
-
return new lib_dynamodb_1.PutCommand(toToPutCommandInput(params));
|
|
277
|
-
}
|
|
278
|
-
function toToPutCommandInput(params) {
|
|
279
|
-
const { table, item, condition } = params;
|
|
280
|
-
const conditionPayload = condition != null ? condition.toAwsInput() : {};
|
|
281
|
-
return {
|
|
282
|
-
TableName: table,
|
|
283
|
-
Item: item,
|
|
284
|
-
...conditionPayload,
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
277
|
function toTransactWriteItemsCommandInput(params) {
|
|
288
278
|
return {
|
|
289
279
|
TransactItems: params.items.map((item) => ({
|
|
290
|
-
Put:
|
|
280
|
+
Put: put_item_js_1.PutItem.from(item).toAwsCommandInput(),
|
|
291
281
|
})),
|
|
292
282
|
};
|
|
293
283
|
}
|
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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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { CreateTableCommand, type CreateTableCommandInput } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { Index } from "../types.js";
|
|
3
|
+
import type { Command } from "./types.js";
|
|
3
4
|
export interface CreateTableParams {
|
|
4
5
|
name: string;
|
|
5
6
|
primaryKey: Index;
|
|
6
7
|
gsis?: Record<string, Index>;
|
|
7
8
|
lsis?: Record<string, Index>;
|
|
8
9
|
}
|
|
9
|
-
export declare class CreateTable {
|
|
10
|
+
export declare class CreateTable implements Command<CreateTableCommandInput, CreateTableCommand> {
|
|
10
11
|
private readonly name;
|
|
11
12
|
private readonly primaryKey;
|
|
12
13
|
private readonly gsis?;
|
|
13
14
|
private readonly lsis?;
|
|
14
15
|
private constructor();
|
|
15
|
-
|
|
16
|
+
toAwsCommandInput(): CreateTableCommandInput;
|
|
16
17
|
toAwsCommand(): CreateTableCommand;
|
|
17
18
|
private gsiInput;
|
|
18
19
|
private lsiInput;
|
|
@@ -14,7 +14,7 @@ class CreateTable {
|
|
|
14
14
|
this.gsis = gsis;
|
|
15
15
|
this.lsis = lsis;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
toAwsCommandInput() {
|
|
18
18
|
const { name } = this;
|
|
19
19
|
const attributeDefinitions = new Map();
|
|
20
20
|
const primaryKeySchema = keySchema({
|
|
@@ -36,7 +36,7 @@ class CreateTable {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
toAwsCommand() {
|
|
39
|
-
return new client_dynamodb_1.CreateTableCommand(this.
|
|
39
|
+
return new client_dynamodb_1.CreateTableCommand(this.toAwsCommandInput());
|
|
40
40
|
}
|
|
41
41
|
gsiInput(attributeDefinitions) {
|
|
42
42
|
const { gsis = {} } = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../src/commands/create-table.ts"],"names":[],"mappings":";;;AAAA,8DAMkC;
|
|
1
|
+
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../src/commands/create-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PutCommand, type PutCommandInput } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
import type { ConditionExpression } from "../condition-expression.js";
|
|
3
|
+
import type { Attributes } from "../types.js";
|
|
4
|
+
import type { Command } from "./types.js";
|
|
5
|
+
export interface PutItemParams {
|
|
6
|
+
table: string;
|
|
7
|
+
item: Attributes;
|
|
8
|
+
condition?: ConditionExpression;
|
|
9
|
+
}
|
|
10
|
+
export declare class PutItem implements Command<PutCommandInput, PutCommand> {
|
|
11
|
+
private readonly table;
|
|
12
|
+
private readonly item;
|
|
13
|
+
private readonly condition?;
|
|
14
|
+
private constructor();
|
|
15
|
+
toAwsCommandInput(): PutCommandInput;
|
|
16
|
+
toAwsCommand(): PutCommand;
|
|
17
|
+
static from(params: PutItemParams): PutItem;
|
|
18
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PutItem = void 0;
|
|
4
|
+
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
5
|
+
class PutItem {
|
|
6
|
+
table;
|
|
7
|
+
item;
|
|
8
|
+
condition;
|
|
9
|
+
constructor(params) {
|
|
10
|
+
const { table, item, condition } = params;
|
|
11
|
+
this.table = table;
|
|
12
|
+
this.item = item;
|
|
13
|
+
this.condition = condition;
|
|
14
|
+
}
|
|
15
|
+
toAwsCommandInput() {
|
|
16
|
+
const { table, item, condition } = this;
|
|
17
|
+
const conditionPayload = condition != null ? condition.toAwsInput() : {};
|
|
18
|
+
return {
|
|
19
|
+
TableName: table,
|
|
20
|
+
Item: item,
|
|
21
|
+
...conditionPayload,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
toAwsCommand() {
|
|
25
|
+
return new lib_dynamodb_1.PutCommand(this.toAwsCommandInput());
|
|
26
|
+
}
|
|
27
|
+
static from(params) {
|
|
28
|
+
return new PutItem(params);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.PutItem = PutItem;
|
|
32
|
+
//# sourceMappingURL=put-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":";;;AAAA,wDAAyE;AAWzE,MAAa,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;YACV,GAAG,gBAAgB;SACpB,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,yBAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAqB;QAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF;AA7BD,0BA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":""}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import type {
|
|
3
|
+
import type { PutItemParams } from "./commands/put-item.js";
|
|
4
4
|
import type { KeyConditionExpression } from "./key-condition-expression.js";
|
|
5
5
|
export type AttributeName = string;
|
|
6
6
|
export type AttributeValue = NativeAttributeValue;
|
|
@@ -40,13 +40,8 @@ export interface GetItem {
|
|
|
40
40
|
*/
|
|
41
41
|
sortKey?: Attribute;
|
|
42
42
|
}
|
|
43
|
-
export interface PutItem {
|
|
44
|
-
table: string;
|
|
45
|
-
item: Attributes;
|
|
46
|
-
condition?: ConditionExpression;
|
|
47
|
-
}
|
|
48
43
|
export interface WriteTransaction {
|
|
49
|
-
items:
|
|
44
|
+
items: PutItemParams[];
|
|
50
45
|
}
|
|
51
46
|
export interface Query {
|
|
52
47
|
table: string;
|
package/lib/esm/client.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ import { DynamoDBDocumentClient } from "@aws-sdk/lib-dynamodb";
|
|
|
4
4
|
import type { Logger } from "@infra-blocks/logger-interface";
|
|
5
5
|
import { type Retry, type RetryConfig } from "@infra-blocks/retry";
|
|
6
6
|
import { type CreateTableParams } from "./commands/create-table.js";
|
|
7
|
-
import
|
|
7
|
+
import { type PutItemParams } from "./commands/put-item.js";
|
|
8
|
+
import type { Attributes, GetItem, Query, WriteTransaction } from "./types.js";
|
|
8
9
|
/**
|
|
9
10
|
* Creation parameters for the {@link DynamoDbClient}.
|
|
10
11
|
*/
|
|
@@ -73,7 +74,7 @@ export declare class DynamoDbClient {
|
|
|
73
74
|
*
|
|
74
75
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html
|
|
75
76
|
*/
|
|
76
|
-
putItem(params:
|
|
77
|
+
putItem(params: PutItemParams): Promise<void>;
|
|
77
78
|
/**
|
|
78
79
|
* Queries a table, or an index, using the Query API.
|
|
79
80
|
*
|
|
@@ -122,7 +123,7 @@ export declare class DynamoDbClient {
|
|
|
122
123
|
/**
|
|
123
124
|
* Alias for the {@link putItem} method.
|
|
124
125
|
*/
|
|
125
|
-
upsert: (params:
|
|
126
|
+
upsert: (params: PutItemParams) => Promise<void>;
|
|
126
127
|
/**
|
|
127
128
|
* Creates an instance of the {@link DynamoDbClient} wrapping the provided document
|
|
128
129
|
* client directly.
|
package/lib/esm/client.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { DynamoDBClient, ListTablesCommand } from "@aws-sdk/client-dynamodb";
|
|
2
|
-
import { DynamoDBDocumentClient, GetCommand,
|
|
2
|
+
import { DynamoDBDocumentClient, GetCommand, QueryCommand, TransactWriteCommand, } 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
|
+
import { PutItem } from "./commands/put-item.js";
|
|
6
7
|
export class DynamoDbClientError extends Error {
|
|
7
8
|
constructor(message, options) {
|
|
8
9
|
super(message, options);
|
|
@@ -37,7 +38,7 @@ export class DynamoDbClient {
|
|
|
37
38
|
await this.client.send(command.toAwsCommand());
|
|
38
39
|
}
|
|
39
40
|
catch (err) {
|
|
40
|
-
throw new DynamoDbClientError(
|
|
41
|
+
throw new DynamoDbClientError("error while creating table", {
|
|
41
42
|
cause: err,
|
|
42
43
|
});
|
|
43
44
|
}
|
|
@@ -85,12 +86,15 @@ export class DynamoDbClient {
|
|
|
85
86
|
* @see https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_PutItem.html
|
|
86
87
|
*/
|
|
87
88
|
async putItem(params) {
|
|
89
|
+
if (this.logger.isDebugEnabled()) {
|
|
90
|
+
this.logger.debug("putItem(%s)", JSON.stringify(params));
|
|
91
|
+
}
|
|
88
92
|
try {
|
|
89
|
-
|
|
93
|
+
const command = PutItem.from(params);
|
|
94
|
+
await this.client.send(command.toAwsCommand());
|
|
90
95
|
}
|
|
91
96
|
catch (err) {
|
|
92
|
-
|
|
93
|
-
throw new DynamoDbClientError("error while putting item in DynamoDB", {
|
|
97
|
+
throw new DynamoDbClientError("error while putting item", {
|
|
94
98
|
cause: err,
|
|
95
99
|
});
|
|
96
100
|
}
|
|
@@ -265,24 +269,10 @@ export class DynamoDbClient {
|
|
|
265
269
|
return DynamoDbClient.from({ client, logger });
|
|
266
270
|
}
|
|
267
271
|
}
|
|
268
|
-
// Could be associated on the PutItem type if it was an opaque type rather
|
|
269
|
-
// than an interface.
|
|
270
|
-
function toPutCommand(params) {
|
|
271
|
-
return new PutCommand(toToPutCommandInput(params));
|
|
272
|
-
}
|
|
273
|
-
function toToPutCommandInput(params) {
|
|
274
|
-
const { table, item, condition } = params;
|
|
275
|
-
const conditionPayload = condition != null ? condition.toAwsInput() : {};
|
|
276
|
-
return {
|
|
277
|
-
TableName: table,
|
|
278
|
-
Item: item,
|
|
279
|
-
...conditionPayload,
|
|
280
|
-
};
|
|
281
|
-
}
|
|
282
272
|
function toTransactWriteItemsCommandInput(params) {
|
|
283
273
|
return {
|
|
284
274
|
TransactItems: params.items.map((item) => ({
|
|
285
|
-
Put:
|
|
275
|
+
Put: PutItem.from(item).toAwsCommandInput(),
|
|
286
276
|
})),
|
|
287
277
|
};
|
|
288
278
|
}
|
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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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { CreateTableCommand, type CreateTableCommandInput } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { Index } from "../types.js";
|
|
3
|
+
import type { Command } from "./types.js";
|
|
3
4
|
export interface CreateTableParams {
|
|
4
5
|
name: string;
|
|
5
6
|
primaryKey: Index;
|
|
6
7
|
gsis?: Record<string, Index>;
|
|
7
8
|
lsis?: Record<string, Index>;
|
|
8
9
|
}
|
|
9
|
-
export declare class CreateTable {
|
|
10
|
+
export declare class CreateTable implements Command<CreateTableCommandInput, CreateTableCommand> {
|
|
10
11
|
private readonly name;
|
|
11
12
|
private readonly primaryKey;
|
|
12
13
|
private readonly gsis?;
|
|
13
14
|
private readonly lsis?;
|
|
14
15
|
private constructor();
|
|
15
|
-
|
|
16
|
+
toAwsCommandInput(): CreateTableCommandInput;
|
|
16
17
|
toAwsCommand(): CreateTableCommand;
|
|
17
18
|
private gsiInput;
|
|
18
19
|
private lsiInput;
|
|
@@ -11,7 +11,7 @@ export class CreateTable {
|
|
|
11
11
|
this.gsis = gsis;
|
|
12
12
|
this.lsis = lsis;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
toAwsCommandInput() {
|
|
15
15
|
const { name } = this;
|
|
16
16
|
const attributeDefinitions = new Map();
|
|
17
17
|
const primaryKeySchema = keySchema({
|
|
@@ -33,7 +33,7 @@ export class CreateTable {
|
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
toAwsCommand() {
|
|
36
|
-
return new CreateTableCommand(this.
|
|
36
|
+
return new CreateTableCommand(this.toAwsCommandInput());
|
|
37
37
|
}
|
|
38
38
|
gsiInput(attributeDefinitions) {
|
|
39
39
|
const { gsis = {} } = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../src/commands/create-table.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAKnB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-table.js","sourceRoot":"","sources":["../../../src/commands/create-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PutCommand, type PutCommandInput } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
import type { ConditionExpression } from "../condition-expression.js";
|
|
3
|
+
import type { Attributes } from "../types.js";
|
|
4
|
+
import type { Command } from "./types.js";
|
|
5
|
+
export interface PutItemParams {
|
|
6
|
+
table: string;
|
|
7
|
+
item: Attributes;
|
|
8
|
+
condition?: ConditionExpression;
|
|
9
|
+
}
|
|
10
|
+
export declare class PutItem implements Command<PutCommandInput, PutCommand> {
|
|
11
|
+
private readonly table;
|
|
12
|
+
private readonly item;
|
|
13
|
+
private readonly condition?;
|
|
14
|
+
private constructor();
|
|
15
|
+
toAwsCommandInput(): PutCommandInput;
|
|
16
|
+
toAwsCommand(): PutCommand;
|
|
17
|
+
static from(params: PutItemParams): PutItem;
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PutCommand } from "@aws-sdk/lib-dynamodb";
|
|
2
|
+
export class PutItem {
|
|
3
|
+
table;
|
|
4
|
+
item;
|
|
5
|
+
condition;
|
|
6
|
+
constructor(params) {
|
|
7
|
+
const { table, item, condition } = params;
|
|
8
|
+
this.table = table;
|
|
9
|
+
this.item = item;
|
|
10
|
+
this.condition = condition;
|
|
11
|
+
}
|
|
12
|
+
toAwsCommandInput() {
|
|
13
|
+
const { table, item, condition } = this;
|
|
14
|
+
const conditionPayload = condition != null ? condition.toAwsInput() : {};
|
|
15
|
+
return {
|
|
16
|
+
TableName: table,
|
|
17
|
+
Item: item,
|
|
18
|
+
...conditionPayload,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
toAwsCommand() {
|
|
22
|
+
return new PutCommand(this.toAwsCommandInput());
|
|
23
|
+
}
|
|
24
|
+
static from(params) {
|
|
25
|
+
return new PutItem(params);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=put-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put-item.js","sourceRoot":"","sources":["../../../src/commands/put-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAWzE,MAAM,OAAO,OAAO;IACD,KAAK,CAAS;IACd,IAAI,CAAa;IACjB,SAAS,CAAuB;IAEjD,YAAoB,MAAqB;QACvC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACf,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QACxC,MAAM,gBAAgB,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,IAAI;YACV,GAAG,gBAAgB;SACpB,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAqB;QAC/B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/types.ts"],"names":[],"mappings":""}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ScalarAttributeType } from "@aws-sdk/client-dynamodb";
|
|
2
2
|
import type { NativeAttributeValue } from "@aws-sdk/lib-dynamodb";
|
|
3
|
-
import type {
|
|
3
|
+
import type { PutItemParams } from "./commands/put-item.js";
|
|
4
4
|
import type { KeyConditionExpression } from "./key-condition-expression.js";
|
|
5
5
|
export type AttributeName = string;
|
|
6
6
|
export type AttributeValue = NativeAttributeValue;
|
|
@@ -40,13 +40,8 @@ export interface GetItem {
|
|
|
40
40
|
*/
|
|
41
41
|
sortKey?: Attribute;
|
|
42
42
|
}
|
|
43
|
-
export interface PutItem {
|
|
44
|
-
table: string;
|
|
45
|
-
item: Attributes;
|
|
46
|
-
condition?: ConditionExpression;
|
|
47
|
-
}
|
|
48
43
|
export interface WriteTransaction {
|
|
49
|
-
items:
|
|
44
|
+
items: PutItemParams[];
|
|
50
45
|
}
|
|
51
46
|
export interface Query {
|
|
52
47
|
table: string;
|