@effect-app/infra 0.170.5 → 0.171.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 (90) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/_cjs/api/routing/base.cjs.map +1 -1
  3. package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
  4. package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
  5. package/_cjs/services/Repository/dsl.cjs +70 -0
  6. package/_cjs/services/Repository/dsl.cjs.map +1 -0
  7. package/_cjs/services/Repository/ext.cjs +202 -0
  8. package/_cjs/services/Repository/ext.cjs.map +1 -0
  9. package/_cjs/services/Repository/service.cjs +6 -0
  10. package/_cjs/services/Repository/service.cjs.map +1 -0
  11. package/_cjs/services/Repository.cjs +32 -252
  12. package/_cjs/services/Repository.cjs.map +1 -1
  13. package/_cjs/services/RepositoryBase.cjs +173 -48
  14. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  15. package/_cjs/services/RequestContextContainer.cjs +6 -7
  16. package/_cjs/services/RequestContextContainer.cjs.map +1 -1
  17. package/_cjs/services/Store/ContextMapContainer.cjs +6 -7
  18. package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
  19. package/_cjs/services/Store/Memory.cjs.map +1 -1
  20. package/_cjs/services/Store/utils.cjs.map +1 -1
  21. package/_src/api/routing/base.ts +5 -3
  22. package/_src/api/routing/makeRequestHandler.ts +20 -12
  23. package/_src/rateLimit.ts +2 -2
  24. package/_src/services/Emailer/Sendgrid.ts +2 -2
  25. package/_src/services/QueueMaker/errors.ts +6 -3
  26. package/_src/services/QueueMaker/memQueue.ts +2 -2
  27. package/_src/services/QueueMaker/sbqueue.ts +2 -2
  28. package/_src/services/Repository/dsl.ts +137 -0
  29. package/_src/services/Repository/ext.ts +669 -0
  30. package/_src/services/Repository/service.ts +12 -0
  31. package/_src/services/Repository.ts +3 -791
  32. package/_src/services/RepositoryBase.ts +640 -13
  33. package/_src/services/RequestContextContainer.ts +14 -16
  34. package/_src/services/Store/ContextMapContainer.ts +6 -9
  35. package/_src/services/Store/Cosmos.ts +2 -2
  36. package/_src/services/Store/Disk.ts +2 -2
  37. package/_src/services/Store/Memory.ts +2 -1
  38. package/_src/services/Store/Redis.ts +2 -2
  39. package/_src/services/Store/utils.ts +4 -5
  40. package/_src/services/simpledb/cosmosdb.ts +1 -1
  41. package/_src/services/simpledb/diskdb.ts +1 -1
  42. package/_src/services/simpledb/memdb.ts +1 -1
  43. package/_src/services/simpledb/mongodb.ts +1 -1
  44. package/_src/services/simpledb/redisdb.ts +2 -2
  45. package/dist/api/routing/base.d.ts +1 -2
  46. package/dist/api/routing/base.d.ts.map +1 -1
  47. package/dist/api/routing/base.js +1 -1
  48. package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
  49. package/dist/api/routing/makeRequestHandler.js +15 -11
  50. package/dist/rateLimit.js +1 -1
  51. package/dist/services/Emailer/Sendgrid.js +1 -1
  52. package/dist/services/QueueMaker/errors.d.ts.map +1 -1
  53. package/dist/services/QueueMaker/errors.js +5 -2
  54. package/dist/services/QueueMaker/memQueue.js +1 -1
  55. package/dist/services/QueueMaker/sbqueue.js +1 -1
  56. package/dist/services/QueueMaker/service.d.ts +2 -2
  57. package/dist/services/Repository/dsl.d.ts +51 -0
  58. package/dist/services/Repository/dsl.d.ts.map +1 -0
  59. package/dist/services/Repository/dsl.js +55 -0
  60. package/dist/services/Repository/ext.d.ts +310 -0
  61. package/dist/services/Repository/ext.d.ts.map +1 -0
  62. package/dist/services/Repository/ext.js +166 -0
  63. package/dist/services/Repository/service.d.ts +10 -0
  64. package/dist/services/Repository/service.d.ts.map +1 -0
  65. package/dist/services/Repository/service.js +2 -0
  66. package/dist/services/Repository.d.ts +3 -363
  67. package/dist/services/Repository.d.ts.map +1 -1
  68. package/dist/services/Repository.js +4 -217
  69. package/dist/services/RepositoryBase.d.ts +241 -6
  70. package/dist/services/RepositoryBase.d.ts.map +1 -1
  71. package/dist/services/RepositoryBase.js +176 -52
  72. package/dist/services/RequestContextContainer.d.ts +3 -5
  73. package/dist/services/RequestContextContainer.d.ts.map +1 -1
  74. package/dist/services/RequestContextContainer.js +17 -16
  75. package/dist/services/Store/ContextMapContainer.d.ts +2 -5
  76. package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
  77. package/dist/services/Store/ContextMapContainer.js +7 -8
  78. package/dist/services/Store/Cosmos.js +1 -1
  79. package/dist/services/Store/Disk.js +1 -1
  80. package/dist/services/Store/Memory.d.ts.map +1 -1
  81. package/dist/services/Store/Memory.js +1 -1
  82. package/dist/services/Store/Redis.js +1 -1
  83. package/dist/services/Store/utils.d.ts.map +1 -1
  84. package/dist/services/Store/utils.js +1 -1
  85. package/dist/services/simpledb/cosmosdb.js +1 -1
  86. package/dist/services/simpledb/diskdb.js +1 -1
  87. package/dist/services/simpledb/memdb.js +1 -1
  88. package/dist/services/simpledb/mongodb.js +1 -1
  89. package/dist/services/simpledb/redisdb.js +1 -1
  90. package/package.json +37 -7
