@effect-app/infra 0.156.0 → 0.157.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 +6 -0
- package/_cjs/services/RepositoryBase.cjs +105 -106
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_src/services/RepositoryBase.ts +42 -35
- package/dist/services/QueueMaker/service.d.ts +2 -2
- package/dist/services/Repository.d.ts +2 -2
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/RepositoryBase.d.ts +23 -23
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +96 -98
- package/dist/services/simpledb/redisdb.d.ts +3 -3
- package/dist/services/simpledb/shared.d.ts +5 -5
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -8,20 +8,18 @@ exports.makeRepo = makeRepo;
|
|
|
8
8
|
exports.makeStore = makeStore;
|
|
9
9
|
exports.makeWhere = makeWhere;
|
|
10
10
|
exports.removeById = removeById;
|
|
11
|
-
var tsplus_module_1 = _interopRequireWildcard(require("effect/
|
|
12
|
-
var tsplus_module_2 = _interopRequireWildcard(require("
|
|
11
|
+
var tsplus_module_1 = _interopRequireWildcard(require("@effect-app/core/_ext/Iterable"));
|
|
12
|
+
var tsplus_module_2 = _interopRequireWildcard(require("effect/Effect"));
|
|
13
13
|
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Array"));
|
|
14
|
-
var tsplus_module_4 = _interopRequireWildcard(require("effect/
|
|
15
|
-
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/
|
|
16
|
-
var tsplus_module_6 = _interopRequireWildcard(require("
|
|
17
|
-
var tsplus_module_7 = _interopRequireWildcard(require("effect/
|
|
18
|
-
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/
|
|
14
|
+
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Effect"));
|
|
15
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/Chunk"));
|
|
16
|
+
var tsplus_module_6 = _interopRequireWildcard(require("effect/Option"));
|
|
17
|
+
var tsplus_module_7 = _interopRequireWildcard(require("@effect/schema/Parser"));
|
|
18
|
+
var tsplus_module_8 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
19
19
|
var tsplus_module_9 = _interopRequireWildcard(require("effect/PubSub"));
|
|
20
|
-
var tsplus_module_10 = _interopRequireWildcard(require("@effect-app/
|
|
21
|
-
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/
|
|
22
|
-
var tsplus_module_12 = _interopRequireWildcard(require("@effect-app/prelude/service"));
|
|
20
|
+
var tsplus_module_10 = _interopRequireWildcard(require("@effect-app/infra/services/Repository"));
|
|
21
|
+
var tsplus_module_11 = _interopRequireWildcard(require("@effect-app/prelude/service"));
|
|
23
22
|
var _Store = require("./Store.cjs");
|
|
24
|
-
var _codec = require("@effect-app/infra/api/codec");
|
|
25
23
|
var _filter = require("@effect-app/infra/filter");
|
|
26
24
|
var _prelude = require("@effect-app/prelude");
|
|
27
25
|
var _ContextMapContainer = require("./Store/ContextMapContainer.cjs");
|
|
@@ -72,96 +70,98 @@ function makeRepo() {
|
|
|
72
70
|
}
|
|
73
71
|
const mkStore = makeStore()(name, schema, mapTo);
|
|
74
72
|
function make(args) {
|
|
75
|
-
return
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
get
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const all = tsplus_module_1.flatMap(allE, _ => tsplus_module_8.ext_forEach(_, _ => parse(_)));
|
|
90
|
-
const structSchema = schema;
|
|
91
|
-
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe(_ => _.ast._tag === "Union"
|
|
92
|
-
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
93
|
-
? _prelude.S.union(..._.ast.types.map(_ => _prelude.S.make(_._tag === "Transform" ? _.from : _).pipe(_prelude.S.pick("id")))) : _.pipe(_prelude.S.pick("id")));
|
|
94
|
-
function findE(_id) {
|
|
95
|
-
return tsplus_module_1.flatMap(tsplus_module_1.andThen(tsplus_module_1.orDie(tsplus_module_1.map(_prelude.S.encode(i)({
|
|
96
|
-
id: _id
|
|
97
|
-
}), _ => _.id)), id => store.find(id)), items => tsplus_module_1.map(cms, ({
|
|
73
|
+
return tsplus_module_2.withLogSpan(tsplus_module_2.flatMap(tsplus_module_2.context(), rctx => {
|
|
74
|
+
const encode = tsplus_module_8.flow(tsplus_module_7.encode(schema), tsplus_module_2.provide(rctx));
|
|
75
|
+
const decode = tsplus_module_8.flow(tsplus_module_7.decode(schema), tsplus_module_2.provide(rctx));
|
|
76
|
+
return tsplus_module_2.flatMap(mkStore(args.makeInitial, args.config), store => tsplus_module_2.flatMap(_ContextMapContainer.ContextMapContainer, ({
|
|
77
|
+
get
|
|
78
|
+
}) => {
|
|
79
|
+
const cms = tsplus_module_2.andThen(get, _ => ({
|
|
80
|
+
get: id => _.get(`${name}.${id}`),
|
|
81
|
+
set: (id, etag) => _.set(`${name}.${id}`, etag)
|
|
82
|
+
}));
|
|
83
|
+
return tsplus_module_2.flatMap(tsplus_module_2.context(), pubCfg => {
|
|
84
|
+
const pub = "publishEvents" in args ? tsplus_module_8.flow(args.publishEvents, _ => tsplus_module_2.provide(_, pubCfg)) : () => tsplus_module_2.unit;
|
|
85
|
+
return tsplus_module_2.map(tsplus_module_9.unbounded(), changeFeed => {
|
|
86
|
+
const allE = tsplus_module_2.flatMap(store.all, items => tsplus_module_2.map(cms, ({
|
|
98
87
|
set
|
|
99
|
-
}) =>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
ret.forEach(_ => set(_.id, _._etag));
|
|
111
|
-
});
|
|
112
|
-
})));
|
|
113
|
-
const encode = i => tsplus_module_2.encodeSync(schema)(i);
|
|
114
|
-
const saveAll = a => saveAllE(tsplus_module_4.map(tsplus_module_3.ext_itToChunk(a), encode));
|
|
115
|
-
const saveAndPublish = (items, events = []) => {
|
|
116
|
-
const it = tsplus_module_3.ext_itToChunk(items);
|
|
117
|
-
return tsplus_module_1.asUnit(tsplus_module_1.andThen(tsplus_module_5.flatMapOption(tsplus_module_1.andThen(saveAll(it), tsplus_module_1.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(events)))
|
|
118
|
-
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
119
|
-
, pub), changeFeed.publish([tsplus_module_6.toArray(it), "save"])));
|
|
120
|
-
};
|
|
121
|
-
function removeAndPublish(a, events = []) {
|
|
122
|
-
return tsplus_module_1.gen(function* ($) {
|
|
123
|
-
const {
|
|
124
|
-
get,
|
|
88
|
+
}) => items.map(_ => mapReverse(_, set))));
|
|
89
|
+
const all = tsplus_module_2.flatMap(allE, _ => tsplus_module_2.orDie(tsplus_module_1.ext_forEach(_, _ => decode(_))));
|
|
90
|
+
const structSchema = schema;
|
|
91
|
+
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe(_ => _.ast._tag === "Union"
|
|
92
|
+
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
93
|
+
? _prelude.S.union(..._.ast.types.map(_ => _prelude.S.make(_._tag === "Transform" ? _.from : _).pipe(_prelude.S.pick("id")))) : _.pipe(_prelude.S.pick("id")));
|
|
94
|
+
const encodeId = tsplus_module_8.flow(tsplus_module_7.encode(i), tsplus_module_2.provide(rctx));
|
|
95
|
+
function findE(_id) {
|
|
96
|
+
return tsplus_module_2.flatMap(tsplus_module_2.andThen(tsplus_module_2.orDie(tsplus_module_2.map(encodeId({
|
|
97
|
+
id: _id
|
|
98
|
+
}), _ => _.id)), id => store.find(id)), items => tsplus_module_2.map(cms, ({
|
|
125
99
|
set
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
100
|
+
}) => tsplus_module_6.map(items, _ => mapReverse(_, set))));
|
|
101
|
+
}
|
|
102
|
+
function find(id) {
|
|
103
|
+
return tsplus_module_4.flatMapOption(findE(id), _ => tsplus_module_2.orDie(decode(_)));
|
|
104
|
+
}
|
|
105
|
+
const saveAllE = a => tsplus_module_2.asUnit(tsplus_module_4.flatMapOption(tsplus_module_2.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(a)), a => tsplus_module_2.flatMap(cms, ({
|
|
106
|
+
get,
|
|
107
|
+
set
|
|
108
|
+
}) => {
|
|
109
|
+
const items = a.map(_ => mapToPersistenceModel(_, get));
|
|
110
|
+
return tsplus_module_2.map(store.batchSet(items), ret => {
|
|
111
|
+
ret.forEach(_ => set(_.id, _._etag));
|
|
112
|
+
});
|
|
113
|
+
})));
|
|
114
|
+
const saveAll = a => tsplus_module_2.andThen(tsplus_module_2.orDie(tsplus_module_1.ext_forEach(tsplus_module_3.ext_itToChunk(a), _ => encode(_))), saveAllE);
|
|
115
|
+
const saveAndPublish = (items, events = []) => {
|
|
116
|
+
const it = tsplus_module_3.ext_itToChunk(items);
|
|
117
|
+
return tsplus_module_2.asUnit(tsplus_module_2.andThen(tsplus_module_4.flatMapOption(tsplus_module_2.andThen(saveAll(it), tsplus_module_2.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(events)))
|
|
135
118
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
136
|
-
, pub));
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
119
|
+
, pub), changeFeed.publish([tsplus_module_5.toArray(it), "save"])));
|
|
120
|
+
};
|
|
121
|
+
function removeAndPublish(a, events = []) {
|
|
122
|
+
return tsplus_module_2.gen(function* ($) {
|
|
123
|
+
const {
|
|
124
|
+
get,
|
|
125
|
+
set
|
|
126
|
+
} = yield* $(cms);
|
|
127
|
+
const it = tsplus_module_3.ext_itToChunk(a);
|
|
128
|
+
const items = yield* $(tsplus_module_2.orDie(tsplus_module_1.ext_forEach(it, _ => encode(_))));
|
|
129
|
+
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
130
|
+
for (const e of items) {
|
|
131
|
+
yield* $(store.remove(mapToPersistenceModel(e, get)));
|
|
132
|
+
set(e.id, undefined);
|
|
133
|
+
}
|
|
134
|
+
yield* $(tsplus_module_4.flatMapOption(tsplus_module_2.sync(() => tsplus_module_3.CollectionToNonEmptyReadonlyArray(events))
|
|
135
|
+
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
136
|
+
, pub));
|
|
137
|
+
yield* $(changeFeed.publish([tsplus_module_5.toArray(it), "remove"]));
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const r = {
|
|
141
|
+
/**
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
utils: {
|
|
145
|
+
parseMany: items => tsplus_module_2.flatMap(cms, cm => tsplus_module_2.orDie(tsplus_module_1.ext_forEach(items, _ => decode(mapReverse(_, cm.set))))),
|
|
146
|
+
filter: args => tsplus_module_2.tap(store.filter(args), items => args.select ? tsplus_module_2.unit : tsplus_module_2.map(cms, ({
|
|
147
|
+
set
|
|
148
|
+
}) => items.forEach(_ => set(_.id, _._etag)))),
|
|
149
|
+
all: tsplus_module_2.tap(store.all, items => tsplus_module_2.map(cms, ({
|
|
150
|
+
set
|
|
151
|
+
}) => items.forEach(_ => set(_.id, _._etag))))
|
|
152
|
+
},
|
|
153
|
+
changeFeed,
|
|
154
|
+
itemType: name,
|
|
155
|
+
find,
|
|
156
|
+
all,
|
|
157
|
+
saveAndPublish,
|
|
158
|
+
removeAndPublish
|
|
159
|
+
};
|
|
160
|
+
return r;
|
|
161
|
+
});
|
|
162
162
|
});
|
|
163
|
-
});
|
|
164
|
-
})
|
|
163
|
+
}));
|
|
164
|
+
}), "Repository.make: " + name);
|
|
165
165
|
}
|
|
166
166
|
return {
|
|
167
167
|
make,
|
|
@@ -175,7 +175,7 @@ function makeRepo() {
|
|
|
175
175
|
* @tsplus fluent Repository removeById
|
|
176
176
|
*/
|
|
177
177
|
function removeById(self, id) {
|
|
178
|
-
return
|
|
178
|
+
return tsplus_module_2.flatMap(tsplus_module_10.get(self, id), _ => self.removeAndPublish([_]));
|
|
179
179
|
}
|
|
180
180
|
function makeWhere() {
|
|
181
181
|
const f_ = (0, _filter.makeFilters)();
|
|
@@ -196,18 +196,17 @@ function makeWhere() {
|
|
|
196
196
|
const pluralize = s => s.endsWith("s") ? s + "es" : s.endsWith("y") ? s.substring(0, s.length - 1) + "ies" : s + "s";
|
|
197
197
|
function makeStore() {
|
|
198
198
|
return (name, schema, mapTo) => {
|
|
199
|
-
const [_dec, encode] = (0, _codec.makeCodec)(schema);
|
|
200
199
|
function encodeToPM() {
|
|
201
200
|
const getEtag = () => undefined;
|
|
202
|
-
return t =>
|
|
201
|
+
return t => tsplus_module_2.map(tsplus_module_2.orDie(tsplus_module_7.encode(schema)(t)), _ => mapToPersistenceModel(_, getEtag));
|
|
203
202
|
}
|
|
204
203
|
function mapToPersistenceModel(e, getEtag) {
|
|
205
204
|
return mapTo(e, getEtag(e.id));
|
|
206
205
|
}
|
|
207
206
|
function makeStore(makeInitial, config) {
|
|
208
|
-
return
|
|
207
|
+
return tsplus_module_2.flatMap(_Store.StoreMaker, ({
|
|
209
208
|
make
|
|
210
|
-
}) =>
|
|
209
|
+
}) => tsplus_module_2.map(make(pluralize(name), makeInitial ? tsplus_module_2.withSpan(tsplus_module_2.flatMap(makeInitial, _ => tsplus_module_1.ext_forEach(_, encodeToPM())), "Repository.makeInitial [effect-app/infra]", {
|
|
211
210
|
attributes: {
|
|
212
211
|
"repository.model_name": name
|
|
213
212
|
}
|
|
@@ -231,11 +230,11 @@ const RepositoryBaseImpl = () => {
|
|
|
231
230
|
}
|
|
232
231
|
}
|
|
233
232
|
Cls.make = mkRepo.make;
|
|
234
|
-
Cls.makeWith = (a, b) =>
|
|
233
|
+
Cls.makeWith = (a, b) => tsplus_module_2.map(mkRepo.make(a), b);
|
|
235
234
|
Cls.where = makeWhere();
|
|
236
235
|
Cls.query = _query.QueryBuilder.make();
|
|
237
236
|
Cls.type = undefined;
|
|
238
|
-
return
|
|
237
|
+
return tsplus_module_11.assignTag()(Cls);
|
|
239
238
|
};
|
|
240
239
|
};
|
|
241
240
|
exports.RepositoryBaseImpl = RepositoryBaseImpl;
|
|
@@ -251,11 +250,11 @@ const RepositoryDefaultImpl = () => {
|
|
|
251
250
|
}
|
|
252
251
|
}
|
|
253
252
|
Cls.make = mkRepo.make;
|
|
254
|
-
Cls.makeWith = (a, b) =>
|
|
253
|
+
Cls.makeWith = (a, b) => tsplus_module_2.map(mkRepo.make(a), b);
|
|
255
254
|
Cls.where = makeWhere();
|
|
256
255
|
Cls.query = _query.QueryBuilder.make();
|
|
257
256
|
Cls.type = undefined;
|
|
258
|
-
return
|
|
257
|
+
return tsplus_module_11.assignTag()(Cls); // impl is missing, but its marked protected
|
|
259
258
|
};
|
|
260
259
|
};
|
|
261
260
|
exports.RepositoryDefaultImpl = RepositoryDefaultImpl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryBase.cjs","names":["_Store","require","_codec","_filter","_prelude","_ContextMapContainer","_query","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RepositoryBaseC","exports","RepositoryBaseC1","constructor","itemType","RepositoryBaseC2","impl","saveAndPublish","removeAndPublish","find","all","utils","changeFeed","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","id","mapReverse","_etag","setEtag","mkStore","makeStore","make","args","tsplus_module_1","withLogSpan","flatMap","makeInitial","config","store","ContextMapContainer","cms","andThen","_","etag","context","pubCfg","pub","tsplus_module_10","flow","publishEvents","provide","unit","tsplus_module_9","unbounded","allE","items","map","parse","orDie","tsplus_module_2","decodeUnknown","tsplus_module_8","ext_forEach","structSchema","pipe","ast","_tag","S","union","types","from","pick","findE","_id","encode","tsplus_module_7","tsplus_module_5","flatMapOption","saveAllE","asUnit","sync","tsplus_module_3","CollectionToNonEmptyReadonlyArray","batchSet","ret","forEach","encodeSync","saveAll","tsplus_module_4","ext_itToChunk","events","it","publish","tsplus_module_6","toArray","gen","$","remove","undefined","p","decodeSync","parseMany","cm","filter","tap","select","query","QueryBuilder","removeById","self","tsplus_module_11","f_","makeFilters","makeFilter_","mode","f","m","Array","isArray","pluralize","s","endsWith","substring","length","_dec","makeCodec","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","b","type","tsplus_module_12","assignTag","RepositoryDefaultImpl"],"sources":["../../_src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RepositoryBase.cjs","names":["_Store","require","_filter","_prelude","_ContextMapContainer","_query","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","RepositoryBaseC","exports","RepositoryBaseC1","constructor","itemType","RepositoryBaseC2","impl","saveAndPublish","removeAndPublish","find","all","utils","changeFeed","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","id","mapReverse","_etag","setEtag","mkStore","makeStore","make","args","tsplus_module_2","withLogSpan","flatMap","context","rctx","encode","tsplus_module_8","flow","tsplus_module_7","provide","decode","makeInitial","config","store","ContextMapContainer","cms","andThen","_","etag","pubCfg","pub","publishEvents","unit","tsplus_module_9","unbounded","allE","items","map","orDie","tsplus_module_1","ext_forEach","structSchema","pipe","ast","_tag","S","union","types","from","pick","encodeId","findE","_id","tsplus_module_6","tsplus_module_4","flatMapOption","saveAllE","asUnit","sync","tsplus_module_3","CollectionToNonEmptyReadonlyArray","batchSet","ret","forEach","saveAll","ext_itToChunk","events","it","publish","tsplus_module_5","toArray","gen","$","remove","undefined","parseMany","cm","filter","tap","select","query","QueryBuilder","removeById","self","tsplus_module_10","f_","makeFilters","makeFilter_","mode","f","m","Array","isArray","pluralize","s","endsWith","substring","length","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","b","type","tsplus_module_11","assignTag","RepositoryDefaultImpl"],"sources":["../../_src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ import type { Filter, FilterArgs, FilterFunc, PersistenceModelType, StoreConfig,
|
|
|
7
7
|
import type {} from "effect/Equal"
|
|
8
8
|
import type {} from "effect/Hash"
|
|
9
9
|
import type { Opt } from "@effect-app/core/Option"
|
|
10
|
-
import { makeCodec } from "@effect-app/infra/api/codec"
|
|
11
10
|
import { makeFilters } from "@effect-app/infra/filter"
|
|
12
11
|
import { S } from "@effect-app/prelude"
|
|
13
12
|
import type { InvalidStateError, OptimisticConcurrencyException } from "../errors.js"
|
|
@@ -87,11 +86,12 @@ export function makeRepo<
|
|
|
87
86
|
>() {
|
|
88
87
|
return <
|
|
89
88
|
ItemType extends string,
|
|
89
|
+
R,
|
|
90
90
|
From extends { id: string },
|
|
91
91
|
T extends { id: unknown }
|
|
92
92
|
>(
|
|
93
93
|
name: ItemType,
|
|
94
|
-
schema: S.Schema<
|
|
94
|
+
schema: S.Schema<R, From, T>,
|
|
95
95
|
mapFrom: (pm: Omit<PM, "_etag">) => From,
|
|
96
96
|
mapTo: (e: From, etag: string | undefined) => PM
|
|
97
97
|
) => {
|
|
@@ -114,28 +114,33 @@ export function makeRepo<
|
|
|
114
114
|
|
|
115
115
|
const mkStore = makeStore<PM>()(name, schema, mapTo)
|
|
116
116
|
|
|
117
|
-
function make<
|
|
117
|
+
function make<RMake = never, E = never, R2 = never>(
|
|
118
118
|
args: [Evt] extends [never] ? {
|
|
119
|
-
makeInitial?: Effect<
|
|
119
|
+
makeInitial?: Effect<RMake, E, readonly T[]>
|
|
120
120
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
121
121
|
partitionValue?: (a: PM) => string
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
: {
|
|
125
125
|
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<R2, never, void>
|
|
126
|
-
makeInitial?: Effect<
|
|
126
|
+
makeInitial?: Effect<RMake, E, readonly T[]>
|
|
127
127
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
128
128
|
partitionValue?: (a: PM) => string
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
) {
|
|
132
132
|
return Do(($) => {
|
|
133
|
+
const rctx = $(Effect.context<R>())
|
|
134
|
+
const encode = flow(schema.encode, Effect.provide(rctx))
|
|
135
|
+
const decode = flow(schema.decode, Effect.provide(rctx))
|
|
136
|
+
|
|
133
137
|
const store = $(mkStore(args.makeInitial, args.config))
|
|
134
138
|
const { get } = $(ContextMapContainer)
|
|
135
139
|
const cms = get.andThen((_) => ({
|
|
136
140
|
get: (id: string) => _.get(`${name}.${id}`),
|
|
137
141
|
set: (id: string, etag: string | undefined) => _.set(`${name}.${id}`, etag)
|
|
138
142
|
}))
|
|
143
|
+
|
|
139
144
|
const pubCfg = $(Effect.context<R2>())
|
|
140
145
|
const pub = "publishEvents" in args ? flow(args.publishEvents, (_) => _.provide(pubCfg)) : () => Effect.unit
|
|
141
146
|
const changeFeed = $(PubSub.unbounded<[T[], "save" | "remove"]>())
|
|
@@ -147,9 +152,7 @@ export function makeRepo<
|
|
|
147
152
|
})
|
|
148
153
|
)
|
|
149
154
|
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
const all = allE.flatMap((_) => _.forEachEffect((_) => parse(_)))
|
|
155
|
+
const all = allE.flatMap((_) => _.forEachEffect((_) => decode(_)).orDie)
|
|
153
156
|
|
|
154
157
|
const structSchema = schema as unknown as { struct: typeof schema }
|
|
155
158
|
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe((_) =>
|
|
@@ -165,9 +168,9 @@ export function makeRepo<
|
|
|
165
168
|
))
|
|
166
169
|
: _.pipe(S.pick("id"))
|
|
167
170
|
)
|
|
171
|
+
const encodeId = flow(i.encode, Effect.provide(rctx))
|
|
168
172
|
function findE(_id: T["id"]) {
|
|
169
|
-
return
|
|
170
|
-
.encode(i)({ id: _id })
|
|
173
|
+
return encodeId({ id: _id })
|
|
171
174
|
.map((_) => _.id)
|
|
172
175
|
.orDie
|
|
173
176
|
.andThen((id) =>
|
|
@@ -183,7 +186,7 @@ export function makeRepo<
|
|
|
183
186
|
}
|
|
184
187
|
|
|
185
188
|
function find(id: T["id"]) {
|
|
186
|
-
return findE(id).flatMapOpt(
|
|
189
|
+
return findE(id).flatMapOpt((_) => decode(_).orDie)
|
|
187
190
|
}
|
|
188
191
|
|
|
189
192
|
const saveAllE = (a: Iterable<From>) =>
|
|
@@ -198,9 +201,8 @@ export function makeRepo<
|
|
|
198
201
|
})
|
|
199
202
|
)
|
|
200
203
|
.asUnit
|
|
201
|
-
const encode = (i: T) => schema.encodeSync(i)
|
|
202
204
|
|
|
203
|
-
const saveAll = (a: Iterable<T>) =>
|
|
205
|
+
const saveAll = (a: Iterable<T>) => a.toChunk.forEachEffect((_) => encode(_)).orDie.andThen(saveAllE)
|
|
204
206
|
|
|
205
207
|
const saveAndPublish = (items: Iterable<T>, events: Iterable<Evt> = []) => {
|
|
206
208
|
const it = items.toChunk
|
|
@@ -217,7 +219,7 @@ export function makeRepo<
|
|
|
217
219
|
return Effect.gen(function*($) {
|
|
218
220
|
const { get, set } = yield* $(cms)
|
|
219
221
|
const it = a.toChunk
|
|
220
|
-
const items = it.
|
|
222
|
+
const items = yield* $(it.forEachEffect((_) => encode(_)).orDie)
|
|
221
223
|
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
222
224
|
for (const e of items) {
|
|
223
225
|
yield* $(store.remove(mapToPersistenceModel(e, get)))
|
|
@@ -234,14 +236,12 @@ export function makeRepo<
|
|
|
234
236
|
})
|
|
235
237
|
}
|
|
236
238
|
|
|
237
|
-
const p = schema.decodeSync
|
|
238
|
-
|
|
239
239
|
const r: Repository<T, PM, Evt, ItemType> = {
|
|
240
240
|
/**
|
|
241
241
|
* @internal
|
|
242
242
|
*/
|
|
243
243
|
utils: {
|
|
244
|
-
parseMany: (items) => cms.
|
|
244
|
+
parseMany: (items) => cms.flatMap((cm) => items.forEachEffect((_) => decode(mapReverse(_, cm.set))).orDie),
|
|
245
245
|
filter: <U extends keyof PM = keyof PM>(args: FilterArgs<PM, U>) =>
|
|
246
246
|
store
|
|
247
247
|
.filter(args)
|
|
@@ -326,17 +326,21 @@ export function makeStore<
|
|
|
326
326
|
>() {
|
|
327
327
|
return <
|
|
328
328
|
ItemType extends string,
|
|
329
|
+
R,
|
|
329
330
|
E extends { id: string },
|
|
330
331
|
T extends { id: unknown }
|
|
331
332
|
>(
|
|
332
333
|
name: ItemType,
|
|
333
|
-
schema: S.Schema<
|
|
334
|
+
schema: S.Schema<R, E, T>,
|
|
334
335
|
mapTo: (e: E, etag: string | undefined) => PM
|
|
335
336
|
) => {
|
|
336
|
-
const [_dec, encode] = makeCodec(schema)
|
|
337
337
|
function encodeToPM() {
|
|
338
338
|
const getEtag = () => undefined
|
|
339
|
-
return (t: T) =>
|
|
339
|
+
return (t: T) =>
|
|
340
|
+
schema
|
|
341
|
+
.encode(t)
|
|
342
|
+
.orDie
|
|
343
|
+
.map((_) => mapToPersistenceModel(_, getEtag))
|
|
340
344
|
}
|
|
341
345
|
|
|
342
346
|
function mapToPersistenceModel(
|
|
@@ -346,8 +350,8 @@ export function makeStore<
|
|
|
346
350
|
return mapTo(e, getEtag(e.id))
|
|
347
351
|
}
|
|
348
352
|
|
|
349
|
-
function makeStore<
|
|
350
|
-
makeInitial?: Effect<
|
|
353
|
+
function makeStore<RInitial = never, EInitial = never>(
|
|
354
|
+
makeInitial?: Effect<RInitial, EInitial, readonly T[]>,
|
|
351
355
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
352
356
|
partitionValue?: (a: PM) => string
|
|
353
357
|
}
|
|
@@ -356,11 +360,11 @@ export function makeStore<
|
|
|
356
360
|
const { make } = $(StoreMaker)
|
|
357
361
|
|
|
358
362
|
const store = $(
|
|
359
|
-
make<PM, string, R,
|
|
363
|
+
make<PM, string, R | RInitial, EInitial>(
|
|
360
364
|
pluralize(name),
|
|
361
365
|
makeInitial
|
|
362
366
|
? (makeInitial
|
|
363
|
-
.
|
|
367
|
+
.flatMap((_) => _.forEachEffect(encodeToPM())))
|
|
364
368
|
.withSpan("Repository.makeInitial [effect-app/infra]", {
|
|
365
369
|
attributes: { "repository.model_name": name }
|
|
366
370
|
})
|
|
@@ -383,29 +387,30 @@ export function makeStore<
|
|
|
383
387
|
export interface Repos<
|
|
384
388
|
T extends { id: unknown },
|
|
385
389
|
PM extends { id: string; _etag: string | undefined },
|
|
390
|
+
R,
|
|
386
391
|
Evt,
|
|
387
392
|
ItemType extends string
|
|
388
393
|
> {
|
|
389
|
-
make<
|
|
394
|
+
make<RInitial = never, E = never, R2 = never>(
|
|
390
395
|
args: [Evt] extends [never] ? {
|
|
391
|
-
makeInitial?: Effect<
|
|
396
|
+
makeInitial?: Effect<RInitial, E, readonly T[]>
|
|
392
397
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
393
398
|
partitionValue?: (a: PM) => string
|
|
394
399
|
}
|
|
395
400
|
}
|
|
396
401
|
: {
|
|
397
402
|
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<R2, never, void>
|
|
398
|
-
makeInitial?: Effect<
|
|
403
|
+
makeInitial?: Effect<RInitial, E, readonly T[]>
|
|
399
404
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
400
405
|
partitionValue?: (a: PM) => string
|
|
401
406
|
}
|
|
402
407
|
}
|
|
403
408
|
): Effect<
|
|
404
|
-
StoreMaker | ContextMapContainer | R | R2,
|
|
409
|
+
StoreMaker | ContextMapContainer | R | RInitial | R2,
|
|
405
410
|
E,
|
|
406
411
|
Repository<T, PM, Evt, ItemType>
|
|
407
412
|
>
|
|
408
|
-
makeWith<Out,
|
|
413
|
+
makeWith<Out, RInitial = never, E = never, R2 = never>(
|
|
409
414
|
args: [Evt] extends [never] ? {
|
|
410
415
|
makeInitial?: Effect<R, E, readonly T[]>
|
|
411
416
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
@@ -414,14 +419,14 @@ export interface Repos<
|
|
|
414
419
|
}
|
|
415
420
|
: {
|
|
416
421
|
publishEvents: (evt: NonEmptyReadonlyArray<Evt>) => Effect<R2, never, void>
|
|
417
|
-
makeInitial?: Effect<
|
|
422
|
+
makeInitial?: Effect<RInitial, E, readonly T[]>
|
|
418
423
|
config?: Omit<StoreConfig<PM>, "partitionValue"> & {
|
|
419
424
|
partitionValue?: (a: PM) => string
|
|
420
425
|
}
|
|
421
426
|
},
|
|
422
427
|
f: (r: Repository<T, PM, Evt, ItemType>) => Out
|
|
423
428
|
): Effect<
|
|
424
|
-
StoreMaker | ContextMapContainer | R | R2,
|
|
429
|
+
StoreMaker | ContextMapContainer | R | RInitial | R2,
|
|
425
430
|
E,
|
|
426
431
|
Out
|
|
427
432
|
>
|
|
@@ -438,9 +443,9 @@ export const RepositoryBaseImpl = <Service>() => {
|
|
|
438
443
|
PM extends { id: string; _etag: string | undefined },
|
|
439
444
|
Evt = never
|
|
440
445
|
>() =>
|
|
441
|
-
<ItemType extends string, From extends { id: string }, T extends { id: unknown }>(
|
|
446
|
+
<ItemType extends string, R, From extends { id: string }, T extends { id: unknown }>(
|
|
442
447
|
itemType: ItemType,
|
|
443
|
-
schema: S.Schema<
|
|
448
|
+
schema: S.Schema<R, From, T>,
|
|
444
449
|
jitM?: (pm: From) => From
|
|
445
450
|
): Exact<PM, From & { _etag: string | undefined }> extends true ?
|
|
446
451
|
& (abstract new() => RepositoryBaseC1<T, PM, Evt, ItemType>)
|
|
@@ -448,6 +453,7 @@ export const RepositoryBaseImpl = <Service>() => {
|
|
|
448
453
|
& Repos<
|
|
449
454
|
T,
|
|
450
455
|
PM,
|
|
456
|
+
R,
|
|
451
457
|
Evt,
|
|
452
458
|
ItemType
|
|
453
459
|
>
|
|
@@ -479,9 +485,9 @@ export const RepositoryDefaultImpl = <Service>() => {
|
|
|
479
485
|
PM extends { id: string; _etag: string | undefined },
|
|
480
486
|
Evt = never
|
|
481
487
|
>() =>
|
|
482
|
-
<ItemType extends string, From extends { id: string }, T extends { id: unknown }>(
|
|
488
|
+
<ItemType extends string, R, From extends { id: string }, T extends { id: unknown }>(
|
|
483
489
|
itemType: ItemType,
|
|
484
|
-
schema: S.Schema<
|
|
490
|
+
schema: S.Schema<R, From, T>,
|
|
485
491
|
jitM?: (pm: From) => From
|
|
486
492
|
): Exact<PM, From & { _etag: string | undefined }> extends true ?
|
|
487
493
|
& (abstract new(
|
|
@@ -491,6 +497,7 @@ export const RepositoryDefaultImpl = <Service>() => {
|
|
|
491
497
|
& Repos<
|
|
492
498
|
T,
|
|
493
499
|
PM,
|
|
500
|
+
R,
|
|
494
501
|
Evt,
|
|
495
502
|
ItemType
|
|
496
503
|
>
|
|
@@ -38,15 +38,15 @@ export declare const QueueMeta: import("@effect-app/schema").Schema<never, {
|
|
|
38
38
|
readonly namespace?: string | undefined;
|
|
39
39
|
};
|
|
40
40
|
readonly span?: {
|
|
41
|
-
readonly spanId: string;
|
|
42
41
|
readonly traceId: string;
|
|
42
|
+
readonly spanId: string;
|
|
43
43
|
readonly sampled?: boolean | undefined;
|
|
44
44
|
} | undefined;
|
|
45
45
|
}, {
|
|
46
46
|
readonly requestContext: RequestContext;
|
|
47
47
|
readonly span?: {
|
|
48
|
-
readonly spanId: string;
|
|
49
48
|
readonly traceId: string;
|
|
49
|
+
readonly spanId: string;
|
|
50
50
|
readonly sampled?: boolean | undefined;
|
|
51
51
|
} | undefined;
|
|
52
52
|
}>;
|