@effect-app/infra 0.170.6 → 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 (38) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/_cjs/services/Repository/dsl.cjs +70 -0
  3. package/_cjs/services/Repository/dsl.cjs.map +1 -0
  4. package/_cjs/services/Repository/ext.cjs +202 -0
  5. package/_cjs/services/Repository/ext.cjs.map +1 -0
  6. package/_cjs/services/Repository/service.cjs +6 -0
  7. package/_cjs/services/Repository/service.cjs.map +1 -0
  8. package/_cjs/services/Repository.cjs +32 -252
  9. package/_cjs/services/Repository.cjs.map +1 -1
  10. package/_cjs/services/RepositoryBase.cjs +173 -48
  11. package/_cjs/services/RepositoryBase.cjs.map +1 -1
  12. package/_src/services/Repository/dsl.ts +137 -0
  13. package/_src/services/Repository/ext.ts +669 -0
  14. package/_src/services/Repository/service.ts +12 -0
  15. package/_src/services/Repository.ts +3 -815
  16. package/_src/services/RepositoryBase.ts +621 -4
  17. package/dist/services/Repository/dsl.d.ts +51 -0
  18. package/dist/services/Repository/dsl.d.ts.map +1 -0
  19. package/dist/services/Repository/dsl.js +55 -0
  20. package/dist/services/Repository/ext.d.ts +310 -0
  21. package/dist/services/Repository/ext.d.ts.map +1 -0
  22. package/dist/services/Repository/ext.js +166 -0
  23. package/dist/services/Repository/service.d.ts +10 -0
  24. package/dist/services/Repository/service.d.ts.map +1 -0
  25. package/dist/services/Repository/service.js +2 -0
  26. package/dist/services/Repository.d.ts +3 -363
  27. package/dist/services/Repository.d.ts.map +1 -1
  28. package/dist/services/Repository.js +4 -217
  29. package/dist/services/RepositoryBase.d.ts +241 -6
  30. package/dist/services/RepositoryBase.d.ts.map +1 -1
  31. package/dist/services/RepositoryBase.js +164 -48
  32. package/dist/services/simpledb/cosmosdb.d.ts +2 -2
  33. package/dist/services/simpledb/diskdb.d.ts +1 -1
  34. package/dist/services/simpledb/memdb.d.ts +1 -1
  35. package/dist/services/simpledb/redisdb.d.ts +8 -8
  36. package/dist/services/simpledb/shared.d.ts +10 -10
  37. package/dist/services/simpledb/simpledb.d.ts +2 -2
  38. package/package.json +37 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dsl.d.ts","sourceRoot":"","sources":["../../../_src/services/Repository/dsl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import * as tsplus_module_1 from "@effect-app/prelude/Pure";
