@effect-app/infra 2.3.4 → 2.4.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 (44) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/_cjs/services/OperationsRepo.cjs +10 -1
  3. package/_cjs/services/OperationsRepo.cjs.map +1 -1
  4. package/_cjs/services/Repository/dsl.cjs.map +1 -1
  5. package/_cjs/services/Repository/ext.cjs +58 -104
  6. package/_cjs/services/Repository/ext.cjs.map +1 -1
  7. package/_cjs/services/Repository/legacy.cjs +108 -0
  8. package/_cjs/services/Repository/legacy.cjs.map +1 -0
  9. package/_cjs/services/Repository.cjs +11 -0
  10. package/_cjs/services/Repository.cjs.map +1 -1
  11. package/_cjs/services/RepositoryBase.cjs +12 -233
  12. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  13. package/dist/services/OperationsRepo.d.ts +4 -1
  14. package/dist/services/OperationsRepo.d.ts.map +1 -1
  15. package/dist/services/OperationsRepo.js +12 -3
  16. package/dist/services/QueueMaker/errors.d.ts +1 -1
  17. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  18. package/dist/services/Repository/dsl.d.ts.map +1 -1
  19. package/dist/services/Repository/dsl.js +1 -1
  20. package/dist/services/Repository/ext.d.ts +43 -104
  21. package/dist/services/Repository/ext.d.ts.map +1 -1
  22. package/dist/services/Repository/ext.js +59 -93
  23. package/dist/services/Repository/legacy.d.ts +139 -0
  24. package/dist/services/Repository/legacy.d.ts.map +1 -0
  25. package/dist/services/Repository/legacy.js +99 -0
  26. package/dist/services/Repository/service.d.ts +21 -2
  27. package/dist/services/Repository/service.d.ts.map +1 -1
  28. package/dist/services/Repository.d.ts +1 -0
  29. package/dist/services/Repository.d.ts.map +1 -1
  30. package/dist/services/Repository.js +2 -1
  31. package/dist/services/RepositoryBase.d.ts +13 -256
  32. package/dist/services/RepositoryBase.d.ts.map +1 -1
  33. package/dist/services/RepositoryBase.js +10 -208
  34. package/dist/services/query/new-kid-interpreter.d.ts +1 -1
  35. package/examples/query.ts +3 -2
  36. package/package.json +11 -1
  37. package/src/services/OperationsRepo.ts +13 -4
  38. package/src/services/Repository/dsl.ts +1 -0
  39. package/src/services/Repository/ext.ts +269 -250
  40. package/src/services/Repository/legacy.ts +351 -0
  41. package/src/services/Repository/service.ts +44 -2
  42. package/src/services/Repository.ts +1 -0
  43. package/src/services/RepositoryBase.ts +64 -1007
  44. package/test/query.test.ts +10 -8
