@effect-app/infra 0.221.0 → 0.223.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 (50) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/_cjs/services/Operations.cjs +3 -2
  3. package/_cjs/services/Operations.cjs.map +1 -1
  4. package/_cjs/services/Repository/ext.cjs.map +1 -1
  5. package/_cjs/services/RepositoryBase.cjs +6 -4
  6. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  7. package/_cjs/services/Store/Cosmos.cjs.map +1 -1
  8. package/_cjs/services/Store/Disk.cjs.map +1 -1
  9. package/_cjs/services/Store/Memory.cjs +1 -0
  10. package/_cjs/services/Store/Memory.cjs.map +1 -1
  11. package/_cjs/services/Store/service.cjs.map +1 -1
  12. package/_cjs/services/Store/utils.cjs.map +1 -1
  13. package/dist/services/Operations.d.ts +1 -0
  14. package/dist/services/Operations.d.ts.map +1 -1
  15. package/dist/services/Operations.js +4 -3
  16. package/dist/services/Repository/ext.d.ts +42 -15
  17. package/dist/services/Repository/ext.d.ts.map +1 -1
  18. package/dist/services/Repository/ext.js +1 -1
  19. package/dist/services/Repository/service.d.ts +3 -2
  20. package/dist/services/Repository/service.d.ts.map +1 -1
  21. package/dist/services/RepositoryBase.d.ts +81 -86
  22. package/dist/services/RepositoryBase.d.ts.map +1 -1
  23. package/dist/services/RepositoryBase.js +11 -7
  24. package/dist/services/Store/Cosmos.d.ts.map +1 -1
  25. package/dist/services/Store/Cosmos.js +1 -1
  26. package/dist/services/Store/Disk.d.ts +3 -1
  27. package/dist/services/Store/Disk.d.ts.map +1 -1
  28. package/dist/services/Store/Disk.js +1 -1
  29. package/dist/services/Store/Memory.d.ts +9 -3
  30. package/dist/services/Store/Memory.d.ts.map +1 -1
  31. package/dist/services/Store/Memory.js +2 -2
  32. package/dist/services/Store/service.d.ts +37 -18
  33. package/dist/services/Store/service.d.ts.map +1 -1
  34. package/dist/services/Store/service.js +1 -1
  35. package/dist/services/Store/utils.d.ts +6 -2
  36. package/dist/services/Store/utils.d.ts.map +1 -1
  37. package/dist/services/Store/utils.js +1 -1
  38. package/dist/services/query/new-kid-interpreter.d.ts +1 -1
  39. package/package.json +10 -10
  40. package/src/services/Operations.ts +4 -2
  41. package/src/services/Repository/ext.ts +28 -29
  42. package/src/services/Repository/service.ts +2 -3
  43. package/src/services/RepositoryBase.ts +177 -169
  44. package/src/services/Store/Cosmos.ts +13 -12
  45. package/src/services/Store/Disk.ts +12 -11
  46. package/src/services/Store/Memory.ts +13 -12
  47. package/src/services/Store/index.test.ts.bak +3 -3
  48. package/src/services/Store/service.ts +22 -19
  49. package/src/services/Store/utils.ts +2 -2
  50. package/test/query.test.ts +1 -1
@@ -1,7 +1,6 @@
1
1
  import { Effect } from "effect-app";
2
2
  import { type FixEnv } from "effect-app/Pure";
3
3
  import { NotFoundError } from "../../errors.js";
4
- import type { PersistenceModelType } from "../../services/Store.js";
5
4
  import type { RepositoryBaseC } from "../RepositoryBase.js";
6
5
  import type { Repository } from "./service.js";
7
6
  /**
@@ -9,19 +8,25 @@ import type { Repository } from "./service.js";
9
8
  */
10
9
  export declare function get<T extends {
11
10
  id: unknown;
12
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"]): Effect.Effect<T, NotFoundError<ItemType>, never>;
11
+ }, Encoded extends {
12
+ id: string;
13
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): Effect.Effect<T, NotFoundError<ItemType>, never>;
13
14
  /**
14
15
  * @tsplus getter Repository log
15
16
  */
