@effect-app/infra 2.3.5 → 2.4.1
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/services/OperationsRepo.cjs +10 -1
- package/_cjs/services/OperationsRepo.cjs.map +1 -1
- package/_cjs/services/Repository/dsl.cjs.map +1 -1
- package/_cjs/services/Repository/ext.cjs +58 -104
- package/_cjs/services/Repository/ext.cjs.map +1 -1
- package/_cjs/services/Repository/legacy.cjs +109 -0
- package/_cjs/services/Repository/legacy.cjs.map +1 -0
- package/_cjs/services/Repository.cjs +11 -0
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +4 -222
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/dist/services/OperationsRepo.d.ts +4 -1
- package/dist/services/OperationsRepo.d.ts.map +1 -1
- package/dist/services/OperationsRepo.js +12 -3
- package/dist/services/QueueMaker/errors.d.ts +1 -1
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/Repository/dsl.d.ts.map +1 -1
- package/dist/services/Repository/dsl.js +1 -1
- package/dist/services/Repository/ext.d.ts +43 -104
- package/dist/services/Repository/ext.d.ts.map +1 -1
- package/dist/services/Repository/ext.js +59 -93
- package/dist/services/Repository/legacy.d.ts +139 -0
- package/dist/services/Repository/legacy.d.ts.map +1 -0
- package/dist/services/Repository/legacy.js +100 -0
- package/dist/services/Repository/service.d.ts +21 -2
- package/dist/services/Repository/service.d.ts.map +1 -1
- package/dist/services/Repository.d.ts +1 -0
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +2 -1
- package/dist/services/RepositoryBase.d.ts +7 -237
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +5 -200
- package/dist/services/query/new-kid-interpreter.d.ts +1 -1
- package/examples/query.ts +3 -2
- package/package.json +11 -1
- package/src/services/OperationsRepo.ts +13 -4
- package/src/services/Repository/dsl.ts +1 -0
- package/src/services/Repository/ext.ts +269 -250
- package/src/services/Repository/legacy.ts +351 -0
- package/src/services/Repository/service.ts +44 -2
- package/src/services/Repository.ts +1 -0
- package/src/services/RepositoryBase.ts +12 -931
- package/test/query.test.ts +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/ext.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/ext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
// Modify = Must `set` updated items, and can return anything.
|
|
4
|
-
import { Array, Effect } from "effect-app";
|
|
1
|
+
import { Array, Effect, Exit, Option, Request, RequestResolver } from "effect-app";
|
|
2
|
+
import { NotFoundError } from "effect-app/client";
|
|
5
3
|
import { runTerm } from "effect-app/Pure";
|
|
6
|
-
import
|
|
4
|
+
import * as Q from "../query.js";
|
|
7
5
|
import { AnyPureDSL } from "./dsl.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* @tsplus getter Repository save
|
|
66
|
-
*/
|
|
67
|
-
export function save(self) {
|
|
68
|
-
return (...items) => self.saveAndPublish(items);
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* @tsplus getter Repository saveWithEvents
|
|
72
|
-
*/
|
|
73
|
-
export function saveWithEvents(self) {
|
|
74
|
-
return (events) => (...items) => self.saveAndPublish(items, events);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* @tsplus fluent Repository updateWithEffect
|
|
78
|
-
*/
|
|
79
|
-
export function itemUpdateWithEffect(repo, id, mod) {
|
|
80
|
-
return get(repo, id).pipe(Effect.andThen(mod), Effect.andThen(save(repo)));
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @tsplus fluent Repository update
|
|
84
|
-
*/
|
|
85
|
-
export function itemUpdate(repo, id, mod) {
|
|
86
|
-
return itemUpdateWithEffect(repo, id, (item) => Effect.sync(() => mod(item)));
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* only use this as a shortcut if you don't have the item already
|
|
90
|
-
* @tsplus fluent Repository removeById
|
|
91
|
-
*/
|
|
92
|
-
export function removeById(self, id) {
|
|
93
|
-
return get(self, id).pipe(Effect.flatMap((_) => self.removeAndPublish([_])));
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxxQ0FBcUM7QUFDckMsOERBQThEO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTFDLE9BQU8sRUFBZSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUdyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLENBT2pCLElBQXVELEVBQ3ZELEVBQVk7SUFFWixPQUFPLElBQUk7U0FDUixJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQU1qQixDQUFvRDtJQUNwRCxPQUFPLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsSUFBdUQsRUFBRSxFQUFZO0lBQ3JFLE9BQU8sQ0FBd0IsSUFBeUMsRUFBRSxFQUFFLENBQzFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1B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
|
|
6
|
+
export const extendRepo = (repo) => {
|
|
7
|
+
const get = (id) => Effect.flatMap(repo.find(id), (_) => Effect.mapError(_, () => new NotFoundError({ type: repo.itemType, id })));
|
|
8
|
+
function saveManyWithPure_(self, items, pure) {
|
|
9
|
+
return saveAllWithEffectInt(self, runTerm(pure, [...items]));
|
|
10
|
+
}
|
|
11
|
+
function saveWithPure_(self, item, pure) {
|
|
12
|
+
return saveAllWithEffectInt(self, runTerm(pure, item)
|
|
13
|
+
.pipe(Effect
|
|
14
|
+
.map(([item, events, a]) => [[item], events, a])));
|
|
15
|
+
}
|
|
16
|
+
function saveAllWithEffectInt(self, gen) {
|
|
17
|
+
return Effect.flatMap(gen, ([items, events, a]) => self.saveAndPublish(items, events).pipe(Effect.map(() => a)));
|
|
18
|
+
}
|
|
19
|
+
function saveManyWithPureBatched_(self, items, pure, batchSize = 100) {
|
|
20
|
+
return Effect.forEach(Array.chunk_(items, batchSize), (batch) => saveAllWithEffectInt(self, runTerm(pure, batch)));
|
|
21
|
+
}
|
|
22
|
+
const queryAndSavePure = (q, pure, batch) => repo.query(q).pipe(Effect.andThen((_) => Array.isArray(_)
|
|
23
|
+
? batch === undefined
|
|
24
|
+
? saveManyWithPure_(repo, _, pure)
|
|
25
|
+
: saveManyWithPureBatched_(repo, _, pure, batch === "batched" ? 100 : batch)
|
|
26
|
+
: saveWithPure_(repo, _, pure)));
|
|
27
|
+
const saveManyWithPure = (items, pure, batch) => batch
|
|
28
|
+
? Effect.forEach(Array.chunk_(items, batch === "batched" ? 100 : batch), (batch) => saveAllWithEffectInt(repo, runTerm(pure, batch)))
|
|
29
|
+
: saveAllWithEffectInt(repo, runTerm(pure, [...items]));
|
|
30
|
+
const byIdAndSaveWithPure = (id, pure) => get(id).pipe(Effect.flatMap((item) => saveWithPure_(repo, item, pure)));
|
|
31
|
+
const _request = Request.tagged(`Get${repo.itemType}`);
|
|
32
|
+
const requestResolver = RequestResolver
|
|
33
|
+
.makeBatched((requests) => repo.query(Q.where("id", "in", requests.map((_) => _.id)))
|
|
34
|
+
// TODO
|
|
35
|
+
.pipe(Effect.andThen((items) => Effect.forEach(requests, (r) => Request.complete(r, Array
|
|
36
|
+
.findFirst(items, (_) => _[repo.idKey] === r.id)
|
|
37
|
+
.pipe(Option.match({
|
|
38
|
+
onNone: () => Exit.fail(new NotFoundError({ type: repo.itemType, id: r.id })),
|
|
39
|
+
onSome: Exit.succeed
|
|
40
|
+
}))), { discard: true })), Effect
|
|
41
|
+
.catchAllCause((cause) => Effect.forEach(requests, Request.complete(Exit.failCause(cause)), { discard: true }))))
|
|
42
|
+
.pipe(RequestResolver.batchN(20));
|
|
43
|
+
const exts = {
|
|
44
|
+
request: (id) => Effect.request(_request({ id }), requestResolver),
|
|
45
|
+
get,
|
|
46
|
+
log: (evt) => AnyPureDSL.log(evt),
|
|
47
|
+
removeById: (id) => Effect.andThen(get(id), (_) => repo.removeAndPublish([_])),
|
|
48
|
+
save: (...items) => repo.saveAndPublish(items),
|
|
49
|
+
saveWithEvents: (events) => (...items) => repo.saveAndPublish(items, events),
|
|
50
|
+
queryAndSavePure,
|
|
51
|
+
saveManyWithPure,
|
|
52
|
+
byIdAndSaveWithPure,
|
|
53
|
+
saveWithPure: (item, pure) => saveAllWithEffectInt(repo, runTerm(pure, item)
|
|
54
|
+
.pipe(Effect.map(([item, events, a]) => [[item], events, a])))
|
|
55
|
+
};
|
|
56
|
+
return {
|
|
57
|
+
...repo,
|
|
58
|
+
...exts
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRXpDLE9BQU8sS0FBSyxDQUFDLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFHckMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQWtELEVBQ2xELEVBQUU7SUFDRixNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQVksRUFBRSxFQUFFLENBQzNCLE1BQU0sQ0FBQyxPQUFPLENBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDYixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQzFGLENBQUE7SUFDSCxTQUFTLGlCQUFpQixDQVl4QixJQUFrRCxFQUNsRCxLQUFtQixFQUNuQixJQUFnRTtRQUVoRSxPQUFPLG9CQUFvQixDQUN6QixJQUFJLEVBQ0osT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FDMUIsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLGFBQWEsQ0FZcEIsSUFBa0QsRUFDbEQsSUFBUSxFQUNSLElBQTBDO1FBRTFDLE9BQU8sb0JBQW9C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
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { NonEmptyReadonlyArray, Option, ParseResult, S } from "effect-app";
|
|
2
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
3
|
+
import type { NotFoundError, OptimisticConcurrencyException } from "effect-app/client";
|
|
4
|
+
import * as Q from "../query.js";
|
|
5
|
+
import type { Repos } from "../RepositoryBase.js";
|
|
6
|
+
import type { StoreConfig, StoreMaker } from "../Store.js";
|
|
7
|
+
import { type ExtendedRepository } from "./ext.js";
|
|
8
|
+
import type { Repository } from "./service.js";
|
|
9
|
+
/** @deprecated use makeRepo/extendRepo */
|
|
10
|
+
export declare class RepositoryBase<T, Encoded extends {
|
|
11
|
+
id: string;
|
|
12
|
+
}, Evt, ItemType extends string, Ext, IdKey extends keyof T> implements ExtendedRepository<T, Encoded, Evt, ItemType, IdKey> {
|
|
13
|
+
protected readonly impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey> & Ext;
|
|
14
|
+
constructor(impl: ExtendedRepository<T, Encoded, Evt, ItemType, IdKey> & Ext);
|
|
15
|
+
get: (id: T[IdKey]) => Effect<T, NotFoundError<ItemType>>;
|
|
16
|
+
idKey: IdKey;
|
|
17
|
+
request: (id: T[IdKey]) => Effect.Effect<T, NotFoundError<ItemType>, never>;
|
|
18
|
+
itemType: ItemType;
|
|
19
|
+
saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException>;
|
|
20
|
+
removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt> | undefined) => Effect<void>;
|
|
21
|
+
find: (id: T[IdKey]) => Effect<Option<T>>;
|
|
22
|
+
all: Effect<T[]>;
|
|
23
|
+
changeFeed: import("effect/PubSub").PubSub<[T[], "save" | "remove"]>;
|
|
24
|
+
mapped: Mapped<Encoded>;
|
|
25
|
+
query: {
|
|
26
|
+
<A, R, Encoded2 extends import("../../filter/types.js").FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Q.Query<Encoded>) => Q.QueryProjection<Encoded extends Encoded2 ? Encoded2 : 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), R>;
|
|
27
|
+
<R = never, TType extends "one" | "many" = "many">(q: (initial: Q.Query<Encoded>) => Q.QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
|
|
28
|
+
};
|
|
29
|
+
log: (evt: Evt) => import("effect-app/Pure").PureLogT<any>;
|
|
30
|
+
removeById: (id: T[IdKey]) => Effect.Effect<void, NotFoundError<ItemType>, never>;
|
|
31
|
+
save: (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException>;
|
|
32
|
+
saveWithEvents: (events: Iterable<Evt>) => (items_0: T, ...items: T[]) => Effect<void, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException>;
|
|
33
|
+
queryAndSavePure: {
|
|
34
|
+
<A, E2, R2, T2 extends T>(q: (q: Q.Query<Encoded>) => Q.QueryEnd<Encoded, "one">, pure: Effect<A, E2, import("effect-app/Pure").FixEnv<R2, Evt, T, T2>>): Effect.Effect<A, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E2, Exclude<R2, {
|
|
35
|
+
env: import("effect-app/Pure").PureEnv<Evt, T, T2>;
|
|
36
|
+
}>>;
|
|
37
|
+
<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, import("effect-app/Pure").FixEnv<R2, Evt, readonly T[], readonly T2[]>>): Effect.Effect<A, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
|
|
38
|
+
env: import("effect-app/Pure").PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
39
|
+
}>>;
|
|
40
|
+
<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, import("effect-app/Pure").FixEnv<R2, Evt, readonly T[], readonly T2[]>>, batch: "batched" | number): Effect.Effect<A[], import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | E2, Exclude<R2, {
|
|
41
|
+
env: import("effect-app/Pure").PureEnv<Evt, readonly T[], readonly T2[]>;
|
|
42
|
+
}>>;
|
|
43
|
+
};
|
|
44
|
+
saveManyWithPure: {
|
|
45
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, import("effect-app/Pure").FixEnv<R, Evt, readonly S1[], readonly S2[]>>): Effect.Effect<A, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
|
|
46
|
+
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
47
|
+
}>>;
|
|
48
|
+
<R, A, E, S1 extends T, S2 extends T>(items: Iterable<S1>, pure: Effect<A, E, import("effect-app/Pure").FixEnv<R, Evt, readonly S1[], readonly S2[]>>, batch: "batched" | number): Effect.Effect<A[], import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
|
|
49
|
+
env: import("effect-app/Pure").PureEnv<Evt, readonly S1[], readonly S2[]>;
|
|
50
|
+
}>>;
|
|
51
|
+
};
|
|
52
|
+
byIdAndSaveWithPure: <R, A, E, S2 extends T>(id: T[IdKey], pure: Effect<A, E, import("effect-app/Pure").FixEnv<R, Evt, T, S2>>) => Effect<A, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | E, Exclude<R, {
|
|
53
|
+
env: import("effect-app/Pure").PureEnv<Evt, T, S2>;
|
|
54
|
+
}>>;
|
|
55
|
+
saveWithPure: <R, A, E, S1 extends T, S2 extends T>(item: S1, pure: Effect<A, E, import("effect-app/Pure").FixEnv<R, Evt, S1, S2>>) => Effect.Effect<A, import("effect-app/client").InvalidStateError | OptimisticConcurrencyException | E, Exclude<R, {
|
|
56
|
+
env: import("effect-app/Pure").PureEnv<Evt, S1, S2>;
|
|
57
|
+
}>>;
|
|
58
|
+
}
|
|
59
|
+
export declare const RepositoryDefaultImpl2: <Service, Evt = never>() => {
|
|
60
|
+
<ItemType extends string, R, Encoded extends {
|
|
61
|
+
id: string;
|
|
62
|
+
}, T, IdKey extends keyof T, E = never, RInitial = never, R2 = 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, R>, options: [Evt] extends [never] ? {
|
|
63
|
+
dependencies?: Layers;
|
|
64
|
+
idKey: IdKey;
|
|
65
|
+
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
66
|
+
partitionValue?: (a: Encoded) => string;
|
|
67
|
+
};
|
|
68
|
+
jitM?: (pm: Encoded) => Encoded;
|
|
69
|
+
options?: Effect<{
|
|
70
|
+
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
71
|
+
ext?: Ext;
|
|
72
|
+
}, E1, R1>;
|
|
73
|
+
} : {
|
|
74
|
+
dependencies?: Layers;
|
|
75
|
+
idKey: IdKey;
|
|
76
|
+
jitM?: (pm: Encoded) => Encoded;
|
|
77
|
+
config?: Omit<StoreConfig<Encoded>, "partitionValue"> & {
|
|
78
|
+
partitionValue?: (a: Encoded) => string;
|
|
79
|
+
};
|
|
80
|
+
options?: Effect<{
|
|
81
|
+
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2>;
|
|
82
|
+
makeInitial?: Effect<readonly T[], E, RInitial>;
|
|
83
|
+
ext?: Ext;
|
|
84
|
+
}, E1, R1>;
|
|
85
|
+
}): (abstract new (impl: Repository<T, Encoded, Evt, ItemType, IdKey> & Ext) => RepositoryBase<T, Encoded, Evt, ItemType, Ext, IdKey>) & Context.Tag<Service, Service> & {
|
|
86
|
+
Default: Layer.Layer<Service, E1 | Layer.Layer.Error<Layers[number]>, Exclude<R1 | R | StoreMaker, { [k in keyof Layers]: Layer.Layer.Success<Layers[k]>; }[number]>>;
|
|
87
|
+
DefaultWithoutDependencies: Layer.Layer<Service, E1, R1 | R | StoreMaker>;
|
|
88
|
+
} & Repos<T, Encoded, R, Evt, ItemType, IdKey>;
|
|
89
|
+
<ItemType extends string, R_1, Encoded_1 extends {
|
|
90
|
+
id: string;
|
|
91
|
+
}, T_1 extends {
|
|
92
|
+
id: unknown;
|
|
93
|
+
}, E_1 = never, RInitial_1 = never, R2_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, R_1>, options: [Evt] extends [never] ? {
|
|
94
|
+
dependencies?: Layers_1;
|
|
95
|
+
config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
|
|
96
|
+
partitionValue?: (a: Encoded_1) => string;
|
|
97
|
+
};
|
|
98
|
+
jitM?: (pm: Encoded_1) => Encoded_1;
|
|
99
|
+
options?: Effect<{
|
|
100
|
+
makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
|
|
101
|
+
ext?: Ext_1;
|
|
102
|
+
}, E1_1, R1_1>;
|
|
103
|
+
} : {
|
|
104
|
+
dependencies?: Layers_1;
|
|
105
|
+
jitM?: (pm: Encoded_1) => Encoded_1;
|
|
106
|
+
config?: Omit<StoreConfig<Encoded_1>, "partitionValue"> & {
|
|
107
|
+
partitionValue?: (a: Encoded_1) => string;
|
|
108
|
+
};
|
|
109
|
+
options?: Effect<{
|
|
110
|
+
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<void, never, R2_1>;
|
|
111
|
+
makeInitial?: Effect<readonly T_1[], E_1, RInitial_1>;
|
|
112
|
+
ext?: Ext_1;
|
|
113
|
+
}, E1_1, R1_1>;
|
|
114
|
+
}): (abstract new (impl: Repository<T_1, Encoded_1, Evt, ItemType, "id"> & Ext_1) => RepositoryBase<T_1, Encoded_1, Evt, ItemType, Ext_1, "id">) & Context.Tag<Service, Service> & {
|
|
115
|
+
Default: Layer.Layer<Service, E1_1 | Layer.Layer.Error<Layers_1[number]>, Exclude<R1_1 | R_1 | StoreMaker, { [k in keyof Layers_1]: Layer.Layer.Success<Layers_1[k]>; }[number]>>;
|
|
116
|
+
DefaultWithoutDependencies: Layer.Layer<Service, E1_1, R1_1 | R_1 | StoreMaker>;
|
|
117
|
+
} & Repos<T_1, Encoded_1, R_1, Evt, ItemType, "id">;
|
|
118
|
+
};
|
|
119
|
+
export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
120
|
+
all: Effect<A[], ParseResult.ParseError, R>;
|
|
121
|
+
save: (...xes: readonly A[]) => Effect<void, OptimisticConcurrencyException | ParseResult.ParseError, R>;
|
|
122
|
+
find: (id: A[IdKey]) => Effect<Option<A>, ParseResult.ParseError, R>;
|
|
123
|
+
}
|
|
124
|
+
export interface Mapped2<A, R> {
|
|
125
|
+
all: Effect<A[], ParseResult.ParseError, R>;
|
|
126
|
+
}
|
|
127
|
+
export interface Mapped<Encoded extends {
|
|
128
|
+
id: string;
|
|
129
|
+
}> {
|
|
130
|
+
<A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Mapped1<A, IdKey, R>;
|
|
131
|
+
<A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Mapped2<A, R>;
|
|
132
|
+
}
|
|
133
|
+
export interface MM<Repo, Encoded extends {
|
|
134
|
+
id: string;
|
|
135
|
+
}> {
|
|
136
|
+
<A, R, IdKey extends keyof A>(schema: S.Schema<A, Encoded, R>): Effect<Mapped1<A, IdKey, R>, never, Repo>;
|
|
137
|
+
<A, Encoded2, R>(schema: S.Schema<A, Encoded2, R>): Effect<Mapped2<A, R>, never, Repo>;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=legacy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/legacy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC/E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,CAAC,MAAM,aAAa,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,EAAE,KAAK,kBAAkB,EAAc,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAe9C,0CAA0C;AAC1C,qBAAa,cAAc,CAAC,CAAC,EAAE,OAAO,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,EAAE,QAAQ,SAAS,MAAM,EAAE,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,CACrH,YAAW,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC;IAEnD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,GAAG;gBAAhE,IAAI,EAAE,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,GAAG;IAqB/F,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAA;IACzD,KAAK,QAAA;IACL,OAAO,qEAAA;IACP,QAAQ,WAAA;IACR,cAAc,2JAAA;IACd,gBAAgB,2EAAA;IAChB,IAAI,sCAAA;IACJ,GAAG,cAAA;IACH,UAAU,2DAAA;IACV,MAAM,kBAAA;IACN,KAAK;;;MAAA;IACL,GAAG,wDAAA;IACH,UAAU,wEAAA;IACV,IAAI,8HAAA;IACJ,cAAc,yJAAA;IACd,gBAAgB;;;;;;;;;;MAAA;IAChB,gBAAgB;;;;;;;MAAA;IAChB,mBAAmB;;QAAA;IACnB,YAAY;;QAAA;CACb;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,EAAE,GAAG;KAG7C,QAAQ,SAAS,MAAM,EACvB,CAAC,EACD,OAAO,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAC9B,CAAC,EACD,KAAK,SAAS,MAAM,CAAC,EACrB,CAAC,UACD,QAAQ,UACR,EAAE,UACF,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,uCACtD,EAAE,UACF,EAAE,UAEF,GAAG,iBAEO,QAAQ,UACV,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,WACtB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,EAAE,KAAK,CAAA;QACZ,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAA;QAC/B,OAAO,CAAC,EAAE,MAAM,CACd;YACE,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC/C,GAAG,CAAC,EAAE,GAAG,CAAA;SACV,EACD,EAAE,EACF,EAAE,CACH,CAAA;KACF,GACC;QACA,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,EAAE,KAAK,CAAA;QACZ,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAAA;QAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,OAAO,CAAC,EAAE,MAAM,CACd;YACE,aAAa,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;YAC3E,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC/C,GAAG,CAAC,EAAE,GAAG,CAAA;SACV,EACD,EAAE,EACF,EAAE,CACH,CAAA;KACF,GAED,CAAC,QAAQ,MACT,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,GAAG,KACrD,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GACzD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAC7B;QACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAClB,OAAO,EACP,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACtC,OAAO,CACL,EAAE,GAAG,CAAC,GAAG,UAAU,EACnB,GAAG,CAAiB,IAAZ,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,MAAM,CAAC,CAChE,CACF,CAAA;QACD,0BAA0B,EAAE,KAAK,CAAC,KAAK,CACrC,OAAO,EACP,EAAE,EACF,EAAE,GAAG,CAAC,GAAG,UAAU,CACpB,CAAA;KACF,GACC,KAAK,CACL,CAAC,EACD,OAAO,EACP,CAAC,EACD,GAAG,EACH,QAAQ,EACR,KAAK,CACN;KAED,QAAQ,SAAS,MAAM,yBAEP;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,cACpB;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,kEAIV,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,yFAM5C,QAAQ,UACV,CAAC,CAAC,MAAM,CAAC,GAAC,EAAE,SAAO,EAAE,GAAC,CAAC,WACtB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG;QAC7B,YAAY,CAAC,EAAE,QAAM,CAAA;QACrB,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,SAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,SAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAO,KAAK,SAAO,CAAA;QAC/B,OAAO,CAAC,EAAE,MAAM,CACd;YACE,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,GAAC,EAAE,EAAE,GAAC,EAAE,UAAQ,CAAC,CAAA;YAC/C,GAAG,CAAC,EAAE,KAAG,CAAA;SACV,EACD,IAAE,EACF,IAAE,CACH,CAAA;KACF,GACC;QACA,YAAY,CAAC,EAAE,QAAM,CAAA;QACrB,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,SAAO,KAAK,SAAO,CAAA;QAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,SAAO,CAAC,EAAE,gBAAgB,CAAC,GAAG;YACtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,SAAO,KAAK,MAAM,CAAA;SACxC,CAAA;QACD,OAAO,CAAC,EAAE,MAAM,CACd;YACE,aAAa,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAE,CAAC,CAAA;YAC3E,WAAW,CAAC,EAAE,MAAM,CAAC,SAAS,GAAC,EAAE,EAAE,GAAC,EAAE,UAAQ,CAAC,CAAA;YAC/C,GAAG,CAAC,EAAE,KAAG,CAAA;SACV,EACD,IAAE,EACF,IAAE,CACH,CAAA;KACF,GAED,CAAC,QAAQ,MACT,IAAI,EAAE,UAAU,CAAC,GAAC,EAAE,SAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,KAAG,KACpD,cAAc,CAAC,GAAC,EAAE,SAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAG,EAAE,IAAI,CAAC,CAAC,GACxD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAC7B;QACA,OAAO,EAAE,KAAK,CAAC,KAAK,CAClB,OAAO,EACP,IAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAM,CAAC,MAAM,CAAC,CAAC,EACtC,OAAO,CACL,IAAE,GAAG,GAAC,GAAG,UAAU,EACnB,GAAG,CAAiB,IAAZ,MAAM,QAAM,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAM,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,MAAM,CAAC,CAChE,CACF,CAAA;QACD,0BAA0B,EAAE,KAAK,CAAC,KAAK,CACrC,OAAO,EACP,IAAE,EACF,IAAE,GAAG,GAAC,GAAG,UAAU,CACpB,CAAA;KACF,GACC,KAAK,CACL,GAAC,EACD,SAAO,EACP,GAAC,EACD,GAAG,EACH,QAAQ,EACR,IAAI,CACL;CAsGN,CAAA;AAED,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,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACpD,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,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACtD,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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Context, Effect, Layer } from "effect-app";
|
|
2
|
+
import * as Q from "../query.js";
|
|
3
|
+
import { makeRepoInternal } from "../RepositoryBase.js";
|
|
4
|
+
import { extendRepo } from "./ext.js";
|
|
5
|
+
const names = new Map();
|
|
6
|
+
const registerName = (name) => {
|
|
7
|
+
const existing = names.get(name);
|
|
8
|
+
if (existing === undefined) {
|
|
9
|
+
names.set(name, 1);
|
|
10
|
+
return name;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const n = existing + 1;
|
|
14
|
+
names.set(name, n);
|
|
15
|
+
return name + "-" + existing;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
/** @deprecated use makeRepo/extendRepo */
|
|
19
|
+
export class RepositoryBase {
|
|
20
|
+
impl;
|
|
21
|
+
constructor(impl) {
|
|
22
|
+
this.impl = impl;
|
|
23
|
+
this.saveAndPublish = this.impl.saveAndPublish;
|
|
24
|
+
this.removeAndPublish = this.impl.removeAndPublish;
|
|
25
|
+
this.find = this.impl.find;
|
|
26
|
+
this.all = this.impl.all;
|
|
27
|
+
this.changeFeed = this.impl.changeFeed;
|
|
28
|
+
this.mapped = this.impl.mapped;
|
|
29
|
+
this.query = this.impl.query;
|
|
30
|
+
this.get = this.impl.get;
|
|
31
|
+
this.itemType = this.impl.itemType;
|
|
32
|
+
this.idKey = this.impl.idKey;
|
|
33
|
+
this.log = this.impl.log;
|
|
34
|
+
this.removeById = this.impl.removeById;
|
|
35
|
+
this.save = this.impl.save;
|
|
36
|
+
this.saveWithEvents = this.impl.saveWithEvents;
|
|
37
|
+
this.queryAndSavePure = this.impl.queryAndSavePure;
|
|
38
|
+
this.saveManyWithPure = this.impl.saveManyWithPure;
|
|
39
|
+
this.byIdAndSaveWithPure = this.impl.byIdAndSaveWithPure;
|
|
40
|
+
this.saveWithPure = this.impl.saveWithPure;
|
|
41
|
+
this.request = this.impl.request;
|
|
42
|
+
}
|
|
43
|
+
get;
|
|
44
|
+
idKey;
|
|
45
|
+
request;
|
|
46
|
+
itemType;
|
|
47
|
+
saveAndPublish;
|
|
48
|
+
removeAndPublish;
|
|
49
|
+
find;
|
|
50
|
+
all;
|
|
51
|
+
changeFeed;
|
|
52
|
+
mapped;
|
|
53
|
+
query;
|
|
54
|
+
log;
|
|
55
|
+
removeById;
|
|
56
|
+
save;
|
|
57
|
+
saveWithEvents;
|
|
58
|
+
queryAndSavePure;
|
|
59
|
+
saveManyWithPure;
|
|
60
|
+
byIdAndSaveWithPure;
|
|
61
|
+
saveWithPure;
|
|
62
|
+
}
|
|
63
|
+
export const RepositoryDefaultImpl2 = () => {
|
|
64
|
+
const f = (itemType, schema, options) => {
|
|
65
|
+
let layerCache = undefined;
|
|
66
|
+
let layerCache2 = undefined;
|
|
67
|
+
class Cls extends RepositoryBase {
|
|
68
|
+
static Q = Q.make();
|
|
69
|
+
static get DefaultWithoutDependencies() {
|
|
70
|
+
const self = this;
|
|
71
|
+
return layerCache ??= Effect
|
|
72
|
+
.gen(function* () {
|
|
73
|
+
const opts = yield* options.options ?? Effect.succeed({});
|
|
74
|
+
const mkRepo = makeRepoInternal()(itemType, schema, options?.jitM ? (pm) => options.jitM(pm) : (pm) => pm, (e, _etag) => ({ ...e, _etag }), options.idKey ?? "id");
|
|
75
|
+
const r = yield* mkRepo.make({ ...options, ...opts });
|
|
76
|
+
const repo = new self(Object.assign(extendRepo(r), "ext" in opts ? opts.ext : {}));
|
|
77
|
+
return Layer.succeed(self, repo);
|
|
78
|
+
})
|
|
79
|
+
.pipe(Layer.unwrapEffect);
|
|
80
|
+
}
|
|
81
|
+
static get Default() {
|
|
82
|
+
const self = this;
|
|
83
|
+
return layerCache2 ??= options.dependencies
|
|
84
|
+
? self
|
|
85
|
+
.DefaultWithoutDependencies
|
|
86
|
+
.pipe(Layer.provide(options.dependencies))
|
|
87
|
+
: self.DefaultWithoutDependencies;
|
|
88
|
+
}
|
|
89
|
+
static type = undefined;
|
|
90
|
+
}
|
|
91
|
+
const limit = Error.stackTraceLimit;
|
|
92
|
+
Error.stackTraceLimit = 2;
|
|
93
|
+
const creationError = new Error();
|
|
94
|
+
Error.stackTraceLimit = limit;
|
|
95
|
+
// TODO: actual class name or expect a string identifier - careful with overlapping between modules
|
|
96
|
+
return Context.assignTag(registerName(itemType + "Repo"), creationError)(Cls); // impl is missing, but its marked protected
|
|
97
|
+
};
|
|
98
|
+
return f;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnYWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnkvbGVnYWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLGFBQWEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUV2RCxPQUFPLEVBQTJCLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUc5RCxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQTtBQUN2QyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDaEMsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUE7UUFDdEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDbEIsT0FBTyxJQUFJLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQTtJQUM5QixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sT0FBTyxjQUFjO0lBR007SUFBL0IsWUFBK0IsSUFBZ0U7UUFBaEUsU0FBSSxHQUFKLElBQUksQ0FBNEQ7UUFDN0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLEdB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
|
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ParseResult } from "effect";
|
|
2
|
+
import type { Effect, Option, PubSub } from "effect-app";
|
|
3
|
+
import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "effect-app/client";
|
|
4
|
+
import type { NonNegativeInt } from "effect-app/Schema/numbers";
|
|
5
|
+
import type { FieldValues } from "../../filter/types.js";
|
|
6
|
+
import type { QAll, Query, QueryProjection } from "../query.js";
|
|
7
|
+
import type { Mapped } from "./legacy.js";
|
|
2
8
|
/**
|
|
3
9
|
* @tsplus type Repository
|
|
4
10
|
*/
|
|
5
11
|
export interface Repository<T, Encoded extends {
|
|
6
12
|
id: string;
|
|
7
|
-
}, Evt, ItemType extends string, IdKey extends keyof T>
|
|
13
|
+
}, Evt, ItemType extends string, IdKey extends keyof T> {
|
|
14
|
+
readonly itemType: ItemType;
|
|
15
|
+
readonly idKey: IdKey;
|
|
16
|
+
readonly find: (id: T[IdKey]) => Effect<Option<T>>;
|
|
17
|
+
readonly all: Effect<T[]>;
|
|
18
|
+
readonly saveAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void, InvalidStateError | OptimisticConcurrencyException>;
|
|
19
|
+
readonly changeFeed: PubSub.PubSub<[T[], "save" | "remove"]>;
|
|
20
|
+
readonly removeAndPublish: (items: Iterable<T>, events?: Iterable<Evt>) => Effect<void>;
|
|
21
|
+
readonly query: {
|
|
22
|
+
<A, R, Encoded2 extends FieldValues, TType extends "one" | "many" | "count" = "many">(q: (initial: Query<Encoded>) => QueryProjection<Encoded extends Encoded2 ? Encoded2 : never, A, R, TType>): Effect.Effect<TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A, (TType extends "many" ? never : NotFoundError<ItemType>) | (TType extends "count" ? never : ParseResult.ParseError), R>;
|
|
23
|
+
<R = never, TType extends "one" | "many" = "many">(q: (initial: Query<Encoded>) => QAll<Encoded, T, R, TType>): Effect.Effect<TType extends "many" ? readonly T[] : T, TType extends "many" ? never : NotFoundError<ItemType>, R>;
|
|
24
|
+
};
|
|
25
|
+
/** @deprecated use query */
|
|
26
|
+
readonly mapped: Mapped<Encoded>;
|
|
8
27
|
}
|
|
9
28
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Repository/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/services/Repository.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA"}
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/services/Repository.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "./Repository/dsl.js";
|
|
2
2
|
export * from "./Repository/ext.js";
|
|
3
|
+
export * from "./Repository/legacy.js";
|
|
3
4
|
export * from "./Repository/service.js";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9SZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQTtBQUNuQyxjQUFjLHdCQUF3QixDQUFBO0FBQ3RDLGNBQWMseUJBQXlCLENBQUEifQ==
|