@photon-grove/evt 0.0.0 → 0.1.1
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 +176 -0
- package/README.md +164 -1
- package/dist/aggregate.d.ts +83 -0
- package/dist/aggregate.d.ts.map +1 -0
- package/dist/aggregate.js +92 -0
- package/dist/aggregate.js.map +1 -0
- package/dist/base64.d.ts +8 -0
- package/dist/base64.d.ts.map +1 -0
- package/dist/base64.js +67 -0
- package/dist/base64.js.map +1 -0
- package/dist/codec.d.ts +56 -0
- package/dist/codec.d.ts.map +1 -0
- package/dist/codec.js +90 -0
- package/dist/codec.js.map +1 -0
- package/dist/commit-id.d.ts +3 -0
- package/dist/commit-id.d.ts.map +1 -0
- package/dist/commit-id.js +43 -0
- package/dist/commit-id.js.map +1 -0
- package/dist/dynamodb/client.d.ts +83 -0
- package/dist/dynamodb/client.d.ts.map +1 -0
- package/dist/dynamodb/client.js +6 -0
- package/dist/dynamodb/client.js.map +1 -0
- package/dist/dynamodb/head.d.ts +34 -0
- package/dist/dynamodb/head.d.ts.map +1 -0
- package/dist/dynamodb/head.js +62 -0
- package/dist/dynamodb/head.js.map +1 -0
- package/dist/dynamodb/index.d.ts +6 -0
- package/dist/dynamodb/index.d.ts.map +1 -0
- package/dist/dynamodb/index.js +8 -0
- package/dist/dynamodb/index.js.map +1 -0
- package/dist/dynamodb/item.d.ts +70 -0
- package/dist/dynamodb/item.d.ts.map +1 -0
- package/dist/dynamodb/item.js +264 -0
- package/dist/dynamodb/item.js.map +1 -0
- package/dist/dynamodb/marker.d.ts +11 -0
- package/dist/dynamodb/marker.d.ts.map +1 -0
- package/dist/dynamodb/marker.js +56 -0
- package/dist/dynamodb/marker.js.map +1 -0
- package/dist/dynamodb/repository.d.ts +61 -0
- package/dist/dynamodb/repository.d.ts.map +1 -0
- package/dist/dynamodb/repository.js +731 -0
- package/dist/dynamodb/repository.js.map +1 -0
- package/dist/dynamodb/requests.d.ts +65 -0
- package/dist/dynamodb/requests.d.ts.map +1 -0
- package/dist/dynamodb/requests.js +179 -0
- package/dist/dynamodb/requests.js.map +1 -0
- package/dist/envelope.d.ts +15 -0
- package/dist/envelope.d.ts.map +1 -0
- package/dist/envelope.js +59 -0
- package/dist/envelope.js.map +1 -0
- package/dist/errors.d.ts +205 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +240 -0
- package/dist/errors.js.map +1 -0
- package/dist/event.d.ts +47 -0
- package/dist/event.d.ts.map +1 -0
- package/dist/event.js +64 -0
- package/dist/event.js.map +1 -0
- package/dist/features.d.ts +55 -0
- package/dist/features.d.ts.map +1 -0
- package/dist/features.js +126 -0
- package/dist/features.js.map +1 -0
- package/dist/fields.d.ts +31 -0
- package/dist/fields.d.ts.map +1 -0
- package/dist/fields.js +105 -0
- package/dist/fields.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/json.d.ts +47 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +458 -0
- package/dist/json.js.map +1 -0
- package/dist/memory/index.d.ts +2 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +3 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/repository.d.ts +70 -0
- package/dist/memory/repository.d.ts.map +1 -0
- package/dist/memory/repository.js +308 -0
- package/dist/memory/repository.js.map +1 -0
- package/dist/metadata.d.ts +47 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +75 -0
- package/dist/metadata.js.map +1 -0
- package/dist/repository.d.ts +131 -0
- package/dist/repository.d.ts.map +1 -0
- package/dist/repository.js +130 -0
- package/dist/repository.js.map +1 -0
- package/dist/retry.d.ts +25 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +50 -0
- package/dist/retry.js.map +1 -0
- package/dist/snapshots.d.ts +21 -0
- package/dist/snapshots.d.ts.map +1 -0
- package/dist/snapshots.js +35 -0
- package/dist/snapshots.js.map +1 -0
- package/dist/store.d.ts +103 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +246 -0
- package/dist/store.js.map +1 -0
- package/dist/testing/equal.d.ts +22 -0
- package/dist/testing/equal.d.ts.map +1 -0
- package/dist/testing/equal.js +121 -0
- package/dist/testing/equal.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/scenario.d.ts +136 -0
- package/dist/testing/scenario.d.ts.map +1 -0
- package/dist/testing/scenario.js +307 -0
- package/dist/testing/scenario.js.map +1 -0
- package/dist/utf8.d.ts +17 -0
- package/dist/utf8.d.ts.map +1 -0
- package/dist/utf8.js +82 -0
- package/dist/utf8.js.map +1 -0
- package/package.json +58 -2
- package/src/aggregate.ts +196 -0
- package/src/base64.ts +80 -0
- package/src/codec.ts +139 -0
- package/src/commit-id.ts +50 -0
- package/src/dynamodb/client.ts +102 -0
- package/src/dynamodb/head.ts +93 -0
- package/src/dynamodb/index.ts +45 -0
- package/src/dynamodb/item.ts +334 -0
- package/src/dynamodb/marker.ts +64 -0
- package/src/dynamodb/repository.ts +1030 -0
- package/src/dynamodb/requests.ts +256 -0
- package/src/envelope.ts +67 -0
- package/src/errors.ts +365 -0
- package/src/event.ts +117 -0
- package/src/features.ts +175 -0
- package/src/fields.ts +134 -0
- package/src/globals.d.ts +39 -0
- package/src/index.ts +98 -0
- package/src/json.ts +546 -0
- package/src/memory/index.ts +11 -0
- package/src/memory/repository.ts +463 -0
- package/src/metadata.ts +120 -0
- package/src/repository.ts +275 -0
- package/src/retry.ts +74 -0
- package/src/snapshots.ts +42 -0
- package/src/store.ts +377 -0
- package/src/testing/equal.ts +146 -0
- package/src/testing/index.ts +14 -0
- package/src/testing/scenario.ts +406 -0
- package/src/utf8.ts +92 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/dynamodb/repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { SerializedSnapshot } from '../event.js';
|
|
2
|
+
import type { Commit } from '../repository.js';
|
|
3
|
+
import type { TransactItem } from './client.js';
|
|
4
|
+
import { type Item } from './item.js';
|
|
5
|
+
/** The marker check of a writer that validated the manifest at version `:v`. */
|
|
6
|
+
export declare const MARKER_CHECK_CONDITION = "attribute_not_exists(pk) OR version = :v";
|
|
7
|
+
/** The rebuild-lock check: no lock row, so the rebuild generation is settled. */
|
|
8
|
+
export declare const REBUILD_LOCK_CONDITION = "attribute_not_exists(pk)";
|
|
9
|
+
/** The condition of an event put: the sequence is new. */
|
|
10
|
+
export declare const EVENT_PUT_CONDITION = "attribute_not_exists(sk)";
|
|
11
|
+
/** The condition of a commit's first snapshot of a stream. */
|
|
12
|
+
export declare const FIRST_SNAPSHOT_CONDITION = "attribute_not_exists(seq)";
|
|
13
|
+
/** The condition of a commit's later snapshot: the stored one is the one before it. */
|
|
14
|
+
export declare const NEXT_SNAPSHOT_CONDITION = "seq = :seq";
|
|
15
|
+
/** A snapshot write's head guard: the head covers the snapshot. */
|
|
16
|
+
export declare const SNAPSHOT_GUARD_CONDITION = "head >= :new";
|
|
17
|
+
/** The guard of a snapshot of an empty stream (event sequence 0), which needs no head. */
|
|
18
|
+
export declare const SNAPSHOT_GUARD_EMPTY_CONDITION = "attribute_not_exists(head) OR head >= :new";
|
|
19
|
+
/** The update expression of a retained stream's snapshot guard: it refreshes the head's `ttl`. */
|
|
20
|
+
export declare const SNAPSHOT_GUARD_RETAINED_UPDATE = "SET #ttl = :t";
|
|
21
|
+
/** {@link SNAPSHOT_GUARD_CONDITION} with retention: the head's `ttl` is raised, never lowered. */
|
|
22
|
+
export declare const SNAPSHOT_GUARD_RETAINED_CONDITION = "head >= :new AND (attribute_not_exists(#ttl) OR #ttl <= :t)";
|
|
23
|
+
/** A snapshot write's put: it never lowers the stored snapshot's event sequence. */
|
|
24
|
+
export declare const SNAPSHOT_WRITE_CONDITION = "attribute_not_exists(eventSeq) OR eventSeq <= :new";
|
|
25
|
+
/** The key of a control row, or of a stream's snapshot. */
|
|
26
|
+
export declare function controlKey(pk: string): Item;
|
|
27
|
+
/** The key of a stream's head item. */
|
|
28
|
+
export declare function headKey(entityId: string): Item;
|
|
29
|
+
/** The marker check of a writer that validated the manifest at `version`. */
|
|
30
|
+
export declare function markerCheck(table: string, version: bigint): TransactItem;
|
|
31
|
+
/** The rebuild-lock check every commit carries second. */
|
|
32
|
+
export declare function rebuildLockCheck(table: string): TransactItem;
|
|
33
|
+
/** The `ttl`s of a commit to a stream with retention, in Unix seconds. */
|
|
34
|
+
export interface CommitTtl {
|
|
35
|
+
/** The commit's own `ttl`, which its event and snapshot items carry. */
|
|
36
|
+
items: number;
|
|
37
|
+
/**
|
|
38
|
+
* The head item's: the commit's own `ttl` on a create, and on an append the larger of it and
|
|
39
|
+
* the largest `ttl` the writer loaded for the stream, because the head's is never lowered.
|
|
40
|
+
*/
|
|
41
|
+
head: number;
|
|
42
|
+
}
|
|
43
|
+
/** The `ttl` of a snapshot written outside a commit, to a stream with retention. */
|
|
44
|
+
export interface SnapshotTtl {
|
|
45
|
+
/** The snapshot's `ttl`, in Unix seconds, stamped when it's written. */
|
|
46
|
+
ttl: number;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the head guard refreshes the head's `ttl` to at least the snapshot's. True unless the
|
|
49
|
+
* stored head's `ttl` is known to cover it already.
|
|
50
|
+
*/
|
|
51
|
+
refresh: boolean;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* The actions of a commit with at least one event, in order, by a writer that validated the
|
|
55
|
+
* feature manifest at `markerVersion`. `ttl` is given only for a stream with retention. Exported
|
|
56
|
+
* for the compatibility fixtures: its signature changes when commits span streams.
|
|
57
|
+
*/
|
|
58
|
+
export declare function commitTransaction(table: string, commit: Commit, markerVersion: bigint, ttl?: CommitTtl): TransactItem[];
|
|
59
|
+
/**
|
|
60
|
+
* The actions of a snapshot written outside a commit: the marker check, the head guard, and the
|
|
61
|
+
* put, which never lowers the stored snapshot. It carries no rebuild-lock check. `ttl` is given
|
|
62
|
+
* only for a stream with retention. Exported for the compatibility fixtures.
|
|
63
|
+
*/
|
|
64
|
+
export declare function snapshotTransaction(table: string, snapshot: SerializedSnapshot, markerVersion: bigint, ttl?: SnapshotTtl): TransactItem[];
|
|
65
|
+
//# sourceMappingURL=requests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/dynamodb/requests.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAkB,kBAAkB,EAAC,MAAM,aAAa,CAAA;AAEpE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAgB,KAAK,IAAI,EAA6C,MAAM,WAAW,CAAA;AAG9F,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,6CAA6C,CAAA;AAEhF,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,6BAA6B,CAAA;AAEhE,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AAE7D,8DAA8D;AAC9D,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AAEnE,uFAAuF;AACvF,eAAO,MAAM,uBAAuB,eAAe,CAAA;AAEnD,mEAAmE;AACnE,eAAO,MAAM,wBAAwB,iBAAiB,CAAA;AAEtD,0FAA0F;AAC1F,eAAO,MAAM,8BAA8B,+CAA+C,CAAA;AAE1F,kGAAkG;AAClG,eAAO,MAAM,8BAA8B,kBAAkB,CAAA;AAE7D,kGAAkG;AAClG,eAAO,MAAM,iCAAiC,gEACiB,CAAA;AAE/D,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,uDAAuD,CAAA;AAE5F,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CASxE;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAQ5D;AAED,0EAA0E;AAC1E,MAAM,WAAW,SAAS;IACxB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,GAAG,CAAC,EAAE,SAAS,GACd,YAAY,EAAE,CA2BhB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,MAAM,EACrB,GAAG,CAAC,EAAE,WAAW,GAChB,YAAY,EAAE,CAehB"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// The `TransactWriteItems` actions of a commit and of a snapshot write, built from the storage
|
|
2
|
+
// format alone (storage format, "Writes"). Every commit opens with the two control checks, the
|
|
3
|
+
// feature marker's and the rebuild lock's, then writes the stream: its head update, its event
|
|
4
|
+
// puts, and its snapshot put when it has one.
|
|
5
|
+
import { int64Argument, safeIntegerArgument } from '../fields.js';
|
|
6
|
+
import { headUpdate } from './head.js';
|
|
7
|
+
import { HEAD_SORT_KEY, SNAPSHOT_SORT_KEY, eventItem, snapshotItem } from './item.js';
|
|
8
|
+
import { FEATURES_PK, REBUILD_LOCK_PK } from './marker.js';
|
|
9
|
+
/** The marker check of a writer that validated the manifest at version `:v`. */
|
|
10
|
+
export const MARKER_CHECK_CONDITION = 'attribute_not_exists(pk) OR version = :v';
|
|
11
|
+
/** The rebuild-lock check: no lock row, so the rebuild generation is settled. */
|
|
12
|
+
export const REBUILD_LOCK_CONDITION = 'attribute_not_exists(pk)';
|
|
13
|
+
/** The condition of an event put: the sequence is new. */
|
|
14
|
+
export const EVENT_PUT_CONDITION = 'attribute_not_exists(sk)';
|
|
15
|
+
/** The condition of a commit's first snapshot of a stream. */
|
|
16
|
+
export const FIRST_SNAPSHOT_CONDITION = 'attribute_not_exists(seq)';
|
|
17
|
+
/** The condition of a commit's later snapshot: the stored one is the one before it. */
|
|
18
|
+
export const NEXT_SNAPSHOT_CONDITION = 'seq = :seq';
|
|
19
|
+
/** A snapshot write's head guard: the head covers the snapshot. */
|
|
20
|
+
export const SNAPSHOT_GUARD_CONDITION = 'head >= :new';
|
|
21
|
+
/** The guard of a snapshot of an empty stream (event sequence 0), which needs no head. */
|
|
22
|
+
export const SNAPSHOT_GUARD_EMPTY_CONDITION = 'attribute_not_exists(head) OR head >= :new';
|
|
23
|
+
/** The update expression of a retained stream's snapshot guard: it refreshes the head's `ttl`. */
|
|
24
|
+
export const SNAPSHOT_GUARD_RETAINED_UPDATE = 'SET #ttl = :t';
|
|
25
|
+
/** {@link SNAPSHOT_GUARD_CONDITION} with retention: the head's `ttl` is raised, never lowered. */
|
|
26
|
+
export const SNAPSHOT_GUARD_RETAINED_CONDITION = 'head >= :new AND (attribute_not_exists(#ttl) OR #ttl <= :t)';
|
|
27
|
+
/** A snapshot write's put: it never lowers the stored snapshot's event sequence. */
|
|
28
|
+
export const SNAPSHOT_WRITE_CONDITION = 'attribute_not_exists(eventSeq) OR eventSeq <= :new';
|
|
29
|
+
/** The key of a control row, or of a stream's snapshot. */
|
|
30
|
+
export function controlKey(pk) {
|
|
31
|
+
return { pk: { S: pk }, sk: { N: SNAPSHOT_SORT_KEY.toString() } };
|
|
32
|
+
}
|
|
33
|
+
/** The key of a stream's head item. */
|
|
34
|
+
export function headKey(entityId) {
|
|
35
|
+
return { pk: { S: entityId }, sk: { N: HEAD_SORT_KEY.toString() } };
|
|
36
|
+
}
|
|
37
|
+
/** The marker check of a writer that validated the manifest at `version`. */
|
|
38
|
+
export function markerCheck(table, version) {
|
|
39
|
+
return {
|
|
40
|
+
ConditionCheck: {
|
|
41
|
+
TableName: table,
|
|
42
|
+
Key: controlKey(FEATURES_PK),
|
|
43
|
+
ConditionExpression: MARKER_CHECK_CONDITION,
|
|
44
|
+
ExpressionAttributeValues: { ':v': number(version) },
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/** The rebuild-lock check every commit carries second. */
|
|
49
|
+
export function rebuildLockCheck(table) {
|
|
50
|
+
return {
|
|
51
|
+
ConditionCheck: {
|
|
52
|
+
TableName: table,
|
|
53
|
+
Key: controlKey(REBUILD_LOCK_PK),
|
|
54
|
+
ConditionExpression: REBUILD_LOCK_CONDITION,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The actions of a commit with at least one event, in order, by a writer that validated the
|
|
60
|
+
* feature manifest at `markerVersion`. `ttl` is given only for a stream with retention. Exported
|
|
61
|
+
* for the compatibility fixtures: its signature changes when commits span streams.
|
|
62
|
+
*/
|
|
63
|
+
export function commitTransaction(table, commit, markerVersion, ttl) {
|
|
64
|
+
const first = commit.events[0];
|
|
65
|
+
const last = commit.events.at(-1);
|
|
66
|
+
if (first === undefined || last === undefined) {
|
|
67
|
+
throw new RangeError('a commit transaction needs at least one event');
|
|
68
|
+
}
|
|
69
|
+
const items = [markerCheck(table, markerVersion), rebuildLockCheck(table)];
|
|
70
|
+
const head = headUpdate(commit.entityId, first.sequence, last.sequence, ttl?.head);
|
|
71
|
+
items.push(headUpdateItem(table, head));
|
|
72
|
+
for (const event of commit.events) {
|
|
73
|
+
items.push(eventPut(table, event, ttl?.items));
|
|
74
|
+
}
|
|
75
|
+
const snapshot = commit.snapshot;
|
|
76
|
+
if (snapshot) {
|
|
77
|
+
const stored = {
|
|
78
|
+
entityType: snapshot.entityType,
|
|
79
|
+
entityId: commit.entityId,
|
|
80
|
+
sequence: snapshot.sequence,
|
|
81
|
+
eventSequence: last.sequence,
|
|
82
|
+
payload: snapshot.payload,
|
|
83
|
+
};
|
|
84
|
+
items.push(commitSnapshotPut(table, stored, ttl?.items));
|
|
85
|
+
}
|
|
86
|
+
return items;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The actions of a snapshot written outside a commit: the marker check, the head guard, and the
|
|
90
|
+
* put, which never lowers the stored snapshot. It carries no rebuild-lock check. `ttl` is given
|
|
91
|
+
* only for a stream with retention. Exported for the compatibility fixtures.
|
|
92
|
+
*/
|
|
93
|
+
export function snapshotTransaction(table, snapshot, markerVersion, ttl) {
|
|
94
|
+
const eventSequence = int64Argument(snapshot.eventSequence, 'snapshot.eventSequence');
|
|
95
|
+
return [
|
|
96
|
+
markerCheck(table, markerVersion),
|
|
97
|
+
snapshotGuard(table, snapshot.entityId, eventSequence, ttl),
|
|
98
|
+
{
|
|
99
|
+
Put: {
|
|
100
|
+
TableName: table,
|
|
101
|
+
Item: snapshotItem(snapshot, ttl?.ttl),
|
|
102
|
+
ConditionExpression: SNAPSHOT_WRITE_CONDITION,
|
|
103
|
+
ExpressionAttributeValues: { ':new': number(eventSequence) },
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
}
|
|
108
|
+
// The head item's action in a snapshot write: a check that the head covers the snapshot, or, for a
|
|
109
|
+
// stream with retention, an update that also keeps the head's `ttl` at least the snapshot's. A
|
|
110
|
+
// snapshot of an empty stream may have no head item, so it's always a check: an update would
|
|
111
|
+
// create a head item without a head.
|
|
112
|
+
function snapshotGuard(table, entityId, eventSequence, ttl) {
|
|
113
|
+
const values = { ':new': number(eventSequence) };
|
|
114
|
+
if (eventSequence === 0n || ttl === undefined || !ttl.refresh) {
|
|
115
|
+
return {
|
|
116
|
+
ConditionCheck: {
|
|
117
|
+
TableName: table,
|
|
118
|
+
Key: headKey(entityId),
|
|
119
|
+
ConditionExpression: eventSequence === 0n ? SNAPSHOT_GUARD_EMPTY_CONDITION : SNAPSHOT_GUARD_CONDITION,
|
|
120
|
+
ExpressionAttributeValues: values,
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
values[':t'] = number(BigInt(safeIntegerArgument(ttl.ttl, 'ttl')));
|
|
125
|
+
return {
|
|
126
|
+
Update: {
|
|
127
|
+
TableName: table,
|
|
128
|
+
Key: headKey(entityId),
|
|
129
|
+
UpdateExpression: SNAPSHOT_GUARD_RETAINED_UPDATE,
|
|
130
|
+
ConditionExpression: SNAPSHOT_GUARD_RETAINED_CONDITION,
|
|
131
|
+
ExpressionAttributeNames: { '#ttl': 'ttl' },
|
|
132
|
+
ExpressionAttributeValues: values,
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
function headUpdateItem(table, action) {
|
|
137
|
+
const update = {
|
|
138
|
+
TableName: table,
|
|
139
|
+
Key: headKey(action.entityId),
|
|
140
|
+
UpdateExpression: action.updateExpression ?? '',
|
|
141
|
+
ConditionExpression: action.conditionExpression,
|
|
142
|
+
ExpressionAttributeValues: Object.fromEntries(action.values.map(([placeholder, value]) => [placeholder, number(value)])),
|
|
143
|
+
};
|
|
144
|
+
if (action.names.length > 0) {
|
|
145
|
+
update.ExpressionAttributeNames = Object.fromEntries(action.names);
|
|
146
|
+
}
|
|
147
|
+
return { Update: update };
|
|
148
|
+
}
|
|
149
|
+
function eventPut(table, event, ttl) {
|
|
150
|
+
return {
|
|
151
|
+
Put: { TableName: table, Item: eventItem(event, ttl), ConditionExpression: EVENT_PUT_CONDITION },
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
// A commit's snapshot follows the stored one: sequence 1 needs none, and a later one needs the
|
|
155
|
+
// one before it.
|
|
156
|
+
function commitSnapshotPut(table, snapshot, ttl) {
|
|
157
|
+
const sequence = int64Argument(snapshot.sequence, 'snapshot.sequence');
|
|
158
|
+
if (sequence <= 1n) {
|
|
159
|
+
return {
|
|
160
|
+
Put: {
|
|
161
|
+
TableName: table,
|
|
162
|
+
Item: snapshotItem(snapshot, ttl),
|
|
163
|
+
ConditionExpression: FIRST_SNAPSHOT_CONDITION,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
Put: {
|
|
169
|
+
TableName: table,
|
|
170
|
+
Item: snapshotItem(snapshot, ttl),
|
|
171
|
+
ConditionExpression: NEXT_SNAPSHOT_CONDITION,
|
|
172
|
+
ExpressionAttributeValues: { ':seq': number(sequence - 1n) },
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
function number(value) {
|
|
177
|
+
return { N: value.toString() };
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=requests.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/dynamodb/requests.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type SerializedEvent } from './event.js';
|
|
2
|
+
/** Encodes the envelope for an event, byte for byte as the Go publisher wrote it. */
|
|
3
|
+
export declare function encodeEnvelope(event: SerializedEvent, source: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Decodes the event from an envelope body: an SNS message, or an SQS body delivered raw. An event
|
|
6
|
+
* with no entity ID or event ID is refused.
|
|
7
|
+
*/
|
|
8
|
+
export declare function decodeEnvelope(body: string): SerializedEvent;
|
|
9
|
+
/**
|
|
10
|
+
* The message attributes the publisher set, all strings: `entityType` and `eventType`, then
|
|
11
|
+
* `commandId` and `traceparent` when they aren't empty, and `correlationId`, the command ID or
|
|
12
|
+
* else the traceparent.
|
|
13
|
+
*/
|
|
14
|
+
export declare function messageAttributes(event: SerializedEvent): Record<string, string>;
|
|
15
|
+
//# sourceMappingURL=envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,eAAe,EAA6B,MAAM,YAAY,CAAA;AAO3E,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAY7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAW5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBhF"}
|
package/dist/envelope.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// The stream envelope: the EventBridge-style message around each committed event, which consumers
|
|
2
|
+
// in every language unwrap. Go decodes it with projectors.StreamRecordFromEnvelope.
|
|
3
|
+
import { eventFromJson, encodeEvent } from './event.js';
|
|
4
|
+
import { DOCUMENT, invalid, objectOrNull } from './fields.js';
|
|
5
|
+
import { RawJson, parseJson, stringifyJson } from './json.js';
|
|
6
|
+
// Go's zero time.Time, which the publisher left in the time field.
|
|
7
|
+
const ZERO_TIME = '0001-01-01T00:00:00Z';
|
|
8
|
+
/** Encodes the envelope for an event, byte for byte as the Go publisher wrote it. */
|
|
9
|
+
export function encodeEnvelope(event, source) {
|
|
10
|
+
return stringifyJson({
|
|
11
|
+
version: '',
|
|
12
|
+
id: event.id,
|
|
13
|
+
'detail-type': event.type,
|
|
14
|
+
source,
|
|
15
|
+
account: '',
|
|
16
|
+
time: ZERO_TIME,
|
|
17
|
+
region: '',
|
|
18
|
+
resources: null,
|
|
19
|
+
detail: new RawJson(encodeEvent(event)),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Decodes the event from an envelope body: an SNS message, or an SQS body delivered raw. An event
|
|
24
|
+
* with no entity ID or event ID is refused.
|
|
25
|
+
*/
|
|
26
|
+
export function decodeEnvelope(body) {
|
|
27
|
+
const envelope = objectOrNull(parseJson(body, DOCUMENT), 'envelope') ?? new Map();
|
|
28
|
+
const event = eventFromJson(objectOrNull(envelope.get('detail'), 'envelope.detail'));
|
|
29
|
+
if (event.entityId === '') {
|
|
30
|
+
throw invalid('event envelope has no entity id');
|
|
31
|
+
}
|
|
32
|
+
if (event.id === '') {
|
|
33
|
+
throw invalid('event envelope has no event id');
|
|
34
|
+
}
|
|
35
|
+
return event;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The message attributes the publisher set, all strings: `entityType` and `eventType`, then
|
|
39
|
+
* `commandId` and `traceparent` when they aren't empty, and `correlationId`, the command ID or
|
|
40
|
+
* else the traceparent.
|
|
41
|
+
*/
|
|
42
|
+
export function messageAttributes(event) {
|
|
43
|
+
const attributes = {
|
|
44
|
+
entityType: event.entityType,
|
|
45
|
+
eventType: event.type,
|
|
46
|
+
};
|
|
47
|
+
const commandId = event.metadata.commandId;
|
|
48
|
+
if (commandId !== null && commandId !== '') {
|
|
49
|
+
attributes['commandId'] = commandId;
|
|
50
|
+
attributes['correlationId'] = commandId;
|
|
51
|
+
}
|
|
52
|
+
const traceparent = event.metadata.trace?.get('traceparent');
|
|
53
|
+
if (traceparent !== undefined && traceparent !== '') {
|
|
54
|
+
attributes['traceparent'] = traceparent;
|
|
55
|
+
attributes['correlationId'] ??= traceparent;
|
|
56
|
+
}
|
|
57
|
+
return attributes;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,oFAAoF;AAEpF,OAAO,EAAuB,aAAa,EAAE,WAAW,EAAC,MAAM,YAAY,CAAA;AAC3E,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,WAAW,CAAA;AAE3D,mEAAmE;AACnE,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAExC,qFAAqF;AACrF,MAAM,UAAU,cAAc,CAAC,KAAsB,EAAE,MAAc;IACnE,OAAO,aAAa,CAAC;QACnB,OAAO,EAAE,EAAE;QACX,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,aAAa,EAAE,KAAK,CAAC,IAAI;QACzB,MAAM;QACN,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACxC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;IACjF,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACpF,IAAI,KAAK,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,OAAO,CAAC,iCAAiC,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,OAAO,CAAC,gCAAgC,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,UAAU,GAA2B;QACzC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAA;IAC1C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAC3C,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;QACnC,UAAU,CAAC,eAAe,CAAC,GAAG,SAAS,CAAA;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAAA;IAC5D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;QACpD,UAAU,CAAC,aAAa,CAAC,GAAG,WAAW,CAAA;QACvC,UAAU,CAAC,eAAe,CAAC,KAAK,WAAW,CAAA;IAC7C,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What went wrong:
|
|
3
|
+
*
|
|
4
|
+
* - `invalidJson`: text that isn't JSON.
|
|
5
|
+
* - `invalidRecord`: a stored record (an event, a snapshot, an item) with the wrong shape.
|
|
6
|
+
* - `invalidArgument`: a value evt can't write, such as a float that isn't finite or an object
|
|
7
|
+
* whose key order the engine has already changed, or a read with a bad argument, such as
|
|
8
|
+
* `latest(0)`.
|
|
9
|
+
* - `invalidCommit`: a commit built wrong, such as one with another entity's event. Nothing was
|
|
10
|
+
* written.
|
|
11
|
+
* - `conflict`: optimistic concurrency failed. Another writer committed since the stream was
|
|
12
|
+
* read. Reload and run the command again.
|
|
13
|
+
* - `sequenceGap`: a commit or a load skips a sequence. A conflict.
|
|
14
|
+
* - `streamHeadDrift`: a stream's head disagrees with its events or snapshot. Never retried.
|
|
15
|
+
* - `commitTooLarge`: the commit is over the transaction budget. Nothing was written.
|
|
16
|
+
* - `compactionUncovered`: no snapshot covers the events compaction was asked to delete.
|
|
17
|
+
* - `reservedEntityId`: a write to an entity ID in a namespace only the engine writes.
|
|
18
|
+
* - `unsupportedFeature`: the store declares a feature this package doesn't model. Nothing was
|
|
19
|
+
* written.
|
|
20
|
+
* - `streamHeadsNotMigrated`: the store holds data but doesn't declare stream-heads. Nothing was
|
|
21
|
+
* written.
|
|
22
|
+
* - `storeNotInitialized`: the store doesn't declare stream-heads, and the writer doesn't
|
|
23
|
+
* initialize a store itself. Nothing was written.
|
|
24
|
+
* - `featureManifestChanged`: another writer changed the store's feature manifest since this one
|
|
25
|
+
* validated it. Retryable: the writer validates it again.
|
|
26
|
+
* - `transient`: the backend throttled the write. Retryable. Nothing was written.
|
|
27
|
+
* - `rebuildInProgress`: a projection rebuild holds the store, so commits wait. Retryable.
|
|
28
|
+
* - `historyDependentProjection`: compaction was refused for a history-dependent entity type.
|
|
29
|
+
* - `replay`: a stored event failed to upcast or decode while an aggregate loaded.
|
|
30
|
+
* - `snapshot`: a stored snapshot failed to decode while an aggregate loaded.
|
|
31
|
+
*/
|
|
32
|
+
export type EvtErrorCode = 'invalidJson' | 'invalidRecord' | 'invalidArgument' | 'invalidCommit' | 'conflict' | 'sequenceGap' | 'streamHeadDrift' | 'commitTooLarge' | 'compactionUncovered' | 'reservedEntityId' | 'unsupportedFeature' | 'streamHeadsNotMigrated' | 'storeNotInitialized' | 'featureManifestChanged' | 'transient' | 'rebuildInProgress' | 'historyDependentProjection' | 'replay' | 'snapshot';
|
|
33
|
+
export declare class EvtError extends Error {
|
|
34
|
+
readonly name: string;
|
|
35
|
+
readonly code: EvtErrorCode;
|
|
36
|
+
constructor(code: EvtErrorCode, message: string, options?: {
|
|
37
|
+
cause?: unknown;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/** Optimistic concurrency failed on a written stream: its sequence or snapshot moved. */
|
|
41
|
+
export declare class ConflictError extends EvtError {
|
|
42
|
+
readonly name = "ConflictError";
|
|
43
|
+
readonly code = "conflict";
|
|
44
|
+
readonly entityId: string;
|
|
45
|
+
constructor(entityId: string, detail: string);
|
|
46
|
+
}
|
|
47
|
+
/** A commit's first event skips past the stream's head, or a load found a hole. A conflict. */
|
|
48
|
+
export declare class SequenceGapError extends EvtError {
|
|
49
|
+
readonly name = "SequenceGapError";
|
|
50
|
+
readonly code = "sequenceGap";
|
|
51
|
+
readonly entityId: string;
|
|
52
|
+
/** The last sequence before the gap. */
|
|
53
|
+
readonly after: bigint;
|
|
54
|
+
/** The sequence found next, which isn't `after + 1`. */
|
|
55
|
+
readonly found: bigint;
|
|
56
|
+
constructor(entityId: string, after: bigint, found: bigint);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A stream's head disagrees with its events or snapshot (ADR 0007): a writer appended without
|
|
60
|
+
* raising the head, events were deleted, a snapshot is ahead of the head, or a stream has data and
|
|
61
|
+
* no head. It isn't retryable: running the command again fails the same way. Repair is offline.
|
|
62
|
+
*/
|
|
63
|
+
export declare class StreamHeadDriftError extends EvtError {
|
|
64
|
+
readonly name = "StreamHeadDriftError";
|
|
65
|
+
readonly code = "streamHeadDrift";
|
|
66
|
+
readonly entityId: string;
|
|
67
|
+
/** The stored head, or null when the stream has no head. */
|
|
68
|
+
readonly stored: bigint | null;
|
|
69
|
+
/** The head its events and snapshot imply: the higher of the two. */
|
|
70
|
+
readonly derived: bigint;
|
|
71
|
+
constructor(entityId: string, stored: bigint | null, derived: bigint);
|
|
72
|
+
}
|
|
73
|
+
/** The commit is over the transaction budget: too many actions, bytes, or bytes in one item. */
|
|
74
|
+
export declare class CommitTooLargeError extends EvtError {
|
|
75
|
+
readonly name = "CommitTooLargeError";
|
|
76
|
+
readonly code = "commitTooLarge";
|
|
77
|
+
readonly actions: number;
|
|
78
|
+
readonly bytes: number;
|
|
79
|
+
readonly largestItem: number;
|
|
80
|
+
constructor(actions: number, bytes: number, largestItem: number);
|
|
81
|
+
}
|
|
82
|
+
/** Compaction was refused because no snapshot covers the events it would delete. */
|
|
83
|
+
export declare class CompactionUncoveredError extends EvtError {
|
|
84
|
+
readonly name = "CompactionUncoveredError";
|
|
85
|
+
readonly code = "compactionUncovered";
|
|
86
|
+
readonly entityId: string;
|
|
87
|
+
readonly through: bigint;
|
|
88
|
+
/** The event sequence the stored snapshot covers, or null with no snapshot. */
|
|
89
|
+
readonly covered: bigint | null;
|
|
90
|
+
constructor(entityId: string, through: bigint, covered: bigint | null);
|
|
91
|
+
}
|
|
92
|
+
/** A write to an entity ID in a reserved namespace (`SYSTEM#`, `command-outcome#`). */
|
|
93
|
+
export declare class ReservedEntityIdError extends EvtError {
|
|
94
|
+
readonly name = "ReservedEntityIdError";
|
|
95
|
+
readonly code = "reservedEntityId";
|
|
96
|
+
readonly entityId: string;
|
|
97
|
+
constructor(entityId: string);
|
|
98
|
+
}
|
|
99
|
+
/** A feature and one of its stored-format versions. */
|
|
100
|
+
export interface FeaturePair {
|
|
101
|
+
readonly name: string;
|
|
102
|
+
readonly version: number;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The store's feature manifest declares pairs this package doesn't model, so it refuses to write:
|
|
106
|
+
* a commit, a snapshot write, compaction or initialization. Nothing was written.
|
|
107
|
+
*/
|
|
108
|
+
export declare class UnsupportedFeatureError extends EvtError {
|
|
109
|
+
readonly name = "UnsupportedFeatureError";
|
|
110
|
+
readonly code = "unsupportedFeature";
|
|
111
|
+
/** Every unsupported pair, sorted by name. */
|
|
112
|
+
readonly unsupported: readonly FeaturePair[];
|
|
113
|
+
constructor(unsupported: readonly FeaturePair[]);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The store holds data but its feature manifest doesn't declare stream-heads: its streams may have
|
|
117
|
+
* no head items, so a head-aware write could fail every stream. Migrate the store with every older
|
|
118
|
+
* writer stopped. Nothing was written.
|
|
119
|
+
*/
|
|
120
|
+
export declare class StreamHeadsNotMigratedError extends EvtError {
|
|
121
|
+
readonly name = "StreamHeadsNotMigratedError";
|
|
122
|
+
readonly code = "streamHeadsNotMigrated";
|
|
123
|
+
constructor();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* The store's feature manifest doesn't declare stream-heads, and this writer doesn't initialize a
|
|
127
|
+
* store itself (the DynamoDB default), so it refuses rather than scan the table to learn whether
|
|
128
|
+
* it's fresh. Initialize a fresh store once, at deploy time, or migrate one written before stream
|
|
129
|
+
* heads. Nothing was written.
|
|
130
|
+
*/
|
|
131
|
+
export declare class StoreNotInitializedError extends EvtError {
|
|
132
|
+
readonly name = "StoreNotInitializedError";
|
|
133
|
+
readonly code = "storeNotInitialized";
|
|
134
|
+
constructor();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Another writer changed the store's feature manifest after this one validated it, so the commit's
|
|
138
|
+
* marker check failed. The writer has validated the new manifest, which it supports. Retryable.
|
|
139
|
+
* Nothing was written.
|
|
140
|
+
*/
|
|
141
|
+
export declare class FeatureManifestChangedError extends EvtError {
|
|
142
|
+
readonly name = "FeatureManifestChangedError";
|
|
143
|
+
readonly code = "featureManifestChanged";
|
|
144
|
+
constructor(options?: {
|
|
145
|
+
cause?: unknown;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* The backend refused the write for now, such as a DynamoDB transaction cancelled for throttling.
|
|
150
|
+
* Retryable, after a backoff. Nothing was written. The backend's error is its cause.
|
|
151
|
+
*/
|
|
152
|
+
export declare class TransientError extends EvtError {
|
|
153
|
+
readonly name = "TransientError";
|
|
154
|
+
readonly code = "transient";
|
|
155
|
+
constructor(detail: string, options?: {
|
|
156
|
+
cause?: unknown;
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* A projection rebuild holds the store, or one was force-released and no rebuild has finished
|
|
161
|
+
* since, so every commit is refused. Retryable: the command can run again once the rebuild ends.
|
|
162
|
+
*/
|
|
163
|
+
export declare class RebuildInProgressError extends EvtError {
|
|
164
|
+
readonly name = "RebuildInProgressError";
|
|
165
|
+
readonly code = "rebuildInProgress";
|
|
166
|
+
constructor();
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Compaction was refused because the store declares the entity's type history-dependent: its
|
|
170
|
+
* projectors' rebuild replays the events compaction would delete. Nothing was deleted.
|
|
171
|
+
*/
|
|
172
|
+
export declare class HistoryDependentProjectionError extends EvtError {
|
|
173
|
+
readonly name = "HistoryDependentProjectionError";
|
|
174
|
+
readonly code = "historyDependentProjection";
|
|
175
|
+
readonly entityType: string;
|
|
176
|
+
readonly entityId: string;
|
|
177
|
+
constructor(entityType: string, entityId: string);
|
|
178
|
+
}
|
|
179
|
+
/** A load failed closed on a stored event: an upcaster threw, or the payload didn't decode. */
|
|
180
|
+
export declare class ReplayError extends EvtError {
|
|
181
|
+
readonly name = "ReplayError";
|
|
182
|
+
readonly code = "replay";
|
|
183
|
+
readonly eventType: string;
|
|
184
|
+
/** The stored version, or the version an earlier upcaster produced. */
|
|
185
|
+
readonly version: number;
|
|
186
|
+
readonly phase: 'upcast' | 'decode';
|
|
187
|
+
constructor(eventType: string, version: number, phase: 'upcast' | 'decode', detail: string, cause?: unknown);
|
|
188
|
+
}
|
|
189
|
+
/** A load found a stored snapshot whose payload the aggregate's state codec doesn't decode. */
|
|
190
|
+
export declare class SnapshotError extends EvtError {
|
|
191
|
+
readonly name = "SnapshotError";
|
|
192
|
+
readonly code = "snapshot";
|
|
193
|
+
readonly entityId: string;
|
|
194
|
+
constructor(entityId: string, cause: unknown);
|
|
195
|
+
}
|
|
196
|
+
/** Whether an error is an optimistic-concurrency conflict: a `conflict` or a `sequenceGap`. */
|
|
197
|
+
export declare function isConflict(error: unknown): boolean;
|
|
198
|
+
/**
|
|
199
|
+
* Whether reloading and running the command again may succeed: after a conflict, while a rebuild
|
|
200
|
+
* holds the store, after the feature manifest changed under the writer, or after throttling.
|
|
201
|
+
*/
|
|
202
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
203
|
+
/** An error's message, or the value itself as text. */
|
|
204
|
+
export declare function messageOf(error: unknown): string;
|
|
205
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|