effect-dynamodb 1.22.0 → 1.23.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.
Files changed (68) hide show
  1. package/dist/Aggregate.d.ts +9 -4
  2. package/dist/Aggregate.d.ts.map +1 -1
  3. package/dist/Aggregate.js +644 -219
  4. package/dist/Aggregate.js.map +1 -1
  5. package/dist/Batch.d.ts +7 -0
  6. package/dist/Batch.d.ts.map +1 -1
  7. package/dist/Batch.js +132 -7
  8. package/dist/Batch.js.map +1 -1
  9. package/dist/Collection.d.ts.map +1 -1
  10. package/dist/Collection.js +13 -31
  11. package/dist/Collection.js.map +1 -1
  12. package/dist/DynamoClient.d.ts +40 -3
  13. package/dist/DynamoClient.d.ts.map +1 -1
  14. package/dist/DynamoClient.js +70 -19
  15. package/dist/DynamoClient.js.map +1 -1
  16. package/dist/Entity.d.ts +138 -55
  17. package/dist/Entity.d.ts.map +1 -1
  18. package/dist/Entity.js +3061 -626
  19. package/dist/Entity.js.map +1 -1
  20. package/dist/EventStore.d.ts +15 -6
  21. package/dist/EventStore.d.ts.map +1 -1
  22. package/dist/EventStore.js +169 -148
  23. package/dist/EventStore.js.map +1 -1
  24. package/dist/Query.d.ts +75 -3
  25. package/dist/Query.d.ts.map +1 -1
  26. package/dist/Query.js +228 -30
  27. package/dist/Query.js.map +1 -1
  28. package/dist/Transaction.d.ts +13 -2
  29. package/dist/Transaction.d.ts.map +1 -1
  30. package/dist/Transaction.js +48 -38
  31. package/dist/Transaction.js.map +1 -1
  32. package/dist/index.d.ts +3 -3
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/internal/BoundCrud.d.ts +31 -20
  37. package/dist/internal/BoundCrud.d.ts.map +1 -1
  38. package/dist/internal/BoundCrud.js +1 -1
  39. package/dist/internal/BoundCrud.js.map +1 -1
  40. package/dist/internal/BoundQuery.d.ts +47 -2
  41. package/dist/internal/BoundQuery.d.ts.map +1 -1
  42. package/dist/internal/BoundQuery.js +182 -18
  43. package/dist/internal/BoundQuery.js.map +1 -1
  44. package/dist/internal/EntityCombinators.d.ts +32 -10
  45. package/dist/internal/EntityCombinators.d.ts.map +1 -1
  46. package/dist/internal/EntityCombinators.js +16 -7
  47. package/dist/internal/EntityCombinators.js.map +1 -1
  48. package/dist/internal/EntityOps.d.ts +44 -10
  49. package/dist/internal/EntityOps.d.ts.map +1 -1
  50. package/dist/internal/EntityOps.js +48 -5
  51. package/dist/internal/EntityOps.js.map +1 -1
  52. package/dist/internal/Expr.d.ts +23 -0
  53. package/dist/internal/Expr.d.ts.map +1 -1
  54. package/dist/internal/Expr.js +84 -9
  55. package/dist/internal/Expr.js.map +1 -1
  56. package/dist/internal/ItemSize.d.ts +38 -0
  57. package/dist/internal/ItemSize.d.ts.map +1 -0
  58. package/dist/internal/ItemSize.js +62 -0
  59. package/dist/internal/ItemSize.js.map +1 -0
  60. package/dist/internal/TransactWriteOps.d.ts +112 -19
  61. package/dist/internal/TransactWriteOps.d.ts.map +1 -1
  62. package/dist/internal/TransactWriteOps.js +210 -33
  63. package/dist/internal/TransactWriteOps.js.map +1 -1
  64. package/dist/internal/TransactableOps.d.ts +33 -14
  65. package/dist/internal/TransactableOps.d.ts.map +1 -1
  66. package/dist/internal/TransactableOps.js +46 -19
  67. package/dist/internal/TransactableOps.js.map +1 -1
  68. package/package.json +2 -2
@@ -14,7 +14,7 @@
14
14
  * DynamoClient, Marshaller).
15
15
  */
16
16
  import * as DynamoSchema from "@effect-dynamodb/schema/DynamoSchema.js";
