effect-app 4.0.0-beta.326 → 4.0.0-beta.328

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/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 4.0.0-beta.328
4
+
5
+ ### Minor Changes
6
+
7
+ - 3a8c710: Store document decode fails as a typed `SchemaError` instead of a defect; repositories keep their public error channels by dying at the boundary; `validateSample` reports documents that fail at the store boundary.
8
+
9
+ ## 4.0.0-beta.327
10
+
3
11
  ## 4.0.0-beta.326
4
12
 
5
13
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/Model/Repository/internal/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../src/Model/Repository/internal/internal.ts"],"names":[],"mappings":"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"}
@@ -436,7 +436,10 @@ export function makeRepoInternal() {
436
436
  t: null,
437
437
  select: [idKey]
438
438
  })
439
- .pipe(Effect.withSpan("Repository.filter", {
439
+ .pipe(
440
+ // a projection never decodes a whole document, so the store's
441
+ // document decode cannot fail here
442
+ Effect.catchTag("SchemaError", (e) => Effect.die(e)), Effect.withSpan("Repository.filter", {
440
443
  kind: "client",
441
444
  attributes: { "app.entity": name }
442
445
  }, { captureStackTrace: false }));
@@ -448,16 +451,35 @@ export function makeRepoInternal() {
448
451
  const errors = [];
449
452
  for (const item of sample) {
450
453
  const id = item[idKey];
451
- const rawResult = yield* store.find(id).pipe(Effect.withSpan("Repository.find", {
454
+ const stored = yield* store.find(id).pipe(Effect.result, Effect.withSpan("Repository.find", {
452
455
  kind: "client",
453
456
  attributes: { "app.entity": name, "app.entity.id": id }
454
457
  }, { captureStackTrace: false }));
458
+ // a store-boundary failure: `defaultValues` + `jitM` did not
459
+ // produce a document the Encoded shape accepts, so the store
460
+ // failed with `S.SchemaError` instead of returning one. Report
461
+ // that document and keep sampling - it used to kill the run.
462
+ if (Result.isFailure(stored)) {
463
+ const failure = stored.failure;
464
+ if (!S.isSchemaError(failure))
465
+ return yield* Effect.fail(failure);
466
+ errors.push(ValidationError.make({
467
+ id,
468
+ // the store failed before it could hand back a document
469
+ rawData: undefined,
470
+ jitMResult: undefined,
471
+ error: failure
472
+ }));
473
+ continue;
474
+ }
475
+ const rawResult = stored.success;
455
476
  if (Option.isNone(rawResult))
456
477
  continue;
457
478
  // the store merged `defaultValues`, applied `jitM` on the raw
458
479
  // JSON document and decoded JSON→Encoded, so this is exactly
459
480
  // what the repository decodes into the domain type.
460
481
  const rawData = rawResult.value;
482
+ // the repository's own decode of a document the store accepted
461
483
  const decodeResult = yield* S.decodeEffectConcurrently(schema)(rawData).pipe(Effect.result, provideRctx);
462
484
  if (Result.isFailure(decodeResult)) {
463
485
  errors.push(ValidationError.make({
@@ -475,15 +497,22 @@ export function makeRepoInternal() {
475
497
  errors
476
498
  });
477
499
  });
500
+ // The store fails with `S.SchemaError` when a stored document does not
501
+ // decode - see `Store.all` / `Store.find`. The internals above let that
502
+ // failure propagate; producing the public members is the single
503
+ // boundary where it becomes a defect, because these signatures declare
504
+ // only `DatabaseError`. `queryRaw`, `query` and `mapped` already
505
+ // declare `S.SchemaError`, and `validateSample` reports it per
506
+ // document instead of dying.
478
507
  const r = {
479
508
  changeFeed,
480
509
  itemType: name,
481
510
  idKey,
482
- find,
483
- all,
484
- saveAndPublish,
511
+ find: (id) => find(id).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
512
+ all: all.pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
513
+ saveAndPublish: (items, events) => saveAndPublish(items, events).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
485
514
  removeAndPublish,
486
- removeById,
515
+ removeById: (idOrIds) => removeById(idOrIds).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
487
516
  seedNamespace: (namespace) => store.seedNamespace(namespace),
488
517
  validateSample,
489
518
  queryRaw(schema, q) {
@@ -579,4 +608,4 @@ export function makeStore() {
579
608
  return makeStore;
580
609
  };
581
610
  }
582
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9pbnRlcm5hbC9pbnRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxLQUFLLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sbUJBQW1CLENBQUE7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxLQUFLLE1BQU0sbUJBQW1CLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3pELE9BQU8sS0FBSyxPQUFPLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDNUMsT0FBTyxLQUFLLENBQUMsTUFBTSxvQkFBb0IsQ0FBQTtB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
611
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9pbnRlcm5hbC9pbnRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxLQUFLLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzVDLE9BQU8sS0FBSyxPQUFPLE1BQU0sZ0JBQWdCLENBQUE7QUFDekMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEtBQUssUUFBUSxNQUFNLGlCQUFpQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxHQUFHLE1BQU0sWUFBWSxDQUFBO0FBQ2pDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDLE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sbUJBQW1CLENBQUE7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ25ELE9BQU8sS0FBSyxLQUFLLE1BQU0sbUJBQW1CLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ3pELE9BQU8sS0FBSyxPQUFPLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxLQUFLLGdCQUFnQixNQUFNLDhCQUE4QixDQUFBO0FBQ2hFLE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sS0FBSyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDNUMsT0FBTyxLQUFLLENBQUMsTUFBTSxvQkFBb0IsQ0FBQTtB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
package/dist/Store.d.ts CHANGED
@@ -9,7 +9,7 @@ import type { FieldPath } from "./Model/filter/types/path/index.js";
9
9
  import type { AggregateIrExpression, ComputedProjectionIrExpression, RawQuery } from "./Model/query.js";
10
10
  import type * as Option from "./Option.js";
11
11
  import * as RequestScopedDependencies from "./RequestScopedDependencies.js";
12
- import { type Json as SchemaJson, NonEmptyString255, type Top as SchemaTop } from "./Schema.js";
12
+ import { type Json as SchemaJson, NonEmptyString255, type SchemaError, type Top as SchemaTop } from "./Schema.js";
13
13
  /**
14
14
  * Adapter-neutral unique-key definition for stores that support unique indexes,
15
15
  * such as the Cosmos adapter. This shape is intentionally kept structurally
@@ -126,16 +126,23 @@ export interface FilterArgs<Encoded extends FieldValues, U extends keyof Encoded
126
126
  limit?: number | undefined;
127
127
  skip?: number | undefined;
128
128
  }
129
- export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(args: FilterArgs<Encoded, U>) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError>;
129
+ /** decodes stored documents unless `select` projects fields, hence `SchemaError` */
130
+ export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(args: FilterArgs<Encoded, U>) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError | SchemaError>;
130
131
  export interface Store<IdKey extends keyof Encoded, Encoded extends FieldValues, PM extends PersistenceModelType<Encoded> = PersistenceModelType<Encoded>> {
131
- all: Effect.Effect<PM[], DatabaseError>;
132
+ /** decodes every stored document, so a document `jitM` does not repair fails with `SchemaError` */
133
+ all: Effect.Effect<PM[], DatabaseError | SchemaError>;
132
134
  filter: FilterFunc<Encoded>;
133
- find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError>;
134
- set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError>;
135
- batchSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>;
136
- bulkSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>;
135
+ /** decodes the stored document, so a document `jitM` does not repair fails with `SchemaError` */
136
+ find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError | SchemaError>;
137
+ /** adapters that decode the written document on the way back can fail with `SchemaError` */
138
+ set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError | SchemaError>;
139
+ /** adapters that decode the written documents on the way back can fail with `SchemaError` */
140
+ batchSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError | SchemaError>;
141
+ /** adapters that decode the written documents on the way back can fail with `SchemaError` */
142
+ bulkSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError | SchemaError>;
137
143
  batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void, DatabaseError>;
138
- queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError>;
144
+ /** adapters that run the raw query over decoded documents can fail with `SchemaError` */
145
+ queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError | SchemaError>;
139
146
  /**
140
147
  * Explicitly seed a namespace. Primary is seeded eagerly on initialization.
141
148
  * Non-primary namespaces must be seeded explicitly before use.
@@ -1 +1 @@
1
- {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
package/dist/Store.js CHANGED
@@ -110,4 +110,4 @@ export const cachedPerRequest = (make) => {
110
110
  const defaultNs = NonEmptyString255("primary");
111
111
  export class storeId extends Context.Reference("StoreId", { defaultValue: () => defaultNs }) {
112
112
  }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUc3QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQU1yQyxPQUFPLEtBQUsseUJBQXlCLE1BQU0sZ0NBQWdDLENBQUE7QUFDM0UsT0FBTyxFQUEyQixpQkFBaUIsRUFBeUIsTUFBTSxhQUFhLENBQUE7QUFzSi9GLE1BQU0sT0FBTyxVQUFXLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFPMUMsQ0FBQyx1QkFBdUIsQ0FBQztDQUM1QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQ3ZELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsK0JBQStCO0lBQy9CLDJCQUEyQjtJQUMzQixnREFBZ0Q7SUFDaEQsTUFBTTtJQUVOLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0Isc0NBQXNDO0lBQ3RDLE1BQU07SUFFTixrQ0FBa0M7SUFDbEMsd0JBQXdCO0lBQ3hCLG9DQUFvQztJQUNwQyxTQUFT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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQTtBQUc3QyxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQU1yQyxPQUFPLEtBQUsseUJBQXlCLE1BQU0sZ0NBQWdDLENBQUE7QUFDM0UsT0FBTyxFQUEyQixpQkFBaUIsRUFBMkMsTUFBTSxhQUFhLENBQUE7QUE2SmpILE1BQU0sT0FBTyxVQUFXLFNBQVEsT0FBTyxDQUFDLE1BQU0sRUFPMUMsQ0FBQyx1QkFBdUIsQ0FBQztDQUM1QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUE7SUFDdkMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0MsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFVLEVBQUUsSUFBd0IsRUFBRSxFQUFFO1FBQ3ZELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDbEIsQ0FBQzthQUFNLENBQUM7WUFDTixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0lBRUQsK0JBQStCO0lBQy9CLDJCQUEyQjtJQUMzQixnREFBZ0Q7SUFDaEQsTUFBTTtJQUVOLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0Isc0NBQXNDO0lBQ3RDLE1BQU07SUFFTixrQ0FBa0M7SUFDbEMsd0JBQXdCO0lBQ3hCLG9DQUFvQztJQUNwQyxTQUFT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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "4.0.0-beta.326",
3
+ "version": "4.0.0-beta.328",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -667,10 +667,15 @@ export function makeRepoInternal<
667
667
  t: null as unknown as Encoded,
668
668
  select: [idKey as keyof Encoded]
669
669
  })
670
- .pipe(Effect.withSpan("Repository.filter", {
671
- kind: "client",
672
- attributes: { "app.entity": name }
673
- }, { captureStackTrace: false }))
670
+ .pipe(
671
+ // a projection never decodes a whole document, so the store's
672
+ // document decode cannot fail here
673
+ Effect.catchTag("SchemaError", (e) => Effect.die(e)),
674
+ Effect.withSpan("Repository.filter", {
675
+ kind: "client",
676
+ attributes: { "app.entity": name }
677
+ }, { captureStackTrace: false })
678
+ )
674
679
 
675
680
  // 2. random subset
676
681
  const shuffled = [...allIds].sort(() => Math.random() - 0.5)
@@ -685,13 +690,34 @@ export function makeRepoInternal<
685
690
 
686
691
  for (const item of sample) {
687
692
  const id = item[idKey]
688
- const rawResult = yield* store.find(id).pipe(
693
+ const stored = yield* store.find(id).pipe(
694
+ Effect.result,
689
695
  Effect.withSpan("Repository.find", {
690
696
  kind: "client",
691
697
  attributes: { "app.entity": name, "app.entity.id": id }
692
698
  }, { captureStackTrace: false })
693
699
  )
694
700
 
701
+ // a store-boundary failure: `defaultValues` + `jitM` did not
702
+ // produce a document the Encoded shape accepts, so the store
703
+ // failed with `S.SchemaError` instead of returning one. Report
704
+ // that document and keep sampling - it used to kill the run.
705
+ if (Result.isFailure(stored)) {
706
+ const failure = stored.failure
707
+ if (!S.isSchemaError(failure)) return yield* Effect.fail(failure)
708
+ errors.push(
709
+ ValidationError.make({
710
+ id,
711
+ // the store failed before it could hand back a document
712
+ rawData: undefined,
713
+ jitMResult: undefined,
714
+ error: failure
715
+ })
716
+ )
717
+ continue
718
+ }
719
+
720
+ const rawResult = stored.success
695
721
  if (Option.isNone(rawResult)) continue
696
722
 
697
723
  // the store merged `defaultValues`, applied `jitM` on the raw
@@ -699,6 +725,7 @@ export function makeRepoInternal<
699
725
  // what the repository decodes into the domain type.
700
726
  const rawData = rawResult.value as Encoded
701
727
 
728
+ // the repository's own decode of a document the store accepted
702
729
  const decodeResult = yield* S.decodeEffectConcurrently(schema)(rawData).pipe(
703
730
  Effect.result,
704
731
  provideRctx
@@ -725,15 +752,24 @@ export function makeRepoInternal<
725
752
  }
726
753
  )
727
754
 
755
+ // The store fails with `S.SchemaError` when a stored document does not
756
+ // decode - see `Store.all` / `Store.find`. The internals above let that
757
+ // failure propagate; producing the public members is the single
758
+ // boundary where it becomes a defect, because these signatures declare
759
+ // only `DatabaseError`. `queryRaw`, `query` and `mapped` already
760
+ // declare `S.SchemaError`, and `validateSample` reports it per
761
+ // document instead of dying.
728
762
  const r = {
729
763
  changeFeed,
730
764
  itemType: name,
731
765
  idKey,
732
- find,
733
- all,
734
- saveAndPublish,
766
+ find: (id: T[IdKey]) => find(id).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
767
+ all: all.pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
768
+ saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) =>
769
+ saveAndPublish(items, events).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
735
770
  removeAndPublish,
736
- removeById,
771
+ removeById: (idOrIds: T[IdKey] | ReadonlyArray<T[IdKey]>) =>
772
+ removeById(idOrIds).pipe(Effect.catchTag("SchemaError", (e) => Effect.die(e))),
737
773
  seedNamespace: (namespace: string) => store.seedNamespace(namespace),
738
774
  validateSample,
739
775
  queryRaw<A, Out, QR>(schema: S.Codec<A, Out, QR>, q: Q.RawQuery<Encoded, Out>) {
package/src/Store.ts CHANGED
@@ -11,7 +11,7 @@ import type { FieldPath } from "./Model/filter/types/path/index.ts"
11
11
  import type { AggregateIrExpression, ComputedProjectionIrExpression, RawQuery } from "./Model/query.ts"
12
12
  import type * as Option from "./Option.ts"
13
13
  import * as RequestScopedDependencies from "./RequestScopedDependencies.ts"
14
- import { type Json as SchemaJson, NonEmptyString255, type Top as SchemaTop } from "./Schema.ts"
14
+ import { type Json as SchemaJson, NonEmptyString255, type SchemaError, type Top as SchemaTop } from "./Schema.ts"
15
15
 
16
16
  /**
17
17
  * Adapter-neutral unique-key definition for stores that support unique indexes,
@@ -133,27 +133,34 @@ export interface FilterArgs<Encoded extends FieldValues, U extends keyof Encoded
133
133
  skip?: number | undefined
134
134
  }
135
135
 
136
+ /** decodes stored documents unless `select` projects fields, hence `SchemaError` */
136
137
  export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(
137
138
  args: FilterArgs<Encoded, U>
138
- ) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError>
139
+ ) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError | SchemaError>
139
140
 
140
141
  export interface Store<
141
142
  IdKey extends keyof Encoded,
142
143
  Encoded extends FieldValues,
143
144
  PM extends PersistenceModelType<Encoded> = PersistenceModelType<Encoded>
144
145
  > {
145
- all: Effect.Effect<PM[], DatabaseError>
146
+ /** decodes every stored document, so a document `jitM` does not repair fails with `SchemaError` */
147
+ all: Effect.Effect<PM[], DatabaseError | SchemaError>
146
148
  filter: FilterFunc<Encoded>
147
- find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError>
148
- set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError>
149
+ /** decodes the stored document, so a document `jitM` does not repair fails with `SchemaError` */
150
+ find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError | SchemaError>
151
+ /** adapters that decode the written document on the way back can fail with `SchemaError` */
152
+ set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError | SchemaError>
153
+ /** adapters that decode the written documents on the way back can fail with `SchemaError` */
149
154
  batchSet: (
150
155
  items: NonEmptyReadonlyArray<PM>
151
- ) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>
156
+ ) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError | SchemaError>
157
+ /** adapters that decode the written documents on the way back can fail with `SchemaError` */
152
158
  bulkSet: (
153
159
  items: NonEmptyReadonlyArray<PM>
154
- ) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>
160
+ ) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError | SchemaError>
155
161
  batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void, DatabaseError>
156
- queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError>
162
+ /** adapters that run the raw query over decoded documents can fail with `SchemaError` */
163
+ queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError | SchemaError>
157
164
  /**
158
165
  * Explicitly seed a namespace. Primary is seeded eagerly on initialization.
159
166
  * Non-primary namespaces must be seeded explicitly before use.