16
17
  export declare function log<T extends {
17
18
  id: unknown;
18
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(_: RepositoryBaseC<T, PM, Evt, ItemType>): (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
19
+ }, Encoded extends {
20
+ id: string;
21
+ }, Evt, ItemType extends string>(_: RepositoryBaseC<T, Encoded, Evt, ItemType>): (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
19
22
  /**
20
23
  * @tsplus fluent Repository byIdAndSaveWithPure
21
24
  */
22
25
  export declare function byIdAndSaveWithPure<T extends {
23
26
  id: unknown;
24
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType> | E, Exclude<R, {
27
+ }, Encoded extends {
28
+ id: string;
29
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType> | E, Exclude<R, {
25
30
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
26
31
  }>>;
27
32
  /**
@@ -30,7 +35,9 @@ export declare function byIdAndSaveWithPure<T extends {
30
35
  */
31
36
  export declare function handleByIdAndSaveWithPure<T extends {
32
37
  id: unknown;
33
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): <Req extends {
38
+ }, Encoded extends {
39
+ id: string;
40
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): <Req extends {
34
41
  id: T["id"];
35
42
  }, 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, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, Exclude<R, {
36
43
  env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
@@ -40,7 +47,9 @@ export declare function handleByIdAndSaveWithPure<T extends {
40
47
  */
41
48
  export declare function saveManyWithPure_<R, T extends {
42
49
  id: unknown;
43
- }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
50
+ }, Encoded extends {
51
+ id: string;
52
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
44
53
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
45
54
  }>>;
46
55
  /**
@@ -48,18 +57,24 @@ export declare function saveManyWithPure_<R, T extends {
48
57
  */
49
58
  export declare function saveWithPure_<R, T extends {
50
59
  id: unknown;
51
- }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
60
+ }, Encoded extends {
61
+ id: string;
62
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
52
63
  env: import("effect-app/Pure").PureEnv<Evt, S1, S2>;
53
64
  }>>;
54
65
  export declare function saveAllWithEffectInt<T extends {
55
66
  id: unknown;
56
- }, PM extends PersistenceModelType<string>, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, PM, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, R>;
67
+ }, Encoded extends {
68
+ id: string;
69
+ }, P extends T, Evt, ItemType extends string, R, E, A>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): Effect.Effect<A, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, R>;
57
70
  /**
58
71
  * @tsplus fluent Repository saveManyWithPureBatched
59
72
  */
60
73
  export declare function saveManyWithPureBatched<T extends {
61
74
  id: unknown;
62
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
75
+ }, Encoded extends {
76
+ id: string;
77
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>) => (items: Iterable<S1>) => Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
63
78
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
64
79
  }>>;
65
80
  /**
@@ -67,7 +82,9 @@ export declare function saveManyWithPureBatched<T extends {
67
82
  */
68
83
  export declare function saveManyWithPureBatched_<R, T extends {
69
84
  id: unknown;
70
- }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
85
+ }, Encoded extends {
86
+ id: string;
87
+ }, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batchSize?: number): Effect.Effect<A[], import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E, Exclude<R, {
71
88
  env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
72
89
  }>>;
73
90
  /**
@@ -75,30 +92,40 @@ export declare function saveManyWithPureBatched_<R, T extends {
75
92
  */