@@ -0,0 +1,99 @@
1
+ import { Context, Effect, Layer } from "effect-app";
2
+ import * as Q from "../query.js";
3
+ import { makeRepoInternal } from "../RepositoryBase.js";
4
+ const names = new Map();
5
+ const registerName = (name) => {
6
+ const existing = names.get(name);
7
+ if (existing === undefined) {
8
+ names.set(name, 1);
9
+ return name;
10
+ }
11
+ else {
12
+ const n = existing + 1;
13
+ names.set(name, n);
14
+ return name + "-" + existing;
15
+ }
16
+ };
17
+ /** @deprecated use makeRepo/extendRepo */
18
+ export class RepositoryBase {
19
+ impl;
20
+ constructor(impl) {
21
+ this.impl = impl;
22
+ this.saveAndPublish = this.impl.saveAndPublish;
23
+ this.removeAndPublish = this.impl.removeAndPublish;
24
+ this.find = this.impl.find;
25
+ this.all = this.impl.all;
26
+ this.changeFeed = this.impl.changeFeed;
27
+ this.mapped = this.impl.mapped;
28
+ this.query = this.impl.query;
29
+ this.get = this.impl.get;
30
+ this.itemType = this.impl.itemType;
31
+ this.idKey = this.impl.idKey;
32
+ this.log = this.impl.log;
33
+ this.removeById = this.impl.removeById;
34
+ this.save = this.impl.save;
35
+ this.saveWithEvents = this.impl.saveWithEvents;
36
+ this.queryAndSavePure = this.impl.queryAndSavePure;
37
+ this.saveManyWithPure = this.impl.saveManyWithPure;
38
+ this.byIdAndSaveWithPure = this.impl.byIdAndSaveWithPure;
39
+ this.saveWithPure = this.impl.saveWithPure;
40
+ this.request = this.impl.request;
41
+ }
42
+ get;
43
+ idKey;
44
+ request;
45
+ itemType;
46
+ saveAndPublish;
47
+ removeAndPublish;
48
+ find;
49
+ all;
50
+ changeFeed;
51
+ mapped;
52
+ query;
53
+ log;
54
+ removeById;
55
+ save;
56
+ saveWithEvents;
57
+ queryAndSavePure;
58
+ saveManyWithPure;
59
+ byIdAndSaveWithPure;
60
+ saveWithPure;
61
+ }
62
+ export const RepositoryDefaultImpl2 = () => {
63
+ const f = (itemType, schema, options) => {
64
+ let layerCache = undefined;
65
+ let layerCache2 = undefined;
66
+ class Cls extends RepositoryBase {
67
+ static Q = Q.make();
68
+ static get DefaultWithoutDependencies() {
69
+ const self = this;
70
+ return layerCache ??= Effect
71
+ .gen(function* () {
72
+ const opts = yield* options.options ?? Effect.succeed({});
73
+ const mkRepo = makeRepoInternal()(itemType, schema, options?.jitM ? (pm) => options.jitM(pm) : (pm) => pm, (e, _etag) => ({ ...e, _etag }), options.idKey ?? "id");
74
+ const r = yield* mkRepo.make({ ...options, ...opts });
75
+ const repo = new self(Object.assign(r, "ext" in opts ? opts.ext : {}));
76
+ return Layer.succeed(self, repo);
77
+ })
78
+ .pipe(Layer.unwrapEffect);
79
+ }
80
+ static get Default() {
81
+ const self = this;
82
+ return layerCache2 ??= options.dependencies
83
+ ? self
84
+ .DefaultWithoutDependencies
85
+ .pipe(Layer.provide(options.dependencies))
86
+ : self.DefaultWithoutDependencies;
87
+ }
88
+ static type = undefined;
89
+ }
90
+ const limit = Error.stackTraceLimit;
91
+ Error.stackTraceLimit = 2;
92
+ const creationError = new Error();
93
+ Error.stackTraceLimit = limit;
94
+ // TODO: actual class name or expect a string identifier - careful with overlapping between modules
95
+ return Context.assignTag(registerName(itemType + "Repo"), creationError)(Cls); // impl is missing, but its marked protected
96
+ };
97
+ return f;
98
+ };
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUt2RCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtBQUN2QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUE7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQTtJQUM5QixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sT0FBTyxjQUFjO0lBR007SUFBL0IsWUFBK0IsSUFBZ0U7UUFBaEUsU0FBSSxHQUFKLElBQUksQ0FBNEQ7UUFDN0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFBO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUE7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFBO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUE7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQTtRQUNsRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQTtRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDbEMsQ0FBQztJQUNELEdBQUcsQ0FBc0Q7SUFDekQsS0FBSyxDQUFBO0lBQ0wsT0FBTyxDQUFBO0lBQ1AsUUFBUSxDQUFBO0lBQ1IsY0FBYyxDQUFBO0lBQ2QsZ0JBQWdCLENBQUE7SUFDaEIsSUFBSSxDQUFBO0lBQ0osR0FBRyxDQUFBO0lBQ0gsVUFBVSxDQUFBO0lBQ1YsTUFBTSxDQUFBO0lBQ04sS0FBSyxDQUFBO0lBQ0wsR0FBRyxDQUFBO0lBQ0gsVUFBVSxDQUFBO0lBQ1YsSUFBSSxDQUFBO0lBQ0osY0FBYyxDQUFBO0lBQ2QsZ0JBQWdCLENBQUE7SUFDaEIsZ0JBQWdCLENBQUE7SUFDaEIsbUJBQW1CLENBQUE7SUFDbkIsWUFBWSxDQUFBO0NBQ2I7QUFFRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUF5QixFQUFFO0lBQy9ELE1BQU0sQ0FBQyxHQTBKSCxDQWVGLFFBQWtCLEVBQ2xCLE1BQStCLEVBQy9CLE9BZ0NHLEVBQ0gsRUFBRTtRQUNGLElBQUksVUFBVSxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLFdBQVcsR0FBRyxTQUFTLENBQUE7UUFDM0IsTUFBZSxHQUFJLFNBQVEsY0FPMUI7WUFDQyxNQUFNLENBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQVcsQ0FBQTtZQUNyQyxNQUFNLEtBQUssMEJBQTBCO2dCQUNuQyxNQUFNLElBQUksR0FBRyxJQUFXLENBQUE7Z0JBQ3hCLE9BQU8sVUFBVSxLQUFLLE1BQU07cUJBQ3pCLEdBQUcsQ0FBQyxRQUFRLENBQUM7b0JBQ1osTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBO29CQUN6RCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsRUFBTyxDQUNwQyxRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUN0RCxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUMvQixPQUFPLENBQUMsS0FBSyxJQUFJLElBQVcsQ0FDN0IsQ0FBQTtvQkFDRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQVMsQ0FBQyxDQUFBO29CQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO29CQUN0RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUNsQyxDQUFDLENBQUM7cUJBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQTtZQUM3QixDQUFDO1lBQ0QsTUFBTSxLQUFLLE9BQU87Z0JBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQVcsQ0FBQTtnQkFDeEIsT0FBTyxXQUFXLEtBQUssT0FBTyxDQUFDLFlBQVk7b0JBQ3pDLENBQUMsQ0FBQyxJQUFJO3lCQUNILDBCQUEwQjt5QkFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQW1CLENBQUMsQ0FBQztvQkFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQTtZQUNyQyxDQUFDO1lBQ0QsTUFBTSxDQUFVLElBQUksR0FBaUQsU0FBZ0IsQ0FBQTs7UUFFdkYsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLG1HQUFtRztRQUNuRyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQVUsWUFBWSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FDL0UsR0FBRyxDQUNHLENBQUEsQ0FBQyw0Q0FBNEM7SUFDdkQsQ0FBQyxDQUFBO0lBRUQsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDLENBQUEifQ==
@@ -1,9 +1,28 @@
1
- import type { RepositoryBaseC } from "../RepositoryBase.js";
1
+ import type { ParseResult } from "effect";
2
+ import type { Effect, Option, PubSub } from "effect-app";
3
+ import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client";
4
+ import type { NonNegativeInt } from "effect-app/Schema/numbers";
5
+ import type { FieldValues } from "../../filter/types.js";
6
+ import type { QAll, Query, QueryProjection } from "../query.js";
7
+ import type { Mapped } from "./legacy.js";
2
8
  /**
3
9
  * @tsplus type Repository
4
10
  */
