dynamo-document-builder 0.6.1 → 0.7.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 (59) hide show
  1. package/README.md +99 -2
  2. package/dist/commands/batch-get.cjs +7 -0
  3. package/dist/commands/batch-get.cjs.map +1 -1
  4. package/dist/commands/batch-get.d.ts +4 -2
  5. package/dist/commands/batch-get.mjs +8 -1
  6. package/dist/commands/batch-get.mjs.map +1 -1
  7. package/dist/commands/batch-write.cjs +6 -0
  8. package/dist/commands/batch-write.cjs.map +1 -1
  9. package/dist/commands/batch-write.d.ts +4 -2
  10. package/dist/commands/batch-write.mjs +7 -1
  11. package/dist/commands/batch-write.mjs.map +1 -1
  12. package/dist/commands/index.cjs +8 -0
  13. package/dist/commands/index.cjs.map +1 -1
  14. package/dist/commands/index.d.ts +100 -2
  15. package/dist/commands/index.mjs +4 -0
  16. package/dist/commands/index.mjs.map +1 -1
  17. package/dist/commands/query.cjs +1 -1
  18. package/dist/commands/query.mjs +1 -1
  19. package/dist/commands/table-batch-get.cjs +123 -0
  20. package/dist/commands/table-batch-get.cjs.map +1 -0
  21. package/dist/commands/table-batch-get.d.ts +86 -0
  22. package/dist/commands/table-batch-get.mjs +121 -0
  23. package/dist/commands/table-batch-get.mjs.map +1 -0
  24. package/dist/commands/table-batch-write.cjs +119 -0
  25. package/dist/commands/table-batch-write.cjs.map +1 -0
  26. package/dist/commands/table-batch-write.d.ts +79 -0
  27. package/dist/commands/table-batch-write.mjs +117 -0
  28. package/dist/commands/table-batch-write.mjs.map +1 -0
  29. package/dist/commands/table-transact-get.cjs +73 -0
  30. package/dist/commands/table-transact-get.cjs.map +1 -0
  31. package/dist/commands/table-transact-get.d.ts +60 -0
  32. package/dist/commands/table-transact-get.mjs +71 -0
  33. package/dist/commands/table-transact-get.mjs.map +1 -0
  34. package/dist/commands/table-transact-write.cjs +76 -0
  35. package/dist/commands/table-transact-write.cjs.map +1 -0
  36. package/dist/commands/table-transact-write.d.ts +51 -0
  37. package/dist/commands/table-transact-write.mjs +74 -0
  38. package/dist/commands/table-transact-write.mjs.map +1 -0
  39. package/dist/commands/transact-get.cjs +3 -0
  40. package/dist/commands/transact-get.cjs.map +1 -1
  41. package/dist/commands/transact-get.d.ts +3 -2
  42. package/dist/commands/transact-get.mjs +4 -1
  43. package/dist/commands/transact-get.mjs.map +1 -1
  44. package/dist/core/entity.cjs +114 -0
  45. package/dist/core/entity.cjs.map +1 -1
  46. package/dist/core/entity.d.ts +21 -1
  47. package/dist/core/entity.mjs +114 -0
  48. package/dist/core/entity.mjs.map +1 -1
  49. package/dist/core/table.cjs +8 -0
  50. package/dist/core/table.cjs.map +1 -1
  51. package/dist/core/table.d.ts +5 -0
  52. package/dist/core/table.mjs +9 -1
  53. package/dist/core/table.mjs.map +1 -1
  54. package/dist/index.cjs +10 -2
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.ts +5 -1
  57. package/dist/index.mjs +5 -1
  58. package/dist/index.mjs.map +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,60 @@
