effect-dynamodb 1.27.0 → 1.29.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/dist/Batch.d.ts.map +1 -1
- package/dist/Batch.js +3 -2
- package/dist/Batch.js.map +1 -1
- package/dist/Entity.d.ts +24 -1
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +33 -17
- package/dist/Entity.js.map +1 -1
- package/dist/EventStore.d.ts +66 -5
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +100 -2
- package/dist/EventStore.js.map +1 -1
- package/dist/Transaction.d.ts.map +1 -1
- package/dist/Transaction.js +5 -2
- package/dist/Transaction.js.map +1 -1
- package/dist/change-feed/ChangeFeed.d.ts +203 -0
- package/dist/change-feed/ChangeFeed.d.ts.map +1 -0
- package/dist/change-feed/ChangeFeed.js +498 -0
- package/dist/change-feed/ChangeFeed.js.map +1 -0
- package/dist/change-feed/CheckpointStore.d.ts +113 -0
- package/dist/change-feed/CheckpointStore.d.ts.map +1 -0
- package/dist/change-feed/CheckpointStore.js +247 -0
- package/dist/change-feed/CheckpointStore.js.map +1 -0
- package/dist/change-feed/DynamoStreamsClient.d.ts +71 -0
- package/dist/change-feed/DynamoStreamsClient.d.ts.map +1 -0
- package/dist/change-feed/DynamoStreamsClient.js +92 -0
- package/dist/change-feed/DynamoStreamsClient.js.map +1 -0
- package/dist/change-feed/Errors.d.ts +84 -0
- package/dist/change-feed/Errors.d.ts.map +1 -0
- package/dist/change-feed/Errors.js +40 -0
- package/dist/change-feed/Errors.js.map +1 -0
- package/dist/change-feed/index.d.ts +36 -0
- package/dist/change-feed/index.d.ts.map +1 -0
- package/dist/change-feed/index.js +36 -0
- package/dist/change-feed/index.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/EntityOps.d.ts +7 -2
- package/dist/internal/EntityOps.d.ts.map +1 -1
- package/dist/internal/EntityOps.js.map +1 -1
- package/dist/internal/EventProjection.d.ts +782 -0
- package/dist/internal/EventProjection.d.ts.map +1 -0
- package/dist/internal/EventProjection.js +608 -0
- package/dist/internal/EventProjection.js.map +1 -0
- package/dist/internal/MultiProjection.d.ts +255 -0
- package/dist/internal/MultiProjection.d.ts.map +1 -0
- package/dist/internal/MultiProjection.js +377 -0
- package/dist/internal/MultiProjection.js.map +1 -0
- package/dist/internal/ProjectionEngine.d.ts +253 -0
- package/dist/internal/ProjectionEngine.d.ts.map +1 -0
- package/dist/internal/ProjectionEngine.js +837 -0
- package/dist/internal/ProjectionEngine.js.map +1 -0
- package/dist/internal/TransactWriteOps.d.ts.map +1 -1
- package/dist/internal/TransactWriteOps.js +12 -3
- package/dist/internal/TransactWriteOps.js.map +1 -1
- package/dist/internal/TransactableOps.d.ts +44 -1
- package/dist/internal/TransactableOps.d.ts.map +1 -1
- package/dist/internal/TransactableOps.js +52 -2
- package/dist/internal/TransactableOps.js.map +1 -1
- package/package.json +14 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventProjection.js","sourceRoot":"","sources":["../../src/internal/EventProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-source projections (#153): read-model rows that several streams
|
|
3
|
+
* contribute to, with a checkpoint per source instance, gap-filling per
|
|
4
|
+
* instance, and one write per row guarded by the row's revision.
|
|
5
|
+
*
|
|
6
|
+
* Re-exported from `EventStore`; built on `ProjectionEngine`.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import type { ConcurrentModification, ProjectionSourceConflict, StreamRecordIdentifierMissing, ValidationError } from "@effect-dynamodb/schema/Errors.js";
|
|
11
|
+
import { Duration, Effect, Option, Pipeable, type Schedule } from "effect";
|
|
12
|
+
import type { DynamoClient, DynamoClientError } from "../DynamoClient.js";
|
|
13
|
+
import type { EventStream, StreamEvent, StreamIdInput, StreamMetadata } from "../EventStore.js";
|
|
14
|
+
import type { TableConfig } from "../Table.js";
|
|
15
|
+
import { type ApplyBatchOptions, type CheckpointField, type IdentifyBySource, type IdentifyWith, type ProcessBatchOptions, type ProjectionKey, type ProjectionOutboxConfig, type ProjectionReadModel, type ProjectionReadModelError, type ProjectionRevision, ProjectionRoutes, type ProjectionState, type Route, type StreamRecord } from "./EventProjection.js";
|
|
16
|
+
import { type DrainResult, type EvolveContext, instanceKey, type OutboxMeta, type RemoveRow } from "./ProjectionEngine.js";
|
|
17
|
+
type AnyStream = EventStream<any, any, any, any, any, any, any>;
|
|
18
|
+
type EventOfStream<St> = St extends EventStream<infer A, any, infer M, any, any, any, any> ? StreamEvent<A, StreamMetadata<M>> : never;
|
|
19
|
+
type IdOfStream<St> = St extends EventStream<any, infer F, any, any, any, any, any> ? StreamIdInput<F> : never;
|
|
20
|
+
declare const MultiSourceTypeId: unique symbol;
|
|
21
|
+
/** One source of a multi-source projection — built with the `source` helper. */
|
|
22
|
+
export interface MultiSource<St extends AnyStream, K, S, E, R> {
|
|
23
|
+
readonly [MultiSourceTypeId]: {
|
|
24
|
+
readonly _St: St;
|
|
25
|
+
readonly _E: E;
|
|
26
|
+
readonly _R: R;
|
|
27
|
+
};
|
|
28
|
+
readonly stream: St;
|
|
29
|
+
key(streamId: IdOfStream<St>, event: EventOfStream<St>): K | Option.Option<K>;
|
|
30
|
+
evolve(state: S, event: EventOfStream<St>, context: EvolveContext): Effect.Effect<S | RemoveRow, E, R>;
|
|
31
|
+
readonly mode: "fold" | "latest";
|
|
32
|
+
terminal(error: E): boolean;
|
|
33
|
+
}
|
|
34
|
+
/** A source's configuration. */
|
|
35
|
+
export interface MultiSourceConfig<St extends AnyStream, K, S, E, R> {
|
|
36
|
+
/** The row an event contributes to — `Option.none()`: none. */
|
|
37
|
+
readonly key: (streamId: IdOfStream<St>, event: EventOfStream<St>) => K | Option.Option<K>;
|
|
38
|
+
/**
|
|
39
|
+
* Fold one event into the row's state (the whole row: every source's part).
|
|
40
|
+
* Sources interleave in any order across writes, so a source's `evolve` must
|
|
41
|
+
* not depend on another's having run first. Return `EventStore.removeRow` to
|
|
42
|
+
* remove the row (with `removal`).
|
|
43
|
+
*/
|
|
44
|
+
readonly evolve: (state: S, event: EventOfStream<St>, context: EvolveContext) => Effect.Effect<S | RemoveRow, E, R>;
|
|
45
|
+
/**
|
|
46
|
+
* `"fold"` (default): every event, in version order, gaps filled from the
|
|
47
|
+
* store — for contributions that change a few fields (deltas). `"latest"`:
|
|
48
|
+
* only the newest event of each instance in a batch (the rest are
|
|
49
|
+
* `superseded`), nothing read — for events that carry the source's whole
|
|
50
|
+
* part. The mode is a declaration: the library can't tell one from the other.
|
|
51
|
+
*/
|
|
52
|
+
readonly mode?: "fold" | "latest" | undefined;
|
|
53
|
+
/** The `evolve` failures that reject their event — see `projection`'s `terminal`. */
|
|
54
|
+
readonly terminal?: ((error: E) => boolean) | undefined;
|
|
55
|
+
}
|
|
56
|
+
/** The `source` helper `sources` receives. */
|
|
57
|
+
export type SourceBuilder<K, S> = <St extends AnyStream, E = never, R = never>(stream: St, config: MultiSourceConfig<St, K, S, E, R>) => MultiSource<St, K, S, E, R>;
|
|
58
|
+
type AnySource = MultiSource<any, any, any, any, any>;
|
|
59
|
+
type SourceStream<Src> = Src extends MultiSource<infer St, any, any, any, any> ? St : never;
|
|
60
|
+
type SourceError<Src> = Src extends MultiSource<any, any, any, infer E, any> ? E : never;
|
|
61
|
+
type SourceRequirements<Src> = Src extends MultiSource<any, any, any, any, infer R> ? R : never;
|
|
62
|
+
/** A decoded event of one of the sources, tagged with the source's name. */
|
|
63
|
+
export type MultiSourceEvent<Sources extends Record<string, AnySource>> = {
|
|
64
|
+
readonly [N in keyof Sources & string]: {
|
|
65
|
+
readonly stream: N;
|
|
66
|
+
readonly event: EventOfStream<SourceStream<Sources[N]>>;
|
|
67
|
+
};
|
|
68
|
+
}[keyof Sources & string];
|
|
69
|
+
/** Where a multi-source row keeps its checkpoints — at least one of `field` / `sources`. */
|
|
70
|
+
export interface MultiCheckpoints<S, SourceName extends string> {
|
|
71
|
+
/** A `Record<string, number>` model field, keyed `<source>#<streamId>`. */
|
|
72
|
+
readonly field?: RecordField<S> | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Compatibility with rows that keep one numeric field per source: the
|
|
75
|
+
* field (`version + offset`) and `instanceField`, a string field recording
|
|
76
|
+
* which stream instance owns it. An instance arriving while another owns
|
|
77
|
+
* the field goes to `field`'s map, or — without one — fails with
|
|
78
|
+
* `ProjectionSourceConflict`.
|
|
79
|
+
*/
|
|
80
|
+
readonly sources?: {
|
|
81
|
+
readonly [N in SourceName]?: {
|
|
82
|
+
readonly field: CheckpointField<S>;
|
|
83
|
+
readonly offset?: number | undefined;
|
|
84
|
+
readonly instanceField: StringField<S>;
|
|
85
|
+
};
|
|
86
|
+
} | undefined;
|
|
87
|
+
}
|
|
88
|
+
/** The model's `Record<string, number>` fields. */
|
|
89
|
+
export type RecordField<S> = {
|
|
90
|
+
[F in keyof S]-?: S[F] extends Readonly<Record<string, number>> ? S[F] extends number ? never : F : never;
|
|
91
|
+
}[keyof S] & string;
|
|
92
|
+
/** The model's string fields. */
|
|
93
|
+
export type StringField<S> = {
|
|
94
|
+
[F in keyof S]-?: S[F] extends string ? F : never;
|
|
95
|
+
}[keyof S] & string;
|
|
96
|
+
/** Configuration of {@link multiProjection}. */
|
|
97
|
+
export interface MultiProjectionConfig<RM extends ProjectionReadModel, Sources extends Record<string, AnySource>, O> {
|
|
98
|
+
readonly readModel: RM;
|
|
99
|
+
/** The state a row starts from, before the first event folded into it. */
|
|
100
|
+
readonly initial: (key: ProjectionKey<RM>) => ProjectionState<RM>;
|
|
101
|
+
/** The sources, built with the `source` helper: `(source) => ({ name: source(stream, { … }) })`. */
|
|
102
|
+
readonly sources: (source: SourceBuilder<ProjectionKey<RM>, ProjectionState<RM>>) => Sources;
|
|
103
|
+
readonly checkpoints: MultiCheckpoints<ProjectionState<RM>, keyof Sources & string>;
|
|
104
|
+
/** The revision field (required) — see `projection`'s `revision`. */
|
|
105
|
+
readonly revision: ProjectionRevision<ProjectionState<RM>>;
|
|
106
|
+
/** The row as written, from the folded state — see `projection`'s `toItem`. */
|
|
107
|
+
readonly toItem?: ((state: ProjectionState<RM>, context: {
|
|
108
|
+
readonly key: ProjectionKey<RM>;
|
|
109
|
+
}) => ProjectionState<RM>) | undefined;
|
|
110
|
+
readonly retry?: number | Schedule.Schedule<unknown, ConcurrentModification> | undefined;
|
|
111
|
+
readonly removal?: {
|
|
112
|
+
readonly ttl?: Duration.Input | undefined;
|
|
113
|
+
} | undefined;
|
|
114
|
+
readonly outbox?: ProjectionOutboxConfig<O, MultiSourceEvent<Sources>["event"], ProjectionState<RM>> | undefined;
|
|
115
|
+
/**
|
|
116
|
+
* The source instances that contribute to a row, for `rebuild` without
|
|
117
|
+
* `instances` — over a stream index, say.
|
|
118
|
+
*/
|
|
119
|
+
readonly sourcesOf?: ((key: ProjectionKey<RM>) => Effect.Effect<RebuildInstances<Sources>, any, any>) | undefined;
|
|
120
|
+
}
|
|
121
|
+
/** The instances to rebuild a row from, by source. */
|
|
122
|
+
export type RebuildInstances<Sources extends Record<string, AnySource>> = {
|
|
123
|
+
readonly [N in keyof Sources]?: ReadonlyArray<IdOfStream<SourceStream<Sources[N]>>>;
|
|
124
|
+
};
|
|
125
|
+
/** One source instance's share of a row's result. */
|
|
126
|
+
export type MultiInstanceResult<Sources extends Record<string, AnySource>> = {
|
|
127
|
+
readonly [N in keyof Sources & string]: {
|
|
128
|
+
readonly source: N;
|
|
129
|
+
readonly streamId: string;
|
|
130
|
+
readonly applied: ReadonlyArray<EventOfStream<SourceStream<Sources[N]>>>;
|
|
131
|
+
readonly alreadyApplied: ReadonlyArray<EventOfStream<SourceStream<Sources[N]>>>;
|
|
132
|
+
readonly rejected: ReadonlyArray<{
|
|
133
|
+
readonly event: EventOfStream<SourceStream<Sources[N]>>;
|
|
134
|
+
readonly error: SourceError<Sources[N]>;
|
|
135
|
+
}>;
|
|
136
|
+
/** `"latest"` mode: the instance's older events in the batch, passed over. */
|
|
137
|
+
readonly superseded: ReadonlyArray<EventOfStream<SourceStream<Sources[N]>>>;
|
|
138
|
+
/** The instance's checkpoint after the call. */
|
|
139
|
+
readonly version: number;
|
|
140
|
+
};
|
|
141
|
+
}[keyof Sources & string];
|
|
142
|
+
/** A row applied by a multi-source projection. */
|
|
143
|
+
export interface MultiApplied<S, K, Sources extends Record<string, AnySource>> {
|
|
144
|
+
readonly key: K;
|
|
145
|
+
readonly instances: ReadonlyArray<MultiInstanceResult<Sources>>;
|
|
146
|
+
/** The row as written (or read) — none when removed or never created. */
|
|
147
|
+
readonly state: Option.Option<S>;
|
|
148
|
+
readonly removed: boolean;
|
|
149
|
+
/** The row's revision after the call. */
|
|
150
|
+
readonly revision: number | undefined;
|
|
151
|
+
readonly enqueued: number;
|
|
152
|
+
readonly undelivered: Option.Option<{
|
|
153
|
+
readonly meta: OutboxMeta;
|
|
154
|
+
readonly error: unknown;
|
|
155
|
+
}>;
|
|
156
|
+
}
|
|
157
|
+
/** A row's outcome in a multi-source batch. */
|
|
158
|
+
export type MultiOutcome<S, K, Sources extends Record<string, AnySource>, Err> = ({
|
|
159
|
+
readonly _tag: "Applied";
|
|
160
|
+
/** Positions of the row's events in the input, ascending. */
|
|
161
|
+
readonly positions: ReadonlyArray<number>;
|
|
162
|
+
} & MultiApplied<S, K, Sources>) | {
|
|
163
|
+
readonly _tag: "Failed";
|
|
164
|
+
/** Undefined when the row could not be determined (a stream id or `key` failed). */
|
|
165
|
+
readonly key: K | undefined;
|
|
166
|
+
readonly positions: ReadonlyArray<number>;
|
|
167
|
+
readonly error: Err;
|
|
168
|
+
};
|
|
169
|
+
/** Result of {@link MultiProjection.applyBatch}. */
|
|
170
|
+
export interface MultiBatchResult<S, K, Sources extends Record<string, AnySource>, Err> {
|
|
171
|
+
readonly outcomes: ReadonlyArray<MultiOutcome<S, K, Sources, Err>>;
|
|
172
|
+
readonly failedPositions: ReadonlyArray<number>;
|
|
173
|
+
readonly ignored: ReadonlyArray<number>;
|
|
174
|
+
}
|
|
175
|
+
/** What a multi-source projection's operations fail with. */
|
|
176
|
+
export type MultiProjectionError<RM, Sources extends Record<string, AnySource>> = SourceError<Sources[keyof Sources]> | ProjectionReadModelError<RM> | DynamoClientError | ValidationError | ConcurrentModification | ProjectionSourceConflict;
|
|
177
|
+
declare const MultiProjectionTypeId: unique symbol;
|
|
178
|
+
/** A multi-source projection — see {@link multiProjection}. */
|
|
179
|
+
export interface MultiProjection<S, K, Sources extends Record<string, AnySource>, Err, R, O = never> extends Pipeable.Pipeable {
|
|
180
|
+
readonly [MultiProjectionTypeId]: typeof MultiProjectionTypeId;
|
|
181
|
+
/** @internal */
|
|
182
|
+
readonly [ProjectionRoutes]: (name: string) => ReadonlyArray<Route>;
|
|
183
|
+
readonly entityType: string;
|
|
184
|
+
readonly sources: Sources;
|
|
185
|
+
/**
|
|
186
|
+
* Apply a batch of decoded events of the sources (tagged by source name, as
|
|
187
|
+
* `EventStore.decoder` returns them). Per row, across sources: read the row,
|
|
188
|
+
* and per instance drop what its checkpoint covers, gap-fill (`fold`) or
|
|
189
|
+
* take the newest (`latest`); fold sources as declared, then by stream id;
|
|
190
|
+
* write once, conditioned on the revision. Never fails: each row's failure
|
|
191
|
+
* is its outcome.
|
|
192
|
+
*/
|
|
193
|
+
applyBatch(events: ReadonlyArray<MultiSourceEvent<Sources>>, options?: ApplyBatchOptions | undefined): Effect.Effect<MultiBatchResult<S, K, Sources, Err>, never, R>;
|
|
194
|
+
/** Bring every instance the row's checkpoints know up to its stream's head. */
|
|
195
|
+
catchUp(key: K): Effect.Effect<MultiApplied<S, K, Sources>, Err, R>;
|
|
196
|
+
/**
|
|
197
|
+
* Re-derive a row from the named instances (or `sourcesOf`): fold each
|
|
198
|
+
* one's events keyed to the row from `initial`, checkpoints from scratch,
|
|
199
|
+
* written with the next revision. The repair path — a scalar checkpoint
|
|
200
|
+
* owned by the wrong instance is reassigned to the first instance in fold
|
|
201
|
+
* order.
|
|
202
|
+
*/
|
|
203
|
+
rebuild(key: K, options?: {
|
|
204
|
+
readonly instances?: RebuildInstances<Sources> | undefined;
|
|
205
|
+
} | undefined): Effect.Effect<MultiApplied<S, K, Sources>, Err, R>;
|
|
206
|
+
/** Decode a raw change-feed batch, apply it, and build the partial batch response. */
|
|
207
|
+
processBatch<Rec extends StreamRecord>(records: ReadonlyArray<Rec>, options: ProcessBatchOptions<Rec> & (IdentifyBySource | IdentifyWith<Rec>)): Effect.Effect<{
|
|
208
|
+
readonly outcomes: ReadonlyArray<MultiOutcome<S, K, Sources, Err>>;
|
|
209
|
+
readonly decodeFailures: ReadonlyArray<{
|
|
210
|
+
readonly record: Rec;
|
|
211
|
+
readonly error: ValidationError;
|
|
212
|
+
}>;
|
|
213
|
+
readonly failedRecords: ReadonlyArray<Rec>;
|
|
214
|
+
readonly response: {
|
|
215
|
+
readonly batchItemFailures: Array<{
|
|
216
|
+
readonly itemIdentifier: string;
|
|
217
|
+
}>;
|
|
218
|
+
};
|
|
219
|
+
}, StreamRecordIdentifierMissing, R>;
|
|
220
|
+
/** See `projection`'s `drain`. */
|
|
221
|
+
drain<DE, DR>(key: K, deliver: (effect: O, meta: OutboxMeta) => Effect.Effect<void, DE, DR>): Effect.Effect<DrainResult<DE>, DynamoClientError | ValidationError, R | DR>;
|
|
222
|
+
/** See `projection`'s `drainPending`. */
|
|
223
|
+
drainPending<DE, DR>(deliver: (effect: O, meta: OutboxMeta) => Effect.Effect<void, DE, DR>): Effect.Effect<{
|
|
224
|
+
readonly delivered: number;
|
|
225
|
+
readonly undelivered: ReadonlyArray<{
|
|
226
|
+
readonly meta: OutboxMeta;
|
|
227
|
+
readonly error: DE;
|
|
228
|
+
}>;
|
|
229
|
+
}, DynamoClientError | ValidationError, R | DR>;
|
|
230
|
+
}
|
|
231
|
+
/** @internal */
|
|
232
|
+
export declare const isMultiProjection: (u: unknown) => u is MultiProjection<any, any, any, any, any, any>;
|
|
233
|
+
/**
|
|
234
|
+
* A projection of several source streams into one read model: each row keeps
|
|
235
|
+
* a checkpoint per contributing source instance (`checkpoints`), and every
|
|
236
|
+
* write is guarded by the row's `revision`, so writers serving different
|
|
237
|
+
* sources serialise. See {@link MultiProjection}.
|
|
238
|
+
*
|
|
239
|
+
* @example
|
|
240
|
+
* ```ts
|
|
241
|
+
* const Shipments = EventStore.multiProjection({
|
|
242
|
+
* readModel: ShipmentSummaries,
|
|
243
|
+
* initial: (key) => ShipmentSummary.empty(key),
|
|
244
|
+
* sources: (source) => ({
|
|
245
|
+
* order: source(OrderEvents, { key: (id, e) => …, evolve: … }),
|
|
246
|
+
* scan: source(ScanEvents, { key: …, evolve: …, mode: "latest" }),
|
|
247
|
+
* }),
|
|
248
|
+
* checkpoints: { field: "checkpoints" },
|
|
249
|
+
* revision: "revision",
|
|
250
|
+
* })
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
export declare const multiProjection: <RM extends ProjectionReadModel, Sources extends Record<string, AnySource>, O = never>(config: MultiProjectionConfig<RM, Sources, O>) => MultiProjection<ProjectionState<RM>, ProjectionKey<RM>, Sources, MultiProjectionError<RM, Sources>, SourceRequirements<Sources[keyof Sources]> | DynamoClient | TableConfig, O>;
|
|
254
|
+
export { instanceKey };
|
|
255
|
+
//# sourceMappingURL=MultiProjection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiProjection.d.ts","sourceRoot":"","sources":["../../src/internal/MultiProjection.ts"],"names":[],"mappings":"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"}
|