5
11
  export interface Repository<T, Encoded extends {
6
12
  id: string;
7
- }, Evt, ItemType extends string, IdKey extends keyof T> extends RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey> {
13
+ }, Evt, ItemType extends string, IdKey extends keyof T> {
14
+ readonly itemType: ItemType;
15
+ readonly idKey: IdKey;
16
+ readonly find: (id: T[IdKey]) => Effect<Option<T>>;
17
+ readonly all: Effect<T[]>;
18
+ readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
19
+ readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
20
+ readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void>;
21
+ readonly query: {
22
+ <A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Encoded>) => QueryProjection<Encoded extends Encoded2 ? Encoded2 : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), R>;
23
+ <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Encoded>) => QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
24
+ };
25
+ /** @deprecated use query */
26
+ readonly mapped: Mapped<Encoded>;
8
27
  }
9
28
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,CAAC,EACD,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9B,GAAG,EACH,QAAQ,SAAS,MAAM,EACvB,KAAK,SAAS,MAAM,CAAC,CACrB,SAAQ,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC;CAAG"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Repository/dsl.js";
2
2
  export * from "./Repository/ext.js";
3
+ export * from "./Repository/legacy.js";
3
4
  export * from "./Repository/service.js";
4
5
  //# sourceMappingURL=Repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/services/Repository.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/services/Repository.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from "./Repository/dsl.js";
2
2
  export * from "./Repository/ext.js";
3
+ export * from "./Repository/legacy.js";
3
4
  export * from "./Repository/service.js";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9SZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHlCQUF5QixDQUFBIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9SZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMseUJBQXlCLENBQUEifQ==
@@ -2,119 +2,9 @@ import { type Repository } from "./Repository.js";
2
2
  import { StoreMaker } from "./Store.js";
3
3
  import type { PersistenceModelType, StoreConfig } from "./Store.js";
4
4
  import type { NonEmptyReadonlyArray } from "effect-app";
5
- import { Context, Effect, Layer, Option, PubSub, S } from "effect-app";
6
- import type { FixEnv, PureEnv } from "effect-app/Pure";
7
- import type { ParseResult } from "effect-app/Schema";
8
- import { NonNegativeInt } from "effect-app/Schema";
9
- import { type InvalidStateError, NotFoundError, type OptimisticConcurrencyException } from "../errors.js";
10
- import type { FieldValues } from "../filter/types.js";
11
- import type { QAll, Query, QueryEnd, QueryProjection, QueryWhere } from "./query.js";
5
+ import { Effect, S } from "effect-app";
12
6
  import * as Q from "./query.js";
13
- export interface Mapped1<A, IdKey extends keyof A, R> {
14
- all: Effect<A[], ParseResult.ParseError, R>;
15
- save: (...xes: readonly A[]) => Effect<void, OptimisticConcurrencyException | ParseResult.ParseError, R>;
16
- find: (id: A[IdKey]) => Effect<Option<A>, ParseResult.ParseError, R>;
17
- }
18
- export interface Mapped2<A, R> {
19
- all: Effect<A[], ParseResult.ParseError, R>;
20
- }
21
- export interface Mapped<Encoded extends {
22
- id: string;
23
- }> {
24
- <A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Mapped1<A, IdKey, R>;
25
- <A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Mapped2<A, R>;
26
- }
27
- export interface MM<Repo, Encoded extends {
28
- id: string;
29
- }> {
30
- <A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Effect<Mapped1<A, IdKey, R>, never, Repo>;
31
- <A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Effect<Mapped2<A, R>, never, Repo>;
32
- }
33
- /**
34
- * @tsplus type Repository
35
- */
36
- export declare abstract class RepositoryBaseC<T, Encoded extends {
37
- id: string;
38
- }, Evt, ItemType extends string, IdKey extends keyof T> {
39
- abstract readonly itemType: ItemType;
40
- abstract readonly find: (id: T[IdKey]) => Effect<Option<T>>;
41
- abstract readonly all: Effect<T[]>;
42
- abstract readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
43
- abstract readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
44
- abstract readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void>;
45
- abstract readonly query: {
46
- <A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Encoded>) => QueryProjection<Encoded extends Encoded2 ? Encoded2 : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), R>;
47
- <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Encoded>) => QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
48
- };
49
- /** @deprecated use query */
50
- abstract readonly mapped: Mapped<Encoded>;
51
- }
52
- export declare abstract class RepositoryBaseC1<T, Encoded extends {
53
- id: string;
54
- }, Evt, ItemType extends string, IdKey extends keyof T> extends RepositoryBaseC<T, Encoded, Evt, ItemType, IdKey> {
55
- readonly itemType: ItemType;
56
- constructor(itemType: ItemType);
57
- }
58
- export declare class RepositoryBaseC2<T, Encoded extends {
59
- id: string;
60
- }, Evt, ItemType extends string, Ext, IdKey extends keyof T> extends RepositoryBaseC1<T, Encoded, Evt, ItemType, IdKey> {
61
- protected readonly impl: Repository<T, Encoded, Evt, ItemType, IdKey> & Ext;
62
- constructor(itemType: ItemType, impl: Repository<T, Encoded, Evt, ItemType, IdKey> & Ext);
63
- saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
64
- removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void>;
65
- find: (id: T[IdKey]) => Effect<Option<T>>;
66
- all: Effect<T[]>;
67
- changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
68
- mapped: Mapped<Encoded>;
69
- query: {
70
- <A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Encoded>) => QueryProjection<Encoded extends Encoded2 ? Encoded2 : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), R>;
71
- <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Encoded>) => QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
72
- };
73
- }
74
- export declare class RepositoryBaseC3<T, Encoded extends {
75
- id: string;
76
- }, Evt, ItemType extends string, Ext, IdKey extends keyof T> extends RepositoryBaseC2<T, Encoded, Evt, ItemType, Ext, IdKey> {
77
- get(id: T[IdKey]): Effect.Effect<T, NotFoundError<ItemType>, never>;
78
- readonly log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
79
- removeById(id: T[IdKey]): Effect.Effect<void, NotFoundError<ItemType>, never>;
80
- readonly save: (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
81
- readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
82
- readonly queryAndSavePure: {
83
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
84
- env: PureEnv<Evt, T, T2>;
85
- }>>;
86
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => Query<Encoded> | QueryWhere<Encoded> | QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
87
- env: PureEnv<Evt, readonly T[], readonly T2[]>;
88
- }>>;
89
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => Query<Encoded> | QueryWhere<Encoded> | QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
90
- env: PureEnv<Evt, readonly T[], readonly T2[]>;
91
- }>>;
92
- };
93
- /**
94
- * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
95
- */
96
- readonly handleByIdAndSaveWithPure: <Req extends {
97
- id: T[IdKey];
98
- }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E, Exclude<R, {
99
- env: PureEnv<Evt, T, S2>;
100
- }>>;
101
- saveManyWithPure: {
102
- <R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
103
- env: PureEnv<Evt, readonly S1[], readonly S2[]>;
104
- }>>;
105
- <R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
106
- env: PureEnv<Evt, readonly S1[], readonly S2[]>;
107
- }>>;
108
- };
109
- byIdAndSaveWithPure: {
110
- <R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E, Exclude<R, {
111
- env: PureEnv<Evt, T, S2>;
112
- }>>;
113
- };
114
- saveWithPure<R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
115
- env: PureEnv<Evt, S1, S2>;
116
- }>>;
117
- }
7
+ import type { ExtendedRepository } from "./Repository/ext.js";
118
8
  /**
119
9
  * A base implementation to create a repository.
120
10
  */