1
+ import { PreparedGetTransaction, BaseConfig, BaseResult, TableCommand } from './index.js';
2
+ import { DynamoTable } from '../core/table.js';
3
+ import { EntitySchema } from '../core/index.js';
4
+ import { ZodObject } from 'zod/v4';
5
+
6
+ /**
7
+ * Extracts the result item type from a PreparedGetTransaction.
8
+ */
9
+ type ExtractSchema<T> = T extends PreparedGetTransaction<infer S> ? EntitySchema<S> : never;
10
+ /**
11
+ * Maps an array of PreparedGetTransactions to a tuple of their result item arrays.
12
+ */
13
+ type TableTransactGetItems<Gets extends PreparedGetTransaction<ZodObject>[]> = {
14
+ [K in keyof Gets]: Array<ExtractSchema<Gets[K]> | undefined>;
15
+ };
16
+ /**
17
+ * Configuration for the TableTransactGet command.
18
+ *
19
+ * @template Gets - Tuple of PreparedGetTransaction types, one per entity group.
20
+ */
21
+ type TableTransactGetConfig<Gets extends PreparedGetTransaction<ZodObject>[]> = BaseConfig & {
22
+ gets: [...Gets];
23
+ };
24
+ /**
25
+ * Result of the TableTransactGet command.
26
+ *
27
+ * @template Gets - Tuple of PreparedGetTransaction types, one per entity group.
28
+ */
29
+ type TableTransactGetResult<Gets extends PreparedGetTransaction<ZodObject>[]> = BaseResult & {
30
+ items: TableTransactGetItems<Gets>;
31
+ };
32
+ /**
33
+ * Table-level command to perform a transactional read across multiple entity types.
34
+ *
35
+ * Unlike `TransactGet` which operates on a single entity type, this command accepts
36
+ * get operations from multiple entities via `entity.prepare(new TransactGet({ keys: [...] }))`
37
+ * and returns results grouped by entity in a tuple structure.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const { items } = await table.send(new TableTransactGet({
42
+ * gets: [
43
+ * userEntity.prepare(new TransactGet({ keys: [{ userId: 'u1' }] })),
44
+ * orderEntity.prepare(new TransactGet({ keys: [{ orderId: 'o1' }, { orderId: 'o2' }] })),
45
+ * ],
46
+ * }))
47
+ *
48
+ * const [users, orders] = items
49
+ * // users: (User | undefined)[]
50
+ * // orders: (Order | undefined)[]
51
+ * ```
52
+ */
53
+ declare class TableTransactGet<Gets extends PreparedGetTransaction<ZodObject>[]> implements TableCommand<TableTransactGetResult<Gets>> {
54
+ #private;
55
+ constructor(config: TableTransactGetConfig<Gets>);
56
+ execute(table: DynamoTable): Promise<TableTransactGetResult<Gets>>;
57
+ }
58
+
59
+ export { TableTransactGet };
60
+ export type { TableTransactGetConfig, TableTransactGetResult };
@@ -0,0 +1,71 @@
1
+ import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
2
+ import { DocumentBuilderError } from '../errors.mjs';
3
+ import { TransactGetCommand } from '@aws-sdk/lib-dynamodb';
4
+
5
+ var _TableTransactGet_config;
6
+ /**
7
+ * Table-level command to perform a transactional read across multiple entity types.
8
+ *
9
+ * Unlike `TransactGet` which operates on a single entity type, this command accepts
10
+ * get operations from multiple entities via `entity.prepare(new TransactGet({ keys: [...] }))`
11
+ * and returns results grouped by entity in a tuple structure.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const { items } = await table.send(new TableTransactGet({
16
+ * gets: [
17
+ * userEntity.prepare(new TransactGet({ keys: [{ userId: 'u1' }] })),
18
+ * orderEntity.prepare(new TransactGet({ keys: [{ orderId: 'o1' }, { orderId: 'o2' }] })),
19
+ * ],
20
+ * }))
21
+ *
22
+ * const [users, orders] = items
23
+ * // users: (User | undefined)[]
24
+ * // orders: (Order | undefined)[]
25
+ * ```
26
+ */
27
+ class TableTransactGet {
28
+ constructor(config) {
29
+ _TableTransactGet_config.set(this, void 0);
30
+ __classPrivateFieldSet(this, _TableTransactGet_config, config, "f");
31
+ }
32
+ execute(table) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ var _a, _b, _c, _d;
35
+ for (const group of __classPrivateFieldGet(this, _TableTransactGet_config, "f").gets) {
36
+ if (group.entity.table !== table) {
37
+ throw new DocumentBuilderError(`Entity table "${group.entity.table.tableName}" does not match the executing table "${table.tableName}"`);
38
+ }
39
+ }
40
+ const transactItems = __classPrivateFieldGet(this, _TableTransactGet_config, "f").gets.flatMap(group => group.keys.map(key => ({ Get: key })));
41
+ const transactGet = new TransactGetCommand({
42
+ TransactItems: transactItems,
43
+ ReturnConsumedCapacity: __classPrivateFieldGet(this, _TableTransactGet_config, "f").returnConsumedCapacity,
44
+ });
45
+ const result = yield table.documentClient.send(transactGet, {
46
+ abortSignal: (_a = __classPrivateFieldGet(this, _TableTransactGet_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
47
+ requestTimeout: __classPrivateFieldGet(this, _TableTransactGet_config, "f").timeoutMs,
48
+ });
49
+ const rawResponses = (_b = result.Responses) !== null && _b !== void 0 ? _b : [];
50
+ // Split raw responses back into per-entity groups and parse each group
51
+ let offset = 0;
52
+ const groupedItems = [];
53
+ for (const group of __classPrivateFieldGet(this, _TableTransactGet_config, "f").gets) {
54
+ const count = group.keys.length;
55
+ const slice = rawResponses.slice(offset, offset + count).map(r => r.Item);
56
+ const parsed = yield group.parseResults(slice, (_c = __classPrivateFieldGet(this, _TableTransactGet_config, "f").skipValidation) !== null && _c !== void 0 ? _c : false);
57
+ groupedItems.push(parsed);
58
+ offset += count;
59
+ }
60
+ return {
61
+ items: groupedItems,
62
+ responseMetadata: result.$metadata,
63
+ consumedCapacity: (_d = result.ConsumedCapacity) === null || _d === void 0 ? void 0 : _d[0],
64
+ };
65
+ });
66
+ }
67
+ }
68
+ _TableTransactGet_config = new WeakMap();
69
+
70
+ export { TableTransactGet };
71
+ //# sourceMappingURL=table-transact-get.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-transact-get.mjs","sources":["../../src/commands/table-transact-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwCA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,gBAAgB,CAAA;AAK3B,IAAA,WAAA,CAAY,MAAoC,EAAA;QAFhD,wBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,KAAkB,EAAA;;;YACrC,KAAK,MAAM,KAAK,IAAI,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,EAAE;gBACrC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;AAChC,oBAAA,MAAM,IAAI,oBAAoB,CAC5B,CAAA,cAAA,EAAiB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAA,sCAAA,EAAyC,KAAK,CAAC,SAAS,CAAA,CAAA,CAAG,CACzG;gBACH;YACF;AAEA,YAAA,MAAM,aAAa,GAAG,sBAAA,CAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAE/F,YAAA,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC1D,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,gCAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,MAAM,YAAY,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;;YAG3C,IAAI,MAAM,GAAG,CAAC;YACd,MAAM,YAAY,GAA0B,EAAE;YAE9C,KAAK,MAAM,KAAK,IAAI,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI,EAAE;AACrC,gBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;gBAC/B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AACzE,gBAAA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA,EAAA,GAAA,sBAAA,CAAA,IAAI,EAAA,wBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,KAAK,CAAC;AACpF,gBAAA,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;gBACzB,MAAM,IAAI,KAAK;YACjB;YAEA,OAAO;AACL,gBAAA,KAAK,EAAE,YAA2C;gBAClD,gBAAgB,EAAE,MAAM,CAAC,SAAS;AAClC,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aAC/C;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -0,0 +1,76 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
4
+ var errors = require('../errors.cjs');
5
+ var libDynamodb = require('@aws-sdk/lib-dynamodb');
6
+ var internalConstants = require('../internal-constants.cjs');
7
+ var pMap = require('p-map');
8
+
9
+ var _TableTransactWrite_config;
10
+ /**
11
+ * Table-level command to perform an atomic write transaction across multiple entity types.
12
+ *
13
+ * Unlike `TransactWrite` which operates on a single entity type, this command accepts
14
+ * operations from multiple entities via `entity.prepare([...])` and executes them as
15
+ * a single all-or-nothing DynamoDB transaction.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * await table.send(new TableTransactWrite({
20
+ * transactions: [
21
+ * userEntity.prepare([
22
+ * new Put({ item: { userId: 'u1', name: 'Alice' } }),
23
+ * new Delete({ key: { userId: 'u2', name: 'Bob' } }),
24
+ * ]),
25
+ * orderEntity.prepare([
26
+ * new Update({ key: { orderId: 'o1' }, update: { status: 'shipped' } }),
27
+ * ]),
28
+ * ],
29
+ * }))
30
+ * ```
31
+ */
32
+ class TableTransactWrite {
33
+ constructor(config) {
34
+ _TableTransactWrite_config.set(this, void 0);
35
+ tslib_es6.__classPrivateFieldSet(this, _TableTransactWrite_config, config, "f");
36
+ }
37
+ execute(table) {
38
+ return tslib_es6.__awaiter(this, void 0, void 0, function* () {
39
+ var _a, _b;
40
+ for (const { entity } of tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").transactions) {
41
+ if (entity.table !== table) {
42
+ throw new errors.DocumentBuilderError(`Entity table "${entity.table.tableName}" does not match the executing table "${table.tableName}"`);
43
+ }
44
+ }
45
+ const transactItems = (yield pMap(tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").transactions, ({ entity, writes }) => {
46
+ var _a;
47
+ return pMap(writes, write => write.prepareWriteTransaction(entity), {
48
+ concurrency: internalConstants.TRANSACTION_WRITE_VALIDATION_CONCURRENCY,
49
+ signal: (_a = tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
50
+ });
51
+ }, {
52
+ concurrency: internalConstants.TRANSACTION_WRITE_VALIDATION_CONCURRENCY,
53
+ signal: (_a = tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
54
+ })).flat();
55
+ const writeTransaction = new libDynamodb.TransactWriteCommand({
56
+ TransactItems: transactItems,
57
+ ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").returnConsumedCapacity,
58
+ ReturnItemCollectionMetrics: tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").returnItemCollectionMetrics,
59
+ ClientRequestToken: tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").idempotencyToken,
60
+ });
61
+ const result = yield table.documentClient.send(writeTransaction, {
62
+ abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
63
+ requestTimeout: tslib_es6.__classPrivateFieldGet(this, _TableTransactWrite_config, "f").timeoutMs,
64
+ });
65
+ return {
66
+ responseMetadata: result.$metadata,
67
+ consumedCapacity: result.ConsumedCapacity,
68
+ itemCollectionMetrics: result.ItemCollectionMetrics,
69
+ };
70
+ });
71
+ }
72
+ }
73
+ _TableTransactWrite_config = new WeakMap();
74
+
75
+ exports.TableTransactWrite = TableTransactWrite;
76
+ //# sourceMappingURL=table-transact-write.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-transact-write.cjs","sources":["../../src/commands/table-transact-write.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","TRANSACTION_WRITE_VALIDATION_CONCURRENCY","TransactWriteCommand"],"mappings":";;;;;;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;AAqBG;MACU,kBAAkB,CAAA;AAG7B,IAAA,WAAA,CAAY,MAAgC,EAAA;QAF5C,0BAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,KAAkB,EAAA;;;YACrC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAIC,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,YAAY,EAAE;AAClD,gBAAA,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;AAC1B,oBAAA,MAAM,IAAIC,2BAAoB,CAC5B,CAAA,cAAA,EAAiB,MAAM,CAAC,KAAK,CAAC,SAAS,yCAAyC,KAAK,CAAC,SAAS,CAAA,CAAA,CAAG,CACnG;gBACH;YACF;AAEA,YAAA,MAAM,aAAa,GAAG,CACpB,MAAM,IAAI,CACRD,iCAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,YAAY,EACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuC,KAAI;;AAC1D,gBAAA,OAAA,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE;AAC3D,oBAAA,WAAW,EAAEE,0DAAwC;oBACrD,MAAM,EAAE,MAAAF,gCAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,iBAAA,CAAC;aAAA,EACJ;AACE,gBAAA,WAAW,EAAEE,0DAAwC;gBACrD,MAAM,EAAE,MAAAF,gCAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,aAAA,CACF,EACD,IAAI,EAAE;AAER,YAAA,MAAM,gBAAgB,GAAG,IAAIG,gCAAoB,CAAC;AAChD,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAEH,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC3D,gBAAA,2BAA2B,EAAEA,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,2BAA2B;AACrE,gBAAA,kBAAkB,EAAEA,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,gBAAgB;AAClD,aAAA,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC/D,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,OAAO;gBACL,gBAAgB,EAAE,MAAM,CAAC,SAAS;gBAClC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;aACpD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -0,0 +1,51 @@
1
+ import { BaseConfig, PreparedWriteTransaction, TableCommand } from './index.js';
2
+ import { DynamoTable } from '../core/table.js';
3
+ import { ReturnItemCollectionMetrics, ConsumedCapacity, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
4
+ import { ResponseMetadata } from '@aws-sdk/types';
5
+
6
+ /**
7
+ * Configuration for the TableTransactWrite command.
8
+ */
9
+ type TableTransactWriteConfig = BaseConfig & {
10
+ transactions: PreparedWriteTransaction<any>[];
11
+ idempotencyToken?: string;
12
+ returnItemCollectionMetrics?: ReturnItemCollectionMetrics;
13
+ };
14
+ /**
15
+ * Result of the TableTransactWrite command.
16
+ */
17
+ type TableTransactWriteResult = {
18
+ responseMetadata?: ResponseMetadata;
19
+ consumedCapacity?: ConsumedCapacity[] | undefined;
20
+ itemCollectionMetrics?: ItemCollectionMetrics;
21
+ };
22
+ /**
23
+ * Table-level command to perform an atomic write transaction across multiple entity types.
24
+ *
25
+ * Unlike `TransactWrite` which operates on a single entity type, this command accepts
26
+ * operations from multiple entities via `entity.prepare([...])` and executes them as
27
+ * a single all-or-nothing DynamoDB transaction.
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * await table.send(new TableTransactWrite({
32
+ * transactions: [
33
+ * userEntity.prepare([
34
+ * new Put({ item: { userId: 'u1', name: 'Alice' } }),
35
+ * new Delete({ key: { userId: 'u2', name: 'Bob' } }),
36
+ * ]),
37
+ * orderEntity.prepare([
38
+ * new Update({ key: { orderId: 'o1' }, update: { status: 'shipped' } }),
39
+ * ]),
40
+ * ],
41
+ * }))
42
+ * ```
43
+ */
44
+ declare class TableTransactWrite implements TableCommand<TableTransactWriteResult> {
45
+ #private;
46
+ constructor(config: TableTransactWriteConfig);
47
+ execute(table: DynamoTable): Promise<TableTransactWriteResult>;
48
+ }
49
+
50
+ export { TableTransactWrite };
51
+ export type { TableTransactWriteConfig, TableTransactWriteResult };
@@ -0,0 +1,74 @@
1
+ import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
2
+ import { DocumentBuilderError } from '../errors.mjs';
3
+ import { TransactWriteCommand } from '@aws-sdk/lib-dynamodb';
4
+ import { TRANSACTION_WRITE_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
5
+ import pMap from 'p-map';
6
+
7
+ var _TableTransactWrite_config;
8
+ /**
9
+ * Table-level command to perform an atomic write transaction across multiple entity types.
10
+ *
11
+ * Unlike `TransactWrite` which operates on a single entity type, this command accepts
12
+ * operations from multiple entities via `entity.prepare([...])` and executes them as
13
+ * a single all-or-nothing DynamoDB transaction.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * await table.send(new TableTransactWrite({
18
+ * transactions: [
19
+ * userEntity.prepare([
20
+ * new Put({ item: { userId: 'u1', name: 'Alice' } }),
21
+ * new Delete({ key: { userId: 'u2', name: 'Bob' } }),
22
+ * ]),
23
+ * orderEntity.prepare([
24
+ * new Update({ key: { orderId: 'o1' }, update: { status: 'shipped' } }),
25
+ * ]),
26
+ * ],
27
+ * }))
28
+ * ```
29
+ */
30
+ class TableTransactWrite {
31
+ constructor(config) {
32
+ _TableTransactWrite_config.set(this, void 0);
33
+ __classPrivateFieldSet(this, _TableTransactWrite_config, config, "f");
34
+ }
35
+ execute(table) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ var _a, _b;
38
+ for (const { entity } of __classPrivateFieldGet(this, _TableTransactWrite_config, "f").transactions) {
39
+ if (entity.table !== table) {
40
+ throw new DocumentBuilderError(`Entity table "${entity.table.tableName}" does not match the executing table "${table.tableName}"`);
41
+ }
42
+ }
43
+ const transactItems = (yield pMap(__classPrivateFieldGet(this, _TableTransactWrite_config, "f").transactions, ({ entity, writes }) => {
44
+ var _a;
45
+ return pMap(writes, write => write.prepareWriteTransaction(entity), {
46
+ concurrency: TRANSACTION_WRITE_VALIDATION_CONCURRENCY,
47
+ signal: (_a = __classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
48
+ });
49
+ }, {
50
+ concurrency: TRANSACTION_WRITE_VALIDATION_CONCURRENCY,
51
+ signal: (_a = __classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _a === void 0 ? void 0 : _a.signal,
52
+ })).flat();
53
+ const writeTransaction = new TransactWriteCommand({
54
+ TransactItems: transactItems,
55
+ ReturnConsumedCapacity: __classPrivateFieldGet(this, _TableTransactWrite_config, "f").returnConsumedCapacity,
56
+ ReturnItemCollectionMetrics: __classPrivateFieldGet(this, _TableTransactWrite_config, "f").returnItemCollectionMetrics,
57
+ ClientRequestToken: __classPrivateFieldGet(this, _TableTransactWrite_config, "f").idempotencyToken,
58
+ });
59
+ const result = yield table.documentClient.send(writeTransaction, {
60
+ abortSignal: (_b = __classPrivateFieldGet(this, _TableTransactWrite_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
61
+ requestTimeout: __classPrivateFieldGet(this, _TableTransactWrite_config, "f").timeoutMs,
62
+ });
63
+ return {
64
+ responseMetadata: result.$metadata,
65
+ consumedCapacity: result.ConsumedCapacity,
66
+ itemCollectionMetrics: result.ItemCollectionMetrics,
67
+ };
68
+ });
69
+ }
70
+ }
71
+ _TableTransactWrite_config = new WeakMap();
72
+
73
+ export { TableTransactWrite };
74
+ //# sourceMappingURL=table-transact-write.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-transact-write.mjs","sources":["../../src/commands/table-transact-write.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAkCA;;;;;;;;;;;;;;;;;;;;;AAqBG;MACU,kBAAkB,CAAA;AAG7B,IAAA,WAAA,CAAY,MAAgC,EAAA;QAF5C,0BAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,KAAkB,EAAA;;;YACrC,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,YAAY,EAAE;AAClD,gBAAA,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;AAC1B,oBAAA,MAAM,IAAI,oBAAoB,CAC5B,CAAA,cAAA,EAAiB,MAAM,CAAC,KAAK,CAAC,SAAS,yCAAyC,KAAK,CAAC,SAAS,CAAA,CAAA,CAAG,CACnG;gBACH;YACF;AAEA,YAAA,MAAM,aAAa,GAAG,CACpB,MAAM,IAAI,CACR,uBAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,YAAY,EACzB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAuC,KAAI;;AAC1D,gBAAA,OAAA,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE;AAC3D,oBAAA,WAAW,EAAE,wCAAwC;oBACrD,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,iBAAA,CAAC;aAAA,EACJ;AACE,gBAAA,WAAW,EAAE,wCAAwC;gBACrD,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,aAAA,CACF,EACD,IAAI,EAAE;AAER,YAAA,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC;AAChD,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC3D,gBAAA,2BAA2B,EAAE,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,2BAA2B;AACrE,gBAAA,kBAAkB,EAAE,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,gBAAgB;AAClD,aAAA,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC/D,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,kCAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,0BAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,OAAO;gBACL,gBAAgB,EAAE,MAAM,CAAC,SAAS;gBAClC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;aACpD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -46,6 +46,9 @@ class TransactGet {
46
46
  _TransactGet_config.set(this, void 0);
47
47
  tslib_es6.__classPrivateFieldSet(this, _TransactGet_config, config, "f");
48
48
  }
49
+ get keys() {
50
+ return tslib_es6.__classPrivateFieldGet(this, _TransactGet_config, "f").keys;
51
+ }
49
52
  execute(entity) {
50
53
  return tslib_es6.__awaiter(this, void 0, void 0, function* () {
51
54
  var _a, _b, _c, _d;
@@ -1 +1 @@
1
- {"version":3,"file":"transact-get.cjs","sources":["../../src/commands/transact-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","TransactGetCommand","__awaiter","TRANSACTION_GET_VALIDATION_CONCURRENCY"],"mappings":";;;;;;;;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;MACU,WAAW,CAAA;AAKtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QAF7C,mBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,aAAa,GAAGC,gCAAA,CAAA,IAAI,2BAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;AAClD,gBAAA,GAAG,EAAE;AACH,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;AACjC,oBAAA,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,WAAW,GAAG,IAAIC,8BAAkB,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAED,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5E,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YAClD,IAAI,KAAK,GAA4C,EAAE;AACvD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAIA,iCAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAwC,CAAC;gBACrF;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAChB,QAAQ,EACR,CAAM,QAAQ,KAAGE,mBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;AACf,wBAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACjB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChD;AACA,wBAAA,OAAO,SAAS;AAClB,oBAAA,CAAC,CAAA,EACD;AACE,wBAAA,WAAW,EAAEC,wDAAsC;wBACnD,MAAM,EAAE,MAAAH,gCAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CACF;gBACH;YACF;YAEA,OAAO;gBACL,KAAK;gBACL,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;AAC7C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,iBAAiB,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"transact-get.cjs","sources":["../../src/commands/transact-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","TransactGetCommand","__awaiter","TRANSACTION_GET_VALIDATION_CONCURRENCY"],"mappings":";;;;;;;;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;MACU,WAAW,CAAA;AAKtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QAF7C,mBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAOC,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI;IAC1B;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,aAAa,GAAGA,gCAAA,CAAA,IAAI,2BAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;AAClD,gBAAA,GAAG,EAAE;AACH,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;AACjC,oBAAA,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,WAAW,GAAG,IAAIC,8BAAkB,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAED,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5E,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YAClD,IAAI,KAAK,GAA4C,EAAE;AACvD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAIA,iCAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAwC,CAAC;gBACrF;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAChB,QAAQ,EACR,CAAM,QAAQ,KAAGE,mBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;AACf,wBAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACjB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChD;AACA,wBAAA,OAAO,SAAS;AAClB,oBAAA,CAAC,CAAA,EACD;AACE,wBAAA,WAAW,EAAEC,wDAAsC;wBACnD,MAAM,EAAE,MAAAH,gCAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CACF;gBACH;YACF;YAEA,OAAO;gBACL,KAAK;gBACL,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;AAC7C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,iBAAiB,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { DynamoEntity } from '../core/entity.js';
2
- import { BaseConfig, BaseResult, BaseCommand } from './index.js';
2
+ import { BaseConfig, BaseResult, BaseCommand, GetTransactable } from './index.js';
3
3
  import { ZodObject } from 'zod/v4';
4
4
  import { EntitySchema } from '../core/index.js';
5
5
 
@@ -54,9 +54,10 @@ type TransactGetResult<Schema extends ZodObject> = BaseResult & {
54
54
  * // items array has same order as keys, undefined if not found
55
55
  * ```
56
56
  */
57
- declare class TransactGet<Schema extends ZodObject> implements BaseCommand<TransactGetResult<Schema>, Schema> {
57
+ declare class TransactGet<Schema extends ZodObject> implements BaseCommand<TransactGetResult<Schema>, Schema>, GetTransactable<Schema> {
58
58
  #private;
59
59
  constructor(config: TransactGetConfig<Schema>);
60
+ get keys(): Array<Partial<EntitySchema<Schema>>>;
60
61
  execute(entity: DynamoEntity<Schema>): Promise<TransactGetResult<Schema>>;
61
62
  }
62
63
 
@@ -1,4 +1,4 @@
1
- import { __classPrivateFieldSet, __awaiter, __classPrivateFieldGet } from '../node_modules/tslib/tslib.es6.mjs';
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter } from '../node_modules/tslib/tslib.es6.mjs';
2
2
  import { TransactGetCommand } from '@aws-sdk/lib-dynamodb';
3
3
  import { TRANSACTION_GET_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
4
4
  import pMap from 'p-map';
@@ -44,6 +44,9 @@ class TransactGet {
44
44
  _TransactGet_config.set(this, void 0);
45
45
  __classPrivateFieldSet(this, _TransactGet_config, config, "f");
46
46
  }
47
+ get keys() {
48
+ return __classPrivateFieldGet(this, _TransactGet_config, "f").keys;
49
+ }
47
50
  execute(entity) {
48
51
  return __awaiter(this, void 0, void 0, function* () {
49
52
  var _a, _b, _c, _d;
@@ -1 +1 @@
1
- {"version":3,"file":"transact-get.mjs","sources":["../../src/commands/transact-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;MACU,WAAW,CAAA;AAKtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QAF7C,mBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,aAAa,GAAG,sBAAA,CAAA,IAAI,2BAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;AAClD,gBAAA,GAAG,EAAE;AACH,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;AACjC,oBAAA,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5E,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YAClD,IAAI,KAAK,GAA4C,EAAE;AACvD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,uBAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAwC,CAAC;gBACrF;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAChB,QAAQ,EACR,CAAM,QAAQ,KAAG,SAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;AACf,wBAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACjB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChD;AACA,wBAAA,OAAO,SAAS;AAClB,oBAAA,CAAC,CAAA,EACD;AACE,wBAAA,WAAW,EAAE,sCAAsC;wBACnD,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CACF;gBACH;YACF;YAEA,OAAO;gBACL,KAAK;gBACL,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;AAC7C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,iBAAiB,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"transact-get.mjs","sources":["../../src/commands/transact-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA0BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;MACU,WAAW,CAAA;AAKtB,IAAA,WAAA,CAAY,MAAiC,EAAA;QAF7C,mBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEA,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,IAAI;IAC1B;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,aAAa,GAAG,sBAAA,CAAA,IAAI,2BAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK;AAClD,gBAAA,GAAG,EAAE;AACH,oBAAA,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;AACjC,oBAAA,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,WAAW,GAAG,IAAI,kBAAkB,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5E,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,iBAAiB,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YAClD,IAAI,KAAK,GAA4C,EAAE;AACvD,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,uBAAA,IAAI,EAAA,mBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,oBAAA,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAwC,CAAC;gBACrF;qBAAO;oBACL,KAAK,GAAG,MAAM,IAAI,CAChB,QAAQ,EACR,CAAM,QAAQ,KAAG,SAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;AACf,wBAAA,IAAI,QAAQ,CAAC,IAAI,EAAE;4BACjB,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAChD;AACA,wBAAA,OAAO,SAAS;AAClB,oBAAA,CAAC,CAAA,EACD;AACE,wBAAA,WAAW,EAAE,sCAAsC;wBACnD,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,2BAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CACF;gBACH;YACF;YAEA,OAAO;gBACL,KAAK;gBACL,gBAAgB,EAAE,iBAAiB,CAAC,SAAS;AAC7C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,iBAAiB,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aAC1D;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
@@ -210,6 +210,120 @@ class DynamoEntity {
210
210
  }
211
211
  });
212
212
  }
213
+ prepare(input) {
214
+ var _a;
215
+ // WriteTransactable[] — array of transact write operations
216
+ if (Array.isArray(input)) {
217
+ return {
218
+ entity: this,
219
+ writes: input,
220
+ };
221
+ }
222
+ // BatchWritePreparable — has items and/or deletes, no keys
223
+ if ('items' in input || ('deletes' in input && !('keys' in input))) {
224
+ const batchWrite = input;
225
+ return {
226
+ entity: this,
227
+ buildRequests: (skipValidation, abortSignal) => tslib_es6.__awaiter(this, void 0, void 0, function* () {
228
+ const putRequests = [];
229
+ const deleteRequests = [];
230
+ if (batchWrite.items && batchWrite.items.length > 0) {
231
+ for (const item of batchWrite.items) {
232
+ if (skipValidation) {
233
+ putRequests.push({
234
+ PutRequest: {
235
+ Item: Object.assign(Object.assign({}, item), this.buildAllKeys(item)),
236
+ },
237
+ });
238
+ }
239
+ else {
240
+ const encodedData = yield tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_schema, "f").encodeAsync(item);
241
+ putRequests.push({
242
+ PutRequest: {
243
+ Item: Object.assign(Object.assign({}, encodedData), this.buildAllKeys(item)),
244
+ },
245
+ });
246
+ }
247
+ }
248
+ }
249
+ if (batchWrite.deletes && batchWrite.deletes.length > 0) {
250
+ for (const deleteKey of batchWrite.deletes) {
251
+ deleteRequests.push({
252
+ DeleteRequest: {
253
+ Key: this.buildPrimaryKey(deleteKey),
254
+ },
255
+ });
256
+ }
257
+ }
258
+ return [...putRequests, ...deleteRequests];
259
+ }),
260
+ matchUnprocessedPut: (item) => {
261
+ if (!batchWrite.items)
262
+ return undefined;
263
+ const itemPrimaryKey = this.buildPrimaryKey(item);
264
+ return batchWrite.items.find(original => {
265
+ const originalKey = this.buildPrimaryKey(original);
266
+ return JSON.stringify(originalKey) === JSON.stringify(itemPrimaryKey);
267
+ });
268
+ },
269
+ matchUnprocessedDelete: (key) => {
270
+ if (!batchWrite.deletes)
271
+ return undefined;
272
+ const keyStr = JSON.stringify(key);
273
+ return batchWrite.deletes.find(original => {
274
+ const originalKey = this.buildPrimaryKey(original);
275
+ return JSON.stringify(originalKey) === keyStr;
276
+ });
277
+ },
278
+ };
279
+ }
280
+ // BatchGetPreparable — has keys as entity partials plus consistent flag
281
+ if ('consistent' in input) {
282
+ const batchGet = input;
283
+ const builtKeys = batchGet.keys.map(k => this.buildPrimaryKey(k));
284
+ return {
285
+ entity: this,
286
+ keys: builtKeys,
287
+ consistent: (_a = batchGet.consistent) !== null && _a !== void 0 ? _a : false,
288
+ matchItem: (item) => {
289
+ const itemKey = this.buildPrimaryKey(item);
290
+ const itemKeyStr = JSON.stringify(itemKey);
291
+ return builtKeys.some(k => JSON.stringify(k) === itemKeyStr);
292
+ },
293
+ parseResults: (items, skipValidation) => tslib_es6.__awaiter(this, void 0, void 0, function* () {
294
+ return yield Promise.all(items.map((item) => tslib_es6.__awaiter(this, void 0, void 0, function* () {
295
+ if (skipValidation)
296
+ return item;
297
+ return yield tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_schema, "f").parseAsync(item);
298
+ })));
299
+ }),
300
+ matchUnprocessedKey: (key) => {
301
+ const keyStr = JSON.stringify(key);
302
+ return batchGet.keys.find(original => {
303
+ const originalKey = this.buildPrimaryKey(original);
304
+ return JSON.stringify(originalKey) === keyStr;
305
+ });
306
+ },
307
+ };
308
+ }
309
+ // GetTransactable — has keys as entity partials, no consistent flag
310
+ return {
311
+ entity: this,
312
+ keys: input.keys.map(key => ({
313
+ TableName: tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_table, "f").tableName,
314
+ Key: this.buildPrimaryKey(key),
315
+ })),
316
+ parseResults: (items, skipValidation) => tslib_es6.__awaiter(this, void 0, void 0, function* () {
317
+ return yield Promise.all(items.map((item) => tslib_es6.__awaiter(this, void 0, void 0, function* () {
318
+ if (item === undefined || item === null)
319
+ return undefined;
320
+ if (skipValidation)
321
+ return item;
322
+ return yield tslib_es6.__classPrivateFieldGet(this, _DynamoEntity_schema, "f").parseAsync(item);
323
+ })));
324
+ }),
325
+ };
326
+ }
213
327
  }
214
328
  _DynamoEntity_table = new WeakMap(), _DynamoEntity_schema = new WeakMap(), _DynamoEntity_pk = new WeakMap(), _DynamoEntity_sk = new WeakMap(), _DynamoEntity_gsi = new WeakMap(), _DynamoEntity_lsi = new WeakMap();
215
329
 
@@ -1 +1 @@
1
- {"version":3,"file":"entity.cjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","__asyncValues","__await"],"mappings":"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"}
1
+ {"version":3,"file":"entity.cjs","sources":["../../src/core/entity.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","__asyncValues","__await","__awaiter"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseCommand, BasePaginatable } from '../commands/index.js';
1
+ import { BaseCommand, BasePaginatable, WriteTransactable, PreparedWriteTransaction, BatchWritePreparable, PreparedBatchWrite, BatchGetPreparable, PreparedBatchGet, GetTransactable, PreparedGetTransaction } from '../commands/index.js';
2
2
  import { DynamoKeyBuilder, GlobalSecondaryIndexKeyBuilders, LocalSecondaryIndexKeyBuilders, DynamoKeyableValue, DynamoKey, DynamoIndexKey } from './key.js';
3
3
  import { DynamoTable } from './table.js';
4
4
  import { ZodObject } from 'zod/v4';
@@ -112,6 +112,26 @@ declare class DynamoEntity<Schema extends ZodObject> {
112
112
  * Paginates through results of a paginatable command for this entity's table.
113
113
  */
114
114
  paginate<CommandOutput>(paginatable: BasePaginatable<CommandOutput, Schema>): AsyncGenerator<CommandOutput, void, unknown>;
115
+ /**
116
+ * Prepares a set of write operations bound to this entity for use in a table-level
117
+ * `TableTransactWrite` command.
118
+ */
119
+ prepare(writes: WriteTransactable<Schema>[]): PreparedWriteTransaction<Schema>;
120
+ /**
121
+ * Prepares a batch write command bound to this entity for use in a table-level
122
+ * `TableBatchWrite` command.
123
+ */
124
+ prepare(batchWrite: BatchWritePreparable<Schema>): PreparedBatchWrite<Schema>;
125
+ /**
126
+ * Prepares a batch get command bound to this entity for use in a table-level
127
+ * `TableBatchGet` command.
128
+ */
129
+ prepare(batchGet: BatchGetPreparable<Schema>): PreparedBatchGet<Schema>;
130
+ /**
131
+ * Prepares a get command bound to this entity for use in a table-level
132
+ * `TableTransactGet` command.
133
+ */
134
+ prepare(get: GetTransactable<Schema>): PreparedGetTransaction<Schema>;
115
135
  }
116
136
 
117
137
  export { DynamoEntity };