@@ -1,14 +1,17 @@
1
1
  import { Effect } from "effect/Effect";
2
2
  import { PubSub } from "effect/PubSub";
3
- import { NonEmptyReadonlyArray } from "effect/ReadonlyArray";
4
- import { Schema } from "@effect-app/prelude/schema";
3
+ import { Option } from "@effect-app/core/Option";
4
+ import { NonEmptyReadonlyArray, NonEmptyArray } from "effect/ReadonlyArray";
5
+ import { NonNegativeInt, Schema } from "@effect-app/prelude/schema";
6
+ import { PureEnv } from "@effect-app/prelude/Pure";
5
7
  import { Tag } from "effect/Context";
6
- import type { Repository } from "./Repository.js";
8
+ import { type Repository } from "./Repository.js";
7
9
  import { StoreMaker } from "./Store.js";
8
10
  import type { Filter, FilterFunc, PersistenceModelType, StoreConfig, Where } from "./Store.js";
9
11
  import type { Opt } from "@effect-app/core/Option";
10
12
  import { S } from "@effect-app/prelude";
11
- import type { InvalidStateError, OptimisticConcurrencyException } from "../errors.js";
13
+ import type { FixEnv } from "@effect-app/prelude/Pure";
14
+ import { type InvalidStateError, NotFoundError, type OptimisticConcurrencyException } from "../errors.js";
12
15
  import { ContextMapContainer } from "./Store/ContextMapContainer.js";
13
16
  import { QueryBuilder } from "./Store/filterApi/query.js";
