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