17
- import { AdditionalItemConditionFailed, AppendTooLarge, DuplicateCommand, TransactionCancelled, ValidationError, VersionConflict } from "@effect-dynamodb/schema/Errors.js";
17
+ import { AdditionalItemConditionFailed, AppendTooLarge, type ConcurrentModification, DuplicateCommand, type OptimisticLockError, TransactionCancelled, type UniqueConstraintViolation, ValidationError, VersionConflict } from "@effect-dynamodb/schema/Errors.js";
18
18
  import { type Duration, Effect, Option, Pipeable, Schedule, Schema } from "effect";
19
19
  import { DynamoClient, type DynamoClientError } from "./DynamoClient.js";
20
20
  import { type TransactWriteOp } from "./internal/TransactWriteOps.js";
@@ -131,16 +131,25 @@ export interface AppendOptions<TMetadata> {
131
131
  * op union `Transaction.transactWrite` accepts (`EntityPut`, `EntityDelete`,
132
132
  * `Transaction.check(...)`).
133
133
  *
134
- * Conditional failures on these items are reported as
135
- * `AdditionalItemConditionFailed` (carrying the 0-based indices into this
136
- * array), never as `VersionConflict`.
134
+ * A put of a versioned or unique-constrained entity is written exactly as
135
+ * the entity's own `put` writes it (#133) — reading the item, continuing a
136
+ * replaced item's version and history, rotating its sentinels — and an
137
+ * append whose read raced a concurrent write is written again.
138
+ *
139
+ * A failure of an item's OWN condition (`.condition()`, `create()`,
140
+ * `Transaction.check`) is reported as `AdditionalItemConditionFailed`
141
+ * (carrying the 0-based indices into this array), never as
142
+ * `VersionConflict`. A guarded put the caller set no condition on fails as
143
+ * the entity's put would: `UniqueConstraintViolation`, a history
144
+ * `ValidationError`, or — a race lost on every attempt —
145
+ * `OptimisticLockError` / `ConcurrentModification`.
137
146
  */
138
147
  readonly additionalItems?: ReadonlyArray<TransactWriteOp>;
139
148
  /** Opt in to exactly-once command processing — see {@link AppendIdempotency}. */
140
149
  readonly idempotency?: AppendIdempotency;
141
150
  }
142
151
  /** Error channel of {@link EventStream.append}. */
143
- export type AppendError = VersionConflict | DuplicateCommand | AdditionalItemConditionFailed | AppendTooLarge | DynamoClientError | ValidationError | TransactionCancelled;
152
+ export type AppendError = VersionConflict | DuplicateCommand | AdditionalItemConditionFailed | AppendTooLarge | DynamoClientError | ValidationError | TransactionCancelled | UniqueConstraintViolation | OptimisticLockError | ConcurrentModification;
144
153
  type StreamIdInput<T extends ReadonlyArray<string>> = {
145
154
  readonly [K in T[number]]: string;
146
155
  };
@@ -363,7 +372,7 @@ export interface IdempotentCommandOptions<TMetadata> extends CommandOptions<TMet
363
372
  type CommandOptionsArgs<TMetadata, TConfig extends CommandHandlerOptions | undefined> = TConfig extends {
364
373
  readonly idempotency: object;
365
374
  } ? [options: IdempotentCommandOptions<TMetadata>] : [options?: CommandOptions<TMetadata> | undefined];
366
- type CommandHandlerErrors<E> = E | VersionConflict | DuplicateCommand | AdditionalItemConditionFailed | AppendTooLarge | DynamoClientError | ValidationError | TransactionCancelled;
375
+ type CommandHandlerErrors<E> = E | VersionConflict | DuplicateCommand | AdditionalItemConditionFailed | AppendTooLarge | DynamoClientError | ValidationError | TransactionCancelled | UniqueConstraintViolation | OptimisticLockError | ConcurrentModification;
367
376
  type CommandHandler<State, Command, TEvent, E, TStreamIdFields extends ReadonlyArray<string>, TMetadata, TConfig extends CommandHandlerOptions | undefined = undefined> = (streamId: StreamIdInput<TStreamIdFields>, command: Command, ...options: CommandOptionsArgs<TMetadata, TConfig>) => Effect.Effect<CommandHandlerResult<State, TEvent>, CommandHandlerErrors<E>, DynamoClient | TableConfig>;
368
377
  type BoundCommandHandler<State, Command, TEvent, E, TStreamIdFields extends ReadonlyArray<string>, TMetadata, TConfig extends CommandHandlerOptions | undefined = undefined> = (streamId: StreamIdInput<TStreamIdFields>, command: Command, ...options: CommandOptionsArgs<TMetadata, TConfig>) => Effect.Effect<CommandHandlerResult<State, TEvent>, CommandHandlerErrors<E>, never>;
