@photon-grove/evt 0.1.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/README.md +50 -9
- 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/index.d.ts +5 -1
- package/dist/dynamodb/index.d.ts.map +1 -1
- package/dist/dynamodb/index.js +7 -3
- package/dist/dynamodb/index.js.map +1 -1
- package/dist/dynamodb/item.d.ts +2 -0
- package/dist/dynamodb/item.d.ts.map +1 -1
- package/dist/dynamodb/item.js +5 -4
- package/dist/dynamodb/item.js.map +1 -1
- 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/errors.d.ts +96 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +103 -2
- package/dist/errors.js.map +1 -1
- 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/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/repository.d.ts +38 -2
- package/dist/memory/repository.d.ts.map +1 -1
- package/dist/memory/repository.js +95 -6
- package/dist/memory/repository.js.map +1 -1
- package/dist/repository.d.ts +30 -1
- package/dist/repository.d.ts.map +1 -1
- package/dist/repository.js +3 -4
- package/dist/repository.js.map +1 -1
- package/dist/store.d.ts +3 -3
- package/dist/store.js +3 -3
- package/package.json +12 -3
- package/src/dynamodb/client.ts +102 -0
- package/src/dynamodb/index.ts +26 -2
- package/src/dynamodb/item.ts +6 -4
- package/src/dynamodb/marker.ts +64 -0
- package/src/dynamodb/repository.ts +1030 -0
- package/src/dynamodb/requests.ts +256 -0
- package/src/errors.ts +153 -2
- package/src/features.ts +175 -0
- package/src/index.ts +24 -1
- package/src/memory/index.ts +9 -1
- package/src/memory/repository.ts +156 -6
- package/src/repository.ts +34 -6
- package/src/store.ts +3 -3
|
@@ -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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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -15,10 +15,21 @@
|
|
|
15
15
|
* - `commitTooLarge`: the commit is over the transaction budget. Nothing was written.
|
|
16
16
|
* - `compactionUncovered`: no snapshot covers the events compaction was asked to delete.
|
|
17
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.
|
|
18
29
|
* - `replay`: a stored event failed to upcast or decode while an aggregate loaded.
|
|
19
30
|
* - `snapshot`: a stored snapshot failed to decode while an aggregate loaded.
|
|
20
31
|
*/
|
|
21
|
-
export type EvtErrorCode = 'invalidJson' | 'invalidRecord' | 'invalidArgument' | 'invalidCommit' | 'conflict' | 'sequenceGap' | 'streamHeadDrift' | 'commitTooLarge' | 'compactionUncovered' | 'reservedEntityId' | 'replay' | 'snapshot';
|
|
32
|
+
export type EvtErrorCode = 'invalidJson' | 'invalidRecord' | 'invalidArgument' | 'invalidCommit' | 'conflict' | 'sequenceGap' | 'streamHeadDrift' | 'commitTooLarge' | 'compactionUncovered' | 'reservedEntityId' | 'unsupportedFeature' | 'streamHeadsNotMigrated' | 'storeNotInitialized' | 'featureManifestChanged' | 'transient' | 'rebuildInProgress' | 'historyDependentProjection' | 'replay' | 'snapshot';
|
|
22
33
|
export declare class EvtError extends Error {
|
|
23
34
|
readonly name: string;
|
|
24
35
|
readonly code: EvtErrorCode;
|
|
@@ -85,6 +96,86 @@ export declare class ReservedEntityIdError extends EvtError {
|
|
|
85
96
|
readonly entityId: string;
|
|
86
97
|
constructor(entityId: string);
|
|
87
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
|
+
}
|
|
88
179
|
/** A load failed closed on a stored event: an upcaster threw, or the payload didn't decode. */
|
|
89
180
|
export declare class ReplayError extends EvtError {
|
|
90
181
|
readonly name = "ReplayError";
|
|
@@ -104,7 +195,10 @@ export declare class SnapshotError extends EvtError {
|
|
|
104
195
|
}
|
|
105
196
|
/** Whether an error is an optimistic-concurrency conflict: a `conflict` or a `sequenceGap`. */
|
|
106
197
|
export declare function isConflict(error: unknown): boolean;
|
|
107
|
-
/**
|
|
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
|
+
*/
|
|
108
202
|
export declare function isRetryable(error: unknown): boolean;
|
|
109
203
|
/** An error's message, or the value itself as text. */
|
|
110
204
|
export declare function messageOf(error: unknown): string;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
CHANGED
|
@@ -98,6 +98,98 @@ export class ReservedEntityIdError extends EvtError {
|
|
|
98
98
|
this.entityId = entityId;
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* The store's feature manifest declares pairs this package doesn't model, so it refuses to write:
|
|
103
|
+
* a commit, a snapshot write, compaction or initialization. Nothing was written.
|
|
104
|
+
*/
|
|
105
|
+
export class UnsupportedFeatureError extends EvtError {
|
|
106
|
+
name = 'UnsupportedFeatureError';
|
|
107
|
+
code = 'unsupportedFeature';
|
|
108
|
+
/** Every unsupported pair, sorted by name. */
|
|
109
|
+
unsupported;
|
|
110
|
+
constructor(unsupported) {
|
|
111
|
+
const pairs = unsupported.map((pair) => `${pair.name}@${pair.version}`).join(', ');
|
|
112
|
+
super('unsupportedFeature', `store declares unsupported features (${pairs}); refusing to write`);
|
|
113
|
+
this.unsupported = unsupported;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The store holds data but its feature manifest doesn't declare stream-heads: its streams may have
|
|
118
|
+
* no head items, so a head-aware write could fail every stream. Migrate the store with every older
|
|
119
|
+
* writer stopped. Nothing was written.
|
|
120
|
+
*/
|
|
121
|
+
export class StreamHeadsNotMigratedError extends EvtError {
|
|
122
|
+
name = 'StreamHeadsNotMigratedError';
|
|
123
|
+
code = 'streamHeadsNotMigrated';
|
|
124
|
+
constructor() {
|
|
125
|
+
super('streamHeadsNotMigrated', 'store does not declare the stream-heads feature and holds data without per-stream head ' +
|
|
126
|
+
'items; migrate it before writing');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The store's feature manifest doesn't declare stream-heads, and this writer doesn't initialize a
|
|
131
|
+
* store itself (the DynamoDB default), so it refuses rather than scan the table to learn whether
|
|
132
|
+
* it's fresh. Initialize a fresh store once, at deploy time, or migrate one written before stream
|
|
133
|
+
* heads. Nothing was written.
|
|
134
|
+
*/
|
|
135
|
+
export class StoreNotInitializedError extends EvtError {
|
|
136
|
+
name = 'StoreNotInitializedError';
|
|
137
|
+
code = 'storeNotInitialized';
|
|
138
|
+
constructor() {
|
|
139
|
+
super('storeNotInitialized', 'store is not initialized: the feature manifest does not declare stream-heads; initialize ' +
|
|
140
|
+
'a fresh store, or migrate one written before stream heads, before writing');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Another writer changed the store's feature manifest after this one validated it, so the commit's
|
|
145
|
+
* marker check failed. The writer has validated the new manifest, which it supports. Retryable.
|
|
146
|
+
* Nothing was written.
|
|
147
|
+
*/
|
|
148
|
+
export class FeatureManifestChangedError extends EvtError {
|
|
149
|
+
name = 'FeatureManifestChangedError';
|
|
150
|
+
code = 'featureManifestChanged';
|
|
151
|
+
constructor(options) {
|
|
152
|
+
super('featureManifestChanged', 'feature manifest changed under this writer', options);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* The backend refused the write for now, such as a DynamoDB transaction cancelled for throttling.
|
|
157
|
+
* Retryable, after a backoff. Nothing was written. The backend's error is its cause.
|
|
158
|
+
*/
|
|
159
|
+
export class TransientError extends EvtError {
|
|
160
|
+
name = 'TransientError';
|
|
161
|
+
code = 'transient';
|
|
162
|
+
constructor(detail, options) {
|
|
163
|
+
super('transient', `transient failure: ${detail}`, options);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* A projection rebuild holds the store, or one was force-released and no rebuild has finished
|
|
168
|
+
* since, so every commit is refused. Retryable: the command can run again once the rebuild ends.
|
|
169
|
+
*/
|
|
170
|
+
export class RebuildInProgressError extends EvtError {
|
|
171
|
+
name = 'RebuildInProgressError';
|
|
172
|
+
code = 'rebuildInProgress';
|
|
173
|
+
constructor() {
|
|
174
|
+
super('rebuildInProgress', 'a projection rebuild is in progress');
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Compaction was refused because the store declares the entity's type history-dependent: its
|
|
179
|
+
* projectors' rebuild replays the events compaction would delete. Nothing was deleted.
|
|
180
|
+
*/
|
|
181
|
+
export class HistoryDependentProjectionError extends EvtError {
|
|
182
|
+
name = 'HistoryDependentProjectionError';
|
|
183
|
+
code = 'historyDependentProjection';
|
|
184
|
+
entityType;
|
|
185
|
+
entityId;
|
|
186
|
+
constructor(entityType, entityId) {
|
|
187
|
+
super('historyDependentProjection', `entity type ${entityType} is declared history-dependent; compaction would delete the ` +
|
|
188
|
+
`commits its rebuild replays (entity ${entityId})`);
|
|
189
|
+
this.entityType = entityType;
|
|
190
|
+
this.entityId = entityId;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
101
193
|
/** A load failed closed on a stored event: an upcaster threw, or the payload didn't decode. */
|
|
102
194
|
export class ReplayError extends EvtError {
|
|
103
195
|
name = 'ReplayError';
|
|
@@ -128,9 +220,18 @@ export class SnapshotError extends EvtError {
|
|
|
128
220
|
export function isConflict(error) {
|
|
129
221
|
return error instanceof EvtError && (error.code === 'conflict' || error.code === 'sequenceGap');
|
|
130
222
|
}
|
|
131
|
-
/**
|
|
223
|
+
/**
|
|
224
|
+
* Whether reloading and running the command again may succeed: after a conflict, while a rebuild
|
|
225
|
+
* holds the store, after the feature manifest changed under the writer, or after throttling.
|
|
226
|
+
*/
|
|
132
227
|
export function isRetryable(error) {
|
|
133
|
-
|
|
228
|
+
if (isConflict(error)) {
|
|
229
|
+
return true;
|
|
230
|
+
}
|
|
231
|
+
return (error instanceof EvtError &&
|
|
232
|
+
(error.code === 'rebuildInProgress' ||
|
|
233
|
+
error.code === 'featureManifestChanged' ||
|
|
234
|
+
error.code === 'transient'));
|
|
134
235
|
}
|
|
135
236
|
/** An error's message, or the value itself as text. */
|
|
136
237
|
export function messageOf(error) {
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,6FAA6F;AAC7F,uEAAuE;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|