@effect-app/infra 0.58.0 → 0.58.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 +6 -0
- package/_cjs/services/RepositoryBase.cjs +28 -24
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_src/services/RepositoryBase.ts +5 -0
- package/dist/services/RepositoryBase.d.ts +5 -2
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +29 -25
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -9,17 +9,18 @@ exports.makeStore = makeStore;
|
|
|
9
9
|
exports.makeWhere = makeWhere;
|
|
10
10
|
exports.removeById = removeById;
|
|
11
11
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/io/Effect"));
|
|
12
|
-
var tsplus_module_2 = _interopRequireWildcard(require("@effect
|
|
13
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/prelude/
|
|
14
|
-
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/schema
|
|
15
|
-
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/
|
|
16
|
-
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/
|
|
17
|
-
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/
|
|
18
|
-
var tsplus_module_8 = _interopRequireWildcard(require("@effect/
|
|
19
|
-
var tsplus_module_9 = _interopRequireWildcard(require("@effect/data/
|
|
20
|
-
var tsplus_module_10 = _interopRequireWildcard(require("@effect
|
|
21
|
-
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/
|
|
22
|
-
var tsplus_module_12 = _interopRequireWildcard(require("@effect-app/
|
|
12
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect/io/Layer"));
|
|
13
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/prelude/service"));
|
|
14
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/prelude/schema"));
|
|
15
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/schema/custom/_api/condemn"));
|
|
16
|
+
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/prelude/_ext/misc"));
|
|
17
|
+
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
18
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
19
|
+
var tsplus_module_9 = _interopRequireWildcard(require("@effect/data/Chunk"));
|
|
20
|
+
var tsplus_module_10 = _interopRequireWildcard(require("@effect/data/Option"));
|
|
21
|
+
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
22
|
+
var tsplus_module_12 = _interopRequireWildcard(require("@effect-app/infra/services/Repository"));
|
|
23
|
+
var tsplus_module_13 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
23
24
|
var _Store = require("./Store.cjs");
|
|
24
25
|
var _codec = require("@effect-app/infra/api/codec");
|
|
25
26
|
var _filter = require("@effect-app/infra/filter");
|
|
@@ -40,9 +41,12 @@ const RepositoryBase = () => {
|
|
|
40
41
|
static map(f) {
|
|
41
42
|
return tsplus_module_1.map(this, f);
|
|
42
43
|
}
|
|
44
|
+
static makeLayer(svc) {
|
|
45
|
+
return tsplus_module_2.succeed(this, svc);
|
|
46
|
+
}
|
|
43
47
|
}
|
|
44
48
|
RepositoryBaseC.where = makeWhere();
|
|
45
|
-
return
|
|
49
|
+
return tsplus_module_3.assignTag()(RepositoryBaseC);
|
|
46
50
|
};
|
|
47
51
|
};
|
|
48
52
|
/**
|
|
@@ -68,29 +72,29 @@ function makeRepo() {
|
|
|
68
72
|
const allE = tsplus_module_1.flatMap(store.all, items => tsplus_module_1.map(_Store.ContextMap, ({
|
|
69
73
|
set
|
|
70
74
|
}) => items.map(_ => mapReverse(_, set))));
|
|
71
|
-
const all = tsplus_module_1.flatMap(allE, _ =>
|
|
75
|
+
const all = tsplus_module_1.flatMap(allE, _ => tsplus_module_11.ext_forEach(_, tsplus_module_5.condemnDie((0, tsplus_module_4.EParserFor)(schema))));
|
|
72
76
|
function findE(id) {
|
|
73
77
|
return tsplus_module_1.flatMap(store.find(id), items => tsplus_module_1.map(_Store.ContextMap, ({
|
|
74
78
|
set
|
|
75
|
-
}) =>
|
|
79
|
+
}) => tsplus_module_10.map(items, _ => mapReverse(_, set))));
|
|
76
80
|
}
|
|
77
81
|
function find(id) {
|
|
78
|
-
return
|
|
82
|
+
return tsplus_module_8.flatMapOption(findE(id), tsplus_module_5.condemnDie((0, tsplus_module_4.EParserFor)(schema)));
|
|
79
83
|
}
|
|
80
|
-
const saveAllE = a =>
|
|
84
|
+
const saveAllE = a => tsplus_module_8.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(a)), a => tsplus_module_1.flatMap(_Store.ContextMap, ({
|
|
81
85
|
get,
|
|
82
86
|
set
|
|
83
87
|
}) => {
|
|
84
|
-
const items =
|
|
88
|
+
const items = tsplus_module_7.mapRA(_ => mapToPersistenceModel(_, get))(a);
|
|
85
89
|
return tsplus_module_1.map(store.batchSet(items), ret => {
|
|
86
90
|
ret.forEach(_ => set(_.id, _._etag));
|
|
87
91
|
});
|
|
88
92
|
}));
|
|
89
|
-
const saveAll = a => saveAllE(
|
|
90
|
-
const saveAndPublish = (items, events = []) => tsplus_module_1.zipRight(
|
|
93
|
+
const saveAll = a => saveAllE(tsplus_module_9.map(tsplus_module_7.ext_itToChunk(a), tsplus_module_4.Encoder.for(schema)));
|
|
94
|
+
const saveAndPublish = (items, events = []) => tsplus_module_1.zipRight(tsplus_module_8.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(events))
|
|
91
95
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
92
96
|
, publishEvents))(saveAll(items));
|
|
93
|
-
const encode =
|
|
97
|
+
const encode = tsplus_module_4.Encoder.for(schema);
|
|
94
98
|
function remove(item) {
|
|
95
99
|
return tsplus_module_1.flatMap(_Store.ContextMap, ({
|
|
96
100
|
get,
|
|
@@ -108,8 +112,8 @@ function makeRepo() {
|
|
|
108
112
|
*/
|
|
109
113
|
utils: {
|
|
110
114
|
mapReverse,
|
|
111
|
-
parse:
|
|
112
|
-
filter:
|
|
115
|
+
parse: tsplus_module_5.unsafe(tsplus_module_4.Parser.for(schema)),
|
|
116
|
+
filter: tsplus_module_6.flow(store.filter, _ => tsplus_module_1.tap(_, items => _Store.ContextMap.map(({
|
|
113
117
|
set
|
|
114
118
|
}) => items.forEach(_ => set(_.id, _._etag))))),
|
|
115
119
|
all: tsplus_module_1.tap(store.all, items => _Store.ContextMap.map(({
|
|
@@ -135,7 +139,7 @@ function makeRepo() {
|
|
|
135
139
|
* @tsplus fluent Repository removeById
|
|
136
140
|
*/
|
|
137
141
|
function removeById(self, id) {
|
|
138
|
-
return tsplus_module_1.flatMap(
|
|
142
|
+
return tsplus_module_1.flatMap(tsplus_module_12.get(self, id), _ => self.remove(_));
|
|
139
143
|
}
|
|
140
144
|
function makeWhere() {
|
|
141
145
|
const f_ = (0, _filter.makeFilters)();
|
|
@@ -159,7 +163,7 @@ function makeStore() {
|
|
|
159
163
|
const [_dec, encode] = (0, _codec.makeCodec)(schema);
|
|
160
164
|
function encodeToPM() {
|
|
161
165
|
const getEtag = () => undefined;
|
|
162
|
-
return
|
|
166
|
+
return tsplus_module_13.flow(encode, v => mapToPersistenceModel(v, getEtag));
|
|
163
167
|
}
|
|
164
168
|
function mapToPersistenceModel(e, getEtag) {
|
|
165
169
|
return mapTo(e, getEtag(e.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryBase.cjs","names":["_Store","require","_codec","_filter","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RepositoryBase","itemType","RepositoryBaseC","constructor","flatMap","f","tsplus_module_1","map","where","makeWhere","
|
|
1
|
+
{"version":3,"file":"RepositoryBase.cjs","names":["_Store","require","_codec","_filter","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","RepositoryBase","itemType","RepositoryBaseC","constructor","flatMap","f","tsplus_module_1","map","makeLayer","svc","tsplus_module_2","succeed","where","makeWhere","tsplus_module_3","assignTag","exports","makeRepo","name","schema","mapFrom","mapTo","mapToPersistenceModel","e","getEtag","id","mapReverse","_etag","setEtag","mkStore","makeStore","make","publishEvents","makeInitial","config","store","allE","all","items","ContextMap","_","tsplus_module_11","ext_forEach","tsplus_module_5","condemnDie","EParserFor","findE","find","tsplus_module_10","tsplus_module_8","flatMapOption","saveAllE","a","sync","tsplus_module_7","CollectionToNonEmptyReadonlyArray","mapRA","batchSet","ret","forEach","saveAll","tsplus_module_9","ext_itToChunk","tsplus_module_4","Encoder","for","saveAndPublish","events","zipRight","encode","remove","item","undefined","r","utils","parse","unsafe","Parser","filter","tsplus_module_6","flow","tap","removeById","self","tsplus_module_12","f_","makeFilters","makeFilter_","mode","m","Array","isArray","pluralize","s","endsWith","substring","length","_dec","makeCodec","encodeToPM","tsplus_module_13","v","StoreMaker","partitionValue","RepositoryBaseImpl","mkRepo","Cls","RepositoryDefaultImpl","toLayer","impl","assign"],"sources":["../../_src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -44,6 +44,9 @@ export const RepositoryBase = <Service>() => {
|
|
|
44
44
|
static map<B>(f: (a: Service) => B): Effect<Service, never, B> {
|
|
45
45
|
return Effect.map(this as unknown as Tag<Service, Service>, f)
|
|
46
46
|
}
|
|
47
|
+
static makeLayer(svc: Service) {
|
|
48
|
+
return Layer.succeed(this as unknown as Tag<Service, Service>, svc)
|
|
49
|
+
}
|
|
47
50
|
}
|
|
48
51
|
return assignTag<Service>()(RepositoryBaseC)
|
|
49
52
|
}
|
|
@@ -304,6 +307,7 @@ export const RepositoryBaseImpl = <Service>() => {
|
|
|
304
307
|
): Effect<StoreMaker, never, Repository<T, PM, Evt, ItemType>>
|
|
305
308
|
where: ReturnType<typeof makeWhere<PM>>
|
|
306
309
|
flatMap: <R1, E1, B>(f: (a: Service) => Effect<R1, E1, B>) => Effect<Service | R1, E1, B>
|
|
310
|
+
makeLayer: (svc: Service) => Layer<never, never, Service>
|
|
307
311
|
map: <B>(f: (a: Service) => B) => Effect<Service, never, B>
|
|
308
312
|
} => {
|
|
309
313
|
const mkRepo = makeRepo<PM, Evt>()(itemType, schema, mapFrom, mapTo)
|
|
@@ -344,6 +348,7 @@ export const RepositoryDefaultImpl = <Service>() => {
|
|
|
344
348
|
): Layer<StoreMaker, never, Service>
|
|
345
349
|
where: ReturnType<typeof makeWhere<PM>>
|
|
346
350
|
flatMap: <R1, E1, B>(f: (a: Service) => Effect<R1, E1, B>) => Effect<Service | R1, E1, B>
|
|
351
|
+
makeLayer: (svc: Service) => Layer<never, never, Service>
|
|
347
352
|
map: <B>(f: (a: Service) => B) => Effect<Service, never, B>
|
|
348
353
|
repo: Repository<T, PM, Evt, ItemType> // just a helper to type the constructor
|
|
349
354
|
} => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Effect } from "@effect/io/Effect";
|
|
2
2
|
import { Tag } from "@effect/data/Context";
|
|
3
|
-
import { NonEmptyReadonlyArray } from "@effect/data/ReadonlyArray";
|
|
4
3
|
import { Layer } from "@effect/io/Layer";
|
|
4
|
+
import { NonEmptyReadonlyArray } from "@effect/data/ReadonlyArray";
|
|
5
5
|
import type { ParserEnv } from "@effect-app/schema/custom/Parser";
|
|
6
6
|
import type { Repository } from "./Repository.js";
|
|
7
7
|
import type { RequestContextContainer } from "./RequestContextContainer.js";
|
|
@@ -62,6 +62,7 @@ export declare const RepositoryBase: <Service>() => <T extends {
|
|
|
62
62
|
}) => Where | readonly [Where, ...Where[]], mode?: "or" | "and") => Filter<PM>;
|
|
63
63
|
flatMap<R1, E1, B>(f: (a: Service) => import("@effect/io/Effect").Effect<R1, E1, B>): import("@effect/io/Effect").Effect<Service | R1, E1, B>;
|
|
64
64
|
map<B_1>(f: (a: Service) => B_1): import("@effect/io/Effect").Effect<Service, never, B_1>;
|
|
65
|
+
makeLayer(svc: Service): import("@effect/io/Layer").Layer<never, never, Service>;
|
|
65
66
|
}) & import("@effect/data/Context").Tag<Service, Service>;
|
|
66
67
|
/**
|
|
67
68
|
* A base implementation to create a repository.
|
|
@@ -102,7 +103,7 @@ export declare function makeRepo<PM extends {
|
|
|
102
103
|
value: A_1;
|
|
103
104
|
readonly S: PM;
|
|
104
105
|
};
|
|
105
|
-
}) => Where | readonly [Where, ...Where[]], mode?: "
|
|
106
|
+
}) => Where | readonly [Where, ...Where[]], mode?: "or" | "and" | undefined) => Filter<PM>;
|
|
106
107
|
};
|
|
107
108
|
/**
|
|
108
109
|
* @tsplus fluent Repository removeById
|
|
@@ -190,6 +191,7 @@ export declare const RepositoryBaseImpl: <Service>() => <PM extends {
|
|
|
190
191
|
};
|
|
191
192
|
}) => Where | readonly [Where, ...Where[]], mode?: "or" | "and") => Filter<PM>;
|
|
192
193
|
flatMap: <R1, E1, B>(f: (a: Service) => import("@effect/io/Effect").Effect<R1, E1, B>) => import("@effect/io/Effect").Effect<Service | R1, E1, B>;
|
|
194
|
+
makeLayer: (svc: Service) => import("@effect/io/Layer").Layer<never, never, Service>;
|
|
193
195
|
map: <B_1>(f: (a: Service) => B_1) => import("@effect/io/Effect").Effect<Service, never, B_1>;
|
|
194
196
|
};
|
|
195
197
|
export declare const RepositoryDefaultImpl: <Service>() => <PM extends {
|
|
@@ -234,6 +236,7 @@ export declare const RepositoryDefaultImpl: <Service>() => <PM extends {
|
|
|
234
236
|
};
|
|
235
237
|
}) => Where | readonly [Where, ...Where[]], mode?: "or" | "and") => Filter<PM>;
|
|
236
238
|
flatMap: <R1, E1, B>(f: (a: Service) => import("@effect/io/Effect").Effect<R1, E1, B>) => import("@effect/io/Effect").Effect<Service | R1, E1, B>;
|
|
239
|
+
makeLayer: (svc: Service) => import("@effect/io/Layer").Layer<never, never, Service>;
|
|
237
240
|
map: <B_1>(f: (a: Service) => B_1) => import("@effect/io/Effect").Effect<Service, never, B_1>;
|
|
238
241
|
repo: Repository<T, PM, Evt, ItemType>;
|
|
239
242
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../_src/services/RepositoryBase.ts"],"names":[],"mappings":";;;;AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAG5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAA;AAErF;;GAEG;AACH,eAAO,MAAM,cAAc;QACD,MAAM;;QAAqB,MAAM;WAAS,MAAM,GAAG,SAAS;;;;;gFAU3E,OAAO,UAAU,GAAG,uBAAuB,EAAE,iBAAiB,GAAG,8BAA8B,EAAE,IAAI,CAAC;;2CAIzF,MAAM,QAAQ,MAAM,GAAG,SAAS,KAAK,IAAI,KACpD,OAAO;mBACD,OAAO,QAAQ,SAAS,GAAG,SAAS;;8CAET;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;yBAE3C,OAAO,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RepositoryBase.d.ts","sourceRoot":"","sources":["../../_src/services/RepositoryBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "@effect
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/prelude/
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/schema
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/core/
|
|
8
|
-
import * as tsplus_module_8 from "@effect/
|
|
9
|
-
import * as tsplus_module_9 from "@effect/data/
|
|
10
|
-
import * as tsplus_module_10 from "@effect
|
|
11
|
-
import * as tsplus_module_11 from "@effect-app/
|
|
12
|
-
import * as tsplus_module_12 from "@effect-app/
|
|
2
|
+
import * as tsplus_module_2 from "@effect/io/Layer";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/prelude/service";
|
|
4
|
+
import * as tsplus_module_4 from "@effect-app/prelude/schema";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/schema/custom/_api/condemn";
|
|
6
|
+
import * as tsplus_module_6 from "@effect-app/prelude/_ext/misc";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/core/Array";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/core/Effect";
|
|
9
|
+
import * as tsplus_module_9 from "@effect/data/Chunk";
|
|
10
|
+
import * as tsplus_module_10 from "@effect/data/Option";
|
|
11
|
+
import * as tsplus_module_11 from "@effect-app/core/_ext/Iterable";
|
|
12
|
+
import * as tsplus_module_12 from "@effect-app/infra/services/Repository";
|
|
13
|
+
import * as tsplus_module_13 from "@effect-app/core/Function";
|
|
13
14
|
import { ContextMap, StoreMaker } from "./Store.js";
|
|
14
15
|
import { makeCodec } from "@effect-app/infra/api/codec";
|
|
15
16
|
import { makeFilters } from "@effect-app/infra/filter";
|
|
@@ -29,9 +30,12 @@ export const RepositoryBase = () => {
|
|
|
29
30
|
static map(f) {
|
|
30
31
|
return tsplus_module_1.map(this, f);
|
|
31
32
|
}
|
|
33
|
+
static makeLayer(svc) {
|
|
34
|
+
return tsplus_module_2.succeed(this, svc);
|
|
35
|
+
}
|
|
32
36
|
}
|
|
33
37
|
RepositoryBaseC.where = makeWhere();
|
|
34
|
-
return
|
|
38
|
+
return tsplus_module_3.assignTag()(RepositoryBaseC);
|
|
35
39
|
};
|
|
36
40
|
};
|
|
37
41
|
/**
|
|
@@ -51,25 +55,25 @@ export function makeRepo() {
|
|
|
51
55
|
function make(publishEvents, makeInitial, config) {
|
|
52
56
|
return tsplus_module_1.map(mkStore(makeInitial, config), store => {
|
|
53
57
|
const allE = tsplus_module_1.flatMap(store.all, (items) => tsplus_module_1.map(ContextMap, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
54
|
-
const all = tsplus_module_1.flatMap(allE, (_) =>
|
|
58
|
+
const all = tsplus_module_1.flatMap(allE, (_) => tsplus_module_11.ext_forEach(_, tsplus_module_5.condemnDie(EParserFor(schema))));
|
|
55
59
|
function findE(id) {
|
|
56
60
|
return tsplus_module_1.flatMap(store
|
|
57
|
-
.find(id), (items) => tsplus_module_1.map(ContextMap, ({ set }) =>
|
|
61
|
+
.find(id), (items) => tsplus_module_1.map(ContextMap, ({ set }) => tsplus_module_10.map(items, (_) => mapReverse(_, set))));
|
|
58
62
|
}
|
|
59
63
|
function find(id) {
|
|
60
|
-
return
|
|
64
|
+
return tsplus_module_8.flatMapOption(findE(id), tsplus_module_5.condemnDie(EParserFor(schema)));
|
|
61
65
|
}
|
|
62
|
-
const saveAllE = (a) =>
|
|
63
|
-
const items =
|
|
66
|
+
const saveAllE = (a) => tsplus_module_8.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_1.flatMap(ContextMap, ({ get, set }) => {
|
|
67
|
+
const items = tsplus_module_7.mapRA((_) => mapToPersistenceModel(_, get))(a);
|
|
64
68
|
return tsplus_module_1.map(store.batchSet(items), ret => {
|
|
65
69
|
ret.forEach((_) => set(_.id, _._etag));
|
|
66
70
|
});
|
|
67
71
|
}));
|
|
68
|
-
const saveAll = (a) => saveAllE(
|
|
69
|
-
const saveAndPublish = (items, events = []) => tsplus_module_1.zipRight(
|
|
72
|
+
const saveAll = (a) => saveAllE(tsplus_module_9.map(tsplus_module_7.ext_itToChunk(a), tsplus_module_4.Encoder.for(schema)));
|
|
73
|
+
const saveAndPublish = (items, events = []) => tsplus_module_1.zipRight(tsplus_module_8.flatMapOption(tsplus_module_1.sync(() => tsplus_module_7.CollectionToNonEmptyReadonlyArray(events))
|
|
70
74
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
71
75
|
, publishEvents))(saveAll(items));
|
|
72
|
-
const encode =
|
|
76
|
+
const encode = tsplus_module_4.Encoder.for(schema);
|
|
73
77
|
function remove(item) {
|
|
74
78
|
return tsplus_module_1.flatMap(ContextMap, ({ get, set }) => {
|
|
75
79
|
const e = encode(item);
|
|
@@ -84,8 +88,8 @@ export function makeRepo() {
|
|
|
84
88
|
*/
|
|
85
89
|
utils: {
|
|
86
90
|
mapReverse,
|
|
87
|
-
parse:
|
|
88
|
-
filter:
|
|
91
|
+
parse: tsplus_module_5.unsafe(tsplus_module_4.Parser.for(schema)),
|
|
92
|
+
filter: tsplus_module_6.flow(store
|
|
89
93
|
.filter, (_) => tsplus_module_1.tap(_, (items) => ContextMap.map(({ set }) => items.forEach((_) => set(_.id, _._etag))))),
|
|
90
94
|
all: tsplus_module_1.tap(store.all, (items) => ContextMap.map(({ set }) => items.forEach((_) => set(_.id, _._etag))))
|
|
91
95
|
},
|
|
@@ -108,7 +112,7 @@ export function makeRepo() {
|
|
|
108
112
|
* @tsplus fluent Repository removeById
|
|
109
113
|
*/
|
|
110
114
|
export function removeById(self, id) {
|
|
111
|
-
return tsplus_module_1.flatMap(
|
|
115
|
+
return tsplus_module_1.flatMap(tsplus_module_12.get(self, id), (_) => self.remove(_));
|
|
112
116
|
}
|
|
113
117
|
export function makeWhere() {
|
|
114
118
|
const f_ = makeFilters();
|
|
@@ -136,7 +140,7 @@ export function makeStore() {
|
|
|
136
140
|
const [_dec, encode] = makeCodec(schema);
|
|
137
141
|
function encodeToPM() {
|
|
138
142
|
const getEtag = () => undefined;
|
|
139
|
-
return
|
|
143
|
+
return tsplus_module_13.flow(encode, (v) => mapToPersistenceModel(v, getEtag));
|
|
140
144
|
}
|
|
141
145
|
function mapToPersistenceModel(e, getEtag) {
|
|
142
146
|
return mapTo(e, getEtag(e.id));
|
|
@@ -175,4 +179,4 @@ export const RepositoryDefaultImpl = () => {
|
|
|
175
179
|
};
|
|
176
180
|
};
|
|
177
181
|
};
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUtuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRXRELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUd2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFZLEVBQUU7SUFDMUMsT0FBTyxDQUNMLFFBQWtCLEVBQ2xCLEVBQUU7UUFDRixNQUFlLGVBQWU7WUFBOUI7Z0JBQ0UsYUFBUSxHQUFhLFFBQVEsQ0FBQTtZQTJCL0IsQ0FBQztZQVRDLE1BQU0sQ0FBQyxPQUFPLENBQVksQ0FBb0M7Z0JBQzVELE9BQU8sd0JBQWUsSUFBd0MsRUFBRSxDQUFDLENBQUMsQ0FBQTtZQUNwRSxDQUFDO1lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBSSxDQUFvQjtnQkFDaEMsT0FBTyxvQkFBVyxJQUF3QyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2hFLENBQUM7WUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVk7Z0JBQzNCLE9BQU8sd0JBQWMsSUFBd0MsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUNyRSxDQUFDOztRQVRNLHFCQUFLLEdBQUcsU0FBUyxFQUFNLEFBQWxCLENBQWtCO1FBV2hDLE9BQU8sZ0JBQUEsU0FBUyxFQUFXLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDOUMsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsUUFBUTtJQUl0QixPQUFPLENBT0wsSUFBYyxFQUNkLE1B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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.58.
|
|
3
|
+
"version": "0.58.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
"pure-rand": "^6.0.1",
|
|
21
21
|
"redlock": "^4.2.0",
|
|
22
22
|
"@effect-app/prelude": "0.48.0",
|
|
23
|
-
"@effect-app/
|
|
23
|
+
"@effect-app/core": "0.49.0",
|
|
24
24
|
"@effect-app/schema": "0.43.0",
|
|
25
|
-
"@effect-app/
|
|
25
|
+
"@effect-app/infra-adapters": "0.42.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@babel/cli": "^7.21.0",
|