369
378
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EventStore.d.ts","sourceRoot":"","sources":["../src/EventStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventStore.d.ts","sourceRoot":"","sources":["../src/EventStore.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ import { AdditionalItemConditionFailed, AppendTooLarge, DuplicateCommand, isAwsC
19
19
  import * as KeyComposer from "@effect-dynamodb/schema/KeyComposer.js";
20
20
  import { DateTime, Effect, Function, Option, Pipeable, Schedule, Schema, } from "effect";
21
21
  import { DynamoClient } from "./DynamoClient.js";
22
- import { buildTransactWriteItems, } from "./internal/TransactWriteOps.js";
22
+ import { buildTransactWriteItems, GUARDED_TRANSACTION_ATTEMPTS, judgeCancellation, refuseOversizedTransaction, refuseRepeatedItems, transactItemTarget, } from "./internal/TransactWriteOps.js";
23
23
  import { fromAttributeMap, toAttributeMap } from "./Marshaller.js";
24
24
  import * as Query from "./Query.js";
25
25
  import { resolveTtlAttributeName } from "./Table.js";
@@ -310,164 +310,185 @@ export const makeStream = (config) => {
310
310
  },
311
311
  };
312
312
  }));
313
- // Caller-owned items, compiled through the same builder
314
- // `Transaction.transactWrite` uses, so the two APIs cannot drift.
315
- const { items: additionalItems, provenance: additionalProvenance } = yield* buildTransactWriteItems(additionalOps, "EventStore.append.additionalItems");
316
- // Authoritative cap check: one additional op can compile to several items
317
- // (#113), so the pre-flight lower bound above is not sufficient. Reporting
318
- // the EXPANDED count is the point — "you passed 40 items" when the caller
319
- // passed 30 ops is baffling without it.
320
- if (fixedItems + additionalItems.length > TRANSACT_WRITE_ITEMS_LIMIT) {
321
- return yield* new AppendTooLarge({
322
- streamName: config.streamName,
323
- streamId: streamIdStr,
324
- count: fixedItems + additionalItems.length,
325
- limit: TRANSACT_WRITE_ITEMS_LIMIT,
326
- });
327
- }
328
- // Version-contiguity guard: `attribute_not_exists(pk)` on the event puts
329
- // only rejects STALE expected versions (the target slot already exists).
330
- // An AHEAD expectedVersion (e.g. 10 when the stream is at 3) would
331
- // silently write from version 11, leaving a permanent gap. When
332
- // expectedVersion > 0, require the event at exactly `expectedVersion` to
333
- // exist so the appended range is contiguous with the stream head. Its
334
- // failure surfaces as a ConditionalCheckFailed cancellation reason,
335
- // mapping to VersionConflict below just like a stale-version Put failure.
336
- //
337
- // Only when events are actually being written: the guard exists to stop an
338
- // AHEAD expectedVersion opening a permanent gap, and a zero-event append
339
- // (pure `additionalItems` / sentinel side-write) writes no version and so
340
- // can open no gap.
341
- const contiguityCheck = needsContiguityCheck
342
- ? [
343
- {
344
- ConditionCheck: {
345
- TableName: tableName,
346
- Key: toAttributeMap({ pk, sk: composeEventSk(expectedVersion) }),
347
- ConditionExpression: "attribute_exists(pk)",
348
- },
349
- },
350
- ]
351
- : [];
352
- // Item layout is load-bearing — cancellation reasons are positional:
353
- // [0, C) version-contiguity ConditionCheck (C is 0 or 1)
354
- // [C, C + E) event puts
355
- // [C + E, C + E + A) additional ITEMS (caller op order preserved)
356
- // C + E + A idempotency sentinel (last, so adding it never
357
- // shifts the additional-item indices the caller sees)
358
- //
359
- // `A` is the count of EMITTED items, which is >= the number of caller ops:
360
- // a `unique` / `retain` put expands into its item plus sentinels plus a
361
- // snapshot (#113). The 1:1 "item index == caller index" assumption is gone,
362
- // so the reason mapping below goes through `additionalProvenance` — the
363
- // caller-facing `indices` on `AdditionalItemConditionFailed` are still
364
- // indices into the caller's `additionalItems` array, unchanged.
365
- const transactItems = [
366
- ...contiguityCheck,
367
- ...eventItems,
368
- ...additionalItems,
369
- ];
370
- const checkCount = contiguityCheck.length;
371
- const eventCount = eventItems.length;
372
- const additionalCount = additionalItems.length;
373
- const sentinelIndex = idempotency !== undefined ? transactItems.length : -1;
374
- if (idempotency !== undefined) {
375
- const sentinel = {
376
- pk,
377
- sk: DynamoSchema.composeKey(schema, commandKeyLabel, [idempotency.commandId], keyOptions),
378
- __edd_e__: commandEntityType,
379
- streamId: streamIdStr,
380
- commandId: idempotency.commandId,
381
- version: expectedVersion + events.length,
382
- timestamp: now,
383
- };
384
- if (idempotency.ttl !== undefined) {
385
- const ttlSeconds = yield* Effect.try({
386
- try: () => normalizeTtlSeconds(idempotency.ttl),
387
- catch: (cause) => new ValidationError({
388
- entityType: commandEntityType,
389
- operation: "EventStore.append.idempotency.ttl",
390
- cause,
391
- }),
313
+ // A guarded put among the additional items reads its item; a race with
314
+ // that read cancels the append, which is then built and written again.
315
+ let lost;
316
+ for (let attempt = 0; attempt < GUARDED_TRANSACTION_ATTEMPTS; attempt++) {
317
+ // Caller-owned items, compiled through the same builder
318
+ // `Transaction.transactWrite` uses, so the two APIs cannot drift.
319
+ const additional = yield* buildTransactWriteItems(additionalOps, "EventStore.append.additionalItems");
320
+ const additionalItems = additional.items;
321
+ // Authoritative cap check: one additional op can compile to several items
322
+ // (#113), so the pre-flight lower bound above is not sufficient. Reporting
323
+ // the EXPANDED count is the point — "you passed 40 items" when the caller
324
+ // passed 30 ops is baffling without it.
325
+ if (fixedItems + additionalItems.length > TRANSACT_WRITE_ITEMS_LIMIT) {
326
+ return yield* new AppendTooLarge({
327
+ streamName: config.streamName,
328
+ streamId: streamIdStr,
329
+ count: fixedItems + additionalItems.length,
330
+ limit: TRANSACT_WRITE_ITEMS_LIMIT,
392
331
  });
393
- sentinel[resolveTtlAttributeName(tableConfig)] =
394
- DateTime.toEpochSeconds(nowDateTime) + ttlSeconds;
395
- }
396
- transactItems.push({
397
- Put: {
398
- TableName: tableName,
399
- Item: toAttributeMap(sentinel),
400
- ConditionExpression: "attribute_not_exists(pk)",
401
- },
402
- });
403
- }
404
- yield* client.transactWriteItems({ TransactItems: transactItems }).pipe(Effect.mapError((error) => {
405
- if (!isAwsTransactionCancelled(error.cause)) {
406
- return error;
407
332
  }
408
- const reasons = (error.cause.CancellationReasons ?? []).map((r) => ({
409
- code: r?.Code,
410
- message: r?.Message,
411
- }));
412
- const failedAt = (index) => index >= 0 && reasons[index]?.code === "ConditionalCheckFailed";
413
- // Precedence is ordered by how terminal the caller's response should
414
- // be: a duplicate can never succeed on retry, a version conflict
415
- // invites a re-read, and only then is the caller's own condition the
416
- // most specific explanation left.
417
- if (idempotency !== undefined && failedAt(sentinelIndex)) {
418
- return new DuplicateCommand({
419
- streamName: config.streamName,
333
+ // Version-contiguity guard: `attribute_not_exists(pk)` on the event puts
334
+ // only rejects STALE expected versions (the target slot already exists).
335
+ // An AHEAD expectedVersion (e.g. 10 when the stream is at 3) would
336
+ // silently write from version 11, leaving a permanent gap. When
337
+ // expectedVersion > 0, require the event at exactly `expectedVersion` to
338
+ // exist so the appended range is contiguous with the stream head. Its
339
+ // failure surfaces as a ConditionalCheckFailed cancellation reason,
340
+ // mapping to VersionConflict below just like a stale-version Put failure.
341
+ //
342
+ // Only when events are actually being written: the guard exists to stop an
343
+ // AHEAD expectedVersion opening a permanent gap, and a zero-event append
344
+ // (pure `additionalItems` / sentinel side-write) writes no version and so
345
+ // can open no gap.
346
+ const contiguityCheck = needsContiguityCheck
347
+ ? [
348
+ {
349
+ ConditionCheck: {
350
+ TableName: tableName,
351
+ Key: toAttributeMap({ pk, sk: composeEventSk(expectedVersion) }),
352
+ ConditionExpression: "attribute_exists(pk)",
353
+ },
354
+ },
355
+ ]
356
+ : [];
357
+ // Item layout is load-bearing — cancellation reasons are positional:
358
+ // [0, C) version-contiguity ConditionCheck (C is 0 or 1)
359
+ // [C, C + E) event puts
360
+ // [C + E, C + E + A) additional ITEMS (caller op order preserved)
361
+ // C + E + A idempotency sentinel (last, so adding it never
362
+ // shifts the additional-item indices the caller sees)
363
+ //
364
+ // `A` is the count of EMITTED items, which is >= the number of caller ops:
365
+ // a guarded put (#133) expands into its item plus its sentinel
366
+ // reservations and releases plus a snapshot. The 1:1 "item index == caller
367
+ // index" assumption is gone, so the reason mapping below goes through
368
+ // `judgeCancellation` — the caller-facing `indices` on
369
+ // `AdditionalItemConditionFailed` are still indices into the caller's
370
+ // `additionalItems` array, unchanged.
371
+ const transactItems = [
372
+ ...contiguityCheck,
373
+ ...eventItems,
374
+ ...additionalItems,
375
+ ];
376
+ const checkCount = contiguityCheck.length;
377
+ const eventCount = eventItems.length;
378
+ const sentinelIndex = idempotency !== undefined ? transactItems.length : -1;
379
+ if (idempotency !== undefined) {
380
+ const sentinel = {
381
+ pk,
382
+ sk: DynamoSchema.composeKey(schema, commandKeyLabel, [idempotency.commandId], keyOptions),
383
+ __edd_e__: commandEntityType,
420
384
  streamId: streamIdStr,
421
385
  commandId: idempotency.commandId,
386
+ version: expectedVersion + events.length,
387
+ timestamp: now,
388
+ };
389
+ if (idempotency.ttl !== undefined) {
390
+ const ttlSeconds = yield* Effect.try({
391
+ try: () => normalizeTtlSeconds(idempotency.ttl),
392
+ catch: (cause) => new ValidationError({
393
+ entityType: commandEntityType,
394
+ operation: "EventStore.append.idempotency.ttl",
395
+ cause,
396
+ }),
397
+ });
398
+ sentinel[resolveTtlAttributeName(tableConfig)] =
399
+ DateTime.toEpochSeconds(nowDateTime) + ttlSeconds;
400
+ }
401
+ transactItems.push({
402
+ Put: {
403
+ TableName: tableName,
404
+ Item: toAttributeMap(sentinel),
405
+ ConditionExpression: "attribute_not_exists(pk)",
406
+ },
422
407
  });
423
408
  }
424
- // The contiguity ConditionCheck and the event puts both mean "the
425
- // stream is not where you said it was", so they share one verdict.
426
- for (let i = 0; i < checkCount + eventCount; i++) {
427
- if (failedAt(i)) {
428
- return new VersionConflict({
409
+ // Checked before anything is sent: one op per item — an additional item
410
+ // repeating an event, the contiguity check or the idempotency sentinel
411
+ // is refused, as additional items repeating each other are — and the
412
+ // whole transaction within DynamoDB's 4 MB (#133).
413
+ const additionalStart = checkCount + eventCount;
414
+ const streamItemSource = (i) => i < checkCount
415
+ ? "the version-contiguity check"
416
+ : i < additionalStart
417
+ ? `the event at version ${expectedVersion + i - checkCount + 1}`
418
+ : "the idempotency sentinel";
419
+ const targets = transactItems.map((item, i) => i >= additionalStart && i < additionalStart + additionalItems.length
420
+ ? additional.targets[i - additionalStart]
421
+ : transactItemTarget(item, tableName, ["pk", "sk"], entityType, streamItemSource(i)));
422
+ yield* refuseRepeatedItems(targets, "EventStore.append");
423
+ yield* refuseOversizedTransaction(transactItems, targets, "EventStore.append");
424
+ const outcome = yield* client.transactWriteItems({ TransactItems: transactItems }).pipe(Effect.as(undefined), Effect.catch((error) => {
425
+ if (!isAwsTransactionCancelled(error.cause)) {
426
+ return Effect.fail(error);
427
+ }
428
+ const rawReasons = error.cause.CancellationReasons ?? [];
429
+ const reasons = rawReasons.map((r) => ({
430
+ code: r?.Code,
431
+ message: r?.Message,
432
+ }));
433
+ const failedAt = (index) => index >= 0 && reasons[index]?.code === "ConditionalCheckFailed";
434
+ // Precedence is ordered by how terminal the caller's response should
435
+ // be: a duplicate can never succeed on retry, a version conflict
436
+ // invites a re-read, and only then are the additional items judged.
437
+ if (idempotency !== undefined && failedAt(sentinelIndex)) {
438
+ return Effect.fail(new DuplicateCommand({
429
439
  streamName: config.streamName,
430
440
  streamId: streamIdStr,
431
- expectedVersion,
432
- });
441
+ commandId: idempotency.commandId,
442
+ }));
433
443
  }
434
- }
435
- // Attribute each failed additional ITEM back to the caller OP that
436
- // produced it. Several items can belong to one op (its main item, its
437
- // sentinels, its snapshot), so indices are deduped — a caller who
438
- // passed one op must never see it reported twice.
439
- const failedOps = new Set();
440
- for (let i = 0; i < additionalCount; i++) {
441
- if (!failedAt(checkCount + eventCount + i))
442
- continue;
443
- const from = additionalProvenance[i];
444
- // A reason with no provenance entry cannot be justified positionally;
445
- // fall through to TransactionCancelled rather than guess.
446
- if (from !== undefined)
447
- failedOps.add(from.opIndex);
448
- }
449
- const failedAdditional = Array.from(failedOps).sort((a, b) => a - b);
450
- if (failedAdditional.length > 0) {
451
- return new AdditionalItemConditionFailed({
452
- streamName: config.streamName,
453
- streamId: streamIdStr,
454
- indices: failedAdditional,
444
+ // The contiguity ConditionCheck and the event puts both mean "the
445
+ // stream is not where you said it was", so they share one verdict.
446
+ for (let i = 0; i < checkCount + eventCount; i++) {
447
+ if (failedAt(i)) {
448
+ return Effect.fail(new VersionConflict({
449
+ streamName: config.streamName,
450
+ streamId: streamIdStr,
451
+ expectedVersion,
452
+ }));
453
+ }
454
+ }
455
+ // The additional items, attributed back to the caller OPS that
456
+ // produced them (several items can belong to one op). Only an op's
457
+ // own condition is `AdditionalItemConditionFailed`: a guarded put
458
+ // the caller set no condition on reports what the entity's own put
459
+ // would — a taken unique value, a history conflict — or, having
460
+ // lost a race to a concurrent write, is written again (#133).
461
+ const judged = judgeCancellation(additional, rawReasons, checkCount + eventCount);
462
+ if (judged?._tag === "fail")
463
+ return Effect.fail(judged.error);
464
+ if (judged?._tag === "conditions") {
465
+ return Effect.fail(new AdditionalItemConditionFailed({
466
+ streamName: config.streamName,
467
+ streamId: streamIdStr,
468
+ indices: judged.opIndices,
469
+ reasons,
470
+ }));
471
+ }
472
+ if (judged?._tag === "retry")
473
+ return Effect.succeed(judged.error);
474
+ // No conditional failure we can positionally justify (throttling,
475
+ // TransactionConflict, or a truncated/absent reason list) — never
476
+ // guess a VersionConflict.
477
+ return Effect.fail(new TransactionCancelled({
478
+ operation: "TransactWriteItems",
455
479
  reasons,
456
- });
480
+ cause: error.cause,
481
+ }));
482
+ }));
483
+ if (outcome === undefined) {
484
+ return {
485
+ version: expectedVersion + events.length,
486
+ events,
487
+ };
457
488
  }
458
- // No conditional failure we can positionally justify (throttling,
459
- // TransactionConflict, or a truncated/absent reason list) — never
460
- // guess a VersionConflict.
461
- return new TransactionCancelled({
462
- operation: "TransactWriteItems",
463
- reasons,
464
- cause: error.cause,
465
- });
466
- }));
467
- return {
468
- version: expectedVersion + events.length,
469
- events,
470
- };
489
+ lost = outcome;
490
+ }
491
+ return yield* Effect.fail(lost);
471
492
  });
472
493
  // ---------------------------------------------------------------------------
473
494
  // read
@@ -1 +1 @@
1
- {"version":3,"file":"EventStore.js","sourceRoot":"","sources":["../src/EventStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventStore.js","sourceRoot":"","sources":["../src/EventStore.ts"],"names":[],"mappings":"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"}