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