76
93
  export declare function save<T extends {
77
94
  id: unknown;
78
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): (items_0: T, ...items_1: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
95
+ }, Encoded extends {
96
+ id: string;
97
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (items_0: T, ...items_1: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
79
98
  /**
80
99
  * @tsplus getter Repository saveWithEvents
81
100
  */
82
101
  export declare function saveWithEvents<T extends {
83
102
  id: unknown;
84
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
103
+ }, Encoded extends {
104
+ id: string;
105
+ }, Evt, ItemType extends string>(self: RepositoryBaseC<T, Encoded, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError>;
85
106
  /**
86
107
  * @tsplus fluent Repository updateWithEffect
87
108
  */
88
109
  export declare function itemUpdateWithEffect<R, E, T extends {
89
110
  id: string;
90
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(repo: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, R>;
111
+ }, Encoded extends {
112
+ id: string;
113
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => Effect<T, E, R>): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | E | NotFoundError<ItemType>, R>;
91
114
  /**
92
115
  * @tsplus fluent Repository update
93
116
  */
94
117
  export declare function itemUpdate<T extends {
95
118
  id: string;
96
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(repo: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, never>;
119
+ }, Encoded extends {
120
+ id: string;
121
+ }, Evt, ItemType extends string>(repo: RepositoryBaseC<T, Encoded, Evt, ItemType>, id: T["id"], mod: (item: T) => T): Effect.Effect<void, import("effect-app/client/errors").OptimisticConcurrencyException | import("effect-app/client/errors").InvalidStateError | NotFoundError<ItemType>, never>;
97
122
  /**
98
123
  * only use this as a shortcut if you don't have the item already
99
124
  * @tsplus fluent Repository removeById
100
125
  */
101
126
  export declare function removeById<T extends {
102
127
  id: unknown;
103
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: Repository<T, PM, Evt, ItemType>, id: T["id"]): Effect.Effect<void, NotFoundError<ItemType>, never>;
128
+ }, Encoded extends {
129
+ id: string;
130
+ }, Evt, ItemType extends string>(self: Repository<T, Encoded, Evt, ItemType>, id: T["id"]): Effect.Effect<void, NotFoundError<ItemType>, never>;
104
131
  //# sourceMappingURL=ext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/ext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/ext.ts"],"names":[],"mappings":"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"}
@@ -92,4 +92,4 @@ export function itemUpdate(repo, id, mod) {
92
92
  export function removeById(self, id) {
93
93
  return get(self, id).pipe(Effect.flatMap((_) => self.removeAndPublish([_])));
94
94
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxxQ0FBcUM7QUFDckMsOERBQThEO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRWxELE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUdyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLENBTWpCLElBQTJDLEVBQzNDLEVBQVc7SUFFWCxPQUFPLElBQUk7U0FDUixJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUtqQixDQUF3QztJQUN4QyxPQUFPLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FLakMsSUFBMkMsRUFBRSxFQUFXO0lBQ3hELE9BQU8sQ0FBd0IsSUFBeUMsRUFBRSxFQUFFLENBQzFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1B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
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxxQ0FBcUM7QUFDckMsOERBQThEO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRWxELE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUdyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLENBTWpCLElBQWdELEVBQ2hELEVBQVc7SUFFWCxPQUFPLElBQUk7U0FDUixJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUtqQixDQUE2QztJQUM3QyxPQUFPLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FLakMsSUFBZ0QsRUFBRSxFQUFXO0lBQzdELE9BQU8sQ0FBd0IsSUFBeUMsRUFBRSxFQUFFLENBQzFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1B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
@@ -1,10 +1,11 @@
1
1
  import type { RepositoryBaseC } from "../RepositoryBase.js";
2
- import type { PersistenceModelType } from "../Store.js";
3
2
  /**
4
3
  * @tsplus type Repository
5
4
  */
6
5
  export interface Repository<T extends {
7
6
  id: unknown;
8
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC<T, PM, Evt, ItemType> {
7
+ }, Encoded extends {
8
+ id: string;
9
+ }, Evt, ItemType extends string> extends RepositoryBaseC<T, Encoded, Evt, ItemType> {
9
10
  }
10
11
  //# 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;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU,CACzB,CAAC,SAAS;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,EACzB,EAAE,SAAS,oBAAoB,CAAC,MAAM,CAAC,EACvC,GAAG,EACH,QAAQ,SAAS,MAAM,CACvB,SAAQ,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC;CAAG"}
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,SAAS;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,EACzB,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC9B,GAAG,EACH,QAAQ,SAAS,MAAM,CACvB,SAAQ,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC;CAAG"}
@@ -12,38 +12,44 @@ import type { QAll, Query, QueryEnd, QueryProjection, QueryWhere } from "./query
12
12
  import * as Q from "./query.js";
13
13
  import { ContextMapContainer } from "./Store/ContextMapContainer.js";
14
14
  import type * as QB from "./Store/filterApi/query.js";
15
- export interface Mapped1<PM extends {
15
+ export interface Mapped1<A, Encoded extends {
16
16
  id: string;
17
- }, X, R> {
18
- all: Effect<X[], ParseResult.ParseError, R>;
19
- save: (...xes: readonly X[]) => Effect<void, OptimisticConcurrencyException | ParseResult.ParseError, R>;
20
- query: (b: (fn: QB.FilterTest<PM>, fields: QB.Filter<PM, never>) => QB.QueryBuilder<PM>) => Effect<X[], ParseResult.ParseError, R>;
21
- find: (id: PM["id"]) => Effect<Option<X>, ParseResult.ParseError, R>;
17
+ }, R> {
18
+ all: Effect<A[], ParseResult.ParseError, R>;
19
+ save: (...xes: readonly A[]) => Effect<void, OptimisticConcurrencyException | ParseResult.ParseError, R>;
20
+ query: (b: (fn: QB.FilterTest<Encoded>, fields: QB.Filter<Encoded, never>) => QB.QueryBuilder<Encoded>) => Effect<A[], ParseResult.ParseError, R>;
21
+ find: (id: Encoded["id"]) => Effect<Option<A>, ParseResult.ParseError, R>;
22
22
  }
23
- export interface Mapped2<PM extends {
23
+ export interface Mapped2<A, Encoded extends {
24
24
  id: string;
25
- }, X, R> {
26
- all: Effect<X[], ParseResult.ParseError, R>;
27
- query: (b: (fn: QB.FilterTest<PM>, fields: QB.Filter<PM, never>) => QB.QueryBuilder<PM>) => Effect<X[], ParseResult.ParseError, R>;
25
+ }, R> {
26
+ all: Effect<A[], ParseResult.ParseError, R>;
27
+ query: (b: (fn: QB.FilterTest<Encoded>, fields: QB.Filter<Encoded, never>) => QB.QueryBuilder<Encoded>) => Effect<A[], ParseResult.ParseError, R>;
28
28
  }
29
- export interface Mapped<PM extends {
29
+ export interface Mapped<Encoded extends {
30
30
  id: string;
31
- }, OriginalFrom> {
32
- <X, R>(schema: S.Schema<X, OriginalFrom, R>): Mapped1<PM, X, R>;
33
- <X, From, R>(schema: S.Schema<X, From, R>): Mapped2<PM, X, R>;
31
+ }, OriginalEncoded extends {
32
+ id: string;
33
+ } = Encoded> {
34
+ <A, R>(schema: S.Schema<A, OriginalEncoded, R>): Mapped1<A, Encoded, R>;
35
+ <A, From, R>(schema: S.Schema<A, From, R>): Mapped2<A, Encoded, R>;
34
36
  }
35
- export interface MM<Repo, PM extends {
37
+ export interface MM<Repo, Encoded extends {
38
+ id: string;
39
+ }, OriginalEncoded extends {
36
40
  id: string;
37
- }, OriginalFrom> {
38
- <X, R>(schema: S.Schema<X, OriginalFrom, R>): Effect<Mapped1<PM, X, R>, never, Repo>;
39
- <X, From, R>(schema: S.Schema<X, From, R>): Effect<Mapped2<PM, X, R>, never, Repo>;
41
+ }> {
42
+ <A, R>(schema: S.Schema<A, OriginalEncoded, R>): Effect<Mapped1<A, Encoded, R>, never, Repo>;
43
+ <A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Effect<Mapped2<A, Encoded, R>, never, Repo>;
40
44
  }
41
45
  /**
42
46
  * @tsplus type Repository
43
47
  */
44
48
  export declare abstract class RepositoryBaseC<T extends {
45
49
  id: unknown;
46
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> {
50
+ }, Encoded extends {
51
+ id: string;
52
+ }, Evt, ItemType extends string> {
47
53
  abstract readonly itemType: ItemType;
48
54
  abstract readonly find: (id: T["id"]) => Effect<Option<T>>;
49
55
  abstract readonly all: Effect<T[]>;
@@ -51,50 +57,56 @@ export declare abstract class RepositoryBaseC<T extends {
51
57
  abstract readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
52
58
  abstract readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void>;
53
59
  abstract readonly query: {
54
- <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QueryProjection<Omit<PM, "_etag"> 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), R>;
55
- <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QAll<Omit<PM, "_etag">, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
60
+ <A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QueryProjection<Omit<Encoded, "_etag"> 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>;
61
+ <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QAll<Omit<Encoded, "_etag">, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
56
62
  };
57
63
  /** @deprecated use query */
58
- abstract readonly mapped: Mapped<PM, Omit<PM, "_etag">>;
64
+ abstract readonly mapped: Mapped<Encoded>;
59
65
  }
60
66
  export declare abstract class RepositoryBaseC1<T extends {
61
67
  id: unknown;
62
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC<T, PM, Evt, ItemType> {
68
+ }, Encoded extends {
69
+ id: string;
70
+ }, Evt, ItemType extends string> extends RepositoryBaseC<T, Encoded, Evt, ItemType> {
63
71
  readonly itemType: ItemType;
64
72
  constructor(itemType: ItemType);
65
73
  }
66
74
  export declare class RepositoryBaseC2<T extends {
67
75
  id: unknown;
68
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC1<T, PM, Evt, ItemType> {
69
- protected readonly impl: Repository<T, PM, Evt, ItemType>;
70
- constructor(itemType: ItemType, impl: Repository<T, PM, Evt, ItemType>);
76
+ }, Encoded extends {
77
+ id: string;
78
+ }, Evt, ItemType extends string> extends RepositoryBaseC1<T, Encoded, Evt, ItemType> {
79
+ protected readonly impl: Repository<T, Encoded, Evt, ItemType>;
80
+ constructor(itemType: ItemType, impl: Repository<T, Encoded, Evt, ItemType>);
71
81
  saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
72
82
  removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void>;
73
83
  find: (id: T["id"]) => Effect<Option<T>>;
74
84
  all: Effect<T[]>;
75
85
  changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
76
- mapped: Mapped<PM, Omit<PM, "_etag">>;
86
+ mapped: Mapped<Encoded, Encoded>;
77
87
  query: {
78
- <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QueryProjection<Omit<PM, "_etag"> extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? number & S.NonNegativeIntBrand : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), R>;
79
- <R_1 = never, TType_1 extends "one" | "many" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QAll<Omit<PM, "_etag">, T, R_1, TType_1>): Effect.Effect<TType_1 extends "many" ? readonly T[] : T, TType_1 extends "many" ? never : NotFoundError<ItemType>, R_1>;
88
+ <A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QueryProjection<Omit<Encoded, "_etag"> extends Encoded2 ? Encoded2 : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? number & S.NonNegativeIntBrand : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), R>;
89
+ <R_1 = never, TType_1 extends "one" | "many" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QAll<Omit<Encoded, "_etag">, T, R_1, TType_1>): Effect.Effect<TType_1 extends "many" ? readonly T[] : T, TType_1 extends "many" ? never : NotFoundError<ItemType>, R_1>;
80
90
  };
81
91
  }
82
92
  export declare class RepositoryBaseC3<T extends {
83
93
  id: unknown;
84
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC2<T, PM, Evt, ItemType> {
94
+ }, Encoded extends {
95
+ id: string;
96
+ }, Evt, ItemType extends string> extends RepositoryBaseC2<T, Encoded, Evt, ItemType> {
85
97
  get(id: T["id"]): Effect.Effect<T, NotFoundError<ItemType>, never>;
86
98
  readonly log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
87
99
  removeById(id: T["id"]): Effect.Effect<void, NotFoundError<ItemType>, never>;
88
100
  readonly save: (items_0: T, ...items_1: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
89
101
  readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError>;
90
102
  readonly queryAndSavePure: {
91
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => QueryEnd<Omit<PM, "_etag">, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
103
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => QueryEnd<Omit<Encoded, "_etag">, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
92
104
  env: PureEnv<Evt, T, T2>;
93
105
  }>>;
94
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => Query<Omit<PM, "_etag">> | QueryWhere<Omit<PM, "_etag">> | QueryEnd<Omit<PM, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
106
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => Query<Omit<Encoded, "_etag">> | QueryWhere<Omit<Encoded, "_etag">> | QueryEnd<Omit<Encoded, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
95
107
  env: PureEnv<Evt, readonly T[], readonly T2[]>;
96
108
  }>>;
97
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => Query<Omit<PM, "_etag">> | QueryWhere<Omit<PM, "_etag">> | QueryEnd<Omit<PM, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
109
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => Query<Omit<Encoded, "_etag">> | QueryWhere<Omit<Encoded, "_etag">> | QueryEnd<Omit<Encoded, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
98
110
  env: PureEnv<Evt, readonly T[], readonly T2[]>;
99
111
  }>>;
100
112
  };
@@ -123,81 +135,75 @@ export declare class RepositoryBaseC3<T extends {
123
135
  env: PureEnv<Evt, S1, S2>;
124
136
  }>>;
125
137
  }
126
- type Exact<A, B> = [A] extends [B] ? [B] extends [A] ? true : false : false;
127
138
  /**
128
139
  * A base implementation to create a repository.
129
140
  */
130
- export declare function makeRepo<PM extends {
131
- id: string;
132
- _etag: string | undefined;
133
- }, Evt = never>(): <ItemType extends string, R, From extends {
141
+ export declare function makeRepo<Evt = never>(): <ItemType extends string, R, Encoded extends {
134
142
  id: string;
135
143
  }, T extends {
136
144
  id: unknown;
137
- }>(name: ItemType, schema: S.Schema<T, From, R>, mapFrom: (pm: Omit<PM, "_etag">) => From, mapTo: (e: From, etag: string | undefined) => PM) => {
145
+ }>(name: ItemType, schema: S.Schema<T, Encoded, R>, mapFrom: (pm: Encoded) => Encoded, mapTo: (e: Encoded, etag: string | undefined) => PersistenceModelType<Encoded>) => {
138
146
  make: <RInitial = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
139
147
  makeInitial?: Effect<readonly T[], E, RInitial>;
140
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
141
- partitionValue?: (a: PM) => string;
148
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
149
+ partitionValue?: (a: Encoded) => string;
142
150
  };
143
151
  } : {
144
152
  publishEvents: (evt: readonly [Evt, ...Evt[]]) => Effect<void, never, R2>;
145
153
  makeInitial?: Effect<readonly T[], E, RInitial>;
146
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
147
- partitionValue?: (a: PM) => string;
154
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
155
+ partitionValue?: (a: Encoded) => string;
148
156
  };
149
- }) => Effect.Effect<Repository<T, PM, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
150
- Q: Query<Omit<PM, "_etag">>;
157
+ }) => Effect.Effect<Repository<T, Encoded, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
158
+ Q: Query<Omit<Encoded, "_etag">>;
151
159
  };
152
- export declare function makeStore<PM extends {
160
+ export declare function makeStore<Encoded extends {
153
161
  id: string;
154
- _etag: string | undefined;
155
162
  }>(): <ItemType extends string, R, E extends {
156
163
  id: string;
157
164
  }, T extends {
158
165
  id: unknown;
159
- }>(name: ItemType, schema: S.Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => PM) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial>, config?: (Omit<StoreConfig<PM>, "partitionValue"> & {
160
- partitionValue?: (a: PM) => string;
161
- }) | undefined) => Effect.Effect<import("src/services/Store/service.js").Store<PM, string>, EInitial, StoreMaker | R | RInitial>;
166
+ }>(name: ItemType, schema: S.Schema<T, E, R>, mapTo: (e: E, etag: string | undefined) => Encoded) => <RInitial = never, EInitial = never>(makeInitial?: Effect<readonly T[], EInitial, RInitial>, config?: (Omit<StoreConfig<Encoded>, "partitionValue"> & {
167
+ partitionValue?: (a: Encoded) => string;
168
+ }) | undefined) => Effect.Effect<import("src/services/Store/service.js").Store<Encoded, string, PersistenceModelType<Encoded>>, EInitial, StoreMaker | R | RInitial>;
162
169
  export interface Repos<T extends {
163
170
  id: unknown;
164
- }, PM extends {
171
+ }, Encoded extends {
165
172
  id: string;
166
- _etag: string | undefined;
167
173
  }, R, Evt, ItemType extends string> {
168
174
  make<RInitial = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
169
175
  makeInitial?: Effect<readonly T[], E, RInitial>;
170
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
171
- partitionValue?: (a: PM) => string;
176
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
177
+ partitionValue?: (a: Encoded) => string;
172
178
  };
173
179
  } : {
174
180
  publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
175
181
  makeInitial?: Effect<readonly T[], E, RInitial>;
176
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
177
- partitionValue?: (a: PM) => string;
182
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
183
+ partitionValue?: (a: Encoded) => string;
178
184
  };
179
- }): Effect<Repository<T, PM, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
185
+ }): Effect<Repository<T, Encoded, Evt, ItemType>, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
180
186
  makeWith<Out, RInitial = never, E = never, R2 = never>(args: [Evt] extends [never] ? {
181
187
  makeInitial?: Effect<readonly T[], E, RInitial>;
182
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
183
- partitionValue?: (a: PM) => string;
188
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
189
+ partitionValue?: (a: Encoded) => string;
184
190
  };
185
191
  } : {
186
192
  publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
187
193
  makeInitial?: Effect<readonly T[], E, RInitial>;
188
- config?: Omit<StoreConfig<PM>, "partitionValue"> & {
189
- partitionValue?: (a: PM) => string;
194
+ config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
195
+ partitionValue?: (a: Encoded) => string;
190
196
  };
191
- }, f: (r: Repository<T, PM, Evt, ItemType>) => Out): Effect<Out, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
192
- readonly Q: ReturnType<typeof Q.make<PM>>;
193
- readonly type: Repository<T, PM, Evt, ItemType>;
197
+ }, f: (r: Repository<T, Encoded, Evt, ItemType>) => Out): Effect<Out, E, StoreMaker | ContextMapContainer | R | RInitial | R2>;
198
+ readonly Q: ReturnType<typeof Q.make<Encoded>>;
199
+ readonly type: Repository<T, Encoded, Evt, ItemType>;
194
200
  }