@@ -133,7 +23,7 @@ export declare function makeRepoInternal<Evt = never>(): <ItemType extends strin
133
23
  partitionValue?: (a: Encoded) => string;
134
24
  };
135
25
  }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType, IdKey>, E, StoreMaker | R | RInitial | R2>;
136
- Q: Query<Encoded>;
26
+ Q: Q.Query<Encoded>;
137
27
  };
138
28
  export declare function makeStore<Encoded extends {
139
29
  id: string;
@@ -175,162 +65,29 @@ export interface Repos<T, Encoded extends {
175
65
  export type GetRepoType<T> = T extends {
176
66
  type: infer R;
177
67
  } ? R : never;
178
- export interface RepoFunctions<T, Encoded extends {
179
- id: string;
180
- }, Evt, ItemType, IdKey extends keyof T, Service> {
181
- itemType: ItemType;
182
- T: T;
183
- all: Effect<readonly T[], never, Service>;
184
- find: (id: T[IdKey]) => Effect<Option<T>, never, Service>;
185
- removeById: (id: T[IdKey]) => Effect<void, NotFoundError<ItemType>, Service>;
186
- saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException, Service>;
187
- removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, never, Service>;
188
- save: (...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException, Service>;
189
- get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, Service>;
190
- queryAndSavePure: {
191
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Service | Exclude<R2, {
192
- env: PureEnv<Evt, T, T2>;
193
- }>>;
194
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => Query<Encoded> | QueryWhere<Encoded> | QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
195
- env: PureEnv<Evt, readonly T[], readonly T2[]>;
196
- }>>;
197
- <A, E2, R2, T2 extends T>(q: (q: Query<Encoded>) => Query<Encoded> | QueryWhere<Encoded> | QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
198
- env: PureEnv<Evt, readonly T[], readonly T2[]>;
199
- }>>;
200
- };
201
- readonly query: {
202
- <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Encoded>) => QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), Service | R>;
203
- <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Encoded>) => QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, Service | R>;
204
- };
205
- byIdAndSaveWithPure: {
206
- <R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, Service | Exclude<R, {
207
- env: PureEnv<Evt, T, S2>;
208
- }>>;
209
- };
210
- saveManyWithPure: {
211
- <R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
212
- env: PureEnv<Evt, readonly S1[], readonly S2[]>;
213
- }>>;
214
- <R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
215
- env: PureEnv<Evt, readonly S1[], readonly S2[]>;
216
- }>>;
217
- };
218
- /** @experimental */
219
- mapped: MM<Service, Encoded>;
220
- use: <X>(body: (_: Service) => X) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Service> : Effect<X, never, Service>;
221
- }
222
- export declare const RepositoryBaseImpl: <Service>() => <Evt = never>() => <ItemType extends string, R, Encoded extends {
223
- id: string;
224
- }, T, IdKey extends keyof T>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, idKey: IdKey, jitM?: (pm: Encoded) => Encoded) => (abstract new () => RepositoryBaseC1<T, Encoded, Evt, ItemType, IdKey>) & Context.Tag<Service, Service> & Repos<T, Encoded, R, Evt, ItemType, IdKey> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, Service>;
225
- export declare const RepositoryDefaultImpl: <Service, Evt = never>() => {
68
+ export declare const makeRepo: {
226
69
  <ItemType extends string, R, Encoded extends {
227
70
  id: string;
228
- }, T, const IdKey extends keyof T>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, idKey: IdKey, jitM?: (pm: Encoded) => Encoded): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey>) => RepositoryBaseC3<T, Encoded, Evt, ItemType, {}, IdKey>) & Context.Tag<Service, Service> & Repos<T, Encoded, R, Evt, ItemType, IdKey> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, Service>;
229
- <ItemType extends string, R_1, Encoded_1 extends {
230
- id: string;
231
- }, T_1 extends {
232
- id: unknown;
233
- }>(itemType: ItemType, schema: S.Schema<T_1, Encoded_1, R_1>, jitM?: (pm: Encoded_1) => Encoded_1): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id">) => RepositoryBaseC3<T_1, Encoded_1, Evt, ItemType, {}, "id">) & Context.Tag<Service, Service> & Repos<T_1, Encoded_1, R_1, Evt, ItemType, "id"> & RepoFunctions<T_1, Encoded_1, Evt, ItemType, "id", Service>;
234
- };
235
- export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
236
- <ItemType extends string, R, Encoded extends {
237
- id: string;
238
- }, T, IdKey extends keyof T, E = never, RInitial = never, R2 = never, Layers extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1 = never, R1 = never, Ext = {}>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, options: [Evt] extends [never] ? {
239
- dependencies?: Layers;
240
- idKey: IdKey;
241
- config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
242
- partitionValue?: (a: Encoded) => string;
243
- };
244
- jitM?: (pm: Encoded) => Encoded;
245
- options?: Effect<{
246
- makeInitial?: Effect<readonly T[], E, RInitial>;
247
- ext?: Ext;
248
- }, E1, R1>;
249
- } : {
250
- dependencies?: Layers;
71
+ }, T, IdKey extends keyof T, E = never, RInitial = never, R2 = never, Evt = never>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, options: {
251
72
  idKey: IdKey;
252
73
  jitM?: (pm: Encoded) => Encoded;
253
74
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
254
75
  partitionValue?: (a: Encoded) => string;
255
76
  };