14
17
  /**
@@ -51,6 +54,238 @@ export declare class RepositoryBaseC2<T extends {
51
54
  };
52
55
  changeFeed: import("effect/PubSub").PubSub<[T[], "save" | "remove"]>;
53
56
  }
57
+ export declare class RepositoryBaseC3<T extends {
58
+ id: unknown;
59
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC2<T, PM, Evt, ItemType> {
60
+ get<T extends {
61
+ id: unknown;
62
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"]): import("effect/Effect").Effect<T, NotFoundError<ItemType>, never>;
63
+ readonly log: (evt: Evt) => import("@effect-app/prelude/Pure").PureLogT<any>;
64
+ projectEffect<T extends {
65
+ id: unknown;
66
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = PM>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
67
+ filter?: Filter<PM> | undefined;
68
+ collect?: ((t: PM) => Option<S>) | undefined;
69
+ limit?: number | undefined;
70
+ skip?: number | undefined;
71
+ }, E, R>): Effect<S[], E, R>;
72
+ projectEffect<T extends {
73
+ id: unknown;
74
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, U extends keyof PM, S = PM>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
75
+ filter?: QueryBuilder<PM> | undefined;
76
+ collect?: ((t: PM) => Option<S>) | undefined;
77
+ limit?: number | undefined;
78
+ skip?: number | undefined;
79
+ }, E, R>): Effect<Pick<PM, U>[], E, R>;
80
+ /**
81
+ * TODO: project inside the db.
82
+ * @tsplus fluent Repository project
83
+ */
84
+ project<T extends {
85
+ id: unknown;
86
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = PM>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
87
+ filter?: Filter<PM>;
88
+ collect?: (t: PM) => Option<S>;
89
+ limit?: number;
90
+ skip?: number;
91
+ }): Effect<S[]>;
92
+ project<T extends {
93
+ id: unknown;
94
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, U extends keyof PM>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
95
+ filter?: QueryBuilder<PM>;
96
+ select: NonEmptyReadonlyArray<U>;
97
+ limit?: number;
98
+ skip?: number;
99
+ }): Effect<Pick<PM, U>[]>;
100
+ /**
101
+ * TODO: count inside the db.
102
+ * @tsplus fluent Repository project
103
+ */
104
+ count<T extends {
105
+ id: unknown;
106
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, filter?: Filter<PM>): import("effect/Effect").Effect<number & S.NonNegativeIntBrand, never, never>;
107
+ /**
108
+ * @tsplus fluent Repository queryEffect
109
+ */
110
+ queryEffect<T extends {
111
+ id: unknown;
112
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
113
+ filter?: Filter<PM>;
114
+ collect?: (t: T) => Option<S>;
115
+ limit?: number;
116
+ skip?: number;
117
+ }, E, R>): import("effect/Effect").Effect<S[], E, R>;
118
+ /**
119
+ * @tsplus fluent Repository queryOneEffect
120
+ */
121
+ queryOneEffect<T extends {
122
+ id: unknown;
123
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
124
+ filter?: Filter<PM>;
125
+ }, E, R>): Effect<T, E | NotFoundError<ItemType>, R>;
126
+ queryOneEffect<T extends {
127
+ id: unknown;
128
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
129
+ filter?: Filter<PM>;
130
+ collect: (t: T) => Option<S>;
131
+ }, E, R>): Effect<S, E | NotFoundError<ItemType>, R>;
132
+ /**
133
+ * @tsplus fluent Repository query
134
+ */
135
+ query<T extends {
136
+ id: unknown;
137
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
138
+ filter?: Filter<PM>;
139
+ collect?: (t: T) => Option<S>;
140
+ limit?: number;
141
+ skip?: number;
142
+ }): import("effect/Effect").Effect<S[], never, never>;
143
+ /**
144
+ * @tsplus fluent Repository queryOne
145
+ */
146
+ queryOne<T extends {
147
+ id: unknown;
148
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
149
+ filter?: Filter<PM>;
150
+ collect: (t: T) => Option<S>;
151
+ }): Effect<S, NotFoundError<ItemType>>;
152
+ queryOne<T extends {
153
+ id: unknown;
154
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
155
+ filter?: Filter<PM>;
156
+ }): Effect<T, NotFoundError<ItemType>>;
157
+ /**
158
+ * @tsplus fluent Repository queryAndSaveOnePureEffect
159
+ */
160
+ queryAndSaveOnePureEffect<T extends {
161
+ id: unknown;
162
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
163
+ filter: Filter<PM>;
164
+ collect: (t: T) => Option<S>;
165
+ limit?: number;
166
+ skip?: number;
167
+ }, E, R>): <R2, A, E2, S2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt, S, S2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E | E2 | NotFoundError<ItemType>, R | Exclude<R2, {
168
+ env: PureEnv<Evt, S, S2>;
169
+ }>>;
170
+ queryAndSaveOnePureEffect<T extends {
171
+ id: unknown;
172
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
173
+ filter: Filter<PM>;
174
+ }, E, R>): <R2, A, E2, T2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E | E2 | NotFoundError<ItemType>, R | Exclude<R2, {
175
+ env: PureEnv<Evt, T, T2>;
176
+ }>>;
177
+ /**
178
+ * @tsplus fluent Repository queryAndSaveOnePure
179
+ */
180
+ queryAndSaveOnePure<T extends {
181
+ id: unknown;
182
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
183
+ filter: Filter<PM>;
184
+ collect: (t: T) => Option<S>;
185
+ limit?: number;
186
+ skip?: number;
187
+ }): <R2, A, E2, S2>(pure: Effect<A, E2, FixEnv<R2, Evt, S, S2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E2 | NotFoundError<ItemType>, Exclude<R2, {
188
+ env: PureEnv<Evt, S, S2>;
189
+ }>>;
190
+ queryAndSaveOnePure<T extends {
191
+ id: unknown;
192
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
193
+ filter: Filter<PM>;
194
+ }): <R2, A, E2, T2>(pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E2 | NotFoundError<ItemType>, Exclude<R2, {
195
+ env: PureEnv<Evt, T, T2>;
196
+ }>>;
197
+ /**
198
+ * @tsplus fluent Repository queryAndSavePureEffect
199
+ */
200
+ queryAndSavePureEffect<T extends {
201
+ id: unknown;
202
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
203
+ filter: Filter<PM>;
204
+ collect?: (t: T) => Option<S>;
205
+ limit?: number;
206
+ skip?: number;
207
+ }, E, R>): <R2, A, E2, S2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt_1, S[], S2[]>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | E2, R | Exclude<R2, {
208
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S[], S2[]>;
209
+ }>>;
210
+ /**
211
+ * @tsplus fluent Repository queryAndSavePure
212
+ */
213
+ queryAndSavePure<T extends {
214
+ id: unknown;
215
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
216
+ filter: Filter<PM>;
217
+ collect?: (t: T) => Option<S>;
218
+ limit?: number;
219
+ skip?: number;
220
+ }): <R2, A, E2, S2 extends T>(pure: import("effect/Effect").Effect<A, E2, FixEnv<R2, Evt_1, S[], S2[]>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
221
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S[], S2[]>;
222
+ }>>;
223
+ saveManyWithPure<T extends {
224
+ id: unknown;
225
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt_1, S1[], S2[]>>) => (items: Iterable<S1>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
226
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S1[], S2[]>;
227
+ }>>;
228
+ byIdAndSaveWithPure<T extends {
229
+ id: unknown;
230
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"]): <R, A, E, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt_1, T, S2>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType_1>, Exclude<R, {
231
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, T, S2>;
232
+ }>>;
233
+ /**
234
+ * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
235
+ */
236
+ handleByIdAndSaveWithPure<T extends {
237
+ id: unknown;
238
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>): <Req extends {
239
+ id: T["id"];
240
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt_1, T, S2>>) => (req: Req, ctx: Context) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType_1>, Exclude<R, {
241
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, T, S2>;
242
+ }>>;
243
+ saveManyWithPure_<R, T extends {
244
+ id: unknown;
245
+ }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, S1[], S2[]>>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
246
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
247
+ }>>;
248
+ saveWithPure_<R, T extends {
249
+ id: unknown;
250
+ }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
251
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1, S2>;
252
+ }>>;
253
+ saveAllWithEffectInt<T extends {
254
+ id: unknown;
255
+ }, PM extends PersistenceModelType<string>, P extends T, Evt, ItemType extends string, R, E, A>(this: RepositoryBaseC<T, PM, Evt, ItemType>, gen: Effect<readonly [Iterable<P>, Iterable<Evt>, A], E, R>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, R>;
256
+ queryAndSavePureEffectBatched<T extends {
257
+ id: unknown;
258
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
259
+ filter: Filter<PM>;
260
+ collect?: (t: T) => Option<S>;
261
+ limit?: number;
262
+ skip?: number;
263
+ }, E, R>, batchSize?: number): <R2, A, E2, S2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt_1, S[], S2[]>>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E | E2, R | Exclude<R2, {
264
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S[], S2[]>;
265
+ }>>;
266
+ queryAndSavePureBatched<T extends {
267
+ id: unknown;
268
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(this: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
269
+ filter: Filter<PM>;
270
+ collect?: (t: T) => Option<S>;
271
+ limit?: number;
272
+ skip?: number;
273
+ }, batchSize?: number): <R2, A, E2, S2 extends T>(pure: import("effect/Effect").Effect<A, E2, FixEnv<R2, Evt_1, S[], S2[]>>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
274
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S[], S2[]>;
275
+ }>>;
276
+ saveManyWithPureBatched<T extends {
277
+ id: unknown;
278
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt_1, S1[], S2[]>>) => (items: Iterable<S1>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
279
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt_1, S1[], S2[]>;
280
+ }>>;
281
+ saveManyWithPureBatched_<R, T extends {
282
+ id: unknown;
283
+ }, PM extends PersistenceModelType<string>, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(this: RepositoryBaseC<T, PM, Evt, ItemType>, items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, S1[], S2[]>>, batchSize?: number): import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
284
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
285
+ }>>;
286
+ readonly save: (items_0: T, ...items_1: T[]) => import("effect/Effect").Effect<void, InvalidStateError | OptimisticConcurrencyException, never>;
287
+ readonly saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => import("effect/Effect").Effect<void, InvalidStateError | OptimisticConcurrencyException, never>;
288
+ }
54
289
  type Exact<A, B> = [A] extends [B] ? [B] extends [A] ? true : false : false;