195
201
  export type GetRepoType<T> = T extends {
196
202
  type: infer R;
197
203
  } ? R : never;
198
204
  export interface RepoFunctions<T extends {
199
205
  id: unknown;
200
- }, PM extends {
206
+ }, Encoded extends {
201
207
  id: string;
202
208
  }, Evt, ItemType, Service> {
203
209
  all: Effect<readonly T[], never, Service>;
@@ -208,19 +214,19 @@ export interface RepoFunctions<T extends {
208
214
  save: (...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException, Service>;
209
215
  get: (id: T["id"]) => Effect<T, NotFoundError<ItemType>, Service>;
210
216
  queryAndSavePure: {
211
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => QueryEnd<Omit<PM, "_etag">, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Service | Exclude<R2, {
217
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => QueryEnd<Omit<Encoded, "_etag">, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Service | Exclude<R2, {
212
218
  env: PureEnv<Evt, T, T2>;
213
219
  }>>;
214
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => Query<Omit<PM, "_etag">> | QueryWhere<Omit<PM, "_etag">> | QueryEnd<Omit<PM, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
220
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => Query<Omit<Encoded, "_etag">> | QueryWhere<Omit<Encoded, "_etag">> | QueryEnd<Omit<Encoded, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
215
221
  env: PureEnv<Evt, readonly T[], readonly T2[]>;
216
222
  }>>;
217
- <A, E2, R2, T2 extends T>(q: (q: Query<Omit<PM, "_etag">>) => Query<Omit<PM, "_etag">> | QueryWhere<Omit<PM, "_etag">> | QueryEnd<Omit<PM, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batchSize: number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
223
+ <A, E2, R2, T2 extends T>(q: (q: Query<Omit<Encoded, "_etag">>) => Query<Omit<Encoded, "_etag">> | QueryWhere<Omit<Encoded, "_etag">> | QueryEnd<Omit<Encoded, "_etag">, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batchSize: number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Service | Exclude<R2, {
218
224
  env: PureEnv<Evt, readonly T[], readonly T2[]>;
219
225
  }>>;
220
226
  };
221
227
  readonly query: {
222
- <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QueryProjection<Omit<PM, "_etag"> 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>;
223
- <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Omit<PM, "_etag">>) => QAll<Omit<PM, "_etag">, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, Service | R>;
228
+ <A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QueryProjection<Omit<Encoded, "_etag"> 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>;
229
+ <R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Omit<Encoded, "_etag">>) => QAll<Omit<Encoded, "_etag">, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, Service | R>;
224
230
  };
225
231
  byIdAndSaveWithPure: {
226
232
  <R, A, E, S2 extends T>(id: T["id"], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, Service | Exclude<R, {
@@ -236,28 +242,17 @@ export interface RepoFunctions<T extends {
236
242
  }>>;
237
243
  };
238
244
  /** @experimental */
239
- mapped: MM<Service, PM, Omit<PM, "_etag">>;
245
+ mapped: MM<Service, Encoded, Omit<Encoded, "_etag">>;
240
246
  use: <X>(body: (_: Service) => X) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Service> : Effect<X, never, Service>;
241
247
  }
242
- export declare const RepositoryBaseImpl: <Service>() => <PM extends {
243
- id: string;
244
- _etag: string | undefined;
245
- }, Evt = never>() => <ItemType extends string, R, From extends {
248
+ export declare const RepositoryBaseImpl: <Service>() => <Evt = never>() => <ItemType extends string, R, Encoded extends {
246
249
  id: string;
247
250
  }, T extends {
248
251
  id: unknown;
249
- }>(itemType: ItemType, schema: S.Schema<T, From, R>, jitM?: ((pm: From) => From) | undefined) => Exact<PM, From & {
250
- _etag: string | undefined;
251
- }> extends true ? (abstract new () => RepositoryBaseC1<T, PM, Evt, ItemType>) & Context.Tag<Service, Service> & Repos<T, PM, R, Evt, ItemType> & RepoFunctions<T, PM, Evt, ItemType, Service> : never;
252
- export declare const RepositoryDefaultImpl: <Service>() => <PM extends {
253
- id: string;
254
- _etag: string | undefined;
255
- }, Evt = never>() => <ItemType extends string, R, From extends {
252
+ }>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, jitM?: ((pm: Encoded) => Encoded) | undefined) => (abstract new () => RepositoryBaseC1<T, Encoded, Evt, ItemType>) & Context.Tag<Service, Service> & Repos<T, Encoded, R, Evt, ItemType> & RepoFunctions<T, Encoded, Evt, ItemType, Service>;
253
+ export declare const RepositoryDefaultImpl: <Service, Evt = never>() => <ItemType extends string, R, Encoded extends {
256
254
  id: string;
257
255
  }, T extends {
258
256
  id: unknown;
259
- }>(itemType: ItemType, schema: S.Schema<T, From, R>, jitM?: ((pm: From) => From) | undefined) => Exact<PM, From & {
260
- _etag: string | undefined;
261
- }> extends true ? (abstract new (impl: Repository<T, PM, Evt, ItemType>) => RepositoryBaseC3<T, PM, Evt, ItemType>) & Context.Tag<Service, Service> & Repos<T, PM, R, Evt, ItemType> & RepoFunctions<T, PM, Evt, ItemType, Service> : never;
262
- export {};
257
+ }>(itemType: ItemType, schema: S.Schema<T, Encoded, R>, jitM?: ((pm: Encoded) => Encoded) | undefined) => (abstract new (impl: Repository<T, Encoded, Evt, ItemType>) => RepositoryBaseC3<T, Encoded, Evt, ItemType>) & Context.Tag<Service, Service> & Repos<T, Encoded, R, Evt, ItemType> & RepoFunctions<T, Encoded, Evt, ItemType, Service>;
263
258
  //# sourceMappingURL=RepositoryBase.d.ts.map