@photon-grove/evt 0.1.2 → 0.2.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 +15 -3
- package/dist/dynamodb/head.d.ts +6 -0
- package/dist/dynamodb/head.d.ts.map +1 -1
- package/dist/dynamodb/head.js +11 -0
- package/dist/dynamodb/head.js.map +1 -1
- package/dist/dynamodb/index.d.ts +1 -1
- package/dist/dynamodb/index.d.ts.map +1 -1
- package/dist/dynamodb/index.js +1 -1
- package/dist/dynamodb/index.js.map +1 -1
- package/dist/dynamodb/repository.d.ts +9 -2
- package/dist/dynamodb/repository.d.ts.map +1 -1
- package/dist/dynamodb/repository.js +114 -35
- package/dist/dynamodb/repository.js.map +1 -1
- package/dist/dynamodb/requests.d.ts +36 -5
- package/dist/dynamodb/requests.d.ts.map +1 -1
- package/dist/dynamodb/requests.js +56 -13
- package/dist/dynamodb/requests.js.map +1 -1
- package/dist/errors.d.ts +38 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +45 -4
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/repository.d.ts +3 -2
- package/dist/memory/repository.d.ts.map +1 -1
- package/dist/memory/repository.js +78 -29
- package/dist/memory/repository.js.map +1 -1
- package/dist/postgres/repository.d.ts +9 -2
- package/dist/postgres/repository.d.ts.map +1 -1
- package/dist/postgres/repository.js +107 -36
- package/dist/postgres/repository.js.map +1 -1
- package/dist/postgres/schema.d.ts.map +1 -1
- package/dist/postgres/schema.js +16 -0
- package/dist/postgres/schema.js.map +1 -1
- package/dist/repository.d.ts +75 -0
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +89 -3
- package/dist/repository.js.map +1 -1
- package/dist/staging.d.ts +28 -0
- package/dist/staging.d.ts.map +1 -0
- package/dist/staging.js +89 -0
- package/dist/staging.js.map +1 -0
- package/dist/store.d.ts +11 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +30 -71
- package/dist/store.js.map +1 -1
- package/dist/transaction.d.ts +113 -0
- package/dist/transaction.d.ts.map +1 -0
- package/dist/transaction.js +207 -0
- package/dist/transaction.js.map +1 -0
- package/package.json +1 -1
- package/src/dynamodb/head.ts +15 -0
- package/src/dynamodb/index.ts +1 -0
- package/src/dynamodb/repository.ts +162 -41
- package/src/dynamodb/requests.ts +98 -14
- package/src/errors.ts +63 -4
- package/src/index.ts +16 -7
- package/src/memory/repository.ts +93 -32
- package/src/postgres/repository.ts +133 -48
- package/src/postgres/schema.ts +16 -0
- package/src/repository.ts +169 -2
- package/src/staging.ts +138 -0
- package/src/store.ts +47 -96
- package/src/transaction.ts +322 -0
package/README.md
CHANGED
|
@@ -11,9 +11,9 @@ held to the fixtures Go and Rust generate, byte for byte.
|
|
|
11
11
|
npm install @photon-grove/evt
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
So far it has the core, the in-memory, DynamoDB and
|
|
15
|
-
Commit-wide projectors
|
|
16
|
-
the
|
|
14
|
+
So far it has the core, multi-stream transactions with read fences, the in-memory, DynamoDB and
|
|
15
|
+
PostgreSQL backends, and the testing helpers. Commit-wide projectors and command outcomes come in
|
|
16
|
+
later releases, and the
|
|
17
17
|
[feature matrix](https://github.com/photon-grove/evt/blob/main/docs/reference/feature-matrix.md)
|
|
18
18
|
tracks each one. The
|
|
19
19
|
[getting started guide](https://github.com/photon-grove/evt/blob/main/docs/guide/getting-started.md#the-same-model-in-typescript)
|
|
@@ -141,6 +141,18 @@ of `AbortSignal`, which the DOM library, `@types/node`, and Bun's and Deno's typ
|
|
|
141
141
|
- **Rebuilds.** While a projection rebuild holds the store, every commit fails with a
|
|
142
142
|
`RebuildInProgressError`. It's retryable, so `executeWithRetry` runs the command again after its
|
|
143
143
|
backoff, though a rebuild usually outlasts the default policy's attempts.
|
|
144
|
+
- **Transactions.** `store.transaction()` commits several streams at once. `read(aggregate, id)`
|
|
145
|
+
loads a stream of any aggregate type and returns a typed handle, `append(handle, events)` stages
|
|
146
|
+
the events decided for it, and `commit({metadata})` stamps one commit ID on every event and
|
|
147
|
+
writes them all atomically, with each stream's snapshot and projector operations, or writes
|
|
148
|
+
nothing. A stream read but never appended to is fenced at the head it was read at, so the commit
|
|
149
|
+
fails with a `FenceConflictError` once another writer moves it. `fence({entityId, entityType,
|
|
150
|
+
head})` adds a fence of your own on a stream the transaction doesn't read. A fence the engine
|
|
151
|
+
filled is retryable, and one the caller stamped isn't. A transaction commits once, and `execute`
|
|
152
|
+
stays the shortcut for a single stream. Underneath, every repository is a
|
|
153
|
+
`TransactionalRepository`, whose `commitTransaction({streams, fences})` takes the streams and
|
|
154
|
+
fences directly. A fence on an entity type with retention is refused with a
|
|
155
|
+
`RetentionConflictError`.
|
|
144
156
|
- **Sequences** are `bigint`s, because Go and Rust store them as 64-bit integers.
|
|
145
157
|
|
|
146
158
|
Errors are `EvtError`s with a `code`. `isConflict` and `isRetryable` tell them apart.
|
package/dist/dynamodb/head.d.ts
CHANGED
|
@@ -25,6 +25,12 @@ export interface HeadAction {
|
|
|
25
25
|
* retention.
|
|
26
26
|
*/
|
|
27
27
|
export declare function headUpdate(entityId: string, first: bigint, last: bigint, ttl?: number): HeadAction;
|
|
28
|
+
/** The condition of a fence on a stream with no head: it still has none. */
|
|
29
|
+
export declare const FENCE_ABSENT_CONDITION = "attribute_not_exists(head)";
|
|
30
|
+
/** The condition of a fence on a stream with a head: it still equals the one observed. */
|
|
31
|
+
export declare const FENCE_CONDITION = "head = :head";
|
|
32
|
+
/** The `ConditionCheck` a transaction fences a stream it read at `head` with. */
|
|
33
|
+
export declare function headFence(entityId: string, head: bigint): HeadAction;
|
|
28
34
|
/**
|
|
29
35
|
* An action's size in the commit budget, by the rule for any update, delete or condition check:
|
|
30
36
|
* its key attributes plus its expression strings, name placeholders (the placeholder and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/dynamodb/head.ts"],"names":[],"mappings":"AAQA,4EAA4E;AAC5E,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAE7C,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;AAEjE,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,+BAA+B,CAAA;AAEjE,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AAEnD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,gEACoB,CAAA;AAE/D,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kEAAkE;IAClE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACzB,2DAA2D;IAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,CA0BZ;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAazD"}
|
|
1
|
+
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../src/dynamodb/head.ts"],"names":[],"mappings":"AAQA,4EAA4E;AAC5E,eAAO,MAAM,WAAW,qBAAqB,CAAA;AAE7C,iGAAiG;AACjG,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;AAEjE,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,+BAA+B,CAAA;AAEjE,gGAAgG;AAChG,eAAO,MAAM,qBAAqB,iBAAiB,CAAA;AAEnD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,gEACoB,CAAA;AAE/D,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,6DAA6D;IAC7D,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kEAAkE;IAClE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;IACzB,2DAA2D;IAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,CAAC,EAAE,MAAM,GACX,UAAU,CA0BZ;AAED,4EAA4E;AAC5E,eAAO,MAAM,sBAAsB,+BAA+B,CAAA;AAElE,0FAA0F;AAC1F,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAMpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAazD"}
|
package/dist/dynamodb/head.js
CHANGED
|
@@ -43,6 +43,17 @@ export function headUpdate(entityId, first, last, ttl) {
|
|
|
43
43
|
values,
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
|
+
/** The condition of a fence on a stream with no head: it still has none. */
|
|
47
|
+
export const FENCE_ABSENT_CONDITION = 'attribute_not_exists(head)';
|
|
48
|
+
/** The condition of a fence on a stream with a head: it still equals the one observed. */
|
|
49
|
+
export const FENCE_CONDITION = 'head = :head';
|
|
50
|
+
/** The `ConditionCheck` a transaction fences a stream it read at `head` with. */
|
|
51
|
+
export function headFence(entityId, head) {
|
|
52
|
+
const check = { entityId, updateExpression: null, names: [] };
|
|
53
|
+
return head === 0n
|
|
54
|
+
? { ...check, conditionExpression: FENCE_ABSENT_CONDITION, values: [] }
|
|
55
|
+
: { ...check, conditionExpression: FENCE_CONDITION, values: [[':head', head]] };
|
|
56
|
+
}
|
|
46
57
|
/**
|
|
47
58
|
* An action's size in the commit budget, by the rule for any update, delete or condition check:
|
|
48
59
|
* its key attributes plus its expression strings, name placeholders (the placeholder and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/dynamodb/head.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,4FAA4F;AAC5F,wFAAwF;AAExF,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAA;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAA;AACrC,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAEjD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAE7C,iGAAiG;AACjG,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAA;AAEjE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAA;AAEjE,gGAAgG;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAA;AAEnD,oFAAoF;AACpF,MAAM,CAAC,MAAM,8BAA8B,GACzC,6DAA6D,CAAA;AAc/D;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB,EAChB,KAAa,EACb,IAAY,EACZ,GAAY;IAEZ,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAuB,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IACpD,MAAM,KAAK,GAAuB,EAAE,CAAA;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3B,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,IAAI,mBAAmB,GAAG,qBAAqB,CAAA;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,mBAAmB;YACjB,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,8BAA8B,CAAA;IAC9E,CAAC;IAED,OAAO;QACL,QAAQ;QACR,gBAAgB,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB;QACxE,mBAAmB;QACnB,KAAK;QACL,MAAM;KACP,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAC,EAAE,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAC,EAAC,CAAC,CAAA;IACnF,IAAI,IAAI,GACN,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;IAE1F,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACpD,CAAC;IACD,KAAK,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;IAC5D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"head.js","sourceRoot":"","sources":["../../src/dynamodb/head.ts"],"names":[],"mappings":"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"}
|
package/dist/dynamodb/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { type ConditionCheckAction, type DeleteAction, type DynamoClient, type E
|
|
|
3
3
|
export { FEATURES_PK, REBUILD_LOCK_PK, manifestFromItem, markerItem } from './marker.js';
|
|
4
4
|
export { DynamoRepository, type DynamoRepositoryOptions } from './repository.js';
|
|
5
5
|
export { DYNAMODB_BACKEND, transactItemSize, viewProjector } from './views.js';
|
|
6
|
-
export { type CommitTtl, type SnapshotTtl, commitTransaction, snapshotTransaction, } from './requests.js';
|
|
6
|
+
export { type CommitTtl, type SnapshotTtl, commitTransaction, snapshotTransaction, transactionItems, } from './requests.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AACtF,OAAO,EAAC,gBAAgB,EAAE,KAAK,uBAAuB,EAAC,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAC5E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AACtF,OAAO,EAAC,gBAAgB,EAAE,KAAK,uBAAuB,EAAC,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAC5E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAA"}
|
package/dist/dynamodb/index.js
CHANGED
|
@@ -5,5 +5,5 @@ export {} from './client.js';
|
|
|
5
5
|
export { FEATURES_PK, REBUILD_LOCK_PK, manifestFromItem, markerItem } from './marker.js';
|
|
6
6
|
export { DynamoRepository } from './repository.js';
|
|
7
7
|
export { DYNAMODB_BACKEND, transactItemSize, viewProjector } from './views.js';
|
|
8
|
-
export { commitTransaction, snapshotTransaction, } from './requests.js';
|
|
8
|
+
export { commitTransaction, snapshotTransaction, transactionItems, } from './requests.js';
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,+FAA+F;AAE/F,OAAO,EAGL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,WAAW,CAAA;AAClB,OAAO,EAcN,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AACtF,OAAO,EAAC,gBAAgB,EAA+B,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAC5E,OAAO,EAGL,iBAAiB,EACjB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dynamodb/index.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,+FAA+F;AAE/F,OAAO,EAGL,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,WAAW,CAAA;AAClB,OAAO,EAcN,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AACtF,OAAO,EAAC,gBAAgB,EAA+B,MAAM,iBAAiB,CAAA;AAC9E,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAC5E,OAAO,EAGL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,eAAe,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SerializedEvent, SerializedSnapshot } from '../event.js';
|
|
2
|
-
import { type CallOptions, type Commit, type
|
|
2
|
+
import { type CallOptions, type Commit, type StoreInitializer, type TransactionCommit, type TransactionalRepository } from '../repository.js';
|
|
3
3
|
import type { DynamoClient } from './client.js';
|
|
4
4
|
/** How a {@link DynamoRepository} reads and initializes its store. */
|
|
5
5
|
export interface DynamoRepositoryOptions {
|
|
@@ -39,7 +39,7 @@ export interface DynamoRepositoryOptions {
|
|
|
39
39
|
* declares a feature, the next write fails, validates the manifest again, and either refuses an
|
|
40
40
|
* unsupported feature or fails once with a retryable {@link FeatureManifestChangedError}.
|
|
41
41
|
*/
|
|
42
|
-
export declare class DynamoRepository implements
|
|
42
|
+
export declare class DynamoRepository implements TransactionalRepository, StoreInitializer {
|
|
43
43
|
#private;
|
|
44
44
|
constructor(client: DynamoClient, eventsTable: string, options?: DynamoRepositoryOptions);
|
|
45
45
|
/** The events table this repository writes. */
|
|
@@ -51,6 +51,13 @@ export declare class DynamoRepository implements Repository, StoreInitializer {
|
|
|
51
51
|
*/
|
|
52
52
|
initialize(options?: CallOptions): Promise<boolean>;
|
|
53
53
|
commit(commit: Commit, options?: CallOptions): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Commits every stream and checks every fence in one `TransactWriteItems` call: the control
|
|
56
|
+
* checks, the projector operations, each written stream's actions, then a check on each fenced
|
|
57
|
+
* stream's head. A fence on a type this repository retains is refused before any request, and
|
|
58
|
+
* one on a type the store's manifest retains after the marker's validation.
|
|
59
|
+
*/
|
|
60
|
+
commitTransaction(transaction: TransactionCommit, options?: CallOptions): Promise<void>;
|
|
54
61
|
events(entityId: string, options?: CallOptions): Promise<SerializedEvent[]>;
|
|
55
62
|
eventsAfter(entityId: string, after: bigint, options?: CallOptions): Promise<SerializedEvent[]>;
|
|
56
63
|
latest(entityId: string, n: number, options?: CallOptions): Promise<SerializedEvent[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/dynamodb/repository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/dynamodb/repository.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAA;AASpE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,MAAM,EAEX,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAS7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAC,YAAY,EAAqC,MAAM,aAAa,CAAA;AAwBjF,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1E;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,MAAM,CAAA;CACrB;AAoBD;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,YAAW,uBAAuB,EAAE,gBAAgB;;IAgBhF,YAAY,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,EAO3F;IAED,+CAA+C;IAC/C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBxD;IAEK,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjE;IAED;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5F;IA4CK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAEhF;IAEK,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC,CAa5B;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAmB3F;IAEK,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAI1F;IAEK,WAAW,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAsEvF;IAEK,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA+C5F;CAunBF"}
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
// Pages, retries and the probe's reads each depend on the call before them, so they await in loops
|
|
9
9
|
// on purpose.
|
|
10
10
|
/* oxlint-disable no-await-in-loop */
|
|
11
|
-
import { CompactionUncoveredError, ConflictError, EvtError, FeatureManifestChangedError, HistoryDependentProjectionError, RebuildInProgressError, SequenceGapError, StoreNotInitializedError, StreamHeadDriftError, StreamHeadsNotMigratedError, TransientError, } from '../errors.js';
|
|
11
|
+
import { CompactionUncoveredError, ConflictError, EvtError, FeatureManifestChangedError, FenceConflictError, HistoryDependentProjectionError, RebuildInProgressError, SequenceGapError, StoreNotInitializedError, StreamHeadDriftError, StreamHeadsNotMigratedError, TransientError, } from '../errors.js';
|
|
12
12
|
import { STREAM_HEADS_FEATURE, STREAM_HEADS_VERSION, checkSupported, declaresStreamHeads, } from '../features.js';
|
|
13
13
|
import { int64Argument } from '../fields.js';
|
|
14
|
-
import { checkBudget,
|
|
14
|
+
import { checkBudget, checkFenceRetention, checkNotReserved, isReserved, normalizeTransaction, rankFailures, transactionSizes, validateCommit, } from '../repository.js';
|
|
15
15
|
import { HEAD_SORT_KEY, eventFromItem, expiry, headFromItem, snapshotFromItem, sortKey, ttlFromItem, } from './item.js';
|
|
16
16
|
import { FEATURES_PK, manifestFromItem, markerItem } from './marker.js';
|
|
17
17
|
import { DYNAMODB_BACKEND, transactItemSize } from './views.js';
|
|
18
|
-
import {
|
|
18
|
+
import { controlKey, headKey, projectorItems, buildTransaction, snapshotTransaction, } from './requests.js';
|
|
19
19
|
// A declaration is a read-modify-write; racing declarations retry this many times.
|
|
20
20
|
const MAX_DECLARE_ATTEMPTS = 8;
|
|
21
21
|
// Each page of a scan that only has to find one item.
|
|
@@ -95,27 +95,56 @@ export class DynamoRepository {
|
|
|
95
95
|
options?.signal?.throwIfAborted();
|
|
96
96
|
validateCommit(commit);
|
|
97
97
|
checkNotReserved(commit.entityId);
|
|
98
|
-
if (commit.events.length
|
|
99
|
-
|
|
98
|
+
if (commit.events.length > 0) {
|
|
99
|
+
await this.#write(normalizeTransaction({ streams: [commit] }), options);
|
|
100
100
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Commits every stream and checks every fence in one `TransactWriteItems` call: the control
|
|
104
|
+
* checks, the projector operations, each written stream's actions, then a check on each fenced
|
|
105
|
+
* stream's head. A fence on a type this repository retains is refused before any request, and
|
|
106
|
+
* one on a type the store's manifest retains after the marker's validation.
|
|
107
|
+
*/
|
|
108
|
+
async commitTransaction(transaction, options) {
|
|
109
|
+
options?.signal?.throwIfAborted();
|
|
110
|
+
const normalized = normalizeTransaction(transaction);
|
|
111
|
+
if (normalized.streams.length > 0 || normalized.fences.length > 0) {
|
|
112
|
+
await this.#write(normalized, options);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
async #write(transaction, options) {
|
|
116
|
+
// One `ttl` per entity type for the whole transaction, so a stream's head's is never below one
|
|
117
|
+
// of its own items.
|
|
118
|
+
const ttls = new Map();
|
|
119
|
+
const ttlFor = (entityType) => {
|
|
120
|
+
if (!ttls.has(entityType)) {
|
|
121
|
+
ttls.set(entityType, this.#ttlFor(entityType));
|
|
122
|
+
}
|
|
123
|
+
return ttls.get(entityType);
|
|
124
|
+
};
|
|
104
125
|
// Every backend budgets a commit the same way, so an oversized one fails before any request.
|
|
105
126
|
// The projector operations are sized from the actions this repository sends, which refuses a
|
|
106
127
|
// group for another backend here too.
|
|
107
|
-
const sizes = projectorItems(
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
128
|
+
const sizes = projectorItems(transaction.projections).map(transactItemSize);
|
|
129
|
+
const projections = [{ backend: DYNAMODB_BACKEND, operations: sizes, sizes }];
|
|
130
|
+
checkBudget(transactionSizes({ ...transaction, projections }, ttlFor));
|
|
131
|
+
// A fence on a type this repository retains needs no request to refuse.
|
|
132
|
+
checkFenceRetention(transaction, (entityType) => this.#retention.has(entityType));
|
|
111
133
|
const request = requestOptions(options);
|
|
112
134
|
const version = await this.#markerVersion(request);
|
|
113
|
-
|
|
135
|
+
if (transaction.fences.length > 0) {
|
|
136
|
+
// The store's manifest may retain a type this repository doesn't. The marker check holds it
|
|
137
|
+
// at the version read here, or fails the transaction.
|
|
138
|
+
const manifest = await this.#readManifest(request);
|
|
139
|
+
const retention = manifest?.retention ?? [];
|
|
140
|
+
checkFenceRetention(transaction, (entityType) => retention.includes(entityType));
|
|
141
|
+
}
|
|
142
|
+
const { items, layout } = buildTransaction(this.#table, transaction, version, (commit) => this.#commitTtl(commit, ttlFor(commit.events[0].entityType)));
|
|
114
143
|
try {
|
|
115
144
|
await this.#client.transactWriteItems({ TransactItems: items }, request);
|
|
116
145
|
}
|
|
117
146
|
catch (error) {
|
|
118
|
-
throw await this.#classifyCommit(
|
|
147
|
+
throw await this.#classifyCommit(layout, error, request);
|
|
119
148
|
}
|
|
120
149
|
}
|
|
121
150
|
async events(entityId, options) {
|
|
@@ -182,6 +211,9 @@ export class DynamoRepository {
|
|
|
182
211
|
if (codes?.some((code) => THROTTLED.has(code))) {
|
|
183
212
|
throw new TransientError('the snapshot write was throttled', { cause: error });
|
|
184
213
|
}
|
|
214
|
+
if (codes?.includes('TransactionConflict')) {
|
|
215
|
+
throw new TransientError(`transaction conflict on ${snapshot.entityId}: another writer was committing at the same time`, { cause: error });
|
|
216
|
+
}
|
|
185
217
|
throw error;
|
|
186
218
|
}
|
|
187
219
|
// The head guard failed. A refreshing guard can fail on its ttl clause alone, when another
|
|
@@ -363,15 +395,22 @@ export class DynamoRepository {
|
|
|
363
395
|
}
|
|
364
396
|
return new FeatureManifestChangedError({ cause });
|
|
365
397
|
}
|
|
366
|
-
|
|
398
|
+
// Maps a cancelled transaction to the error it reports. The control checks outrank everything.
|
|
399
|
+
// Then every failed stream and fence is classified, and the ranking reports the first drift, else
|
|
400
|
+
// the first gap, else the first other failure, in transaction order.
|
|
401
|
+
async #classifyCommit(layout, error, request) {
|
|
367
402
|
const codes = cancellationCodes(error);
|
|
368
403
|
if (codes === null) {
|
|
369
404
|
return error;
|
|
370
405
|
}
|
|
371
406
|
const failed = codes.indexOf(CONDITION_FAILED);
|
|
372
407
|
if (failed === -1) {
|
|
373
|
-
|
|
374
|
-
|
|
408
|
+
// Another transaction was writing one of the items, perhaps one this commit never changes
|
|
409
|
+
// (a control check): nothing was written and nothing is known to be stale, so it is
|
|
410
|
+
// transient, like throttling, and never a conflict, as in Go and Rust.
|
|
411
|
+
const colliding = codes.indexOf('TransactionConflict');
|
|
412
|
+
if (colliding !== -1) {
|
|
413
|
+
return new TransientError(`transaction conflict on ${entityAt(layout, colliding)}: another writer was committing at the same time`, { cause: error });
|
|
375
414
|
}
|
|
376
415
|
if (codes.some((code) => THROTTLED.has(code))) {
|
|
377
416
|
return new TransientError('the commit was throttled', { cause: error });
|
|
@@ -385,16 +424,42 @@ export class DynamoRepository {
|
|
|
385
424
|
if (codes[1] === CONDITION_FAILED) {
|
|
386
425
|
return new RebuildInProgressError();
|
|
387
426
|
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
427
|
+
const failures = [];
|
|
428
|
+
for (const stream of layout.streams) {
|
|
429
|
+
const failure = await this.#streamFailure(stream, codes, request);
|
|
430
|
+
if (failure !== null) {
|
|
431
|
+
failures.push(failure);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
for (const { index, fence } of layout.fences) {
|
|
435
|
+
if (codes[index] !== CONDITION_FAILED) {
|
|
436
|
+
continue;
|
|
437
|
+
}
|
|
438
|
+
const verdict = await this.#probe(fence.entityId, false, request);
|
|
439
|
+
failures.push(verdict.drift ?? new FenceConflictError(fence.entityId, fence.head, fence.provenance));
|
|
440
|
+
}
|
|
441
|
+
const ranked = rankFailures(failures);
|
|
442
|
+
if (ranked !== undefined) {
|
|
443
|
+
return ranked;
|
|
444
|
+
}
|
|
445
|
+
// Only a projector operation's condition failed: its own error, as Go reports it.
|
|
446
|
+
if (failed < layout.projectorEnd) {
|
|
447
|
+
return error;
|
|
448
|
+
}
|
|
449
|
+
return new ConflictError(entityAt(layout, failed), 'conditional check failed: the sequence or snapshot changed since it was read');
|
|
450
|
+
}
|
|
451
|
+
// What a written stream contributes to a failed transaction, or null when none of its actions
|
|
452
|
+
// failed. A failed head update is classified by the probe. A head update that passed while an
|
|
453
|
+
// event put failed is an event above the head, unless retention explains it. A failed snapshot
|
|
454
|
+
// put alone is an ordinary conflict.
|
|
455
|
+
async #streamFailure(stream, codes, request) {
|
|
456
|
+
const { commit } = stream;
|
|
394
457
|
const { entityId } = commit;
|
|
395
458
|
const first = commit.events[0].sequence;
|
|
396
459
|
const retained = this.#retention.has(commit.events[0].entityType);
|
|
397
|
-
|
|
460
|
+
const eventFailed = codes.slice(stream.head + 1, stream.eventsEnd).includes(CONDITION_FAILED);
|
|
461
|
+
const snapshotFailed = stream.snapshot !== null && codes[stream.snapshot] === CONDITION_FAILED;
|
|
462
|
+
if (codes[stream.head] === CONDITION_FAILED) {
|
|
398
463
|
const verdict = await this.#probe(entityId, retained, request);
|
|
399
464
|
if (verdict.drift) {
|
|
400
465
|
return verdict.drift;
|
|
@@ -402,24 +467,21 @@ export class DynamoRepository {
|
|
|
402
467
|
if (verdict.healthy && first > 1n && verdict.stored < first - 1n) {
|
|
403
468
|
return new SequenceGapError(entityId, verdict.stored, first);
|
|
404
469
|
}
|
|
470
|
+
return conflict(entityId);
|
|
405
471
|
}
|
|
406
|
-
|
|
407
|
-
//
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
-
//
|
|
411
|
-
// head its log derives; read them only if it didn't.
|
|
472
|
+
if (eventFailed && codes[stream.head] === 'None') {
|
|
473
|
+
// With retention, TTL can delete the head before an expired event, so a create passes its
|
|
474
|
+
// head condition and fails on the leftover item: a conflict until TTL deletes the rest. The
|
|
475
|
+
// probe already read the remaining items when it found the head item absent below the head
|
|
476
|
+
// its log derives; read them only if it didn't.
|
|
412
477
|
const verdict = await this.#probe(entityId, retained, request);
|
|
413
478
|
const expired = retained && (verdict.expired ?? (await this.#remainingItemsExpired(entityId, request)));
|
|
414
479
|
if (!expired) {
|
|
415
480
|
return verdict.drift ?? drift(entityId, verdict.head, verdict.derived);
|
|
416
481
|
}
|
|
482
|
+
return conflict(entityId);
|
|
417
483
|
}
|
|
418
|
-
|
|
419
|
-
if (failed < head && !codes.slice(head).includes(CONDITION_FAILED)) {
|
|
420
|
-
return error;
|
|
421
|
-
}
|
|
422
|
-
return new ConflictError(entityId, 'conditional check failed: the sequence or snapshot changed since it was read');
|
|
484
|
+
return eventFailed || snapshotFailed ? conflict(entityId) : null;
|
|
423
485
|
}
|
|
424
486
|
// Classifies a stream whose head update failed, as the failure-path probe does: a stored head
|
|
425
487
|
// below the head its log derives is drift, an equal one is healthy, and one above it is either a
|
|
@@ -695,6 +757,23 @@ export class DynamoRepository {
|
|
|
695
757
|
const CONDITION_FAILED = 'ConditionalCheckFailed';
|
|
696
758
|
// The cancellation reasons of a transaction DynamoDB throttled, which Go and Rust retry too.
|
|
697
759
|
const THROTTLED = new Set(['ThrottlingError', 'ProvisionedThroughputExceeded']);
|
|
760
|
+
function conflict(entityId) {
|
|
761
|
+
return new ConflictError(entityId, 'conditional check failed: the sequence or snapshot changed since it was read');
|
|
762
|
+
}
|
|
763
|
+
// The stream an action of a transaction belongs to, for a failure no stream check explains: the
|
|
764
|
+
// written or fenced stream at that index, or else the transaction's first.
|
|
765
|
+
function entityAt(layout, index) {
|
|
766
|
+
for (const stream of layout.streams) {
|
|
767
|
+
if (index >= stream.head && (index < stream.eventsEnd || index === stream.snapshot)) {
|
|
768
|
+
return stream.commit.entityId;
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
const fenced = layout.fences.find((each) => each.index === index);
|
|
772
|
+
if (fenced !== undefined) {
|
|
773
|
+
return fenced.fence.entityId;
|
|
774
|
+
}
|
|
775
|
+
return layout.streams[0]?.commit.entityId ?? layout.fences[0]?.fence.entityId ?? '';
|
|
776
|
+
}
|
|
698
777
|
function drift(entityId, head, derived) {
|
|
699
778
|
return new StreamHeadDriftError(entityId, head, derived);
|
|
700
779
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/dynamodb/repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/dynamodb/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SerializedSnapshot } from '../event.js';
|
|
2
|
-
import type { Commit } from '../repository.js';
|
|
2
|
+
import type { Commit, NormalizedTransaction, ProjectorGroup, ReadFence } from '../repository.js';
|
|
3
3
|
import type { TransactItem } from './client.js';
|
|
4
4
|
import { type Item } from './item.js';
|
|
5
5
|
/** The marker check of a writer that validated the manifest at version `:v`. */
|
|
@@ -53,16 +53,47 @@ export interface SnapshotTtl {
|
|
|
53
53
|
/**
|
|
54
54
|
* The actions of a commit with at least one event, in order, by a writer that validated the
|
|
55
55
|
* feature manifest at `markerVersion`. `ttl` is given only for a stream with retention. A projector
|
|
56
|
-
* group for any backend but DynamoDB is refused. Exported for the compatibility fixtures
|
|
57
|
-
* signature changes when commits span streams.
|
|
56
|
+
* group for any backend but DynamoDB is refused. Exported for the compatibility fixtures.
|
|
58
57
|
*/
|
|
59
58
|
export declare function commitTransaction(table: string, commit: Commit, markerVersion: bigint, ttl?: CommitTtl): TransactItem[];
|
|
59
|
+
/** Where each stream's and fence's actions sit in a transaction, to classify a cancellation. */
|
|
60
|
+
export interface TransactionLayout {
|
|
61
|
+
/** The index after the control checks and the projector operations. */
|
|
62
|
+
readonly projectorEnd: number;
|
|
63
|
+
readonly streams: readonly StreamLayout[];
|
|
64
|
+
readonly fences: readonly {
|
|
65
|
+
readonly index: number;
|
|
66
|
+
readonly fence: ReadFence;
|
|
67
|
+
}[];
|
|
68
|
+
}
|
|
69
|
+
/** A written stream's actions in a transaction. */
|
|
70
|
+
export interface StreamLayout {
|
|
71
|
+
readonly commit: Commit;
|
|
72
|
+
/** The head update's index. Its event puts follow it. */
|
|
73
|
+
readonly head: number;
|
|
74
|
+
/** The index after its last event put. */
|
|
75
|
+
readonly eventsEnd: number;
|
|
76
|
+
/** The snapshot put's index, when it writes one. */
|
|
77
|
+
readonly snapshot: number | null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The actions of a normalized transaction that writes or fences at least one stream, in order:
|
|
81
|
+
* the control checks, the projector operations in declaration order, every written stream's head
|
|
82
|
+
* update, event puts and snapshot put, then a check on every fenced stream's head. `ttl` gives a
|
|
83
|
+
* written stream's `ttl`s when it has retention. Exported for the compatibility fixtures.
|
|
84
|
+
*/
|
|
85
|
+
export declare function transactionItems(table: string, transaction: NormalizedTransaction, markerVersion: bigint, ttl: (commit: Commit) => CommitTtl | undefined): TransactItem[];
|
|
86
|
+
/** {@link transactionItems}, with where each stream's and fence's actions sit. */
|
|
87
|
+
export declare function buildTransaction(table: string, transaction: NormalizedTransaction, markerVersion: bigint, ttl: (commit: Commit) => CommitTtl | undefined): {
|
|
88
|
+
items: TransactItem[];
|
|
89
|
+
layout: TransactionLayout;
|
|
90
|
+
};
|
|
60
91
|
/**
|
|
61
92
|
* The actions of a snapshot written outside a commit: the marker check, the head guard, and the
|
|
62
93
|
* put, which never lowers the stored snapshot. It carries no rebuild-lock check. `ttl` is given
|
|
63
94
|
* only for a stream with retention. Exported for the compatibility fixtures.
|
|
64
95
|
*/
|
|
65
96
|
export declare function snapshotTransaction(table: string, snapshot: SerializedSnapshot, markerVersion: bigint, ttl?: SnapshotTtl): TransactItem[];
|
|
66
|
-
/** The DynamoDB actions of
|
|
67
|
-
export declare function projectorItems(
|
|
97
|
+
/** The DynamoDB actions of projector groups, in order. */
|
|
98
|
+
export declare function projectorItems(groups: readonly ProjectorGroup[]): TransactItem[];
|
|
68
99
|
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/dynamodb/requests.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/dynamodb/requests.ts"],"names":[],"mappings":"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"}
|