55
290
  /**
56
291
  * A base implementation to create a repository.
@@ -110,7 +345,7 @@ export declare function makeRepo<PM extends {
110
345
  */
111
346
  export declare function removeById<T extends {
112
347
  id: unknown;
113
- }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: Repository<T, PM, Evt, ItemType>, id: T["id"]): import("effect/Effect").Effect<void, import("@effect-app/prelude/client/errors").NotFoundError<ItemType>, never>;
348
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: Repository<T, PM, Evt, ItemType>, id: T["id"]): import("effect/Effect").Effect<void, NotFoundError<ItemType>, never>;
114
349
  export declare function makeWhere<PM extends {
115
350
  id: string;
116
351
  _etag: string | undefined;
@@ -207,6 +442,6 @@ export declare const RepositoryDefaultImpl: <Service>() => <PM extends {
207
442
  id: unknown;
208
443
  }>(itemType: ItemType, schema: S.Schema<T, From, R>, jitM?: ((pm: From) => From) | undefined) => Exact<PM, From & {
209
444
  _etag: string | undefined;
210
- }> extends true ? (abstract new (impl: Repository<T, PM, Evt, ItemType>) => RepositoryBaseC2<T, PM, Evt, ItemType>) & import("effect/Context").Tag<Service, Service> & Repos<T, PM, R, Evt, ItemType> : never;
445
+ }> extends true ? (abstract new (impl: Repository<T, PM, Evt, ItemType>) => RepositoryBaseC3<T, PM, Evt, ItemType>) & import("effect/Context").Tag<Service, Service> & Repos<T, PM, R, Evt, ItemType> : never;
211
446
  export {};
212
447
  //# 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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"}