256
- options?: Effect<{
257
- publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
258
- makeInitial?: Effect<readonly T[], E, RInitial>;
259
- ext?: Ext;
260
- }, E1, R1>;
261
- }): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey> & Ext) => RepositoryBaseC3<T, Encoded, Evt, ItemType, Ext, IdKey>) & Context.Tag<Service, Service> & {
262
- Default: Layer.Layer<Service, E1 | Layer.Layer.Error<Layers[number]>, Exclude<R1 | R | StoreMaker, { [k in keyof Layers]: Layer.Layer.Success<Layers[k]>; }[number]>>;
263
- DefaultWithoutDependencies: Layer.Layer<Service, E1, R1 | R | StoreMaker>;
264
- } & Repos<T, Encoded, R, Evt, ItemType, IdKey> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, Service>;
265
- <ItemType extends string, R_1, Encoded_1 extends {
266
- id: string;
267
- }, T_1 extends {
268
- id: unknown;
269
- }, E_1 = never, RInitial_1 = never, R2_1 = never, Layers_1 extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1_1 = never, R1_1 = never, Ext_1 = {}>(itemType: ItemType, schema: S.Schema<T_1, Encoded_1, R_1>, options: [Evt] extends [never] ? {
270
- dependencies?: Layers_1;
271
- config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
272
- partitionValue?: (a: Encoded_1) => string;
273
- };
274
- jitM?: (pm: Encoded_1) => Encoded_1;
275
- options?: Effect<{
276
- makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
277
- ext?: Ext_1;
278
- }, E1_1, R1_1>;
279
- } : {
280
- dependencies?: Layers_1;
281
- jitM?: (pm: Encoded_1) => Encoded_1;
282
- config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
283
- partitionValue?: (a: Encoded_1) => string;
284
- };
285
- options?: Effect<{
286
- publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2_1>;
287
- makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
288
- ext?: Ext_1;
289
- }, E1_1, R1_1>;
290
- }): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id"> & Ext_1) => RepositoryBaseC3<T_1, Encoded_1, Evt, ItemType, Ext_1, "id">) & Context.Tag<Service, Service> & {
291
- Default: Layer.Layer<Service, E1_1 | Layer.Layer.Error<Layers_1[number]>, Exclude<R1_1 | R_1 | StoreMaker, { [k in keyof Layers_1]: Layer.Layer.Success<Layers_1[k]>; }[number]>>;
292
- DefaultWithoutDependencies: Layer.Layer<Service, E1_1, R1_1 | R_1 | StoreMaker>;
293
- } & Repos<T_1, Encoded_1, R_1, Evt, ItemType, "id"> & RepoFunctions<T_1, Encoded_1, Evt, ItemType, "id", Service>;
294
- };
295
- export declare const makeRepo: <Evt = never>() => {
77
+ publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
78
+ makeInitial?: Effect<readonly T[], E, RInitial>;
79
+ }): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, IdKey>, E, R | RInitial | R2 | StoreMaker>;
296
80
  <ItemType extends string, R, Encoded extends {
297
81
  id: string;
298
- }, T, IdKey extends keyof T, E = never, RInitial = never, R2 = never>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, options: [Evt] extends [never] ? {
299
- idKey: IdKey;
300
- config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
301
- partitionValue?: (a: Encoded) => string;
302
- };
303
- jitM?: (pm: Encoded) => Encoded;
304
- makeInitial?: Effect<readonly T[], E, RInitial>;
305
- } : {
306
- idKey: IdKey;
82
+ }, T extends {
83
+ id: unknown;
84
+ }, E = never, RInitial = never, R2 = never, Evt = never>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, options: {
307
85
  jitM?: (pm: Encoded) => Encoded;
308
86
  config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
309
87
  partitionValue?: (a: Encoded) => string;
310
88
  };
