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.
- package/README.md +99 -2
- package/dist/commands/batch-get.cjs +7 -0
- package/dist/commands/batch-get.cjs.map +1 -1
- package/dist/commands/batch-get.d.ts +4 -2
- package/dist/commands/batch-get.mjs +8 -1
- package/dist/commands/batch-get.mjs.map +1 -1
- package/dist/commands/batch-write.cjs +6 -0
- package/dist/commands/batch-write.cjs.map +1 -1
- package/dist/commands/batch-write.d.ts +4 -2
- package/dist/commands/batch-write.mjs +7 -1
- package/dist/commands/batch-write.mjs.map +1 -1
- package/dist/commands/index.cjs +8 -0
- package/dist/commands/index.cjs.map +1 -1
- package/dist/commands/index.d.ts +100 -2
- package/dist/commands/index.mjs +4 -0
- package/dist/commands/index.mjs.map +1 -1
- package/dist/commands/query.cjs +1 -1
- package/dist/commands/query.mjs +1 -1
- package/dist/commands/table-batch-get.cjs +123 -0
- package/dist/commands/table-batch-get.cjs.map +1 -0
- package/dist/commands/table-batch-get.d.ts +86 -0
- package/dist/commands/table-batch-get.mjs +121 -0
- package/dist/commands/table-batch-get.mjs.map +1 -0
- package/dist/commands/table-batch-write.cjs +119 -0
- package/dist/commands/table-batch-write.cjs.map +1 -0
- package/dist/commands/table-batch-write.d.ts +79 -0
- package/dist/commands/table-batch-write.mjs +117 -0
- package/dist/commands/table-batch-write.mjs.map +1 -0
- package/dist/commands/table-transact-get.cjs +73 -0
- package/dist/commands/table-transact-get.cjs.map +1 -0
- package/dist/commands/table-transact-get.d.ts +60 -0
- package/dist/commands/table-transact-get.mjs +71 -0
- package/dist/commands/table-transact-get.mjs.map +1 -0
- package/dist/commands/table-transact-write.cjs +76 -0
- package/dist/commands/table-transact-write.cjs.map +1 -0
- package/dist/commands/table-transact-write.d.ts +51 -0
- package/dist/commands/table-transact-write.mjs +74 -0
- package/dist/commands/table-transact-write.mjs.map +1 -0
- package/dist/commands/transact-get.cjs +3 -0
- package/dist/commands/transact-get.cjs.map +1 -1
- package/dist/commands/transact-get.d.ts +3 -2
- package/dist/commands/transact-get.mjs +4 -1
- package/dist/commands/transact-get.mjs.map +1 -1
- package/dist/core/entity.cjs +114 -0
- package/dist/core/entity.cjs.map +1 -1
- package/dist/core/entity.d.ts +21 -1
- package/dist/core/entity.mjs +114 -0
- package/dist/core/entity.mjs.map +1 -1
- package/dist/core/table.cjs +8 -0
- package/dist/core/table.cjs.map +1 -1
- package/dist/core/table.d.ts +5 -0
- package/dist/core/table.mjs +9 -1
- package/dist/core/table.mjs.map +1 -1
- package/dist/index.cjs +10 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.mjs +5 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -311,9 +311,106 @@ if (items[0]) {
|
|
|
311
311
|
}
|
|
312
312
|
```
|
|
313
313
|
|
|
314
|
-
###
|
|
314
|
+
### TableBatchWrite
|
|
315
315
|
|
|
316
|
-
|
|
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","
|
|
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,
|
|
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":";;;;;;;;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;MACU,UAAU,CAAA;AAKrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QAF5C,kBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEa,IAAA,gBAAgB,CAAC,MAA4B,EAAA;;;AACxD,YAAA,IAAI,
|
|
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":";;;;;;;;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;MACU,UAAU,CAAA;AAKrB,IAAA,WAAA,CAAY,MAAgC,EAAA;QAF5C,kBAAA,CAAA,GAAA,CAAA,IAAA,EAAA,MAAA,CAAA;AAGE,QAAAA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAW,MAAM,EAAA,GAAA,CAAA;IACvB;AAEA,IAAA,IAAW,KAAK,GAAA;AACd,QAAA,OAAOC,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,KAAK;IAC3B;AAEA,IAAA,IAAW,OAAO,GAAA;AAChB,QAAA,OAAOA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,OAAO;IAC7B;AAEa,IAAA,gBAAgB,CAAC,MAA4B,EAAA;;;AACxD,YAAA,IAAI,CAACA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,KAAK,IAAIA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1D,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,IAAIA,iCAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,cAAc,EAAE;AAC/B,gBAAA,OAAOA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK;AACrC,oBAAA,UAAU,EAAE;wBACV,IAAI,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACC,IAAI,CAAA,EACJ,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7B;AACF,qBAAA;AACF,iBAAA,CAAC,CAAC;YACL;YACA,OAAO,IAAI,CACTA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,KAAK,EAClB,CAAM,IAAI,KAAGC,mBAAA,CAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA;gBACX,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;gBACzD,OAAO;AACL,oBAAA,UAAU,EAAE;wBACV,IAAI,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACC,WAAW,CAAA,EACX,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7B;AACF,qBAAA;iBACF;AACH,YAAA,CAAC,CAAA,EACD;AACE,gBAAA,WAAW,EAAEC,oDAAkC;gBAC/C,MAAM,EAAE,MAAAF,gCAAA,CAAA,IAAI,0BAAQ,CAAC,eAAe,0CAAE,MAAM;AAC7C,aAAA,CACF;QACH,CAAC,CAAA;AAAA,IAAA;AAEY,IAAA,mBAAmB,CAAC,MAA4B,EAAA;;AAC3D,YAAA,IAAI,CAACA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,OAAO,IAAIA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9D,gBAAA,OAAO,EAAE;YACX;AACA,YAAA,OAAOA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK;AACtC,gBAAA,aAAa,EAAE;AACb,oBAAA,GAAG,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC;AACjC,iBAAA;AACF,aAAA,CAAC,CAAC;QACL,CAAC,CAAA;AAAA,IAAA;AAEY,IAAA,OAAO,CAAC,MAA4B,EAAA;;;YAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AACtD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAC7B,gBAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;AACjC,aAAA,CAAC;AACF,YAAA,MAAM,UAAU,GAAG,IAAIG,6BAAiB,CAAC;AACvC,gBAAA,YAAY,EAAE;AACZ,oBAAA,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,CAAC;AAC9D,iBAAA;AACD,gBAAA,sBAAsB,EAAEH,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,sBAAsB;AAC3D,gBAAA,2BAA2B,EAAEA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,2BAA2B;AACtE,aAAA,CAAC;AACF,YAAA,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC1E,WAAW,EAAE,MAAAA,gCAAA,CAAA,IAAI,0BAAQ,CAAC,eAAe,0CAAE,MAAM;AACjD,gBAAA,cAAc,EAAEA,gCAAA,CAAA,IAAI,EAAA,kBAAA,EAAA,GAAA,CAAQ,CAAC,SAAS;AACvC,aAAA,CAAC;AAEF,YAAA,MAAM,gBAAgB,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,gBAAgB,CAAC,gBAAgB,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;YAC1F,MAAM,eAAe,GAAgC,EAAE;YACvD,MAAM,kBAAkB,GAAyC,EAAE;AAEnE,YAAA,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE;AAC9C,gBAAA,IAAI,eAAe,CAAC,UAAU,EAAE;oBAC9B,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAA4B,CAAC;gBAC/E;AAAO,qBAAA,IAAI,eAAe,CAAC,aAAa,EAAE;oBACxC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAoC,CAAC;gBAC7F;YACF;YAEA,OAAO;AACL,gBAAA,eAAe,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,GAAG,SAAS;AACzE,gBAAA,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,SAAS;gBAClF,gBAAgB,EAAE,gBAAgB,CAAC,SAAS;AAC5C,gBAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,gBAAgB,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,CAAC;gBACxD,oBAAoB,EAAE,gBAAgB,CAAC,qBAAqB;aAC7D;QACH,CAAC,CAAA;AAAA,IAAA;AACF;;;;;"}
|
|
@@ -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,
|
|
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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"}
|
package/dist/commands/index.cjs
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -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 };
|
package/dist/commands/index.mjs
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/commands/query.cjs
CHANGED
|
@@ -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
|
/**
|
package/dist/commands/query.mjs
CHANGED
|
@@ -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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"}
|