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
package/README.md CHANGED
@@ -311,9 +311,106 @@ if (items[0]) {
311
311
  }
312
312
  ```
313
313
 
314
- ### TransactWrite
314
+ ### TableBatchWrite
315
315
 
316
- Atomic multi-item write transaction:
316
+ Put and/or delete multiple items across multiple entity types in a single request:
317
+
318
+ ```typescript
319
+ import { TableBatchWrite, BatchWrite } from 'dynamo-document-builder';
320
+
321
+ const { unprocessedPuts, unprocessedDeletes } = await myTable.send(
322
+ new TableBatchWrite({
323
+ writes: [
324
+ userEntity.prepare(new BatchWrite({
325
+ items: [
326
+ { id: '1', name: 'Alice', email: 'alice@example.com' },
327
+ { id: '2', name: 'Bob', email: 'bob@example.com' },
328
+ ],
329
+ })),
330
+ orderEntity.prepare(new BatchWrite({
331
+ items: [{ orderId: '100', userId: '1', total: 99.99 }],
332
+ deletes: [{ orderId: '99' }],
333
+ })),
334
+ ],
335
+ }),
336
+ );
337
+
338
+ // Tuple results typed per entity
339
+ const [userUnprocessedPuts, orderUnprocessedPuts] = unprocessedPuts;
340
+ ```
341
+
342
+ ### TableBatchGet
343
+
344
+ Retrieve multiple items across multiple entity types in a single request:
345
+
346
+ ```typescript
347
+ import { TableBatchGet, BatchGet } from 'dynamo-document-builder';
348
+
349
+ const { items } = await myTable.send(
350
+ new TableBatchGet({
351
+ gets: [
352
+ userEntity.prepare(new BatchGet({
353
+ keys: [{ id: '1', email: 'alice@example.com' }],
354
+ })),
355
+ orderEntity.prepare(new BatchGet({
356
+ keys: [{ orderId: '100' }, { orderId: '101' }],
357
+ })),
358
+ ],
359
+ }),
360
+ );
361
+
362
+ // Tuple results typed per entity
363
+ const [users, orders] = items;
364
+ // users: User[]
365
+ // orders: Order[]
366
+ ```
367
+
368
+ ### TableTransactWrite
369
+
370
+ Atomic multi-entity write transaction across multiple entity types:
371
+
372
+ ```typescript
373
+ import { TableTransactWrite } from 'dynamo-document-builder';
374
+ import { Put, Update, Delete } from 'dynamo-document-builder';
375
+
376
+ await myTable.send(
377
+ new TableTransactWrite({
378
+ transactions: [
379
+ userEntity.prepare([
380
+ new Put({ item: { id: '1', name: 'Alice', email: 'alice@example.com' } }),
381
+ ]),
382
+ orderEntity.prepare([
383
+ new Update({ key: { orderId: '100' }, updates: { status: 'shipped' } }),
384
+ new Delete({ key: { orderId: '99' } }),
385
+ ]),
386
+ ],
387
+ }),
388
+ );
389
+ ```
390
+
391
+ ### TableTransactGet
392
+
393
+ Transactional read across multiple entity types (all-or-nothing, strongly consistent):
394
+
395
+ ```typescript
396
+ import { TableTransactGet, TransactGet } from 'dynamo-document-builder';
397
+
398
+ const { items } = await myTable.send(
399
+ new TableTransactGet({
400
+ gets: [
401
+ userEntity.prepare(new TransactGet({
402
+ keys: [{ id: '1', email: 'alice@example.com' }],
403
+ })),
404
+ orderEntity.prepare(new TransactGet({
405
+ keys: [{ orderId: '100' }, { orderId: '101' }],
406
+ })),
407
+ ],
408
+ }),
409
+ );
410
+
411
+ // Tuple results typed per entity, undefined if not found
412
+ const [users, orders] = items;
413
+ ```
317
414
 
318
415
  ```typescript
319
416
  import { TransactWrite, ConditionCheck } from 'dynamo-document-builder';
@@ -47,6 +47,13 @@ class BatchGet {
47
47
  _BatchGet_config.set(this, void 0);
48
48
  tslib_es6.__classPrivateFieldSet(this, _BatchGet_config, config, "f");
49
49
  }