311
- publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
89
+ publishEvents?: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
312
90
  makeInitial?: Effect<readonly T[], E, RInitial>;
313
- }): Effect.Effect<RepositoryBaseC3<T, Encoded, Evt, ItemType, {}, IdKey>, E, R | RInitial | R2 | StoreMaker>;
314
- <ItemType extends string, R_1, Encoded_1 extends {
315
- id: string;
316
- }, T_1 extends {
317
- id: unknown;
318
- }, E_1 = never, RInitial_1 = never, R2_1 = never>(itemType: ItemType, schema: S.Schema<T_1, Encoded_1, R_1>, options: [Evt] extends [never] ? {
319
- config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
320
- partitionValue?: (a: Encoded_1) => string;
321
- };
322
- jitM?: (pm: Encoded_1) => Encoded_1;
323
- makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
324
- } : {
325
- jitM?: (pm: Encoded_1) => Encoded_1;
326
- config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
327
- partitionValue?: (a: Encoded_1) => string;
328
- };
329
- publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2_1>;
330
- makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
331
- }): Effect.Effect<RepositoryBaseC3<T_1, Encoded_1, Evt, ItemType, {}, "id">, E_1, R_1 | RInitial_1 | R2_1 | StoreMaker>;
91
+ }): Effect.Effect<ExtendedRepository<T, Encoded, Evt, ItemType, "id">, E, R | RInitial | R2 | StoreMaker>;
332
92
  };
333
- export declare const makeRequest: <ItemType extends string, T, Encoded extends {
334
- id: string;
335
- } & FieldValues, Evt, Service, IdKey extends keyof T>(repo: Context.Tag<Service, Service> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, Service>, idKey: IdKey) => (id: T[IdKey]) => Effect.Effect<T, NotFoundError<ItemType>, Service>;
336
93
  //# sourceMappingURL=RepositoryBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../src/services/RepositoryBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../src/services/RepositoryBase.ts"],"names":[],"mappings":"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"}