@effect-app/infra 2.10.0 → 2.12.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.
- package/CHANGELOG.md +12 -0
- package/_cjs/Model/Repository/ext.cjs +1 -1
- package/_cjs/Model/Repository/ext.cjs.map +1 -1
- package/_cjs/Model/Repository/internal/internal.cjs +245 -0
- package/_cjs/Model/Repository/internal/internal.cjs.map +1 -0
- package/_cjs/Model/Repository/legacy.cjs +0 -139
- package/_cjs/Model/Repository/legacy.cjs.map +1 -1
- package/_cjs/Model/Repository/makeRepo.cjs +2 -241
- package/_cjs/Model/Repository/makeRepo.cjs.map +1 -1
- package/_cjs/Store/Cosmos/query.cjs +9 -2
- package/_cjs/Store/Cosmos/query.cjs.map +1 -1
- package/_cjs/Store/Cosmos.cjs +49 -23
- package/_cjs/Store/Cosmos.cjs.map +1 -1
- package/_cjs/Store/Disk.cjs +5 -5
- package/_cjs/Store/Disk.cjs.map +1 -1
- package/_cjs/Store/Memory.cjs +9 -9
- package/_cjs/Store/Memory.cjs.map +1 -1
- package/_cjs/Store/codeFilter.cjs.map +1 -1
- package/_cjs/Store/service.cjs.map +1 -1
- package/_cjs/Store/utils.cjs +3 -3
- package/_cjs/Store/utils.cjs.map +1 -1
- package/dist/Model/Repository/ext.d.ts +6 -9
- package/dist/Model/Repository/ext.d.ts.map +1 -1
- package/dist/Model/Repository/ext.js +2 -2
- package/dist/Model/Repository/internal/internal.d.ts +61 -0
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
- package/dist/Model/Repository/internal/internal.js +245 -0
- package/dist/Model/Repository/legacy.d.ts +4 -192
- package/dist/Model/Repository/legacy.d.ts.map +1 -1
- package/dist/Model/Repository/legacy.js +2 -123
- package/dist/Model/Repository/makeRepo.d.ts +7 -77
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +3 -247
- package/dist/Model/Repository/service.d.ts +1 -3
- package/dist/Model/Repository/service.d.ts.map +1 -1
- package/dist/Operations.d.ts +3 -3
- package/dist/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/Store/Cosmos/query.d.ts +1 -1
- package/dist/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/Store/Cosmos/query.js +7 -3
- package/dist/Store/Cosmos.d.ts.map +1 -1
- package/dist/Store/Cosmos.js +43 -23
- package/dist/Store/Disk.d.ts +2 -3
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +6 -6
- package/dist/Store/Memory.d.ts +4 -9
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +12 -12
- package/dist/Store/codeFilter.d.ts +2 -3
- package/dist/Store/codeFilter.d.ts.map +1 -1
- package/dist/Store/codeFilter.js +1 -1
- package/dist/Store/service.d.ts +9 -23
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/Store/service.js +1 -1
- package/dist/Store/utils.d.ts +1 -3
- package/dist/Store/utils.d.ts.map +1 -1
- package/dist/Store/utils.js +4 -4
- package/package.json +1 -1
- package/src/Model/Repository/ext.ts +6 -5
- package/src/Model/Repository/internal/internal.ts +482 -0
- package/src/Model/Repository/legacy.ts +4 -538
- package/src/Model/Repository/makeRepo.ts +11 -489
- package/src/Model/Repository/service.ts +1 -1
- package/src/Store/Cosmos/query.ts +6 -1
- package/src/Store/Cosmos.ts +85 -48
- package/src/Store/Disk.ts +20 -8
- package/src/Store/Memory.ts +25 -16
- package/src/Store/codeFilter.ts +2 -1
- package/src/Store/service.ts +8 -7
- package/src/Store/utils.ts +4 -3
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Array, Chunk, Context, Effect, Equivalence, flow, Option, pipe, Pipeable, PubSub, S, Unify } from "effect-app";
|
|
2
|
+
import { toNonEmptyArray } from "effect-app/Array";
|
|
3
|
+
import { NotFoundError } from "effect-app/client";
|
|
4
|
+
import { flatMapOption } from "effect-app/Effect";
|
|
5
|
+
import { NonNegativeInt } from "effect-app/Schema";
|
|
6
|
+
import { setupRequestContextFromCurrent } from "../../../api/setupRequest.js";
|
|
7
|
+
import { StoreMaker } from "../../../Store.js";
|
|
8
|
+
import { getContextMap } from "../../../Store/ContextMapContainer.js";
|
|
9
|
+
import * as Q from "../../query.js";
|
|
10
|
+
const dedupe = Array.dedupeWith(Equivalence.string);
|
|
11
|
+
/**
|
|
12
|
+
* A base implementation to create a repository.
|
|
13
|
+
*/
|
|
14
|
+
export function makeRepoInternal() {
|
|
15
|
+
return (name, schema, mapFrom, mapTo, idKey) => {
|
|
16
|
+
function mapToPersistenceModel(e, getEtag) {
|
|
17
|
+
return mapTo(e, getEtag(e[idKey]));
|
|
18
|
+
}
|
|
19
|
+
function mapReverse({ _etag, ...e }, setEtag) {
|
|
20
|
+
setEtag(e[idKey], _etag);
|
|
21
|
+
return mapFrom(e);
|
|
22
|
+
}
|
|
23
|
+
const mkStore = makeStore()(name, schema, mapTo, idKey);
|
|
24
|
+
function make(args) {
|
|
25
|
+
return Effect
|
|
26
|
+
.gen(function* () {
|
|
27
|
+
const rctx = args.schemaContext ?? Context.empty();
|
|
28
|
+
const provideRctx = Effect.provide(rctx);
|
|
29
|
+
const encodeMany = flow(S.encode(S.Array(schema)), provideRctx, Effect.withSpan("encodeMany", { captureStackTrace: false }));
|
|
30
|
+
const decode = flow(S.decode(schema), provideRctx);
|
|
31
|
+
const decodeMany = flow(S.decode(S.Array(schema)), provideRctx, Effect.withSpan("decodeMany", { captureStackTrace: false }));
|
|
32
|
+
const store = yield* mkStore(args.makeInitial, args.config);
|
|
33
|
+
const cms = Effect.andThen(getContextMap.pipe(Effect.orDie), (_) => ({
|
|
34
|
+
get: (id) => _.get(`${name}.${id}`),
|
|
35
|
+
set: (id, etag) => _.set(`${name}.${id}`, etag)
|
|
36
|
+
}));
|
|
37
|
+
const pub = "publishEvents" in args
|
|
38
|
+
? args.publishEvents
|
|
39
|
+
: () => Effect.void;
|
|
40
|
+
const changeFeed = yield* PubSub.unbounded();
|
|
41
|
+
const allE = cms
|
|
42
|
+
.pipe(Effect.flatMap((cm) => Effect.map(store.all, (_) => _.map((_) => mapReverse(_, cm.set)))));
|
|
43
|
+
const all = Effect
|
|
44
|
+
.flatMap(allE, (_) => decodeMany(_).pipe(Effect.orDie))
|
|
45
|
+
.pipe(Effect.map((_) => _));
|
|
46
|
+
const fieldsSchema = schema;
|
|
47
|
+
// assumes the id field never needs a service...
|
|
48
|
+
const i = ("fields" in fieldsSchema ? S.Struct(fieldsSchema["fields"]) : schema)
|
|
49
|
+
.pipe((_) => {
|
|
50
|
+
let ast = _.ast;
|
|
51
|
+
if (ast._tag === "Declaration")
|
|
52
|
+
ast = ast.typeParameters[0];
|
|
53
|
+
const s = S.make(ast);
|
|
54
|
+
return ast._tag === "Union"
|
|
55
|
+
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
56
|
+
? S.Union(...ast.types.map((_) => S.make(_._tag === "Transformation" ? _.from : _)
|
|
57
|
+
.pipe(S.pick(idKey))))
|
|
58
|
+
: s.pipe(S.pick(idKey));
|
|
59
|
+
});
|
|
60
|
+
const encodeId = flow(S.encode(i), provideRctx);
|
|
61
|
+
function findEId(id) {
|
|
62
|
+
return Effect.flatMap(store.find(id), (item) => Effect.gen(function* () {
|
|
63
|
+
const { set } = yield* cms;
|
|
64
|
+
return item.pipe(Option.map((_) => mapReverse(_, set)));
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
// TODO: select the particular field, instead of as struct
|
|
68
|
+
function findE(id) {
|
|
69
|
+
return pipe(encodeId({ [idKey]: id }), Effect.orDie, Effect.map((_) => _[idKey]), Effect.flatMap(findEId));
|
|
70
|
+
}
|
|
71
|
+
function find(id) {
|
|
72
|
+
return Effect.flatMapOption(findE(id), (_) => Effect.orDie(decode(_)));
|
|
73
|
+
}
|
|
74
|
+
const saveAllE = (a) => Effect
|
|
75
|
+
.flatMapOption(Effect
|
|
76
|
+
.sync(() => toNonEmptyArray([...a])), (a) => Effect.gen(function* () {
|
|
77
|
+
const { get, set } = yield* cms;
|
|
78
|
+
const items = a.map((_) => mapToPersistenceModel(_, get));
|
|
79
|
+
const ret = yield* store.batchSet(items);
|
|
80
|
+
ret.forEach((_) => set(_[idKey], _._etag));
|
|
81
|
+
}))
|
|
82
|
+
.pipe(Effect.asVoid);
|
|
83
|
+
const saveAll = (a) => encodeMany(Array.fromIterable(a))
|
|
84
|
+
.pipe(Effect.orDie, Effect.andThen(saveAllE));
|
|
85
|
+
const saveAndPublish = (items, events = []) => {
|
|
86
|
+
return Effect
|
|
87
|
+
.suspend(() => {
|
|
88
|
+
const it = Chunk.fromIterable(items);
|
|
89
|
+
return saveAll(it)
|
|
90
|
+
.pipe(Effect.andThen(Effect.sync(() => toNonEmptyArray([...events]))),
|
|
91
|
+
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
92
|
+
(_) => Effect.flatMapOption(_, pub), Effect.andThen(changeFeed.publish([Chunk.toArray(it), "save"])), Effect.asVoid);
|
|
93
|
+
})
|
|
94
|
+
.pipe(Effect.withSpan("saveAndPublish", { captureStackTrace: false }));
|
|
95
|
+
};
|
|
96
|
+
function removeAndPublish(a, events = []) {
|
|
97
|
+
return Effect.gen(function* () {
|
|
98
|
+
const { get, set } = yield* cms;
|
|
99
|
+
const it = [...a];
|
|
100
|
+
const items = yield* encodeMany(it).pipe(Effect.orDie);
|
|
101
|
+
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
102
|
+
for (const e of items) {
|
|
103
|
+
yield* store.remove(mapToPersistenceModel(e, get));
|
|
104
|
+
set(e[idKey], undefined);
|
|
105
|
+
}
|
|
106
|
+
yield* Effect
|
|
107
|
+
.sync(() => toNonEmptyArray([...events]))
|
|
108
|
+
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
109
|
+
.pipe((_) => Effect.flatMapOption(_, pub));
|
|
110
|
+
yield* changeFeed.publish([it, "remove"]);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const parseMany = (items) => Effect
|
|
114
|
+
.flatMap(cms, (cm) => decodeMany(items.map((_) => mapReverse(_, cm.set)))
|
|
115
|
+
.pipe(Effect.orDie, Effect.withSpan("parseMany", { captureStackTrace: false })));
|
|
116
|
+
const parseMany2 = (items, schema) => Effect
|
|
117
|
+
.flatMap(cms, (cm) => S
|
|
118
|
+
.decode(S.Array(schema))(items.map((_) => mapReverse(_, cm.set)))
|
|
119
|
+
.pipe(Effect.orDie, Effect.withSpan("parseMany2", { captureStackTrace: false })));
|
|
120
|
+
const filter = (args) => store
|
|
121
|
+
.filter(
|
|
122
|
+
// always enforce id and _etag because they are system fields, required for etag tracking etc
|
|
123
|
+
{
|
|
124
|
+
...args,
|
|
125
|
+
select: args.select
|
|
126
|
+
? dedupe([...args.select, idKey, "_etag"])
|
|
127
|
+
: undefined
|
|
128
|
+
})
|
|
129
|
+
.pipe(Effect.tap((items) => Effect.map(cms, ({ set }) => items.forEach((_) => set(_[idKey], _._etag)))));
|
|
130
|
+
// TODO: For raw we should use S.from, and drop the R...
|
|
131
|
+
const query = ((q) => {
|
|
132
|
+
const a = Q.toFilter(q);
|
|
133
|
+
const eff = a.mode === "project"
|
|
134
|
+
? filter(a)
|
|
135
|
+
// TODO: mapFrom but need to support per field and dependencies
|
|
136
|
+
.pipe(Effect.andThen(flow(S.decode(S.Array(a.schema ?? schema)), provideRctx)))
|
|
137
|
+
: a.mode === "collect"
|
|
138
|
+
? filter(a)
|
|
139
|
+
// TODO: mapFrom but need to support per field and dependencies
|
|
140
|
+
.pipe(Effect.flatMap(flow(S.decode(S.Array(a.schema)), Effect.map(Array.getSomes), provideRctx)))
|
|
141
|
+
: Effect.flatMap(filter(a), (_) => Unify.unify(a.schema
|
|
142
|
+
// TODO: partial may not match?
|
|
143
|
+
? parseMany2(_, a.schema)
|
|
144
|
+
: parseMany(_)));
|
|
145
|
+
return pipe(a.ttype === "one"
|
|
146
|
+
? Effect.andThen(eff, flow(Array.head, Effect.mapError(() => new NotFoundError({ id: "query", /* TODO */ type: name }))))
|
|
147
|
+
: a.ttype === "count"
|
|
148
|
+
? Effect
|
|
149
|
+
.andThen(eff, (_) => NonNegativeInt(_.length))
|
|
150
|
+
.pipe(Effect.catchTag("ParseError", (e) => Effect.die(e)))
|
|
151
|
+
: eff, Effect.withSpan("Repository.query [effect-app/infra]", {
|
|
152
|
+
captureStackTrace: false,
|
|
153
|
+
attributes: {
|
|
154
|
+
"repository.model_name": name,
|
|
155
|
+
query: { ...a, schema: a.schema ? "__SCHEMA__" : a.schema, filter: a.filter }
|
|
156
|
+
}
|
|
157
|
+
}));
|
|
158
|
+
});
|
|
159
|
+
const r = {
|
|
160
|
+
changeFeed,
|
|
161
|
+
itemType: name,
|
|
162
|
+
idKey,
|
|
163
|
+
find,
|
|
164
|
+
all,
|
|
165
|
+
saveAndPublish,
|
|
166
|
+
removeAndPublish,
|
|
167
|
+
query(q) {
|
|
168
|
+
// eslint-disable-next-line prefer-rest-params
|
|
169
|
+
return query(typeof q === "function" ? Pipeable.pipeArguments(Q.make(), arguments) : q);
|
|
170
|
+
},
|
|
171
|
+
/**
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
mapped: (schema) => {
|
|
175
|
+
const dec = S.decode(schema);
|
|
176
|
+
const encMany = S.encode(S.Array(schema));
|
|
177
|
+
const decMany = S.decode(S.Array(schema));
|
|
178
|
+
return {
|
|
179
|
+
all: allE.pipe(Effect.flatMap(decMany), Effect.map((_) => _)),
|
|
180
|
+
find: (id) => flatMapOption(findE(id), dec),
|
|
181
|
+
// query: (q: any) => {
|
|
182
|
+
// const a = Q.toFilter(q)
|
|
183
|
+
// return filter(a)
|
|
184
|
+
// .pipe(
|
|
185
|
+
// Effect.flatMap(decMany),
|
|
186
|
+
// Effect.map((_) => _ as any[]),
|
|
187
|
+
// Effect.withSpan("Repository.mapped.query [effect-app/infra]", {
|
|
188
|
+
// captureStackTrace: false,
|
|
189
|
+
// attributes: {
|
|
190
|
+
// "repository.model_name": name,
|
|
191
|
+
// query: { ...a, schema: a.schema ? "__SCHEMA__" : a.schema, filter: a.filter.build() }
|
|
192
|
+
// }
|
|
193
|
+
// })
|
|
194
|
+
// )
|
|
195
|
+
// },
|
|
196
|
+
save: (...xes) => Effect.flatMap(encMany(xes), (_) => saveAllE(_)).pipe(Effect.withSpan("mapped.save", { captureStackTrace: false }))
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
return r;
|
|
201
|
+
})
|
|
202
|
+
.pipe(Effect
|
|
203
|
+
// .withSpan("Repository.make [effect-app/infra]", { attributes: { "repository.model_name": name } })
|
|
204
|
+
.withLogSpan("Repository.make: " + name));
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
make,
|
|
208
|
+
Q: Q.make()
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const pluralize = (s) => s.endsWith("s")
|
|
213
|
+
? s + "es"
|
|
214
|
+
: s.endsWith("y")
|
|
215
|
+
? s.substring(0, s.length - 1) + "ies"
|
|
216
|
+
: s + "s";
|
|
217
|
+
export function makeStore() {
|
|
218
|
+
return (name, schema, mapTo, idKey) => {
|
|
219
|
+
function makeStore(makeInitial, config) {
|
|
220
|
+
function encodeToEncoded() {
|
|
221
|
+
const getEtag = () => undefined;
|
|
222
|
+
return (t) => S.encode(schema)(t).pipe(Effect.orDie, Effect.map((_) => mapToPersistenceModel(_, getEtag)));
|
|
223
|
+
}
|
|
224
|
+
function mapToPersistenceModel(e, getEtag) {
|
|
225
|
+
return mapTo(e, getEtag(e[idKey]));
|
|
226
|
+
}
|
|
227
|
+
return Effect.gen(function* () {
|
|
228
|
+
const { make } = yield* StoreMaker;
|
|
229
|
+
const store = yield* make(pluralize(name), idKey, makeInitial
|
|
230
|
+
? makeInitial
|
|
231
|
+
.pipe(Effect.flatMap(Effect.forEach(encodeToEncoded())), setupRequestContextFromCurrent("Repository.makeInitial [effect-app/infra]", {
|
|
232
|
+
attributes: { "repository.model_name": name }
|
|
233
|
+
}))
|
|
234
|
+
: undefined, {
|
|
235
|
+
...config,
|
|
236
|
+
partitionValue: config?.partitionValue
|
|
237
|
+
?? ((_) => "primary") /*(isIntegrationEvent(r) ? r.companyId : r.id*/
|
|
238
|
+
});
|
|
239
|
+
return store;
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return makeStore;
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvTW9kZWwvUmVwb3NpdG9yeS9pbnRlcm5hbC9pbnRlcm5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFFckUsT0FBTyxLQUFLLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQTtBQUduQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUVuRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFHOUIsT0FBTyxDQU9MLElBQWMsRUFDZCxNQUErQixFQUMvQixPQUFpQyxFQUNqQyxLQUE4RSxFQUM5RSxLQUFZLEVBQ1osRUFBRTtRQUVGLFNBQVMscUJBQXFCLENBQzVCLENBQVUsRUFDVixPQUEyQztZQUUzQyxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxL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
|
|
@@ -1,189 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client";
|
|
4
|
-
import type { FixEnv, PureEnv } from "effect-app/Pure";
|
|
5
|
-
import type { NonNegativeInt } from "effect-app/Schema";
|
|
6
|
-
import type { StoreConfig, StoreMaker } from "../../Store.js";
|
|
7
|
-
import type { FieldValues } from "../filter/types.js";
|
|
8
|
-
import * as Q from "../query.js";
|
|
9
|
-
import type { ExtendedRepository } from "./ext.js";
|
|
10
|
-
import type { Repos } from "./makeRepo.js";
|
|
11
|
-
import type { RefineTHelper, Repository } from "./service.js";
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated
|
|
14
|
-
*/
|
|
15
|
-
export interface RepoFunctions<T, Encoded extends {
|
|
16
|
-
id: string;
|
|
17
|
-
}, Evt, ItemType, IdKey extends keyof T, RSchema, RPublish, Service> {
|
|
18
|
-
itemType: ItemType;
|
|
19
|
-
T: T;
|
|
20
|
-
all: Effect<readonly T[], never, RSchema | Service>;
|
|
21
|
-
find: (id: T[IdKey]) => Effect<Option<T>, never, RSchema | Service>;
|
|
22
|
-
removeById: (id: T[IdKey]) => Effect<void, NotFoundError<ItemType>, RSchema | Service>;
|
|
23
|
-
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | RPublish | Service>;
|
|
24
|
-
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, never, RSchema | Service>;
|
|
25
|
-
save: (...items: T[]) => Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | Service>;
|
|
26
|
-
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, RSchema | RPublish | Service>;
|
|
27
|
-
queryAndSavePure: {
|
|
28
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
29
|
-
env: PureEnv<Evt, T, T2>;
|
|
30
|
-
}>>;
|
|
31
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
32
|
-
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
33
|
-
}>>;
|
|
34
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E2, RSchema | RPublish | Service | Exclude<R2, {
|
|
35
|
-
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
36
|
-
}>>;
|
|
37
|
-
};
|
|
38
|
-
readonly query: {
|
|
39
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : S.ParseResult.ParseError), R | RSchema | Service>;
|
|
40
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded>(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, R | RSchema | Service>;
|
|
41
|
-
};
|
|
42
|
-
byIdAndSaveWithPure: {
|
|
43
|
-
<R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>): Effect<A, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, RSchema | RPublish | Service | Exclude<R, {
|
|
44
|
-
env: PureEnv<Evt, T, S2>;
|
|
45
|
-
}>>;
|
|
46
|
-
};
|
|
47
|
-
saveManyWithPure: {
|
|
48
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, InvalidStateError | OptimisticConcurrencyException | E, RSchema | RPublish | Service | Exclude<R, {
|
|
49
|
-
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
50
|
-
}>>;
|
|
51
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], InvalidStateError | OptimisticConcurrencyException | E, RSchema | RPublish | Service | Exclude<R, {
|
|
52
|
-
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
53
|
-
}>>;
|
|
54
|
-
};
|
|
55
|
-
/** @experimental */
|
|
56
|
-
mapped: MM<Service, Encoded>;
|
|
57
|
-
use: <X>(body: (_: Service) => X) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Service> : Effect<X, never, Service>;
|
|
58
|
-
}
|
|
59
|
-
/** @deprecated use makeRepo/extendRepo */
|
|
60
|
-
export declare class RepositoryBase<T, Encoded extends {
|
|
61
|
-
id: string;
|
|
62
|
-
}, Evt, ItemType extends string, Ext, IdKey extends keyof T, RSchema, RPublish> implements ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> {
|
|
63
|
-
protected readonly impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext;
|
|
64
|
-
constructor(impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext);
|
|
65
|
-
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>, RSchema>;
|
|
66
|
-
idKey: IdKey;
|
|
67
|
-
request: (id: T[IdKey]) => Effect.Effect<T, NotFoundError<ItemType>, never>;
|
|
68
|
-
itemType: ItemType;
|
|
69
|
-
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
70
|
-
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, never, RSchema | RPublish>;
|
|
71
|
-
find: (id: T[IdKey]) => Effect<Option<T>, never, RSchema>;
|
|
72
|
-
all: Effect<T[], never, RSchema>;
|
|
73
|
-
changeFeed: import("effect/PubSub").PubSub<[T[], "save" | "remove"]>;
|
|
74
|
-
mapped: Mapped<Encoded>;
|
|
75
|
-
query: {
|
|
76
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
77
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
78
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
79
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
80
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
81
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
82
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
83
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
84
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
85
|
-
<A, R, From extends FieldValues, TType extends "one" | "many" | "count" = "many", $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, $I = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => Q.QueryProjection<Encoded extends From ? From : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? S.NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), RSchema | R>;
|
|
86
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded>(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
87
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
88
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
89
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
90
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
91
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
92
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
93
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
94
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
95
|
-
<R = never, TType extends "one" | "many" = "many", EncodedRefined extends Encoded = Encoded, $A = never, $B = never, $C = never, $D = never, $E = never, $F = never, $G = never, $H = never, $I = never>(q1: (initial: Q.Query<Encoded>) => $A, q2: (_: $A) => $B, q3: (_: $B) => $C, q4: (_: $C) => $D, q5: (_: $D) => $E, q6: (_: $E) => $F, q7: (_: $F) => $G, q8: (_: $G) => $H, q9: (_: $H) => $I, q10: (_: $I) => Q.QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType>): Effect.Effect<TType extends "many" ? readonly RefineTHelper<T, EncodedRefined>[] : RefineTHelper<T, EncodedRefined>, TType extends "many" ? never : NotFoundError<ItemType>, RSchema | R>;
|
|
96
|
-
};
|
|
97
|
-
log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
|
|
98
|
-
removeById: (id: T[IdKey]) => Effect.Effect<void, NotFoundError<ItemType>, RSchema | RPublish>;
|
|
99
|
-
save: (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
100
|
-
saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, OptimisticConcurrencyException | InvalidStateError, RSchema | RPublish>;
|
|
101
|
-
queryAndSavePure: {
|
|
102
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E2, Exclude<R2, {
|
|
103
|
-
env: PureEnv<Evt, T, T2>;
|
|
104
|
-
}>>;
|
|
105
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E2, RSchema | RPublish | Exclude<R2, {
|
|
106
|
-
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
107
|
-
}>>;
|
|
108
|
-
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.Query<Encoded> | Q.QueryWhere<Encoded> | Q.QueryEnd<Encoded, "many">, pure: Effect<A, E2, FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], OptimisticConcurrencyException | InvalidStateError | E2, RSchema | RPublish | Exclude<R2, {
|
|
109
|
-
env: PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
110
|
-
}>>;
|
|
111
|
-
};
|
|
112
|
-
saveManyWithPure: {
|
|
113
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
114
|
-
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
115
|
-
}>>;
|
|
116
|
-
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
117
|
-
env: PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
118
|
-
}>>;
|
|
119
|
-
};
|
|
120
|
-
byIdAndSaveWithPure: <R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, FixEnv<R, Evt, T, S2>>) => Effect<A, OptimisticConcurrencyException | InvalidStateError | NotFoundError<ItemType> | E, RSchema | RPublish | Exclude<R, {
|
|
121
|
-
env: PureEnv<Evt, T, S2>;
|
|
122
|
-
}>>;
|
|
123
|
-
saveWithPure: <R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, FixEnv<R, Evt, S1, S2>>) => Effect.Effect<A, OptimisticConcurrencyException | InvalidStateError | E, RSchema | RPublish | Exclude<R, {
|
|
124
|
-
env: PureEnv<Evt, S1, S2>;
|
|
125
|
-
}>>;
|
|
126
|
-
}
|
|
127
|
-
export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
|
|
128
|
-
<ItemType extends string, RSchema, Encoded extends {
|
|
129
|
-
id: string;
|
|
130
|
-
}, T, IdKey extends keyof T, E = never, RInitial = never, RPublish = never, Layers extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1 = never, R1 = never, Ext = {}>(itemType: ItemType, schema: S.Schema<T, Encoded, RSchema>, options: [Evt] extends [never] ? {
|
|
131
|
-
dependencies?: Layers;
|
|
132
|
-
idKey: IdKey;
|
|
133
|
-
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
134
|
-
partitionValue?: (a: Encoded) => string;
|
|
135
|
-
};
|
|
136
|
-
jitM?: (pm: Encoded) => Encoded;
|
|
137
|
-
options?: Effect<{
|
|
138
|
-
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
139
|
-
ext?: Ext;
|
|
140
|
-
}, E1, R1>;
|
|
141
|
-
} : {
|
|
142
|
-
dependencies?: Layers;
|
|
143
|
-
idKey: IdKey;
|
|
144
|
-
jitM?: (pm: Encoded) => Encoded;
|
|
145
|
-
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
146
|
-
partitionValue?: (a: Encoded) => string;
|
|
147
|
-
};
|
|
148
|
-
options?: Effect<{
|
|
149
|
-
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish>;
|
|
150
|
-
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
151
|
-
ext?: Ext;
|
|
152
|
-
}, E1, R1>;
|
|
153
|
-
}): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish> & Ext) => RepositoryBase<T, Encoded, Evt, ItemType, Ext, IdKey, RSchema, RPublish>) & Context.Tag<Service, Service> & RepoFunctions<T, Encoded, Evt, ItemType, IdKey, RSchema, RPublish, Service> & {
|
|
154
|
-
Default: Layer.Layer<Service, E | E1 | Layer.Layer.Error<Layers[number]>, Exclude<R1 | StoreMaker, { [k in keyof Layers]: Layer.Layer.Success<Layers[k]>; }[number]>>;
|
|
155
|
-
DefaultWithoutDependencies: Layer.Layer<Service, E1, R1 | StoreMaker>;
|
|
156
|
-
} & Repos<T, Encoded, RSchema, Evt, ItemType, IdKey, RPublish>;
|
|
157
|
-
<ItemType extends string, RSchema_1, Encoded_1 extends {
|
|
158
|
-
id: string;
|
|
159
|
-
}, T_1 extends {
|
|
160
|
-
id: unknown;
|
|
161
|
-
}, E_1 = never, RInitial_1 = never, RPublish_1 = never, Layers_1 extends [Layer.Layer.Any, ...Layer.Layer.Any[]] = [Layer.Layer<never, never, never>], E1_1 = never, R1_1 = never, Ext_1 = {}>(itemType: ItemType, schema: S.Schema<T_1, Encoded_1, RSchema_1>, options: [Evt] extends [never] ? {
|
|
162
|
-
dependencies?: Layers_1;
|
|
163
|
-
config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
|
|
164
|
-
partitionValue?: (a: Encoded_1) => string;
|
|
165
|
-
};
|
|
166
|
-
jitM?: (pm: Encoded_1) => Encoded_1;
|
|
167
|
-
options?: Effect<{
|
|
168
|
-
makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
|
|
169
|
-
ext?: Ext_1;
|
|
170
|
-
}, E1_1, R1_1>;
|
|
171
|
-
} : {
|
|
172
|
-
dependencies?: Layers_1;
|
|
173
|
-
jitM?: (pm: Encoded_1) => Encoded_1;
|
|
174
|
-
config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
|
|
175
|
-
partitionValue?: (a: Encoded_1) => string;
|
|
176
|
-
};
|
|
177
|
-
options?: Effect<{
|
|
178
|
-
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, RPublish_1>;
|
|
179
|
-
makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
|
|
180
|
-
ext?: Ext_1;
|
|
181
|
-
}, E1_1, R1_1>;
|
|
182
|
-
}): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id", RSchema_1, RPublish_1> & Ext_1) => RepositoryBase<T_1, Encoded_1, Evt, ItemType, Ext_1, "id", RSchema_1, RPublish_1>) & Context.Tag<Service, Service> & RepoFunctions<T_1, Encoded_1, Evt, ItemType, "id", RSchema_1, RPublish_1, Service> & {
|
|
183
|
-
Default: Layer.Layer<Service, E_1 | E1_1 | Layer.Layer.Error<Layers_1[number]>, Exclude<R1_1 | StoreMaker, { [k in keyof Layers_1]: Layer.Layer.Success<Layers_1[k]>; }[number]>>;
|
|
184
|
-
DefaultWithoutDependencies: Layer.Layer<Service, E1_1, R1_1 | StoreMaker>;
|
|
185
|
-
} & Repos<T_1, Encoded_1, RSchema_1, Evt, ItemType, "id", RPublish_1>;
|
|
186
|
-
};
|
|
1
|
+
import type { Effect, Option, ParseResult, S } from "effect-app";
|
|
2
|
+
import type { OptimisticConcurrencyException } from "effect-app/client";
|
|
187
3
|
export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
188
4
|
all: Effect<A[], ParseResult.ParseError, R>;
|
|
189
5
|
save: (...xes: readonly A[]) => Effect<void, OptimisticConcurrencyException | ParseResult.ParseError, R>;
|
|
@@ -192,15 +8,11 @@ export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
|
192
8
|
export interface Mapped2<A, R> {
|
|
193
9
|
all: Effect<A[], ParseResult.ParseError, R>;
|
|
194
10
|
}
|
|
195
|
-
export interface Mapped<Encoded
|
|
196
|
-
id: string;
|
|
197
|
-
}> {
|
|
11
|
+
export interface Mapped<Encoded> {
|
|
198
12
|
<A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Mapped1<A, IdKey, R>;
|
|
199
13
|
<A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Mapped2<A, R>;
|
|
200
14
|
}
|
|
201
|
-
export interface MM<Repo, Encoded
|
|
202
|
-
id: string;
|
|
203
|
-
}> {
|
|
15
|
+
export interface MM<Repo, Encoded> {
|
|
204
16
|
<A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Effect<Mapped1<A, IdKey, R>, never, Repo>;
|
|
205
17
|
<A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Effect<Mapped2<A, R>, never, Repo>;
|
|
206
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/legacy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../src/Model/Repository/legacy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAChE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AAEvE,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,CAAC;IAClD,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAC3C,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,8BAA8B,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IACxG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;CACrE;AAGD,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,MAAM,CAAC,OAAO;IAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;IAEpF,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAClE;AAED,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO;IAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEzG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACvF"}
|