effect-dynamodb 0.1.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/LICENSE +21 -0
- package/README.md +69 -0
- package/dist/Aggregate.d.ts +210 -0
- package/dist/Aggregate.d.ts.map +1 -0
- package/dist/Aggregate.js +1169 -0
- package/dist/Aggregate.js.map +1 -0
- package/dist/Batch.d.ts +62 -0
- package/dist/Batch.d.ts.map +1 -0
- package/dist/Batch.js +218 -0
- package/dist/Batch.js.map +1 -0
- package/dist/Collection.d.ts +58 -0
- package/dist/Collection.d.ts.map +1 -0
- package/dist/Collection.js +195 -0
- package/dist/Collection.js.map +1 -0
- package/dist/Collections.d.ts +121 -0
- package/dist/Collections.d.ts.map +1 -0
- package/dist/Collections.js +121 -0
- package/dist/Collections.js.map +1 -0
- package/dist/DynamoClient.d.ts +317 -0
- package/dist/DynamoClient.d.ts.map +1 -0
- package/dist/DynamoClient.js +653 -0
- package/dist/DynamoClient.js.map +1 -0
- package/dist/DynamoModel.d.ts +278 -0
- package/dist/DynamoModel.d.ts.map +1 -0
- package/dist/DynamoModel.js +453 -0
- package/dist/DynamoModel.js.map +1 -0
- package/dist/DynamoSchema.d.ts +137 -0
- package/dist/DynamoSchema.d.ts.map +1 -0
- package/dist/DynamoSchema.js +188 -0
- package/dist/DynamoSchema.js.map +1 -0
- package/dist/Entity.d.ts +628 -0
- package/dist/Entity.d.ts.map +1 -0
- package/dist/Entity.js +2371 -0
- package/dist/Entity.js.map +1 -0
- package/dist/Errors.d.ts +227 -0
- package/dist/Errors.d.ts.map +1 -0
- package/dist/Errors.js +93 -0
- package/dist/Errors.js.map +1 -0
- package/dist/EventStore.d.ts +208 -0
- package/dist/EventStore.d.ts.map +1 -0
- package/dist/EventStore.js +333 -0
- package/dist/EventStore.js.map +1 -0
- package/dist/Expression.d.ts +50 -0
- package/dist/Expression.d.ts.map +1 -0
- package/dist/Expression.js +170 -0
- package/dist/Expression.js.map +1 -0
- package/dist/KeyComposer.d.ts +125 -0
- package/dist/KeyComposer.d.ts.map +1 -0
- package/dist/KeyComposer.js +257 -0
- package/dist/KeyComposer.js.map +1 -0
- package/dist/Marshaller.d.ts +30 -0
- package/dist/Marshaller.d.ts.map +1 -0
- package/dist/Marshaller.js +115 -0
- package/dist/Marshaller.js.map +1 -0
- package/dist/Projection.d.ts +28 -0
- package/dist/Projection.d.ts.map +1 -0
- package/dist/Projection.js +39 -0
- package/dist/Projection.js.map +1 -0
- package/dist/Query.d.ts +214 -0
- package/dist/Query.d.ts.map +1 -0
- package/dist/Query.js +397 -0
- package/dist/Query.js.map +1 -0
- package/dist/Table.d.ts +178 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +211 -0
- package/dist/Table.js.map +1 -0
- package/dist/Transaction.d.ts +79 -0
- package/dist/Transaction.d.ts.map +1 -0
- package/dist/Transaction.js +215 -0
- package/dist/Transaction.js.map +1 -0
- package/dist/_AggregateCursor.d.ts +44 -0
- package/dist/_AggregateCursor.d.ts.map +1 -0
- package/dist/_AggregateCursor.js +18 -0
- package/dist/_AggregateCursor.js.map +1 -0
- package/dist/_AggregateEdges.d.ts +77 -0
- package/dist/_AggregateEdges.d.ts.map +1 -0
- package/dist/_AggregateEdges.js +41 -0
- package/dist/_AggregateEdges.js.map +1 -0
- package/dist/_AggregateSchemas.d.ts +69 -0
- package/dist/_AggregateSchemas.d.ts.map +1 -0
- package/dist/_AggregateSchemas.js +194 -0
- package/dist/_AggregateSchemas.js.map +1 -0
- package/dist/_AggregateTypes.d.ts +94 -0
- package/dist/_AggregateTypes.d.ts.map +1 -0
- package/dist/_AggregateTypes.js +7 -0
- package/dist/_AggregateTypes.js.map +1 -0
- package/dist/_EntityCombinators.d.ts +155 -0
- package/dist/_EntityCombinators.d.ts.map +1 -0
- package/dist/_EntityCombinators.js +158 -0
- package/dist/_EntityCombinators.js.map +1 -0
- package/dist/_EntityConfig.d.ts +100 -0
- package/dist/_EntityConfig.d.ts.map +1 -0
- package/dist/_EntityConfig.js +7 -0
- package/dist/_EntityConfig.js.map +1 -0
- package/dist/_EntityOps.d.ts +205 -0
- package/dist/_EntityOps.d.ts.map +1 -0
- package/dist/_EntityOps.js +137 -0
- package/dist/_EntityOps.js.map +1 -0
- package/dist/_EntitySchemas.d.ts +57 -0
- package/dist/_EntitySchemas.d.ts.map +1 -0
- package/dist/_EntitySchemas.js +298 -0
- package/dist/_EntitySchemas.js.map +1 -0
- package/dist/_EntityTypes.d.ts +81 -0
- package/dist/_EntityTypes.d.ts.map +1 -0
- package/dist/_EntityTypes.js +7 -0
- package/dist/_EntityTypes.js.map +1 -0
- package/dist/_sparse_check.d.ts +2 -0
- package/dist/_sparse_check.d.ts.map +1 -0
- package/dist/_sparse_check.js +193 -0
- package/dist/_sparse_check.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/AggregateCursor.d.ts +44 -0
- package/dist/internal/AggregateCursor.d.ts.map +1 -0
- package/dist/internal/AggregateCursor.js +18 -0
- package/dist/internal/AggregateCursor.js.map +1 -0
- package/dist/internal/AggregateEdges.d.ts +77 -0
- package/dist/internal/AggregateEdges.d.ts.map +1 -0
- package/dist/internal/AggregateEdges.js +41 -0
- package/dist/internal/AggregateEdges.js.map +1 -0
- package/dist/internal/AggregateSchemas.d.ts +69 -0
- package/dist/internal/AggregateSchemas.d.ts.map +1 -0
- package/dist/internal/AggregateSchemas.js +193 -0
- package/dist/internal/AggregateSchemas.js.map +1 -0
- package/dist/internal/AggregateTypes.d.ts +94 -0
- package/dist/internal/AggregateTypes.d.ts.map +1 -0
- package/dist/internal/AggregateTypes.js +7 -0
- package/dist/internal/AggregateTypes.js.map +1 -0
- package/dist/internal/BoundQuery.d.ts +107 -0
- package/dist/internal/BoundQuery.d.ts.map +1 -0
- package/dist/internal/BoundQuery.js +111 -0
- package/dist/internal/BoundQuery.js.map +1 -0
- package/dist/internal/EntityCombinators.d.ts +173 -0
- package/dist/internal/EntityCombinators.d.ts.map +1 -0
- package/dist/internal/EntityCombinators.js +183 -0
- package/dist/internal/EntityCombinators.js.map +1 -0
- package/dist/internal/EntityConfig.d.ts +100 -0
- package/dist/internal/EntityConfig.d.ts.map +1 -0
- package/dist/internal/EntityConfig.js +7 -0
- package/dist/internal/EntityConfig.js.map +1 -0
- package/dist/internal/EntityOps.d.ts +268 -0
- package/dist/internal/EntityOps.d.ts.map +1 -0
- package/dist/internal/EntityOps.js +153 -0
- package/dist/internal/EntityOps.js.map +1 -0
- package/dist/internal/EntitySchemas.d.ts +57 -0
- package/dist/internal/EntitySchemas.d.ts.map +1 -0
- package/dist/internal/EntitySchemas.js +299 -0
- package/dist/internal/EntitySchemas.js.map +1 -0
- package/dist/internal/EntityTypes.d.ts +128 -0
- package/dist/internal/EntityTypes.d.ts.map +1 -0
- package/dist/internal/EntityTypes.js +7 -0
- package/dist/internal/EntityTypes.js.map +1 -0
- package/dist/internal/Expr.d.ts +141 -0
- package/dist/internal/Expr.d.ts.map +1 -0
- package/dist/internal/Expr.js +332 -0
- package/dist/internal/Expr.js.map +1 -0
- package/dist/internal/PathBuilder.d.ts +88 -0
- package/dist/internal/PathBuilder.d.ts.map +1 -0
- package/dist/internal/PathBuilder.js +100 -0
- package/dist/internal/PathBuilder.js.map +1 -0
- package/dist/internal/TransactableOps.d.ts +25 -0
- package/dist/internal/TransactableOps.d.ts.map +1 -0
- package/dist/internal/TransactableOps.js +58 -0
- package/dist/internal/TransactableOps.js.map +1 -0
- package/dist/internal/sparse_check.d.ts +2 -0
- package/dist/internal/sparse_check.d.ts.map +1 -0
- package/dist/internal/sparse_check.js +196 -0
- package/dist/internal/sparse_check.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Aggregate.js","sourceRoot":"","sources":["../src/Aggregate.ts"],"names":[],"mappings":"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"}
|
package/dist/Batch.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch — BatchGetItem and BatchWriteItem with auto-chunking and retry.
|
|
3
|
+
*
|
|
4
|
+
* DynamoDB limits: BatchGetItem max 100 keys, BatchWriteItem max 25 items.
|
|
5
|
+
* Both can return unprocessed items that must be retried.
|
|
6
|
+
*
|
|
7
|
+
* Accepts Entity operation intermediates directly (EntityGet, EntityPut, EntityDelete).
|
|
8
|
+
* Batch.get returns a typed tuple inferred per-position.
|
|
9
|
+
*/
|
|
10
|
+
import { Effect } from "effect";
|
|
11
|
+
import { DynamoClient, type DynamoClientError } from "./DynamoClient.js";
|
|
12
|
+
import type { EntityDelete, EntityGet, EntityPut } from "./Entity.js";
|
|
13
|
+
import { type ValidationError } from "./Errors.js";
|
|
14
|
+
import type { TableConfig } from "./Table.js";
|
|
15
|
+
/**
|
|
16
|
+
* Optional retry configuration for batch operations.
|
|
17
|
+
* When omitted, defaults to 5 retries with 100ms base delay.
|
|
18
|
+
*/
|
|
19
|
+
export interface BatchRetryConfig {
|
|
20
|
+
readonly maxRetries?: number | undefined;
|
|
21
|
+
readonly baseDelayMs?: number | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Map a tuple of EntityGet operations to a tuple of (A | undefined) results.
|
|
25
|
+
*/
|
|
26
|
+
type BatchGetResult<T extends ReadonlyArray<EntityGet<any, any, any, any>>> = {
|
|
27
|
+
-readonly [K in keyof T]: T[K] extends EntityGet<infer A, any, any, any> ? A | undefined : never;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Batch-get up to any number of items across entities/tables.
|
|
31
|
+
* Auto-chunks at 100 items per request. Retries unprocessed keys
|
|
32
|
+
* with exponential backoff. Returns a typed tuple matching input positions.
|
|
33
|
+
*
|
|
34
|
+
* DynamoDB batchGetItem doesn't preserve order, so results are matched
|
|
35
|
+
* back to input positions by comparing composed primary key fields.
|
|
36
|
+
*
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const [alice, bob, post] = yield* Batch.get([
|
|
39
|
+
* Users.get({ userId: "u-1" }),
|
|
40
|
+
* Users.get({ userId: "u-2" }),
|
|
41
|
+
* Posts.get({ postId: "p-1" }),
|
|
42
|
+
* ])
|
|
43
|
+
* // alice: User | undefined, bob: User | undefined, post: Post | undefined
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare const get: <const T extends ReadonlyArray<EntityGet<any, any, any, any>>>(items: T, config?: BatchRetryConfig) => Effect.Effect<BatchGetResult<T>, DynamoClientError | ValidationError, DynamoClient | TableConfig>;
|
|
47
|
+
type BatchWriteOp = EntityPut<any, any, any, any> | EntityDelete<any, any>;
|
|
48
|
+
/**
|
|
49
|
+
* Batch-write any number of items across entities/tables.
|
|
50
|
+
* Auto-chunks at 25 items per request. Retries unprocessed items
|
|
51
|
+
* with exponential backoff.
|
|
52
|
+
*
|
|
53
|
+
* ```typescript
|
|
54
|
+
* yield* Batch.write([
|
|
55
|
+
* Users.put({ userId: "u-3", ... }),
|
|
56
|
+
* Posts.delete({ postId: "p-1" }),
|
|
57
|
+
* ])
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare const write: (operations: ReadonlyArray<BatchWriteOp>, config?: BatchRetryConfig) => Effect.Effect<void, DynamoClientError | ValidationError, DynamoClient | TableConfig>;
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=Batch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Batch.d.ts","sourceRoot":"","sources":["../src/Batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAU,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE7E,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAO/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAO7C;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1C;AAMD;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI;IAC5E,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,KAAK;CACjG,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,GAAG,GAAI,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAC9E,OAAO,CAAC,EACR,SAAS,gBAAgB,KACxB,MAAM,CAAC,MAAM,CACd,cAAc,CAAC,CAAC,CAAC,EACjB,iBAAiB,GAAG,eAAe,EACnC,YAAY,GAAG,WAAW,CAyHxB,CAAA;AAMJ,KAAK,YAAY,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;AAE1E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,GAChB,YAAY,aAAa,CAAC,YAAY,CAAC,EACvC,SAAS,gBAAgB,KACxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,EAAE,YAAY,GAAG,WAAW,CAqFlF,CAAA"}
|
package/dist/Batch.js
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Batch — BatchGetItem and BatchWriteItem with auto-chunking and retry.
|
|
3
|
+
*
|
|
4
|
+
* DynamoDB limits: BatchGetItem max 100 keys, BatchWriteItem max 25 items.
|
|
5
|
+
* Both can return unprocessed items that must be retried.
|
|
6
|
+
*
|
|
7
|
+
* Accepts Entity operation intermediates directly (EntityGet, EntityPut, EntityDelete).
|
|
8
|
+
* Batch.get returns a typed tuple inferred per-position.
|
|
9
|
+
*/
|
|
10
|
+
import { Effect } from "effect";
|
|
11
|
+
import { DynamoClient } from "./DynamoClient.js";
|
|
12
|
+
import { extractTransactable } from "./Entity.js";
|
|
13
|
+
import { DynamoError } from "./Errors.js";
|
|
14
|
+
import { composePrimaryKey, resolveTableNames, validateAndBuildPutItem, } from "./internal/TransactableOps.js";
|
|
15
|
+
import { fromAttributeMap, toAttributeMap } from "./Marshaller.js";
|
|
16
|
+
const MAX_BATCH_GET = 100;
|
|
17
|
+
const MAX_BATCH_WRITE = 25;
|
|
18
|
+
const MAX_RETRIES = 5;
|
|
19
|
+
const BASE_DELAY_MS = 100;
|
|
20
|
+
/**
|
|
21
|
+
* Batch-get up to any number of items across entities/tables.
|
|
22
|
+
* Auto-chunks at 100 items per request. Retries unprocessed keys
|
|
23
|
+
* with exponential backoff. Returns a typed tuple matching input positions.
|
|
24
|
+
*
|
|
25
|
+
* DynamoDB batchGetItem doesn't preserve order, so results are matched
|
|
26
|
+
* back to input positions by comparing composed primary key fields.
|
|
27
|
+
*
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const [alice, bob, post] = yield* Batch.get([
|
|
30
|
+
* Users.get({ userId: "u-1" }),
|
|
31
|
+
* Users.get({ userId: "u-2" }),
|
|
32
|
+
* Posts.get({ postId: "p-1" }),
|
|
33
|
+
* ])
|
|
34
|
+
* // alice: User | undefined, bob: User | undefined, post: Post | undefined
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export const get = (items, config) => Effect.gen(function* () {
|
|
38
|
+
const maxRetries = config?.maxRetries ?? MAX_RETRIES;
|
|
39
|
+
const baseDelayMs = config?.baseDelayMs ?? BASE_DELAY_MS;
|
|
40
|
+
// Cast rationale: empty array [] is a valid tuple for any BatchGetResult<T>.
|
|
41
|
+
// TypeScript cannot infer that [] satisfies a mapped tuple type, so we cast.
|
|
42
|
+
if (items.length === 0)
|
|
43
|
+
return [];
|
|
44
|
+
const client = yield* DynamoClient;
|
|
45
|
+
// Extract entity info from each EntityGet intermediate
|
|
46
|
+
const infos = items.map((item) => {
|
|
47
|
+
const info = extractTransactable(item);
|
|
48
|
+
if (!info || info.opType !== "get") {
|
|
49
|
+
throw new Error("Batch.get requires EntityGet intermediates");
|
|
50
|
+
}
|
|
51
|
+
return info;
|
|
52
|
+
});
|
|
53
|
+
const tableNames = yield* resolveTableNames(infos);
|
|
54
|
+
// Build composed keys for each item and track the mapping
|
|
55
|
+
const itemKeys = [];
|
|
56
|
+
for (let i = 0; i < infos.length; i++) {
|
|
57
|
+
const info = infos[i];
|
|
58
|
+
const tableName = tableNames.get(info.entity);
|
|
59
|
+
const composed = composePrimaryKey(info.entity, info.key);
|
|
60
|
+
itemKeys.push({
|
|
61
|
+
tableName,
|
|
62
|
+
composedKey: composed,
|
|
63
|
+
marshalledKey: toAttributeMap(composed),
|
|
64
|
+
entity: info.entity,
|
|
65
|
+
index: i,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
// Collect all responses by original index
|
|
69
|
+
const results = new Array(items.length).fill(undefined);
|
|
70
|
+
// Process in chunks of MAX_BATCH_GET
|
|
71
|
+
for (let chunkStart = 0; chunkStart < itemKeys.length; chunkStart += MAX_BATCH_GET) {
|
|
72
|
+
const chunk = itemKeys.slice(chunkStart, chunkStart + MAX_BATCH_GET);
|
|
73
|
+
// Build request grouped by table
|
|
74
|
+
let requestItems = {};
|
|
75
|
+
for (const item of chunk) {
|
|
76
|
+
if (!requestItems[item.tableName]) {
|
|
77
|
+
requestItems[item.tableName] = { Keys: [] };
|
|
78
|
+
}
|
|
79
|
+
requestItems[item.tableName].Keys.push(item.marshalledKey);
|
|
80
|
+
}
|
|
81
|
+
// Retry loop for unprocessed keys
|
|
82
|
+
let retries = 0;
|
|
83
|
+
while (Object.keys(requestItems).length > 0) {
|
|
84
|
+
const response = yield* client.batchGetItem({ RequestItems: requestItems });
|
|
85
|
+
// Process responses
|
|
86
|
+
if (response.Responses) {
|
|
87
|
+
for (const [tableName, tableItems] of Object.entries(response.Responses)) {
|
|
88
|
+
for (const responseItem of tableItems) {
|
|
89
|
+
const raw = fromAttributeMap(responseItem);
|
|
90
|
+
// Match to original position by primary key
|
|
91
|
+
const matched = chunk.find((item) => {
|
|
92
|
+
if (item.tableName !== tableName)
|
|
93
|
+
return false;
|
|
94
|
+
const primary = item.entity.indexes.primary;
|
|
95
|
+
return (raw[primary.pk.field] === item.composedKey[primary.pk.field] &&
|
|
96
|
+
raw[primary.sk.field] === item.composedKey[primary.sk.field]);
|
|
97
|
+
});
|
|
98
|
+
if (matched) {
|
|
99
|
+
const decoded = yield* matched.entity._decodeRecord(raw);
|
|
100
|
+
results[matched.index] = decoded;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// Check for unprocessed keys
|
|
106
|
+
const unprocessed = {};
|
|
107
|
+
if (response.UnprocessedKeys) {
|
|
108
|
+
for (const [tableName, tableKeys] of Object.entries(response.UnprocessedKeys)) {
|
|
109
|
+
if (tableKeys.Keys && tableKeys.Keys.length > 0) {
|
|
110
|
+
unprocessed[tableName] = { Keys: tableKeys.Keys };
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (Object.keys(unprocessed).length === 0)
|
|
115
|
+
break;
|
|
116
|
+
retries++;
|
|
117
|
+
if (retries > maxRetries) {
|
|
118
|
+
return yield* new DynamoError({
|
|
119
|
+
operation: "BatchGetItem",
|
|
120
|
+
cause: new Error(`Unprocessed keys remain after ${maxRetries} retries`),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// Exponential backoff
|
|
124
|
+
yield* Effect.sleep(`${baseDelayMs * 2 ** (retries - 1)} millis`);
|
|
125
|
+
requestItems = unprocessed;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Cast rationale: results is built as Array<A | undefined> by matching DynamoDB
|
|
129
|
+
// responses back to input positions via primary key comparison. The mapped tuple
|
|
130
|
+
// type BatchGetResult<T> captures per-position entity types, but the runtime
|
|
131
|
+
// array construction can't express this statically.
|
|
132
|
+
return results;
|
|
133
|
+
});
|
|
134
|
+
/**
|
|
135
|
+
* Batch-write any number of items across entities/tables.
|
|
136
|
+
* Auto-chunks at 25 items per request. Retries unprocessed items
|
|
137
|
+
* with exponential backoff.
|
|
138
|
+
*
|
|
139
|
+
* ```typescript
|
|
140
|
+
* yield* Batch.write([
|
|
141
|
+
* Users.put({ userId: "u-3", ... }),
|
|
142
|
+
* Posts.delete({ postId: "p-1" }),
|
|
143
|
+
* ])
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export const write = (operations, config) => Effect.gen(function* () {
|
|
147
|
+
if (operations.length === 0)
|
|
148
|
+
return;
|
|
149
|
+
const maxRetries = config?.maxRetries ?? MAX_RETRIES;
|
|
150
|
+
const baseDelayMs = config?.baseDelayMs ?? BASE_DELAY_MS;
|
|
151
|
+
const client = yield* DynamoClient;
|
|
152
|
+
// Build write requests
|
|
153
|
+
const writeRequests = [];
|
|
154
|
+
for (const op of operations) {
|
|
155
|
+
const info = extractTransactable(op);
|
|
156
|
+
if (!info) {
|
|
157
|
+
throw new Error("Batch.write: unrecognized operation type");
|
|
158
|
+
}
|
|
159
|
+
const entity = info.entity;
|
|
160
|
+
const { name: tableName } = yield* entity._tableTag;
|
|
161
|
+
if (info.opType === "put") {
|
|
162
|
+
const marshalledItem = yield* validateAndBuildPutItem(entity, info.input, "batchWrite.put");
|
|
163
|
+
writeRequests.push({
|
|
164
|
+
tableName,
|
|
165
|
+
request: { PutRequest: { Item: marshalledItem } },
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else if (info.opType === "delete") {
|
|
169
|
+
const composed = composePrimaryKey(entity, info.key);
|
|
170
|
+
writeRequests.push({
|
|
171
|
+
tableName,
|
|
172
|
+
request: { DeleteRequest: { Key: toAttributeMap(composed) } },
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
throw new Error(`Batch.write: unsupported operation type "${info.opType}". Use EntityPut or EntityDelete.`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Process in chunks of MAX_BATCH_WRITE
|
|
180
|
+
for (let chunkStart = 0; chunkStart < writeRequests.length; chunkStart += MAX_BATCH_WRITE) {
|
|
181
|
+
const chunk = writeRequests.slice(chunkStart, chunkStart + MAX_BATCH_WRITE);
|
|
182
|
+
// Group by table name
|
|
183
|
+
let requestItems = {};
|
|
184
|
+
for (const item of chunk) {
|
|
185
|
+
if (!requestItems[item.tableName]) {
|
|
186
|
+
requestItems[item.tableName] = [];
|
|
187
|
+
}
|
|
188
|
+
requestItems[item.tableName].push(item.request);
|
|
189
|
+
}
|
|
190
|
+
// Retry loop for unprocessed items
|
|
191
|
+
let retries = 0;
|
|
192
|
+
while (Object.keys(requestItems).length > 0) {
|
|
193
|
+
const response = yield* client.batchWriteItem({ RequestItems: requestItems });
|
|
194
|
+
// Check for unprocessed items
|
|
195
|
+
const unprocessed = {};
|
|
196
|
+
if (response.UnprocessedItems) {
|
|
197
|
+
for (const [tableName, tableItems] of Object.entries(response.UnprocessedItems)) {
|
|
198
|
+
if (tableItems.length > 0) {
|
|
199
|
+
unprocessed[tableName] = tableItems;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
if (Object.keys(unprocessed).length === 0)
|
|
204
|
+
break;
|
|
205
|
+
retries++;
|
|
206
|
+
if (retries > maxRetries) {
|
|
207
|
+
return yield* new DynamoError({
|
|
208
|
+
operation: "BatchWriteItem",
|
|
209
|
+
cause: new Error(`Unprocessed items remain after ${maxRetries} retries`),
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
// Exponential backoff
|
|
213
|
+
yield* Effect.sleep(`${baseDelayMs * 2 ** (retries - 1)} millis`);
|
|
214
|
+
requestItems = unprocessed;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
//# sourceMappingURL=Batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Batch.js","sourceRoot":"","sources":["../src/Batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection — Multi-entity queries across a shared table/index.
|
|
3
|
+
*
|
|
4
|
+
* A Collection groups entities that share a common index. Querying a Collection
|
|
5
|
+
* returns items of all member entity types, each decoded through its own schema.
|
|
6
|
+
* Entity selectors narrow a collection query to a single entity type.
|
|
7
|
+
*
|
|
8
|
+
* Collections are built from Entity index definitions that share a `collection` name.
|
|
9
|
+
*/
|
|
10
|
+
import { type Schema } from "effect";
|
|
11
|
+
import * as DynamoSchema from "./DynamoSchema.js";
|
|
12
|
+
import type { IndexDefinition } from "./KeyComposer.js";
|
|
13
|
+
import * as Query from "./Query.js";
|
|
14
|
+
import type { TableConfig } from "./Table.js";
|
|
15
|
+
/** Minimal structural type for entities used in Collections. */
|
|
16
|
+
interface CollectionEntity {
|
|
17
|
+
readonly _tag: "Entity";
|
|
18
|
+
readonly entityType: string;
|
|
19
|
+
readonly indexes: Record<string, IndexDefinition>;
|
|
20
|
+
readonly _schema: DynamoSchema.DynamoSchema;
|
|
21
|
+
readonly _tableTag: import("effect").Context.Service<TableConfig, TableConfig>;
|
|
22
|
+
readonly schemas: {
|
|
23
|
+
readonly recordSchema: Schema.Codec<any>;
|
|
24
|
+
};
|
|
25
|
+
readonly _decodeRecord: (raw: globalThis.Record<string, unknown>) => import("effect").Effect.Effect<any, import("./Errors.js").ValidationError>;
|
|
26
|
+
}
|
|
27
|
+
type EntityRecord<E extends CollectionEntity> = Schema.Schema.Type<E["schemas"]["recordSchema"]>;
|
|
28
|
+
type CollectionResult<TEntities extends Record<string, CollectionEntity>> = {
|
|
29
|
+
readonly [K in keyof TEntities]: Array<EntityRecord<TEntities[K]>>;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* A Collection groups entities that share a common index for cross-entity queries.
|
|
33
|
+
* Querying a Collection returns items of all member entity types, each decoded
|
|
34
|
+
* through its own schema. Entity selectors narrow a query to a single entity type.
|
|
35
|
+
*
|
|
36
|
+
* Created via {@link make}.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam TEntities - Map of entity names to Entity instances
|
|
39
|
+
*/
|
|
40
|
+
export interface Collection<TEntities extends Record<string, CollectionEntity>> {
|
|
41
|
+
readonly _tag: "Collection";
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly entities: TEntities;
|
|
44
|
+
/** Query all entities in the collection. Returns grouped results keyed by entity name. */
|
|
45
|
+
readonly query: (pkComposites: Record<string, unknown>) => Query.Query<CollectionResult<TEntities>>;
|
|
46
|
+
/** Entity selectors — narrow to a single entity type */
|
|
47
|
+
readonly [K: string]: unknown;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Create a Collection from a set of entities that share an index with a common collection name.
|
|
51
|
+
*
|
|
52
|
+
* @param name - The collection name (must match a `collection` property in an entity's index definition)
|
|
53
|
+
* @param entities - Map of entity names to Entity instances
|
|
54
|
+
* @returns A Collection with a `.query()` method and per-entity selector methods
|
|
55
|
+
*/
|
|
56
|
+
export declare const make: <const TName extends string, const TEntities extends Record<string, CollectionEntity>>(name: TName, entities: TEntities) => Collection<TEntities> & { readonly [K in keyof TEntities]: (pkComposites: Record<string, unknown>) => Query.Query<EntityRecord<TEntities[K]>>; };
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=Collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../src/Collection.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ7C,gEAAgE;AAChE,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACjD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,YAAY,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAC9E,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;KACzC,CAAA;IACD,QAAQ,CAAC,aAAa,EAAE,CACtB,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACpC,OAAO,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,aAAa,EAAE,eAAe,CAAC,CAAA;CAChF;AAMD,KAAK,YAAY,CAAC,CAAC,SAAS,gBAAgB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;AAEhG,KAAK,gBAAgB,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI;IAC1E,QAAQ,EAAE,CAAC,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACnE,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAE5B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,CACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;IAE7C,wDAAwD;IACxD,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,CAAC,KAAK,SAAS,MAAM,EAC1B,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAExD,MAAM,KAAK,EACX,UAAU,SAAS,KAClB,UAAU,CAAC,SAAS,CAAC,GAAG,EACzB,QAAQ,EAAE,CAAC,IAAI,MAAM,SAAS,GAAG,CAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAkO7C,CAAA"}
|