2
+ import * as tsplus_module_2 from "effect/Effect";
3
+ import * as tsplus_module_3 from "@effect-app/core/Array";
4
+ import * as tsplus_module_4 from "@effect-app/core/Effect";
5
+ export const AnyPureDSL = {
6
+ get: tsplus_module_1.get(),
7
+ set: tsplus_module_1.set,
8
+ log: (...evt) => tsplus_module_1.logMany(evt)
9
+ };
10
+ const anyDSL = makeDSL();
11
+ export function makeAllDSL() {
12
+ const dsl = anyDSL;
13
+ return dsl;
14
+ }
15
+ /**
16
+ * @tsplus fluent DSLExt updateWith
17
+ */
18
+ export function updateWithOne(self, upd) {
19
+ return self.update((_) => tsplus_module_2.sync(() => upd(_)));
20
+ }
21
+ /**
22
+ * @tsplus fluent DSLExt updateWith
23
+ */
24
+ export function updateWith(self, upd) {
25
+ return self.update((_) => tsplus_module_2.sync(() => upd(_)));
26
+ }
27
+ export function makeOneDSL() {
28
+ return anyDSL;
29
+ }
30
+ export function makeDSL() {
31
+ const dsl = AnyPureDSL;
32
+ function modify(pure) {
33
+ return tsplus_module_2.flatMap(dsl.get, (items) => pure(items, dsl));
34
+ }
35
+ function update(pure) {
36
+ return tsplus_module_2.flatMap(dsl.get, (items) => pure(items, dsl.log).tap(dsl.set));
37
+ }
38
+ function withDSL(pure) {
39
+ return pure(AnyPureDSL);
40
+ }
41
+ return Object.assign(withDSL, {
42
+ modify,
43
+ update
44
+ });
45
+ }
46
+ export function ifAny(fn) {
47
+ return (items) => tsplus_module_4.flatMapOption(tsplus_module_2.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(items)), fn);
48
+ }
49
+ /**
50
+ * @tsplus fluent Iterable ifAny
51
+ */
52
+ export function ifAny_(items, fn) {
53
+ return tsplus_module_4.flatMapOption(tsplus_module_2.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(items)), fn);
54
+ }
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9SZXBvc2l0b3J5L2RzbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBUUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQjtJQUNoRCxHQUFHLEVBQUUscUJBQVU7SUFDZixHQUFHLHFCQUFVO0lBQ2IsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFVLEVBQUUsRUFBRSxDQUFDLHdCQUFhLEdBQUcsQ0FBQztDQUMxQyxDQUFBO0FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFpQixDQUFBO0FBb0J2QyxNQUFNLFVBQVUsVUFBVTtJQUN4QixNQUFNLEdBQUcsR0FBbUIsTUFBTSxDQUFBO0lBQ2xDLE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQztBQW9CRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQXFDLElBQW9CLEVBQUUsR0FBcUI7SUFDM0csT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUUsQ0FBQyxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzFELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLElBQW9CLEVBQ3BCLEdBQXlCO0lBRXpCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU8sRUFBRSxFQUFFLENBQUMscUJBQVksR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM1RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFDeEIsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU87SUFDckIsTUFBTSxHQUFHLEdBQXlCLFVBQVUsQ0FBQTtJQUU1QyxTQUFTLE1BQU0sQ0FLYixJQUdvQjtRQUVwQixPQUFPLHdCQUFBLEdBQUcsQ0FBQyxHQUFHLEVBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQVEsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsU0FBUyxNQUFNLENBSWIsSUFHcUI7UUFFckIsT0FBTyx3QkFBQSxHQUFHLENBQUMsR0FBRyxFQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFRLENBQUE7SUFDN0UsQ0FBQztJQUVELFNBQVMsT0FBTyxDQUtkLElBQW9EO1FBRXBELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBUSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE9BQU8sRUFDUDtRQUNFLE1BQU07UUFDTixNQUFNO0tBQ1AsQ0FDRixDQUFBO0FBQ0gsQ0FBQztBQUlELE1BQU0sVUFBVSxLQUFLLENBQWEsRUFBd0Q7SUFDeEYsT0FBTyxDQUFDLEtBQWtCLEVBQUUsRUFBRSxDQUFDLDhCQUFBLHFCQUFZLEdBQUcsRUFBRSxtREFBQyxLQUFLLENBQWdCLENBQUMsRUFBWSxFQUFFLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUFhLEtBQWtCLEVBQUUsRUFBd0Q7SUFDN0csT0FBTyw4QkFBQSxxQkFBWSxHQUFHLEVBQUUsbURBQUMsS0FBSyxDQUFnQixDQUFDLEVBQVksRUFBRSxDQUFDLENBQUE7QUFDaEUsQ0FBQyJ9
@@ -0,0 +1,310 @@
1
+ import { Effect } from "effect/Effect";
2
+ import { Option } from "@effect-app/core/Option";
3
+ import { NonEmptyReadonlyArray, NonEmptyArray } from "effect/ReadonlyArray";
4
+ import { PureEnv } from "@effect-app/prelude/Pure";
5
+ import type { FixEnv } from "@effect-app/prelude/Pure";
6
+ import type { InvalidStateError, OptimisticConcurrencyException } from "../../errors.js";
7
+ import { NotFoundError } from "../../errors.js";
8
+ import type { Filter, PersistenceModelType } from "../../services/Store.js";
9
+ import type { RepositoryBaseC } from "../RepositoryBase.js";
10
+ import type { QueryBuilder } from "../Store/filterApi/query.js";
11
+ /**
12
+ * @tsplus fluent Repository get
13
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
14
+ */
15
+ export declare function get<T extends {
16
+ id: unknown;
17
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, id: T["id"]): import("effect/Effect").Effect<T, NotFoundError<ItemType>, never>;
18
+ /**
19
+ * @tsplus getter Repository log
20
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
21
+ */
22
+ export declare function log<T extends {
23
+ id: unknown;
24
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(_: RepositoryBaseC<T, PM, Evt, ItemType>): (evt: Evt) => import("@effect-app/prelude/Pure").PureLogT<any>;
25
+ /**
26
+ * TODO: project inside the db.
27
+ * @tsplus fluent Repository projectEffect
28
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
29
+ */
30
+ export declare function projectEffect<T extends {
31
+ id: unknown;
32
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = PM>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
33
+ filter?: Filter<PM> | undefined;
34
+ collect?: ((t: PM) => Option<S>) | undefined;
35
+ limit?: number | undefined;
36
+ skip?: number | undefined;
37
+ }, E, R>): Effect<S[], E, R>;
38
+ export declare function projectEffect<T extends {
39
+ id: unknown;
40
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, U extends keyof PM, S = PM>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
41
+ filter?: QueryBuilder<PM> | undefined;
42
+ collect?: ((t: PM) => Option<S>) | undefined;
43
+ limit?: number | undefined;
44
+ skip?: number | undefined;
45
+ }, E, R>): Effect<Pick<PM, U>[], E, R>;
46
+ /**
47
+ * TODO: project inside the db.
48
+ * @tsplus fluent Repository project
49
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
50
+ */
51
+ export declare function project<T extends {
52
+ id: unknown;
53
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = PM>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
54
+ filter?: Filter<PM>;
55
+ collect?: (t: PM) => Option<S>;
56
+ limit?: number;
57
+ skip?: number;
58
+ }): Effect<S[]>;
59
+ export declare function project<T extends {
60
+ id: unknown;
61
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, U extends keyof PM>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
62
+ filter?: QueryBuilder<PM>;
63
+ select: NonEmptyReadonlyArray<U>;
64
+ limit?: number;
65
+ skip?: number;
66
+ }): Effect<Pick<PM, U>[]>;
67
+ /**
68
+ * TODO: count inside the db.
69
+ * @tsplus fluent Repository project
70
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
71
+ */
72
+ export declare function count<T extends {
73
+ id: unknown;
74
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, filter?: Filter<PM>): import("effect/Effect").Effect<number & import("@effect-app/schema").NonNegativeIntBrand, never, never>;
75
+ /**
76
+ * @tsplus fluent Repository queryEffect
77
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
78
+ */
79
+ export declare function queryEffect<T extends {
80
+ id: unknown;
81
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
82
+ filter?: Filter<PM>;
83
+ collect?: (t: T) => Option<S>;
84
+ limit?: number;
85
+ skip?: number;
86
+ }, E, R>): import("effect/Effect").Effect<S[], E, R>;
87
+ /**
88
+ * @tsplus fluent Repository queryOneEffect
89
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
90
+ */
91
+ export declare function queryOneEffect<T extends {
92
+ id: unknown;
93
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
94
+ filter?: Filter<PM>;
95
+ }, E, R>): Effect<T, E | NotFoundError<ItemType>, R>;
96
+ export declare function queryOneEffect<T extends {
97
+ id: unknown;
98
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
99
+ filter?: Filter<PM>;
100
+ collect: (t: T) => Option<S>;
101
+ }, E, R>): Effect<S, E | NotFoundError<ItemType>, R>;
102
+ /**
103
+ * @tsplus fluent Repository query
104
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
105
+ */
106
+ export declare function query<T extends {
107
+ id: unknown;
108
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
109
+ filter?: Filter<PM>;
110
+ collect?: (t: T) => Option<S>;
111
+ limit?: number;
112
+ skip?: number;
113
+ }): import("effect/Effect").Effect<S[], never, never>;
114
+ /**
115
+ * @tsplus fluent Repository queryOne
116
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
117
+ */
118
+ export declare function queryOne<T extends {
119
+ id: unknown;
120
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
121
+ filter?: Filter<PM>;
122
+ collect: (t: T) => Option<S>;
123
+ }): Effect<S, NotFoundError<ItemType>>;
124
+ export declare function queryOne<T extends {
125
+ id: unknown;
126
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
127
+ filter?: Filter<PM>;
128
+ }): Effect<T, NotFoundError<ItemType>>;
129
+ /**
130
+ * @tsplus fluent Repository queryAndSaveOnePureEffect
131
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
132
+ */
133
+ export declare function queryAndSaveOnePureEffect<T extends {
134
+ id: unknown;
135
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
136
+ filter: Filter<PM>;
137
+ collect: (t: T) => Option<S>;
138
+ limit?: number;
139
+ skip?: number;
140
+ }, 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, {
141
+ env: PureEnv<Evt, S, S2>;
142
+ }>>;
143
+ export declare function queryAndSaveOnePureEffect<T extends {
144
+ id: unknown;
145
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
146
+ filter: Filter<PM>;
147
+ }, 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, {
148
+ env: PureEnv<Evt, T, T2>;
149
+ }>>;
150
+ /**
151
+ * @tsplus fluent Repository queryAndSaveOnePure
152
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
153
+ */
154
+ export declare function queryAndSaveOnePure<T extends {
155
+ id: unknown;
156
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
157
+ filter: Filter<PM>;
158
+ collect: (t: T) => Option<S>;
159
+ limit?: number;
160
+ skip?: number;
161
+ }): <R2, A, E2, S2>(pure: Effect<A, E2, FixEnv<R2, Evt, S, S2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E2 | NotFoundError<ItemType>, Exclude<R2, {
162
+ env: PureEnv<Evt, S, S2>;
163
+ }>>;
164
+ export declare function queryAndSaveOnePure<T extends {
165
+ id: unknown;
166
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
167
+ filter: Filter<PM>;
168
+ }): <R2, A, E2, T2>(pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>) => Effect<A, InvalidStateError | OptimisticConcurrencyException | E2 | NotFoundError<ItemType>, Exclude<R2, {
169
+ env: PureEnv<Evt, T, T2>;
170
+ }>>;
171
+ /**
172
+ * @tsplus fluent Repository queryAndSavePureEffect
173
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
174
+ */
175
+ export declare function queryAndSavePureEffect<T extends {
176
+ id: unknown;
177
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
178
+ filter: Filter<PM>;
179
+ collect?: (t: T) => Option<S>;
180
+ limit?: number;
181
+ skip?: number;
182
+ }, E, R>): <R2, A, E2, S2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt, S[], S2[]>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | E2, R | Exclude<R2, {
183
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S[], S2[]>;
184
+ }>>;
185
+ /**
186
+ * @tsplus fluent Repository queryAndSavePure
187
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
188
+ */
189
+ export declare function queryAndSavePure<T extends {
190
+ id: unknown;
191
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
192
+ filter: Filter<PM>;
193
+ collect?: (t: T) => Option<S>;
194
+ limit?: number;
195
+ skip?: number;
196
+ }): <R2, A, E2, S2 extends T>(pure: import("effect/Effect").Effect<A, E2, FixEnv<R2, Evt, S[], S2[]>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
197
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S[], S2[]>;
198
+ }>>;
199
+ /**
200
+ * @tsplus getter Repository saveManyWithPure
201
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
202
+ */
203
+ export declare function saveManyWithPure<T extends {
204
+ id: unknown;
205
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): <R, A, E, S1 extends T, S2 extends T>(pure: Effect<A, E, FixEnv<R, Evt, S1[], S2[]>>) => (items: Iterable<S1>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
206
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
207
+ }>>;
208
+ /**
209
+ * @tsplus fluent Repository byIdAndSaveWithPure
210
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
211
+ */
212
+ export declare function byIdAndSaveWithPure<T extends {
213
+ id: unknown;
214
+ }, 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>>) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, Exclude<R, {
215
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, T, S2>;
216
+ }>>;
217
+ /**
218
+ * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
219
+ * @tsplus getter Repository handleByIdAndSaveWithPure
220
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
221
+ */
222
+ export declare function handleByIdAndSaveWithPure<T extends {
223
+ id: unknown;
224
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): <Req extends {
225
+ id: T["id"];
226
+ }, Context, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context) => Effect<A, E, FixEnv<R, Evt, T, S2>>) => (req: Req, ctx: Context) => import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, Exclude<R, {
227
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, T, S2>;
228
+ }>>;
229
+ /**
230
+ * @tsplus fluent Repository saveManyWithPure_
231
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
232
+ */
233
+ export declare function saveManyWithPure_<R, T extends {
234
+ id: unknown;
235
+ }, 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, S1[], S2[]>>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
236
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
237
+ }>>;
238
+ /**
239
+ * @tsplus fluent Repository saveWithPure_
240
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
241
+ */
242
+ export declare function saveWithPure_<R, T extends {
243
+ id: unknown;
244
+ }, 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>>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
245
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1, S2>;
246
+ }>>;
247
+ export declare function saveAllWithEffectInt<T extends {
248
+ id: unknown;
249
+ }, 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>): import("effect/Effect").Effect<A, InvalidStateError | OptimisticConcurrencyException | E, R>;
250
+ /**
251
+ * @tsplus fluent Repository queryAndSavePureEffectBatched
252
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
253
+ */
254
+ export declare function queryAndSavePureEffectBatched<T extends {
255
+ id: unknown;
256
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, R, E, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: Effect<{
257
+ filter: Filter<PM>;
258
+ collect?: (t: T) => Option<S>;
259
+ limit?: number;
260
+ skip?: number;
261
+ }, E, R>, batchSize?: number): <R2, A, E2, S2 extends T>(pure: Effect<A, E2, FixEnv<R2, Evt, S[], S2[]>>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E | E2, R | Exclude<R2, {
262
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S[], S2[]>;
263
+ }>>;
264
+ /**
265
+ * @tsplus fluent Repository queryAndSavePureBatched
266
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
267
+ */
268
+ export declare function queryAndSavePureBatched<T extends {
269
+ id: unknown;
270
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string, S extends T = T>(self: RepositoryBaseC<T, PM, Evt, ItemType>, map: {
271
+ filter: Filter<PM>;
272
+ collect?: (t: T) => Option<S>;
273
+ limit?: number;
274
+ skip?: number;
275
+ }, batchSize?: number): <R2, A, E2, S2 extends T>(pure: import("effect/Effect").Effect<A, E2, FixEnv<R2, Evt, S[], S2[]>>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
276
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S[], S2[]>;
277
+ }>>;
278
+ /**
279
+ * @tsplus fluent Repository saveManyWithPureBatched
280
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
281
+ */
282
+ export declare function saveManyWithPureBatched<T extends {
283
+ id: unknown;
284
+ }, 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, S1[], S2[]>>) => (items: Iterable<S1>) => import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
285
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
286
+ }>>;
287
+ /**
288
+ * @tsplus fluent Repository saveManyWithPureBatched_
289
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
290
+ */
291
+ export declare function saveManyWithPureBatched_<R, T extends {
292
+ id: unknown;
293
+ }, 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, S1[], S2[]>>, batchSize?: number): import("effect/Effect").Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
294
+ env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1[], S2[]>;
295
+ }>>;
296
+ /**
297
+ * @tsplus getter Repository save
298
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
299
+ */
300
+ export declare function save<T extends {
301
+ id: unknown;
302
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): (items_0: T, ...items_1: T[]) => import("effect/Effect").Effect<void, InvalidStateError | OptimisticConcurrencyException, never>;
303
+ /**
304
+ * @tsplus getter Repository saveWithEvents
305
+ * @tsplus location "@effect-app/infra/services/Repository/ext"
306
+ */
307
+ export declare function saveWithEvents<T extends {
308
+ id: unknown;
309
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string>(self: RepositoryBaseC<T, PM, Evt, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => import("effect/Effect").Effect<void, InvalidStateError | OptimisticConcurrencyException, never>;
310
+ //# sourceMappingURL=ext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../../_src/services/Repository/ext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import * as tsplus_module_1 from "@effect-app/prelude/_ext/misc";
2
+ import * as tsplus_module_2 from "effect/Effect";
3
+ import * as tsplus_module_3 from "@effect-app/prelude/schema";
4
+ import * as tsplus_module_4 from "@effect-app/prelude/Pure";
5
+ import * as tsplus_module_5 from "@effect-app/core/Array";
6
+ import * as tsplus_module_6 from "@effect-app/core/_ext/Iterable";
7
+ export const get = get_1;
8
+ export const projectEffect = projectEffect_1;
9
+ export const queryEffect = queryEffect_1;
10
+ export const queryOneEffect = queryOneEffect_1;
11
+ export const queryAndSaveOnePureEffect = queryAndSaveOnePureEffect_1;
12
+ export const queryAndSavePureEffect = queryAndSavePureEffect_1;
13
+ export const byIdAndSaveWithPure = byIdAndSaveWithPure_1;
14
+ export const saveManyWithPure_ = saveManyWithPure_1;
15
+ export const saveWithPure_ = saveWithPure_1;
16
+ export const queryAndSavePureEffectBatched = queryAndSavePureEffectBatched_1;
17
+ export const saveManyWithPureBatched_ = saveManyWithPureBatched_1;
18
+ import { NotFoundError } from "../../errors.js";
19
+ import { AnyPureDSL } from "./dsl.js";
20
+ /**
21
+ * @tsplus fluent Repository get
22
+ */
23
+ function get_1(self, id) {
24
+ return tsplus_module_2.flatMap(self
25
+ .find(id), (_) => tsplus_module_1.encaseMaybeInEffect_(_, () => new NotFoundError({ type: self.itemType, id })));
26
+ }
27
+ /**
28
+ * @tsplus getter Repository log
29
+ */
30
+ export function log(_) {
31
+ return (evt) => AnyPureDSL.log(evt);
32
+ }
33
+ function projectEffect_1(self, map) {
34
+ // TODO: a projection that gets sent to the db instead.
35
+ return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(self
36
+ .utils
37
+ .filter(f), (_) => f.collect ? _.filterMap(f.collect) : _));
38
+ }
39
+ export function project(self, map) {
40
+ return projectEffect_1(self, tsplus_module_2.sync(() => map));
41
+ }
42
+ /**
43
+ * TODO: count inside the db.
44
+ * @tsplus fluent Repository project
45
+ */
46
+ export function count(self, filter) {
47
+ return tsplus_module_2.map(projectEffect_1(self, tsplus_module_2.sync(() => ({ filter }))), (_) => tsplus_module_3.NonNegativeInt(_.length));
48
+ }
49
+ /**
50
+ * @tsplus fluent Repository queryEffect
51
+ */
52
+ function queryEffect_1(self,
53
+ // TODO: think about collectPM, collectE, and collect(Parsed)
54
+ map) {
55
+ return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.map(tsplus_module_2.flatMap((f.filter ? self.utils.filter(f) : self.utils.all), (_) => self.utils.parseMany(_)), (_) => f.collect ? _.filterMap(f.collect) : _));
56
+ }
57
+ function queryOneEffect_1(self,
58
+ // TODO: think about collectPM, collectE, and collect(Parsed)
59
+ map) {
60
+ return tsplus_module_2.flatMap(map, (f) => tsplus_module_2.flatMap(tsplus_module_2.flatMap((f.filter ? self.utils.filter({ filter: f.filter, limit: 1 }) : self.utils.all), (_) => self.utils.parseMany(_)), (_) => tsplus_module_2.map(tsplus_module_1.encaseMaybeInEffect_((f.collect ? _.filterMap(f.collect) : _)
61
+ .toNonEmpty, () => new NotFoundError({ type: self.itemType, id: f.filter })), (_) => _[0])));
62
+ }
63
+ /**
64
+ * @tsplus fluent Repository query
65
+ */
66
+ export function query(self,
67
+ // TODO: think about collectPM, collectE, and collect(Parsed)
68
+ map) {
69
+ return queryEffect_1(self, tsplus_module_2.sync(() => map));
70
+ }
71
+ export function queryOne(self, map) {
72
+ return queryOneEffect_1(self, tsplus_module_2.sync(() => map));
73
+ }
74
+ function queryAndSaveOnePureEffect_1(self, map) {
75
+ return (pure) => tsplus_module_2.flatMap(queryOneEffect_1(self, map), (_) => saveWithPure_1(self, _, pure));
76
+ }
77
+ export function queryAndSaveOnePure(self, map) {
78
+ return queryAndSaveOnePureEffect_1(self, tsplus_module_2.sync(() => map));
79
+ }
80
+ /**
81
+ * @tsplus fluent Repository queryAndSavePureEffect
82
+ */
83
+ function queryAndSavePureEffect_1(self, map) {
84
+ return (pure) => tsplus_module_2.flatMap(queryEffect_1(self, map), (_) => saveManyWithPure_1(self, _, pure));
85
+ }
86
+ /**
87
+ * @tsplus fluent Repository queryAndSavePure
88
+ */
89
+ export function queryAndSavePure(self, map) {
90
+ return queryAndSavePureEffect_1(self, tsplus_module_2.sync(() => map));
91
+ }
92
+ /**
93
+ * @tsplus getter Repository saveManyWithPure
94
+ */
95
+ export function saveManyWithPure(self) {
96
+ return (pure) => (items) => saveManyWithPure_1(self, items, pure);
97
+ }
98
+ /**
99
+ * @tsplus fluent Repository byIdAndSaveWithPure
100
+ */
101
+ function byIdAndSaveWithPure_1(self, id) {
102
+ return (pure) => tsplus_module_2.flatMap(get_1(self, id), (item) => saveWithPure_1(self, item, pure));
103
+ }
104
+ /**
105
+ * NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
106
+ * @tsplus getter Repository handleByIdAndSaveWithPure
107
+ */
108
+ export function handleByIdAndSaveWithPure(self) {
109
+ return (pure) => (req, ctx) => byIdAndSaveWithPure_1(self, req.id)(pure(req, ctx));
110
+ }
111
+ /**
112
+ * @tsplus fluent Repository saveManyWithPure_
113
+ */
114
+ function saveManyWithPure_1(self, items, pure) {
115
+ return saveAllWithEffectInt(self, tsplus_module_4.runTerm(pure, [...items]));
116
+ }
117
+ /**
118
+ * @tsplus fluent Repository saveWithPure_
119
+ */
120
+ function saveWithPure_1(self, item, pure) {
121
+ return saveAllWithEffectInt(self, tsplus_module_2.map(tsplus_module_4.runTerm(pure, item), ([item, events, a]) => [[item], events, a]));
122
+ }
123
+ export function saveAllWithEffectInt(self, gen) {
124
+ return tsplus_module_2.flatMap(gen, ([items, events, a]) => tsplus_module_2.map(self.saveAndPublish(items, events), () => a));
125
+ }
126
+ /**
127
+ * @tsplus fluent Repository queryAndSavePureEffectBatched
128
+ */
129
+ function queryAndSavePureEffectBatched_1(self,
130
+ // TODO: think about collectPM, collectE, and collect(Parsed)
131
+ map, batchSize = 100) {
132
+ return (pure) => tsplus_module_2.flatMap(queryEffect_1(self, map), (_) => saveManyWithPureBatched_1(self, _, pure, batchSize));
133
+ }
134
+ /**
135
+ * @tsplus fluent Repository queryAndSavePureBatched
136
+ */
137
+ export function queryAndSavePureBatched(self,
138
+ // TODO: think about collectPM, collectE, and collect(Parsed)
139
+ map, batchSize = 100) {
140
+ return queryAndSavePureEffectBatched_1(self, tsplus_module_2.sync(() => map), batchSize);
141
+ }
142
+ /**
143
+ * @tsplus fluent Repository saveManyWithPureBatched
144
+ */
145
+ export function saveManyWithPureBatched(self, batchSize = 100) {
146
+ return (pure) => (items) => saveManyWithPureBatched_1(self, items, pure, batchSize);
147
+ }
148
+ /**
149
+ * @tsplus fluent Repository saveManyWithPureBatched_
150
+ */
151
+ function saveManyWithPureBatched_1(self, items, pure, batchSize = 100) {
152
+ return tsplus_module_6.ext_forEach(tsplus_module_5.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(self, tsplus_module_4.runTerm(pure, batch)));
153
+ }
154
+ /**
155
+ * @tsplus getter Repository save
156
+ */
157
+ export function save(self) {
158
+ return (...items) => self.saveAndPublish(items);
159
+ }
160
+ /**
161
+ * @tsplus getter Repository saveWithEvents
162
+ */
163
+ export function saveWithEvents(self) {
164
+ return (events) => (...items) => self.saveAndPublish(items, events);
165
+ }
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9SZXBvc2l0b3J5L2V4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7YUFjZ0IsR0FBRzthQXlFSCxhQUFhO2FBMkdiLFdBQVc7YUFnRFgsY0FBYzthQXlIZCx5QkFBeUI7YUFxRHpCLHNCQUFzQjthQWlEdEIsbUJBQW1CO2FBNkJuQixpQkFBaUI7YUF3QmpCLGFBQWE7YUE2Q2IsNkJBQTZCO2FBcUQ3Qix3QkFBd0I7QUFubUJ4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQzs7R0FFRztBQUNILGVBTUUsSUFBMkMsRUFDM0MsRUFBVztJQUVYLE9BQU8sd0JBQUEsSUFBSTtTQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDQSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUNBQUEsQ0FBQyxFQUFnQixHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3JHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLENBS2pCLENBQXdDO0lBQ3hDLE9BQU8sQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQWlERCx5QkFVRSxJQUEyQyxFQUMzQyxHQVVDO0lBRUQsdURBQXVEO0lBQ3ZELE9BQU8sd0JBQUEsR0FBRyxFQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdkIsb0JBQUEsSUFBSTtTQUNELEtBQUs7U0FDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFP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
@@ -0,0 +1,10 @@
1
+ import type { RepositoryBaseC } from "../RepositoryBase.js";
2
+ import type { PersistenceModelType } from "../Store.js";
3
+ /**
4
+ * @tsplus type Repository
5
+ */
6
+ export interface Repository<T extends {
7
+ id: unknown;
8
+ }, PM extends PersistenceModelType<string>, Evt, ItemType extends string> extends RepositoryBaseC<T, PM, Evt, ItemType> {
9
+ }
10
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvUmVwb3NpdG9yeS9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==