50
+ get keys() {
51
+ return tslib_es6.__classPrivateFieldGet(this, _BatchGet_config, "f").keys;
52
+ }
53
+ get consistent() {
54
+ var _a;
55
+ return (_a = tslib_es6.__classPrivateFieldGet(this, _BatchGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false;
56
+ }
50
57
  execute(entity) {
51
58
  return tslib_es6.__awaiter(this, void 0, void 0, function* () {
52
59
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-get.cjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","BatchGetCommand","__classPrivateFieldGet","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":";;;;;;;;AA4BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;MACU,QAAQ,CAAA;AAKnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QAF1C,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,QAAQ,GAAG,IAAIC,2BAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAEC,gCAAA,CAAA,IAAI,wBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAAA,gCAAA,CAAA,IAAI,wBAAQ,CAAC,UAAU,mCAAI,KAAK;AACjD,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAEA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAAgC,EAAE;AAE3C,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAIA,iCAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAuC;gBACjD;qBAAO;AACL,oBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnE,wBAAA,WAAW,EAAEC,kDAAgC;wBAC7C,MAAM,EAAE,MAAAD,gCAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"batch-get.cjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","BatchGetCommand","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseConfig, BaseResult, BaseCommand } from './index.js';
1
+ import { BaseConfig, BaseResult, BaseCommand, BatchGetPreparable } from './index.js';
2
2
  import { DynamoEntity } from '../core/entity.js';
3
3
  import { EntitySchema } from '../core/index.js';
4
4
  import { ZodObject } from 'zod/v4';
@@ -57,9 +57,11 @@ type BatchGetResult<Schema extends ZodObject> = BaseResult & {
57
57
  * const { items } = await batchGetCommand.execute(userEntity);
58
58
  * ```
59
59
  */
60
- declare class BatchGet<Schema extends ZodObject> implements BaseCommand<BatchGetResult<Schema>, Schema> {
60
+ declare class BatchGet<Schema extends ZodObject> implements BaseCommand<BatchGetResult<Schema>, Schema>, BatchGetPreparable<Schema> {
61
61
  #private;
62
62
  constructor(config: BatchGetConfig<Schema>);
63
+ get keys(): Array<Partial<EntitySchema<Schema>>>;
64
+ get consistent(): boolean;
63
65
  execute(entity: DynamoEntity<Schema>): Promise<BatchGetResult<Schema>>;
64
66
  }
65
67
 
@@ -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 { BATCH_GET_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
3
3
  import { BatchGetCommand } from '@aws-sdk/lib-dynamodb';
4
4
  import pMap from 'p-map';
@@ -45,6 +45,13 @@ class BatchGet {
45
45
  _BatchGet_config.set(this, void 0);
46
46
  __classPrivateFieldSet(this, _BatchGet_config, config, "f");
47
47
  }
48
+ get keys() {
49
+ return __classPrivateFieldGet(this, _BatchGet_config, "f").keys;
50
+ }
51
+ get consistent() {
52
+ var _a;
53
+ return (_a = __classPrivateFieldGet(this, _BatchGet_config, "f").consistent) !== null && _a !== void 0 ? _a : false;
54
+ }
48
55
  execute(entity) {
49
56
  return __awaiter(this, void 0, void 0, function* () {
50
57
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-get.mjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA4BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;MACU,QAAQ,CAAA;AAKnB,IAAA,WAAA,CAAY,MAA8B,EAAA;QAF1C,gBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAA,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,OAAO,CAAC,MAA4B,EAAA;;;AAC/C,YAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC;AACnC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG;AACxB,wBAAA,IAAI,EAAE,sBAAA,CAAA,IAAI,wBAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;wBAC/D,cAAc,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,UAAU,mCAAI,KAAK;AACjD,qBAAA;AACF,iBAAA;AACD,gBAAA,sBAAsB,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC5D,aAAA,CAAC;AAEF,YAAA,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACtE,WAAW,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAE,sBAAA,CAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,EAAE;YACzE,IAAI,KAAK,GAAgC,EAAE;AAE3C,YAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,gBAAA,IAAI,uBAAA,IAAI,EAAA,gBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;oBAC/B,KAAK,GAAG,QAAuC;gBACjD;qBAAO;AACL,oBAAA,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACnE,wBAAA,WAAW,EAAE,gCAAgC;wBAC7C,MAAM,EAAE,MAAA,sBAAA,CAAA,IAAI,wBAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,qBAAA,CAAC;gBACJ;YACF;YAEA,OAAO;gBACL,KAAK;AACL,gBAAA,eAAe,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,CAAC,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,0CAAE,IAE9D;gBACb,gBAAgB,EAAE,cAAc,CAAC,SAAS;AAC1C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,cAAc,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;aACvD;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
1
+ {"version":3,"file":"batch-get.mjs","sources":["../../src/commands/batch-get.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -49,6 +49,12 @@ class BatchWrite {
49
49
  _BatchWrite_config.set(this, void 0);
50
50
  tslib_es6.__classPrivateFieldSet(this, _BatchWrite_config, config, "f");
51
51
  }
52
+ get items() {
53
+ return tslib_es6.__classPrivateFieldGet(this, _BatchWrite_config, "f").items;
54
+ }
55
+ get deletes() {
56
+ return tslib_es6.__classPrivateFieldGet(this, _BatchWrite_config, "f").deletes;
57
+ }
52
58
  buildPutRequests(entity) {
53
59
  return tslib_es6.__awaiter(this, void 0, void 0, function* () {
54
60
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-write.cjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","__awaiter","BATCH_WRITE_VALIDATION_CONCURRENCY","BatchWriteCommand"],"mappings":"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"}
1
+ {"version":3,"file":"batch-write.cjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","__awaiter","BATCH_WRITE_VALIDATION_CONCURRENCY","BatchWriteCommand"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { EntitySchema } from '../core/index.js';
2
2
  import * as zod_v4 from 'zod/v4';
3
3
  import { ZodObject } from 'zod/v4';
4
- import { BaseConfig, BaseResult, BaseCommand } from './index.js';
4
+ import { BaseConfig, BaseResult, BaseCommand, BatchWritePreparable } from './index.js';
5
5
  import { DynamoEntity } from '../core/entity.js';
6
6
  import { ReturnItemCollectionMetrics, ItemCollectionMetrics } from '@aws-sdk/client-dynamodb';
7
7
  import { DynamoKey } from '../core/key.js';
@@ -64,9 +64,11 @@ type BatchWriteResult<Schema extends ZodObject> = BaseResult & {
64
64
  * const { unprocessedPuts, unprocessedDeletes } = await todoEntity.send(batchWriteCommand);
65
65
  * ```
66
66
  */
67
- declare class BatchWrite<Schema extends ZodObject> implements BaseCommand<BatchWriteResult<Schema>, Schema> {
67
+ declare class BatchWrite<Schema extends ZodObject> implements BaseCommand<BatchWriteResult<Schema>, Schema>, BatchWritePreparable<Schema> {
68
68
  #private;
69
69
  constructor(config: BatchWriteConfig<Schema>);
70
+ get items(): Array<EntitySchema<Schema>> | undefined;
71
+ get deletes(): Array<Partial<EntitySchema<Schema>>> | undefined;
70
72
  buildPutRequests(entity: DynamoEntity<Schema>): Promise<{
71
73
  PutRequest: {
72
74
  Item: zod_v4.infer<Schema> & DynamoKey;
@@ -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 { BATCH_WRITE_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
3
3
  import { BatchWriteCommand } from '@aws-sdk/lib-dynamodb';
4
4
  import pMap from 'p-map';
@@ -47,6 +47,12 @@ class BatchWrite {
47
47
  _BatchWrite_config.set(this, void 0);
48
48
  __classPrivateFieldSet(this, _BatchWrite_config, config, "f");
49
49
  }
50
+ get items() {
51
+ return __classPrivateFieldGet(this, _BatchWrite_config, "f").items;
52
+ }
53
+ get deletes() {
54
+ return __classPrivateFieldGet(this, _BatchWrite_config, "f").deletes;
55
+ }
50
56
  buildPutRequests(entity) {
51
57
  return __awaiter(this, void 0, void 0, function* () {
52
58
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"batch-write.mjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-write.mjs","sources":["../../src/commands/batch-write.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ var commands_conditionalUpdate = require('./conditional-update.cjs');
17
17
  var commands_conditionalDelete = require('./conditional-delete.cjs');
18
18
  var commands_batchWrite = require('./batch-write.cjs');
19
19
  var commands_transactWrite = require('./transact-write.cjs');
20
+ var commands_tableTransactWrite = require('./table-transact-write.cjs');
21
+ var commands_tableBatchWrite = require('./table-batch-write.cjs');
22
+ var commands_tableTransactGet = require('./table-transact-get.cjs');
23
+ var commands_tableBatchGet = require('./table-batch-get.cjs');
20
24
  var commands_conditionCheck = require('./condition-check.cjs');
21
25
 
22
26
 
@@ -38,5 +42,9 @@ exports.ConditionalUpdate = commands_conditionalUpdate.ConditionalUpdate;
38
42
  exports.ConditionalDelete = commands_conditionalDelete.ConditionalDelete;
39
43
  exports.BatchWrite = commands_batchWrite.BatchWrite;
40
44
  exports.TransactWrite = commands_transactWrite.TransactWrite;
45
+ exports.TableTransactWrite = commands_tableTransactWrite.TableTransactWrite;
46
+ exports.TableBatchWrite = commands_tableBatchWrite.TableBatchWrite;
47
+ exports.TableTransactGet = commands_tableTransactGet.TableTransactGet;
48
+ exports.TableBatchGet = commands_tableBatchGet.TableBatchGet;
41
49
  exports.ConditionCheck = commands_conditionCheck.ConditionCheck;
42
50
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,5 +1,7 @@
1
- import { TransactWriteOperation } from '../core/index.js';
1
+ import { TransactWriteOperation, EntitySchema } from '../core/index.js';
2
2
  import { DynamoEntity } from '../core/entity.js';
3
+ import { DynamoTable } from '../core/table.js';
4
+ import { DynamoKey } from '../core/key.js';
3
5
  import { ReturnConsumedCapacity, ConsumedCapacity } from '@aws-sdk/client-dynamodb';
4
6
  import { ResponseMetadata } from '@aws-sdk/types';
5
7
  import { ZodObject } from 'zod/v4';
@@ -20,8 +22,30 @@ export { ConditionalUpdate, ConditionalUpdateConfig, ConditionalUpdateResult } f
20
22
  export { ConditionalDelete, ConditionalDeleteConfig, ConditionalDeleteResult } from './conditional-delete.js';
21
23
  export { BatchWrite, BatchWriteConfig, BatchWriteResult } from './batch-write.js';
22
24
  export { TransactWrite, TransactWriteConfig, TransactWriteResult } from './transact-write.js';
25
+ export { TableTransactWrite, TableTransactWriteConfig, TableTransactWriteResult } from './table-transact-write.js';
26
+ export { TableBatchWrite, TableBatchWriteConfig, TableBatchWriteResult } from './table-batch-write.js';
27
+ export { TableTransactGet, TableTransactGetConfig, TableTransactGetResult } from './table-transact-get.js';
28
+ export { TableBatchGet, TableBatchGetConfig, TableBatchGetResult } from './table-batch-get.js';
23
29
  export { ConditionCheck, ConditionCheckConfig } from './condition-check.js';
24
30
 
31
+ /**
32
+ * Interface for commands that can be prepared for use in a table-level batch write.
33
+ *
34
+ * @template Schema The Zod schema type associated with the DynamoEntity.
35
+ */
36
+ type BatchWritePreparable<Schema extends ZodObject> = {
37
+ readonly items?: Array<EntitySchema<Schema>>;
38
+ readonly deletes?: Array<Partial<EntitySchema<Schema>>>;
39
+ };
40
+ /**
41
+ * Interface for commands that can be prepared for use in a table-level batch get.
42
+ *
43
+ * @template Schema The Zod schema type associated with the DynamoEntity.
44
+ */
45
+ type BatchGetPreparable<Schema extends ZodObject> = {
46
+ readonly keys: Array<Partial<EntitySchema<Schema>>>;
47
+ readonly consistent?: boolean;
48
+ };
25
49
  /**
26
50
  * Interface-like type for command classes to extend from that defines the execute method.
27
51
  *
@@ -44,6 +68,14 @@ type BaseCommand<Output, Schema extends ZodObject> = {
44
68
  type BasePaginatable<Output, Schema extends ZodObject> = {
45
69
  executePaginated(entity: DynamoEntity<Schema>): AsyncGenerator<Output, void, unknown>;
46
70
  };
71
+ /**
72
+ * Interface-like type for get commands that can be included in a table-level get transaction.
73
+ *
74
+ * @template Schema The Zod schema type associated with the DynamoEntity.
75
+ */
76
+ type GetTransactable<Schema extends ZodObject> = {
77
+ readonly keys: Array<Partial<EntitySchema<Schema>>>;
78
+ };
47
79
  /**
48
80
  * Interface-like type for write commands that can be included in a write transaction.
49
81
  *
@@ -52,6 +84,72 @@ type BasePaginatable<Output, Schema extends ZodObject> = {
52
84
  type WriteTransactable<Schema extends ZodObject> = {
53
85
  prepareWriteTransaction(entity: DynamoEntity<Schema>): Promise<TransactWriteOperation>;
54
86
  };
87
+ /**
88
+ * Interface-like type for table-level commands that execute directly against a DynamoTable.
89
+ *
90
+ * @template Output The output type of the command's execute method.
91
+ */
92
+ type TableCommand<Output> = {
93
+ execute(table: DynamoTable): Promise<Output>;
94
+ };
95
+ /**
96
+ * Represents a set of write operations bound to a specific entity, ready to be included
97
+ * in a table-level TransactWrite command.
98
+ *
99
+ * @template Schema The Zod schema type associated with the DynamoEntity.
100
+ */
101
+ type PreparedWriteTransaction<Schema extends ZodObject> = {
102
+ entity: DynamoEntity<Schema>;
103
+ writes: WriteTransactable<Schema>[];
104
+ };
105
+ /**
106
+ * Represents a TransactGet command bound to a specific entity, ready to be included
107
+ * in a table-level TransactGet command.
108
+ *
109
+ * @template Schema The Zod schema type associated with the DynamoEntity.
110
+ */
111
+ type PreparedGetTransaction<Schema extends ZodObject> = {
112
+ entity: DynamoEntity<Schema>;
113
+ keys: Array<{
114
+ TableName: string;
115
+ Key: DynamoKey;
116
+ }>;
117
+ parseResults(items: unknown[], skipValidation: boolean): Promise<Array<EntitySchema<Schema> | undefined>>;
118
+ };
119
+ /**
120
+ * Represents a BatchWrite command bound to a specific entity, ready to be included
121
+ * in a table-level TableBatchWrite command.
122
+ *
123
+ * @template Schema The Zod schema type associated with the DynamoEntity.
124
+ */
125
+ type PreparedBatchWrite<Schema extends ZodObject> = {
126
+ entity: DynamoEntity<Schema>;
127
+ buildRequests(skipValidation: boolean, abortSignal?: AbortSignal): Promise<Array<{
128
+ PutRequest: {
129
+ Item: Record<string, unknown>;
130
+ };
131
+ } | {
132
+ DeleteRequest: {
133
+ Key: DynamoKey;
134
+ };
135
+ }>>;
136
+ matchUnprocessedPut(item: Record<string, unknown>): EntitySchema<Schema> | undefined;
137
+ matchUnprocessedDelete(key: DynamoKey): Partial<EntitySchema<Schema>> | undefined;
138
+ };
139
+ /**
140
+ * Represents a BatchGet command bound to a specific entity, ready to be included
141
+ * in a table-level TableBatchGet command.
142
+ *
143
+ * @template Schema The Zod schema type associated with the DynamoEntity.
144
+ */
145
+ type PreparedBatchGet<Schema extends ZodObject> = {
146
+ entity: DynamoEntity<Schema>;
147
+ keys: Array<DynamoKey>;
148
+ consistent: boolean;
149
+ matchItem(item: Record<string, unknown>): boolean;
150
+ parseResults(items: unknown[], skipValidation: boolean): Promise<Array<EntitySchema<Schema>>>;
151
+ matchUnprocessedKey(key: DynamoKey): Partial<EntitySchema<Schema>> | undefined;
152
+ };
55
153
  /**
56
154
  * Base configuration options for DynamoDB commands.
57
155
  *
@@ -77,4 +175,4 @@ type BaseResult = {
77
175
  consumedCapacity?: ConsumedCapacity | undefined;
78
176
  };
79
177
 
80
- export type { BaseCommand, BaseConfig, BasePaginatable, BaseResult, WriteTransactable };
178
+ export type { BaseCommand, BaseConfig, BasePaginatable, BaseResult, BatchGetPreparable, BatchWritePreparable, GetTransactable, PreparedBatchGet, PreparedBatchWrite, PreparedGetTransaction, PreparedWriteTransaction, TableCommand, WriteTransactable };
@@ -15,5 +15,9 @@ export { ConditionalUpdate } from './conditional-update.mjs';
15
15
  export { ConditionalDelete } from './conditional-delete.mjs';
16
16
  export { BatchWrite } from './batch-write.mjs';
17
17
  export { TransactWrite } from './transact-write.mjs';
18
+ export { TableTransactWrite } from './table-transact-write.mjs';
19
+ export { TableBatchWrite } from './table-batch-write.mjs';
20
+ export { TableTransactGet } from './table-transact-get.mjs';
21
+ export { TableBatchGet } from './table-batch-get.mjs';
18
22
  export { ConditionCheck } from './condition-check.mjs';
19
23
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -4,9 +4,9 @@ var tslib_es6 = require('../node_modules/tslib/tslib.es6.cjs');
4
4
  var attributes_attributeMap = require('../attributes/attribute-map.cjs');
5
5
  var internalConstants = require('../internal-constants.cjs');
6
6
  var libDynamodb = require('@aws-sdk/lib-dynamodb');
7
+ var conditions_conditionParser = require('../conditions/condition-parser.cjs');
7
8
  var errors = require('../errors.cjs');
8
9
  var pMap = require('p-map');
9
- var conditions_conditionParser = require('../conditions/condition-parser.cjs');
10
10
 
11
11
  var _Query_config;
12
12
  /**
@@ -2,9 +2,9 @@ import { __classPrivateFieldSet, __classPrivateFieldGet, __awaiter, __asyncGener
2
2
  import { AttributeExpressionMap } from '../attributes/attribute-map.mjs';
3
3
  import { QUERY_VALIDATION_CONCURRENCY } from '../internal-constants.mjs';
4
4
  import { QueryCommand, paginateQuery } from '@aws-sdk/lib-dynamodb';
5
+ import { parseCondition } from '../conditions/condition-parser.mjs';
5
6
  import { DocumentBuilderError } from '../errors.mjs';
6
7
  import pMap from 'p-map';
7
- import { parseCondition } from '../conditions/condition-parser.mjs';
8
8
 
9
9
  var _Query_config;
10
10
  /**
@@ -0,0 +1,123 @@
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 _TableBatchGet_config;
10
+ /**
11
+ * Table-level command to perform a batch get across multiple entity types.
12
+ *
13
+ * Unlike `BatchGet` which operates on a single entity type, this command accepts
14
+ * get operations from multiple entities via `entity.prepare(new BatchGet({ keys: [...] }))`
15
+ * and returns results grouped by entity in a tuple structure.
16
+ *
17
+ * Unprocessed keys are returned per entity in a tuple matching the input order.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const { items, unprocessedKeys } = await table.send(new TableBatchGet({
22
+ * gets: [
23
+ * userEntity.prepare(new BatchGet({
24
+ * keys: [{ userId: 'u1' }, { userId: 'u2' }],
25
+ * })),
26
+ * orderEntity.prepare(new BatchGet({
27
+ * keys: [{ orderId: 'o1' }],
28
+ * })),
29
+ * ],
30
+ * consistent: true, // Apply strongly consistent reads to all groups
31
+ * }))
32
+ *
33
+ * const [users, orders] = items
34
+ * // users: User[]
35
+ * // orders: Order[]
36
+ * ```
37
+ */
38
+ // biome-ignore lint/suspicious/noExplicitAny: gets span multiple heterogeneous entity schemas
39
+ class TableBatchGet {
40
+ constructor(config) {
41
+ _TableBatchGet_config.set(this, void 0);
42
+ tslib_es6.__classPrivateFieldSet(this, _TableBatchGet_config, config, "f");
43
+ }
44
+ execute(table) {
45
+ return tslib_es6.__awaiter(this, void 0, void 0, function* () {
46
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
47
+ for (const group of tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets) {
48
+ if (group.entity.table !== table) {
49
+ throw new errors.DocumentBuilderError(`Entity table "${group.entity.table.tableName}" does not match the executing table "${table.tableName}"`);
50
+ }
51
+ }
52
+ // Command-level consistent overrides all group-level settings.
53
+ // If not specified, fall back to the per-group OR logic (any group consistent → all consistent).
54
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous group schemas require any
55
+ const consistent = (_a = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").consistent) !== null && _a !== void 0 ? _a : tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.some((g) => g.consistent);
56
+ // Aggregate all keys from every entity group into a single list
57
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous group schemas require any
58
+ const allKeys = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.flatMap((g) => g.keys);
59
+ const batchGet = new libDynamodb.BatchGetCommand({
60
+ RequestItems: {
61
+ [table.tableName]: {
62
+ Keys: allKeys,
63
+ ConsistentRead: consistent,
64
+ },
65
+ },
66
+ ReturnConsumedCapacity: tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").returnConsumedCapacity,
67
+ });
68
+ const result = yield table.documentClient.send(batchGet, {
69
+ abortSignal: (_b = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").abortController) === null || _b === void 0 ? void 0 : _b.signal,
70
+ requestTimeout: tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").timeoutMs,
71
+ });
72
+ const rawItems = ((_d = (_c = result.Responses) === null || _c === void 0 ? void 0 : _c[table.tableName]) !== null && _d !== void 0 ? _d : []);
73
+ // Match returned items back to their entity groups by comparing primary keys.
74
+ // DynamoDB does not guarantee order in batch get responses, so we must match by key.
75
+ const groupedItems = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.map(() => []);
76
+ for (const item of rawItems) {
77
+ for (let i = 0; i < tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.length; i++) {
78
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous group schemas require any
79
+ const group = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets[i];
80
+ if (group.matchItem(item)) {
81
+ groupedItems[i].push(item);
82
+ break;
83
+ }
84
+ }
85
+ }
86
+ // Parse each group's matched items
87
+ const parsedItems = yield pMap(tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets,
88
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous group schemas require any
89
+ (group, i) => tslib_es6.__awaiter(this, void 0, void 0, function* () { var _a; return group.parseResults(groupedItems[i], (_a = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").skipValidation) !== null && _a !== void 0 ? _a : false); }), {
90
+ concurrency: internalConstants.BATCH_GET_VALIDATION_CONCURRENCY,
91
+ signal: (_e = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").abortController) === null || _e === void 0 ? void 0 : _e.signal,
92
+ });
93
+ // Map unprocessed keys back to per-entity groups
94
+ const rawUnprocessedKeys =
95
+ // biome-ignore lint/suspicious/noExplicitAny: DynamoDB SDK returns untyped key objects
96
+ ((_h = (_g = (_f = result.UnprocessedKeys) === null || _f === void 0 ? void 0 : _f[table.tableName]) === null || _g === void 0 ? void 0 : _g.Keys) !== null && _h !== void 0 ? _h : []);
97
+ const unprocessedKeys = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.map(() => undefined);
98
+ for (const key of rawUnprocessedKeys) {
99
+ for (let i = 0; i < tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets.length; i++) {
100
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous group schemas require any
101
+ const group = tslib_es6.__classPrivateFieldGet(this, _TableBatchGet_config, "f").gets[i];
102
+ const matched = group.matchUnprocessedKey(key);
103
+ if (matched !== undefined) {
104
+ if (!unprocessedKeys[i])
105
+ unprocessedKeys[i] = [];
106
+ unprocessedKeys[i].push(matched);
107
+ break;
108
+ }
109
+ }
110
+ }
111
+ return {
112
+ responseMetadata: result.$metadata,
113
+ consumedCapacity: (_j = result.ConsumedCapacity) === null || _j === void 0 ? void 0 : _j[0],
114
+ items: parsedItems,
115
+ unprocessedKeys: unprocessedKeys,
116
+ };
117
+ });
118
+ }
119
+ }
120
+ _TableBatchGet_config = new WeakMap();
121
+
122
+ exports.TableBatchGet = TableBatchGet;
123
+ //# sourceMappingURL=table-batch-get.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-batch-get.cjs","sources":["../../src/commands/table-batch-get.ts"],"sourcesContent":[null],"names":["__classPrivateFieldSet","__classPrivateFieldGet","DocumentBuilderError","BatchGetCommand","__awaiter","BATCH_GET_VALIDATION_CONCURRENCY"],"mappings":"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"}