@effect-app/infra 0.181.3 → 0.182.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 +24 -0
- package/_cjs/services/QueueMaker/memQueue.cjs +12 -12
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +23 -21
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +12 -12
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +16 -13
- package/dist/services/QueueMaker/sbqueue.js +23 -19
- package/dist/services/RepositoryBase.js +13 -9
- package/dist/services/simpledb/redisdb.d.ts +3 -3
- package/dist/services/simpledb/shared.d.ts +5 -5
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 0.182.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 12eb7f7: update packages
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [12eb7f7]
|
|
12
|
+
- @effect-app/fluent-extensions@0.130.0
|
|
13
|
+
- @effect-app/infra-adapters@0.123.0
|
|
14
|
+
- effect-app@0.158.0
|
|
15
|
+
- @effect-app/schema@0.189.0
|
|
16
|
+
- @effect-app/core@0.136.0
|
|
17
|
+
|
|
18
|
+
## 0.181.4
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [b525b4f]
|
|
23
|
+
- @effect-app/fluent-extensions@0.129.3
|
|
24
|
+
- @effect-app/infra-adapters@0.122.4
|
|
25
|
+
- effect-app@0.157.4
|
|
26
|
+
|
|
3
27
|
## 0.181.3
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.makeMemQueue = makeMemQueue;
|
|
7
7
|
var tsplus_module_1 = _interopRequireWildcard(require("effect-app/schema"));
|
|
8
8
|
var tsplus_module_2 = _interopRequireWildcard(require("@effect/schema/Schema"));
|
|
9
|
-
var tsplus_module_3 = _interopRequireWildcard(require("effect/
|
|
10
|
-
var tsplus_module_4 = _interopRequireWildcard(require("
|
|
9
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
10
|
+
var tsplus_module_4 = _interopRequireWildcard(require("effect/Effect"));
|
|
11
11
|
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/infra/services/QueueMaker/errors"));
|
|
12
12
|
var tsplus_module_6 = _interopRequireWildcard(require("@effect-app/core/utils"));
|
|
13
13
|
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/infra/api/setupRequest"));
|
|
@@ -25,7 +25,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
25
25
|
* @tsplus static QueueMaker.Ops makeMem
|
|
26
26
|
*/
|
|
27
27
|
function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
28
|
-
return
|
|
28
|
+
return tsplus_module_4.gen(function* ($) {
|
|
29
29
|
const mem = yield* $(_memQueue.MemQueue);
|
|
30
30
|
const q = yield* $(mem.getOrCreateQueue(queueName));
|
|
31
31
|
const qDrain = yield* $(mem.getOrCreateQueue(queueDrainName));
|
|
@@ -38,34 +38,34 @@ function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
38
38
|
body: drainSchema,
|
|
39
39
|
meta: _service.QueueMeta
|
|
40
40
|
});
|
|
41
|
-
const parseDrain =
|
|
41
|
+
const parseDrain = tsplus_module_3.flow(tsplus_module_2.decodeUnknown(drainW), _ => _.orDie);
|
|
42
42
|
return {
|
|
43
|
-
publish: (...messages) =>
|
|
43
|
+
publish: (...messages) => tsplus_module_4.gen(function* ($) {
|
|
44
44
|
const requestContext = yield* $(rcc.requestContext);
|
|
45
|
-
const currentSpan = yield* $(
|
|
45
|
+
const currentSpan = yield* $(tsplus_module_4.currentSpan.orDie);
|
|
46
46
|
const span = _effect.Tracer.externalSpan(currentSpan);
|
|
47
47
|
return yield* $(tsplus_module_5.forkDaemonReportQueue(messages.forEachEffect(m =>
|
|
48
48
|
// we JSON encode, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
49
|
-
|
|
49
|
+
tsplus_module_4.flatMap(tsplus_module_2.encode(wireSchema)({
|
|
50
50
|
body: m,
|
|
51
51
|
meta: {
|
|
52
52
|
requestContext,
|
|
53
53
|
span
|
|
54
54
|
}
|
|
55
|
-
})
|
|
55
|
+
}).orDie.andThen(JSON.stringify)
|
|
56
56
|
// .tap((msg) => info("Publishing Mem Message: " + utils.inspect(msg)))
|
|
57
57
|
, _ => q.offer(_)).asUnit)));
|
|
58
58
|
}),
|
|
59
|
-
makeDrain: handleEvent =>
|
|
59
|
+
makeDrain: handleEvent => tsplus_module_4.gen(function* ($) {
|
|
60
60
|
const silenceAndReportError = (0, _errors2.reportNonInterruptedFailure)({
|
|
61
61
|
name: "MemQueue.drain." + queueDrainName
|
|
62
62
|
});
|
|
63
63
|
const processMessage = msg =>
|
|
64
64
|
// we JSON parse, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
65
|
-
|
|
65
|
+
tsplus_module_4.flatMap(tsplus_module_4.flatMap(tsplus_module_4.sync(() => JSON.parse(msg)), parseDrain).orDie, ({
|
|
66
66
|
body,
|
|
67
67
|
meta
|
|
68
|
-
}) =>
|
|
68
|
+
}) => tsplus_module_4.withSpan(tsplus_module_7.setupRequestContext(tsplus_module_4.zipRight(tsplus_module_4.logDebug(`$$ [${queueDrainName}] Processing incoming message`).pipe(tsplus_module_4.annotateLogs({
|
|
69
69
|
body: tsplus_module_6.RecordPretty(tsplus_module_6.object$(body)),
|
|
70
70
|
meta: tsplus_module_6.RecordPretty(tsplus_module_6.object$(meta))
|
|
71
71
|
})), handleEvent(body)).pipe(silenceAndReportError), _RequestContext.RequestContext.inherit(meta.requestContext, {
|
|
@@ -78,7 +78,7 @@ function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
78
78
|
},
|
|
79
79
|
parent: meta.span ? _effect.Tracer.externalSpan(meta.span) : undefined
|
|
80
80
|
}));
|
|
81
|
-
return yield* $(
|
|
81
|
+
return yield* $(tsplus_module_4.forkScoped(tsplus_module_4.forever(tsplus_module_4.flatMap(qDrain.take, x => tsplus_module_4.flatMap(tsplus_module_4.fork(tsplus_module_4.uninterruptible(processMessage(x))), _ => tsplus_module_8.join(_)))
|
|
82
82
|
// TODO: normally a failed item would be returned to the queue and retried up to X times.
|
|
83
83
|
// .flatMap(_ => _._tag === "Failure" && !isInterrupted ? qDrain.offer(x) : Effect.unit) // TODO: retry count tracking and max retries.
|
|
84
84
|
.pipe(silenceAndReportError))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memQueue.cjs","names":["_memQueue","require","_RequestContext","_ids","_effect","_RequestContextContainer","_errors2","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeMemQueue","queueName","queueDrainName","schema","drainSchema","
|
|
1
|
+
{"version":3,"file":"memQueue.cjs","names":["_memQueue","require","_RequestContext","_ids","_effect","_RequestContextContainer","_errors2","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeMemQueue","queueName","queueDrainName","schema","drainSchema","tsplus_module_4","gen","$","mem","MemQueue","q","getOrCreateQueue","qDrain","rcc","RequestContextContainer","wireSchema","tsplus_module_1","struct","body","meta","QueueMeta","drainW","parseDrain","tsplus_module_3","flow","tsplus_module_2","decodeUnknown","_","orDie","publish","messages","requestContext","currentSpan","span","Tracer","externalSpan","tsplus_module_5","forkDaemonReportQueue","forEachEffect","m","flatMap","encode","andThen","JSON","stringify","offer","asUnit","makeDrain","handleEvent","silenceAndReportError","reportNonInterruptedFailure","name","processMessage","msg","sync","parse","withSpan","tsplus_module_7","setupRequestContext","zipRight","logDebug","pipe","annotateLogs","tsplus_module_6","RecordPretty","object$","RequestContext","inherit","id","RequestId","locale","NonEmptyString255","_tag","attributes","parent","undefined","forkScoped","forever","take","x","fork","uninterruptible","tsplus_module_8","join"],"sources":["../../../_src/services/QueueMaker/memQueue.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.makeServiceBusLayers = makeServiceBusLayers;
|
|
7
7
|
exports.makeServiceBusQueue = makeServiceBusQueue;
|
|
8
8
|
var tsplus_module_1 = _interopRequireWildcard(require("@effect/schema/Schema"));
|
|
9
|
-
var tsplus_module_2 = _interopRequireWildcard(require("effect/
|
|
10
|
-
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/
|
|
11
|
-
var tsplus_module_4 = _interopRequireWildcard(require("@effect-app/core/Tag"));
|
|
9
|
+
var tsplus_module_2 = _interopRequireWildcard(require("@effect-app/core/Function"));
|
|
10
|
+
var tsplus_module_3 = _interopRequireWildcard(require("@effect-app/core/Tag"));
|
|
12
11
|
var _schema = _interopRequireWildcard(require("effect-app/schema"));
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var tsplus_module_4 = _schema;
|
|
13
|
+
var tsplus_module_5 = _interopRequireWildcard(require("@effect-app/core/utils"));
|
|
14
|
+
var tsplus_module_6 = _interopRequireWildcard(require("effect/Effect"));
|
|
15
15
|
var tsplus_module_7 = _interopRequireWildcard(require("@effect-app/infra/api/setupRequest"));
|
|
16
16
|
var tsplus_module_8 = _interopRequireWildcard(require("@effect/schema/Parser"));
|
|
17
17
|
var tsplus_module_9 = _interopRequireWildcard(require("@effect-app/infra/services/QueueMaker/errors"));
|
|
@@ -38,11 +38,11 @@ function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSchema) {
|
|
|
38
38
|
body: drainSchema,
|
|
39
39
|
meta: _service.QueueMeta
|
|
40
40
|
});
|
|
41
|
-
const parseDrain =
|
|
42
|
-
return
|
|
41
|
+
const parseDrain = tsplus_module_2.flow(tsplus_module_1.decodeUnknown(drainW), _ => _.orDie);
|
|
42
|
+
return tsplus_module_6.gen(function* ($) {
|
|
43
43
|
const s = yield* $(_ServiceBus.Sender);
|
|
44
44
|
const receiver = yield* $(_ServiceBus.Receiver);
|
|
45
|
-
const receiverLayer =
|
|
45
|
+
const receiverLayer = tsplus_module_3.makeLayer(_ServiceBus.Receiver, receiver);
|
|
46
46
|
const silenceAndReportError = (0, _errors2.reportNonInterruptedFailure)({
|
|
47
47
|
name: "ServiceBusQueue.drain." + queueDrainName
|
|
48
48
|
});
|
|
@@ -51,19 +51,21 @@ function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSchema) {
|
|
|
51
51
|
});
|
|
52
52
|
const rcc = yield* $(_RequestContextContainer.RequestContextContainer);
|
|
53
53
|
return {
|
|
54
|
-
makeDrain: handleEvent =>
|
|
54
|
+
makeDrain: handleEvent => tsplus_module_6.gen(function* ($) {
|
|
55
55
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
56
|
function processMessage(messageBody) {
|
|
57
|
-
return
|
|
57
|
+
return tsplus_module_6.tapErrorCause(tsplus_module_6.flatMap(tsplus_module_6.flatMap(tsplus_module_6.sync(() => JSON.parse(messageBody)), x => parseDrain(x)).orDie, ({
|
|
58
58
|
body,
|
|
59
59
|
meta
|
|
60
|
-
}) =>
|
|
61
|
-
body:
|
|
62
|
-
meta:
|
|
63
|
-
})), handleEvent(body))
|
|
60
|
+
}) => tsplus_module_6.withSpan(tsplus_module_7.setupRequestContext(tsplus_module_6.zipRight(tsplus_module_6.logDebug(`$$ [${queueDrainName}] Processing incoming message`).pipe(tsplus_module_6.annotateLogs({
|
|
61
|
+
body: tsplus_module_5.RecordPretty(tsplus_module_5.object$(body)),
|
|
62
|
+
meta: tsplus_module_5.RecordPretty(tsplus_module_5.object$(meta))
|
|
63
|
+
})), handleEvent(body)).orDie
|
|
64
|
+
// we silenceAndReportError here, so that the error is reported, and moves into the Exit.
|
|
65
|
+
.pipe(silenceAndReportError), _RequestContext.RequestContext.inherit(meta.requestContext, {
|
|
64
66
|
id: (0, _ids.RequestId)(body.id),
|
|
65
67
|
locale: "en",
|
|
66
|
-
name:
|
|
68
|
+
name: tsplus_module_4.NonEmptyString255(body._tag)
|
|
67
69
|
})), "queue.drain", {
|
|
68
70
|
attributes: {
|
|
69
71
|
"queue.name": queueDrainName
|
|
@@ -73,16 +75,16 @@ function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSchema) {
|
|
|
73
75
|
// we reportError here, so that we report the error only, and keep flowing
|
|
74
76
|
, reportError);
|
|
75
77
|
}
|
|
76
|
-
return yield* $(
|
|
77
|
-
processMessage: x =>
|
|
78
|
-
processError: err =>
|
|
78
|
+
return yield* $(tsplus_module_6.provide((0, _ServiceBus.subscribe)({
|
|
79
|
+
processMessage: x => tsplus_module_6.uninterruptible(processMessage(x.body)),
|
|
80
|
+
processError: err => tsplus_module_6.sync(() => (0, _errorReporter.captureException)(err.error))
|
|
79
81
|
}), receiverLayer));
|
|
80
82
|
}),
|
|
81
|
-
publish: (...messages) =>
|
|
83
|
+
publish: (...messages) => tsplus_module_6.gen(function* ($) {
|
|
82
84
|
const requestContext = yield* $(rcc.requestContext);
|
|
83
|
-
const currentSpan = yield* $(
|
|
85
|
+
const currentSpan = yield* $(tsplus_module_6.currentSpan.orDie);
|
|
84
86
|
const span = _effect.Tracer.externalSpan(currentSpan);
|
|
85
|
-
return yield* $(tsplus_module_9.forkDaemonReportQueue(
|
|
87
|
+
return yield* $(tsplus_module_9.forkDaemonReportQueue(tsplus_module_6.promise(() => s.sendMessages(messages.map(m => ({
|
|
86
88
|
body: JSON.stringify(tsplus_module_8.encodeSync(wireSchema)({
|
|
87
89
|
body: m,
|
|
88
90
|
meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbqueue.cjs","names":["_ServiceBus","require","_errorReporter","_RequestContext","_ids","_effect","_RequestContextContainer","_errors2","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeServiceBusQueue","_queueName","queueDrainName","schema","drainSchema","wireSchema","struct","body","meta","QueueMeta","drainW","parseDrain","
|
|
1
|
+
{"version":3,"file":"sbqueue.cjs","names":["_ServiceBus","require","_errorReporter","_RequestContext","_ids","_effect","_RequestContextContainer","_errors2","_service","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","makeServiceBusQueue","_queueName","queueDrainName","schema","drainSchema","wireSchema","struct","body","meta","QueueMeta","drainW","parseDrain","tsplus_module_2","flow","tsplus_module_1","decodeUnknown","_","orDie","tsplus_module_6","gen","$","s","Sender","receiver","Receiver","receiverLayer","tsplus_module_3","makeLayer","silenceAndReportError","reportNonInterruptedFailure","name","reportError","reportNonInterruptedFailureCause","rcc","RequestContextContainer","makeDrain","handleEvent","processMessage","messageBody","tapErrorCause","flatMap","sync","JSON","parse","x","withSpan","tsplus_module_7","setupRequestContext","zipRight","logDebug","pipe","annotateLogs","tsplus_module_5","RecordPretty","object$","RequestContext","inherit","requestContext","id","RequestId","locale","tsplus_module_4","NonEmptyString255","_tag","attributes","parent","span","Tracer","externalSpan","undefined","provide","subscribe","uninterruptible","processError","err","captureException","error","publish","messages","currentSpan","tsplus_module_9","forkDaemonReportQueue","promise","sendMessages","map","m","stringify","tsplus_module_8","encodeSync","messageId","contentType","makeServiceBusLayers","url","queueName","tsplus_module_10","merge","LiveReceiver","LiveSender","LiveServiceBusClient"],"sources":["../../../_src/services/QueueMaker/sbqueue.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -197,24 +197,24 @@ function makeRepo() {
|
|
|
197
197
|
const allE = tsplus_module_2.flatMap(store.all, items => tsplus_module_2.map(cms, ({
|
|
198
198
|
set
|
|
199
199
|
}) => items.map(_ => mapReverse(_, set))));
|
|
200
|
-
const all = tsplus_module_2.flatMap(allE, _ =>
|
|
200
|
+
const all = tsplus_module_2.flatMap(allE, _ => _.forEachEffect(_ => decode(_), {
|
|
201
201
|
concurrency: "inherit",
|
|
202
202
|
batching: true
|
|
203
|
-
}))
|
|
203
|
+
}).orDie);
|
|
204
204
|
const structSchema = schema;
|
|
205
205
|
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe(_ => _.ast._tag === "Union"
|
|
206
206
|
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
207
207
|
? _effectApp.S.union(..._.ast.types.map(_ => _effectApp.S.make(_._tag === "Transform" ? _.from : _).pipe(_effectApp.S.pick("id")))) : _.ast._tag === "Transform" ? _effectApp.S.make(_.ast.from).pipe(_effectApp.S.pick("id")) : _.pipe(_effectApp.S.pick("id")));
|
|
208
208
|
const encodeId = tsplus_module_10.flow(tsplus_module_9.encode(i), tsplus_module_2.provide(rctx));
|
|
209
209
|
function findE(_id) {
|
|
210
|
-
return tsplus_module_2.flatMap(tsplus_module_2.
|
|
210
|
+
return tsplus_module_2.flatMap(tsplus_module_2.map(encodeId({
|
|
211
211
|
id: _id
|
|
212
|
-
}), _ => _.id)
|
|
212
|
+
}), _ => _.id).orDie.andThen(id => store.find(id)), items => tsplus_module_2.map(cms, ({
|
|
213
213
|
set
|
|
214
214
|
}) => items.map(_ => mapReverse(_, set))));
|
|
215
215
|
}
|
|
216
216
|
function find(id) {
|
|
217
|
-
return tsplus_module_8.flatMapOption(findE(id), _ =>
|
|
217
|
+
return tsplus_module_8.flatMapOption(findE(id), _ => decode(_).orDie);
|
|
218
218
|
}
|
|
219
219
|
const saveAllE = a => tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(a)), a => tsplus_module_2.flatMap(cms, ({
|
|
220
220
|
get,
|
|
@@ -225,10 +225,10 @@ function makeRepo() {
|
|
|
225
225
|
ret.forEach(_ => set(_.id, _._etag));
|
|
226
226
|
});
|
|
227
227
|
})).asUnit;
|
|
228
|
-
const saveAll = a =>
|
|
228
|
+
const saveAll = a => tsplus_module_6.ext_forEach(tsplus_module_7.fromIterable(a), _ => encode(_), {
|
|
229
229
|
concurrency: "inherit",
|
|
230
230
|
batching: true
|
|
231
|
-
})
|
|
231
|
+
}).orDie.andThen(saveAllE);
|
|
232
232
|
const saveAndPublish = (items, events = []) => {
|
|
233
233
|
const it = tsplus_module_7.fromIterable(items);
|
|
234
234
|
return tsplus_module_8.flatMapOption(saveAll(it).andThen(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(events)))
|
|
@@ -242,10 +242,10 @@ function makeRepo() {
|
|
|
242
242
|
set
|
|
243
243
|
} = yield* $(cms);
|
|
244
244
|
const it = tsplus_module_7.fromIterable(a);
|
|
245
|
-
const items = yield* $(
|
|
245
|
+
const items = yield* $(tsplus_module_6.ext_forEach(it, _ => encode(_), {
|
|
246
246
|
concurrency: "inherit",
|
|
247
247
|
batching: true
|
|
248
|
-
}))
|
|
248
|
+
}).orDie);
|
|
249
249
|
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
250
250
|
for (const e of items) {
|
|
251
251
|
yield* $(store.remove(mapToPersistenceModel(e, get)));
|
|
@@ -262,10 +262,10 @@ function makeRepo() {
|
|
|
262
262
|
* @internal
|
|
263
263
|
*/
|
|
264
264
|
utils: {
|
|
265
|
-
parseMany: items => tsplus_module_2.flatMap(cms, cm =>
|
|
265
|
+
parseMany: items => tsplus_module_2.flatMap(cms, cm => items.forEachEffect(_ => decode(mapReverse(_, cm.set)), {
|
|
266
266
|
concurrency: "inherit",
|
|
267
267
|
batching: true
|
|
268
|
-
}))
|
|
268
|
+
}).orDie),
|
|
269
269
|
filter: args => store.filter(args).tap(items => args.select ? tsplus_module_2.unit : tsplus_module_2.map(cms, ({
|
|
270
270
|
set
|
|
271
271
|
}) => items.forEach(_ => set(_.id, _._etag)))),
|
|
@@ -321,7 +321,7 @@ function makeStore() {
|
|
|
321
321
|
return (name, schema, mapTo) => {
|
|
322
322
|
function encodeToPM() {
|
|
323
323
|
const getEtag = () => undefined;
|
|
324
|
-
return t => tsplus_module_2.map(
|
|
324
|
+
return t => tsplus_module_2.map(tsplus_module_9.encode(schema)(t).orDie, _ => mapToPersistenceModel(_, getEtag));
|
|
325
325
|
}
|
|
326
326
|
function mapToPersistenceModel(e, getEtag) {
|
|
327
327
|
return mapTo(e, getEtag(e.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RepositoryBase.cjs","names":["_Repository","require","_Store","_filter","_effectApp","_errors","_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","RepositoryBaseC3","log","evt","AnyPureDSL","save","items","saveWithEvents","events","id","tsplus_module_2","flatMap","_","tsplus_module_1","encaseMaybeInEffect_","NotFoundError","type","removeById","andThen","projectEffect","map","f","filter","collect","filterMap","project","sync","count","tsplus_module_3","NonNegativeInt","length","queryEffect","parseMany","queryOneEffect","limit","toNonEmpty","query","queryOne","queryAndSaveOnePureEffect","pure","saveWithPure_","queryAndSaveOnePure","queryAndSavePureEffect","saveManyWithPure_","queryAndSavePure","saveManyWithPure","byIdAndSaveWithPure","item","handleByIdAndSaveWithPure","req","ctx","saveAllWithEffectInt","tsplus_module_4","runTerm","gen","queryAndSavePureEffectBatched","batchSize","saveManyWithPureBatched_","queryAndSavePureBatched","saveManyWithPureBatched","tsplus_module_6","ext_forEach","tsplus_module_5","chunk_","batch","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","mapReverse","_etag","setEtag","mkStore","makeStore","make","args","withLogSpan","context","rctx","encode","tsplus_module_10","flow","tsplus_module_9","provide","decode","makeInitial","config","store","ContextMapContainer","cms","etag","pubCfg","pub","publishEvents","unit","tsplus_module_11","unbounded","allE","orDie","forEachEffect","concurrency","batching","structSchema","pipe","ast","_tag","S","union","types","from","pick","encodeId","findE","_id","tsplus_module_8","flatMapOption","saveAllE","CollectionToNonEmptyReadonlyArray","batchSet","ret","forEach","asUnit","saveAll","tsplus_module_7","fromIterable","it","publish","toArray","$","remove","undefined","cm","tap","select","Where","Query","QueryBuilder","self","tsplus_module_12","f_","makeFilters","makeFilter_","mode","m","Array","isArray","pluralize","s","endsWith","substring","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","makeRepoFunctions","tag","serviceConstants","serviceFunctions","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","b","tsplus_module_13","assignTag","assign","RepositoryDefaultImpl"],"sources":["../../_src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RepositoryBase.cjs","names":["_Repository","require","_Store","_filter","_effectApp","_errors","_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","RepositoryBaseC3","log","evt","AnyPureDSL","save","items","saveWithEvents","events","id","tsplus_module_2","flatMap","_","tsplus_module_1","encaseMaybeInEffect_","NotFoundError","type","removeById","andThen","projectEffect","map","f","filter","collect","filterMap","project","sync","count","tsplus_module_3","NonNegativeInt","length","queryEffect","parseMany","queryOneEffect","limit","toNonEmpty","query","queryOne","queryAndSaveOnePureEffect","pure","saveWithPure_","queryAndSaveOnePure","queryAndSavePureEffect","saveManyWithPure_","queryAndSavePure","saveManyWithPure","byIdAndSaveWithPure","item","handleByIdAndSaveWithPure","req","ctx","saveAllWithEffectInt","tsplus_module_4","runTerm","gen","queryAndSavePureEffectBatched","batchSize","saveManyWithPureBatched_","queryAndSavePureBatched","saveManyWithPureBatched","tsplus_module_6","ext_forEach","tsplus_module_5","chunk_","batch","makeRepo","name","schema","mapFrom","mapTo","where","makeWhere","mapToPersistenceModel","getEtag","mapReverse","_etag","setEtag","mkStore","makeStore","make","args","withLogSpan","context","rctx","encode","tsplus_module_10","flow","tsplus_module_9","provide","decode","makeInitial","config","store","ContextMapContainer","cms","etag","pubCfg","pub","publishEvents","unit","tsplus_module_11","unbounded","allE","forEachEffect","concurrency","batching","orDie","structSchema","pipe","ast","_tag","S","union","types","from","pick","encodeId","findE","_id","tsplus_module_8","flatMapOption","saveAllE","CollectionToNonEmptyReadonlyArray","batchSet","ret","forEach","asUnit","saveAll","tsplus_module_7","fromIterable","it","publish","toArray","$","remove","undefined","cm","tap","select","Where","Query","QueryBuilder","self","tsplus_module_12","f_","makeFilters","makeFilter_","mode","m","Array","isArray","pluralize","s","endsWith","substring","encodeToPM","StoreMaker","withSpan","attributes","partitionValue","makeRepoFunctions","tag","serviceConstants","serviceFunctions","RepositoryBaseImpl","jitM","mkRepo","pm","Cls","makeWith","b","tsplus_module_13","assignTag","assign","RepositoryDefaultImpl"],"sources":["../../_src/services/RepositoryBase.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect-app/schema";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/schema/Schema";
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Effect";
|
|
5
5
|
import * as tsplus_module_5 from "@effect-app/infra/services/QueueMaker/errors";
|
|
6
6
|
import * as tsplus_module_6 from "@effect-app/core/utils";
|
|
7
7
|
import * as tsplus_module_7 from "@effect-app/infra/api/setupRequest";
|
|
@@ -17,33 +17,36 @@ import { QueueMeta } from "./service.js";
|
|
|
17
17
|
* @tsplus static QueueMaker.Ops makeMem
|
|
18
18
|
*/
|
|
19
19
|
export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
20
|
-
return
|
|
20
|
+
return tsplus_module_4.gen(function* ($) {
|
|
21
21
|
const mem = yield* $(MemQueue);
|
|
22
22
|
const q = yield* $(mem.getOrCreateQueue(queueName));
|
|
23
23
|
const qDrain = yield* $(mem.getOrCreateQueue(queueDrainName));
|
|
24
24
|
const rcc = yield* $(RequestContextContainer);
|
|
25
25
|
const wireSchema = tsplus_module_1.struct({ body: schema, meta: QueueMeta });
|
|
26
26
|
const drainW = tsplus_module_1.struct({ body: drainSchema, meta: QueueMeta });
|
|
27
|
-
const parseDrain =
|
|
27
|
+
const parseDrain = tsplus_module_3.flow(tsplus_module_2.decodeUnknown(drainW), (_) => _.orDie);
|
|
28
28
|
return {
|
|
29
|
-
publish: (...messages) =>
|
|
29
|
+
publish: (...messages) => tsplus_module_4.gen(function* ($) {
|
|
30
30
|
const requestContext = yield* $(rcc.requestContext);
|
|
31
|
-
const currentSpan = yield* $(
|
|
31
|
+
const currentSpan = yield* $(tsplus_module_4.currentSpan.orDie);
|
|
32
32
|
const span = Tracer.externalSpan(currentSpan);
|
|
33
33
|
return yield* $(tsplus_module_5.forkDaemonReportQueue(messages
|
|
34
34
|
.forEachEffect((m) =>
|
|
35
35
|
// we JSON encode, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
36
|
-
|
|
36
|
+
tsplus_module_4.flatMap(tsplus_module_2.encode(wireSchema)({ body: m, meta: { requestContext, span } })
|
|
37
|
+
.orDie
|
|
38
|
+
.andThen(JSON.stringify)
|
|
37
39
|
// .tap((msg) => info("Publishing Mem Message: " + utils.inspect(msg)))
|
|
38
40
|
, (_) => q.offer(_))
|
|
39
41
|
.asUnit)));
|
|
40
42
|
}),
|
|
41
|
-
makeDrain: (handleEvent) =>
|
|
43
|
+
makeDrain: (handleEvent) => tsplus_module_4.gen(function* ($) {
|
|
42
44
|
const silenceAndReportError = reportNonInterruptedFailure({ name: "MemQueue.drain." + queueDrainName });
|
|
43
45
|
const processMessage = (msg) =>
|
|
44
46
|
// we JSON parse, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
45
|
-
|
|
46
|
-
.
|
|
47
|
+
tsplus_module_4.flatMap(tsplus_module_4.flatMap(tsplus_module_4.sync(() => JSON.parse(msg)), parseDrain)
|
|
48
|
+
.orDie, ({ body, meta }) => tsplus_module_4.withSpan(tsplus_module_7.setupRequestContext(tsplus_module_4.zipRight(tsplus_module_4.logDebug(`$$ [${queueDrainName}] Processing incoming message`)
|
|
49
|
+
.pipe(tsplus_module_4.annotateLogs({ body: tsplus_module_6.RecordPretty(tsplus_module_6.object$(body)), meta: tsplus_module_6.RecordPretty(tsplus_module_6.object$(meta)) })), handleEvent(body))
|
|
47
50
|
.pipe(silenceAndReportError), RequestContext.inherit(meta.requestContext, {
|
|
48
51
|
id: RequestId(body.id),
|
|
49
52
|
locale: "en",
|
|
@@ -54,8 +57,8 @@ export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
54
57
|
? Tracer.externalSpan(meta.span)
|
|
55
58
|
: undefined
|
|
56
59
|
}));
|
|
57
|
-
return yield* $(
|
|
58
|
-
.take, (x) =>
|
|
60
|
+
return yield* $(tsplus_module_4.forkScoped(tsplus_module_4.forever(tsplus_module_4.flatMap(qDrain
|
|
61
|
+
.take, (x) => tsplus_module_4.flatMap(tsplus_module_4.fork(tsplus_module_4.uninterruptible(processMessage(x))), (_) => tsplus_module_8.join(_)))
|
|
59
62
|
// TODO: normally a failed item would be returned to the queue and retried up to X times.
|
|
60
63
|
// .flatMap(_ => _._tag === "Failure" && !isInterrupted ? qDrain.offer(x) : Effect.unit) // TODO: retry count tracking and max retries.
|
|
61
64
|
.pipe(silenceAndReportError))));
|
|
@@ -63,4 +66,4 @@ export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
63
66
|
};
|
|
64
67
|
});
|
|
65
68
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1F1ZXVlTWFrZXIvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBRWpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN6RCxPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV4RDs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBTTFCLFNBQWlCLEVBQ2pCLGNBQXNCLEVBQ3RCLE1BQTJCLEVBQzNCLFdBQTBDO0lBRTFDLE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ25ELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUM3RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtRQUU3QyxNQUFNLFVBQVUsR0FBRyxnQkFBQSxNQUFNLENBQUMsRUFBRSxJ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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/schema/Schema";
|
|
2
|
-
import * as tsplus_module_2 from "effect/
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/core/
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "effect-app/
|
|
6
|
-
import * as tsplus_module_6 from "
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/Function";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Tag";
|
|
4
|
+
import * as tsplus_module_4 from "effect-app/schema";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/utils";
|
|
6
|
+
import * as tsplus_module_6 from "effect/Effect";
|
|
7
7
|
import * as tsplus_module_7 from "@effect-app/infra/api/setupRequest";
|
|
8
8
|
import * as tsplus_module_8 from "@effect/schema/Parser";
|
|
9
9
|
import * as tsplus_module_9 from "@effect-app/infra/services/QueueMaker/errors";
|
|
@@ -26,23 +26,27 @@ export function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSch
|
|
|
26
26
|
meta: QueueMeta
|
|
27
27
|
});
|
|
28
28
|
const drainW = struct({ body: drainSchema, meta: QueueMeta });
|
|
29
|
-
const parseDrain =
|
|
30
|
-
return
|
|
29
|
+
const parseDrain = tsplus_module_2.flow(tsplus_module_1.decodeUnknown(drainW), (_) => _.orDie);
|
|
30
|
+
return tsplus_module_6.gen(function* ($) {
|
|
31
31
|
const s = yield* $(Sender);
|
|
32
32
|
const receiver = yield* $(Receiver);
|
|
33
|
-
const receiverLayer =
|
|
33
|
+
const receiverLayer = tsplus_module_3.makeLayer(Receiver, receiver);
|
|
34
34
|
const silenceAndReportError = reportNonInterruptedFailure({ name: "ServiceBusQueue.drain." + queueDrainName });
|
|
35
35
|
const reportError = reportNonInterruptedFailureCause({ name: "ServiceBusQueue.drain." + queueDrainName });
|
|
36
36
|
const rcc = yield* $(RequestContextContainer);
|
|
37
37
|
return {
|
|
38
|
-
makeDrain: (handleEvent) =>
|
|
38
|
+
makeDrain: (handleEvent) => tsplus_module_6.gen(function* ($) {
|
|
39
39
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
40
|
function processMessage(messageBody) {
|
|
41
|
-
return
|
|
42
|
-
.
|
|
41
|
+
return tsplus_module_6.tapErrorCause(tsplus_module_6.flatMap(tsplus_module_6.flatMap(tsplus_module_6.sync(() => JSON.parse(messageBody)), (x) => parseDrain(x))
|
|
42
|
+
.orDie, ({ body, meta }) => tsplus_module_6.withSpan(tsplus_module_7.setupRequestContext(tsplus_module_6.zipRight(tsplus_module_6.logDebug(`$$ [${queueDrainName}] Processing incoming message`)
|
|
43
|
+
.pipe(tsplus_module_6.annotateLogs({ body: tsplus_module_5.RecordPretty(tsplus_module_5.object$(body)), meta: tsplus_module_5.RecordPretty(tsplus_module_5.object$(meta)) })), handleEvent(body))
|
|
44
|
+
.orDie
|
|
45
|
+
// we silenceAndReportError here, so that the error is reported, and moves into the Exit.
|
|
46
|
+
.pipe(silenceAndReportError), RequestContext.inherit(meta.requestContext, {
|
|
43
47
|
id: RequestId(body.id),
|
|
44
48
|
locale: "en",
|
|
45
|
-
name:
|
|
49
|
+
name: tsplus_module_4.NonEmptyString255(body._tag)
|
|
46
50
|
})), "queue.drain", {
|
|
47
51
|
attributes: { "queue.name": queueDrainName },
|
|
48
52
|
parent: meta.span
|
|
@@ -52,16 +56,16 @@ export function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSch
|
|
|
52
56
|
// we reportError here, so that we report the error only, and keep flowing
|
|
53
57
|
, reportError);
|
|
54
58
|
}
|
|
55
|
-
return yield* $(
|
|
56
|
-
processMessage: (x) =>
|
|
57
|
-
processError: (err) =>
|
|
59
|
+
return yield* $(tsplus_module_6.provide(subscribe({
|
|
60
|
+
processMessage: (x) => tsplus_module_6.uninterruptible(processMessage(x.body)),
|
|
61
|
+
processError: (err) => tsplus_module_6.sync(() => captureException(err.error))
|
|
58
62
|
}), receiverLayer));
|
|
59
63
|
}),
|
|
60
|
-
publish: (...messages) =>
|
|
64
|
+
publish: (...messages) => tsplus_module_6.gen(function* ($) {
|
|
61
65
|
const requestContext = yield* $(rcc.requestContext);
|
|
62
|
-
const currentSpan = yield* $(
|
|
66
|
+
const currentSpan = yield* $(tsplus_module_6.currentSpan.orDie);
|
|
63
67
|
const span = Tracer.externalSpan(currentSpan);
|
|
64
|
-
return yield* $(tsplus_module_9.forkDaemonReportQueue(
|
|
68
|
+
return yield* $(tsplus_module_9.forkDaemonReportQueue(tsplus_module_6.promise(() => s.sendMessages(messages.map((m) => ({
|
|
65
69
|
body: JSON.stringify(tsplus_module_8.encodeSync(wireSchema)({ body: m, meta: { requestContext, span } })),
|
|
66
70
|
messageId: m.id, /* correllationid: requestId */
|
|
67
71
|
contentType: "application/json"
|
|
@@ -76,4 +80,4 @@ export function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSch
|
|
|
76
80
|
export function makeServiceBusLayers(url, queueName, queueDrainName) {
|
|
77
81
|
return tsplus_module_10.provide(tsplus_module_10.merge(LiveReceiver(queueDrainName), LiveSender(queueName)), LiveServiceBusClient(url));
|
|
78
82
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvUXVldWVNYWtlci9zYnF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSx1Q0FBdUMsQ0FBQTtBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFFakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9CLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMzRixPQUFPLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV4RDs7R0FFRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsVUFBa0IsRUFDbEIsY0FBc0IsRUFDdEIsTUFBMkIsRUFDM0IsV0FBMEM7SUFFMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFVBQVUsR0FBRyxnQkFBQSxJQUFJLCtCQUFDLE1BQU0sR0FBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU3RCxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuQyxNQUFNLGFBQWEsR0FBRywwQkFBQSxRQUFRLEVBQVcsUUFBUSxDQUFDLENBQUE7UUFDbEQsTUFBTSxxQkFBcUIsR0FBRywyQkFBMkIsQ0FBQyxFQUFFLElBQUksRUFBRSx3QkFBd0IsR0FBRyxjQUFjLEVBQUUsQ0FBQyxDQUFBO1FBQzlHLE1BQU0sV0FBVyxHQUFHLGdDQUFnQyxDQUFDLEVBQUUsSUFBSSxFQUFFLHdCQUF3QixHQUFHLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDekcsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFN0MsT0FBTztZQUNMLFNBQVMsRUFBRSxDQUNULFdBQTJELEVBQzNELEVBQUUsQ0FDRixvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO2dCQUNwQiw4REFBOEQ7Z0JBQzlELFNBQVMsY0FBYyxDQUFDLFdBQWdCO29CQUN0QyxPQUFPLDhCQUFBLHdCQUFBLHdCQUFBLHFCQUNDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFDM0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDN0IsS0FBSyxFQUNHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUMxQix5QkFBQSxvQ0FBQSx5QkFBQSx5QkFDWSxPQUFPLGNBQWMsK0JBQStCLENBQUM7eUJBQzlELElBQUksQ0FBQyw2QkFBb0IsRUFBRSxJQUFJLHVEQUFFLElBQUksRUFBVSxFQUFFLElBQUksdURBQUUsSUFBSSxFQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQ2hFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDM0IsS0FBSzt3QkFDTix5RkFBeUY7eUJBQ3hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUNQLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTt3QkFDL0QsRUFBRSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUN0QixNQUFNLEVBQUUsSUFBYTt3QkFDckIsSUFBSSxFQUFFLGdCQUFBLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7cUJBQ25DLENBQUMsQ0FBQyxFQUNPLGFBQWEsRUFBRTt3QkFDdkIsVUFBVSxFQUFFLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRTt3QkFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJOzRCQUNmLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NEJBQ2hDLENBQUMsQ0FBQyxTQUFTO3FCQUNkLENBQUMsQ0FDTDtvQkFDRCwwRUFBMEU7c0JBQzNELFdBQVcsQ0FBQyxDQUFBO2dCQUMvQixDQUFDO2dCQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNiLHdCQUFBLFNBQVMsQ0FBQztvQkFDUixjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxpQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFnQjtvQkFDN0QsWUFBWSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxxQkFBWSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3RFLENBQUMsRUFDUyxhQUFhLENBQUMsQ0FDMUIsQ0FBQTtZQUNILENBQUMsQ0FBQztZQUVKLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLEVBQUUsQ0FDdkIsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDcEIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtnQkFDbkQsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUFtQixLQUFLLENBQUMsQ0FBQTtnQkFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDN0MsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLHVDQUNiLHdCQUNXLEdBQUcsRUFBRSxDQUNaLENBQUMsQ0FBQyxZQUFZLENBQ1osUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ2xCLDJCQUFBLFVBQVUsRUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDbkU7b0JBQ0QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsK0JBQStCO29CQUNoRCxXQUFXLEVBQUUsa0JBQWtCO2lCQUNoQyxDQUFDLENBQUMsQ0FDSixDQUNGLEVBRUosQ0FBQTtZQUNILENBQUMsQ0FBQztTQUM4QixDQUFBO0lBQ3RDLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVcsRUFBRSxTQUFpQixFQUFFLGNBQXNCO0lBQ3pGLE9BQU8seUJBQUEsdUJBQVksWUFBWSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFTLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFDNUcsQ0FBQyJ9
|
|
@@ -168,7 +168,7 @@ export function makeRepo() {
|
|
|
168
168
|
const pub = "publishEvents" in args ? tsplus_module_10.flow(args.publishEvents, (_) => tsplus_module_2.provide(_, pubCfg)) : () => tsplus_module_2.unit;
|
|
169
169
|
return tsplus_module_2.map(tsplus_module_11.unbounded(), changeFeed => {
|
|
170
170
|
const allE = tsplus_module_2.flatMap(store.all, (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
171
|
-
const all = tsplus_module_2.flatMap(allE, (_) =>
|
|
171
|
+
const all = tsplus_module_2.flatMap(allE, (_) => _.forEachEffect((_) => decode(_), { concurrency: "inherit", batching: true }).orDie);
|
|
172
172
|
const structSchema = schema;
|
|
173
173
|
const i = ("struct" in structSchema ? structSchema["struct"] : schema).pipe((_) => _.ast._tag === "Union"
|
|
174
174
|
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
@@ -188,11 +188,13 @@ export function makeRepo() {
|
|
|
188
188
|
.pick("id")));
|
|
189
189
|
const encodeId = tsplus_module_10.flow(tsplus_module_9.encode(i), tsplus_module_2.provide(rctx));
|
|
190
190
|
function findE(_id) {
|
|
191
|
-
return tsplus_module_2.flatMap(tsplus_module_2.
|
|
191
|
+
return tsplus_module_2.flatMap(tsplus_module_2.map(encodeId({ id: _id }), (_) => _.id)
|
|
192
|
+
.orDie
|
|
193
|
+
.andThen((id) => store
|
|
192
194
|
.find(id)), (items) => tsplus_module_2.map(cms, ({ set }) => items.map((_) => mapReverse(_, set))));
|
|
193
195
|
}
|
|
194
196
|
function find(id) {
|
|
195
|
-
return tsplus_module_8.flatMapOption(findE(id), (_) =>
|
|
197
|
+
return tsplus_module_8.flatMapOption(findE(id), (_) => decode(_).orDie);
|
|
196
198
|
}
|
|
197
199
|
const saveAllE = (a) => tsplus_module_8.flatMapOption(tsplus_module_2.sync(() => tsplus_module_6.CollectionToNonEmptyReadonlyArray(a)), (a) => tsplus_module_2.flatMap(cms, ({ get, set }) => {
|
|
198
200
|
const items = a.map((_) => mapToPersistenceModel(_, get));
|
|
@@ -201,7 +203,7 @@ export function makeRepo() {
|
|
|
201
203
|
});
|
|
202
204
|
}))
|
|
203
205
|
.asUnit;
|
|
204
|
-
const saveAll = (a) =>
|
|
206
|
+
const saveAll = (a) => tsplus_module_6.ext_forEach(tsplus_module_7.fromIterable(a), (_) => encode(_), { concurrency: "inherit", batching: true }).orDie.andThen(saveAllE);
|
|
205
207
|
const saveAndPublish = (items, events = []) => {
|
|
206
208
|
const it = tsplus_module_7.fromIterable(items);
|
|
207
209
|
return tsplus_module_8.flatMapOption(saveAll(it)
|
|
@@ -216,7 +218,7 @@ export function makeRepo() {
|
|
|
216
218
|
return tsplus_module_2.gen(function* ($) {
|
|
217
219
|
const { get, set } = yield* $(cms);
|
|
218
220
|
const it = tsplus_module_7.fromIterable(a);
|
|
219
|
-
const items = yield* $(
|
|
221
|
+
const items = yield* $(tsplus_module_6.ext_forEach(it, (_) => encode(_), { concurrency: "inherit", batching: true }).orDie);
|
|
220
222
|
// TODO: we should have a batchRemove on store so the adapter can actually batch...
|
|
221
223
|
for (const e of items) {
|
|
222
224
|
yield* $(store.remove(mapToPersistenceModel(e, get)));
|
|
@@ -233,8 +235,9 @@ export function makeRepo() {
|
|
|
233
235
|
* @internal
|
|
234
236
|
*/
|
|
235
237
|
utils: {
|
|
236
|
-
parseMany: (items) => tsplus_module_2.flatMap(cms, (cm) =>
|
|
237
|
-
.forEachEffect((_) => decode(mapReverse(_, cm.set)), { concurrency: "inherit", batching: true })
|
|
238
|
+
parseMany: (items) => tsplus_module_2.flatMap(cms, (cm) => items
|
|
239
|
+
.forEachEffect((_) => decode(mapReverse(_, cm.set)), { concurrency: "inherit", batching: true })
|
|
240
|
+
.orDie),
|
|
238
241
|
filter: (args) => store
|
|
239
242
|
.filter(args)
|
|
240
243
|
.tap((items) => args.select
|
|
@@ -293,7 +296,8 @@ export function makeStore() {
|
|
|
293
296
|
return (name, schema, mapTo) => {
|
|
294
297
|
function encodeToPM() {
|
|
295
298
|
const getEtag = () => undefined;
|
|
296
|
-
return (t) => tsplus_module_2.map(
|
|
299
|
+
return (t) => tsplus_module_2.map(tsplus_module_9.encode(schema)(t)
|
|
300
|
+
.orDie, (_) => mapToPersistenceModel(_, getEtag));
|
|
297
301
|
}
|
|
298
302
|
function mapToPersistenceModel(e, getEtag) {
|
|
299
303
|
return mapTo(e, getEtag(e.id));
|
|
@@ -349,4 +353,4 @@ export const RepositoryDefaultImpl = () => {
|
|
|
349
353
|
return tsplus_module_13.assignTag()(Object.assign(Cls, makeRepoFunctions(Cls))); // impl is missing, but its marked protected
|
|
350
354
|
};
|
|
351
355
|
};
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFFZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0F3QnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUM3QyxZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBQzlDLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFGSSxTQUFJLEdBQUosSUFBSSxDQUFrQztRQUkzRCxtREFBbUQ7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeUJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcG9zaXRvcnlCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELG9FQUFvRTtBQUNwRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixHQUFHLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFFZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixhQUFhLEVBQ2QsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBS3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBMEIsYUFBYSxFQUF1QyxNQUFNLGNBQWMsQ0FBQTtBQUN6RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7Q0F3QnBDO0FBRUQsTUFBTSxPQUFnQixnQkFLcEIsU0FBUSxlQUFxQztJQUM3QyxZQUNrQixRQUFrQjtRQUVsQyxLQUFLLEVBQUUsQ0FBQTtRQUZTLGFBQVEsR0FBUixRQUFRLENBQVU7SUFHcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUtYLFNBQVEsZ0JBQXNDO0lBQzlDLFlBQ0UsUUFBa0IsRUFDQyxJQUFzQztRQUV6RCxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUE7UUFGSSxTQUFJLEdBQUosSUFBSSxDQUFrQztRQUkzRCxtREFBbUQ7UUFDMUMsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMs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
|
|
@@ -12,16 +12,16 @@ export declare function createContext<TKey extends string, EA, A extends DBRecor
|
|
|
12
12
|
};
|
|
13
13
|
declare const RedisSerializedDBRecord_base: S.EnhancedClass<{
|
|
14
14
|
readonly data: string;
|
|
15
|
-
readonly version: string;
|
|
16
15
|
readonly timestamp: Date;
|
|
16
|
+
readonly version: string;
|
|
17
17
|
}, {
|
|
18
18
|
readonly data: string;
|
|
19
|
-
readonly version: string;
|
|
20
19
|
readonly timestamp: string;
|
|
20
|
+
readonly version: string;
|
|
21
21
|
}, never, {
|
|
22
22
|
readonly data: string;
|
|
23
|
-
readonly version: string;
|
|
24
23
|
readonly timestamp: Date;
|
|
24
|
+
readonly version: string;
|
|
25
25
|
}, RedisSerializedDBRecord, {
|
|
26
26
|
version: S.Schema<string, string, never>;
|
|
27
27
|
timestamp: S.Schema<Date, string, never> & {
|
|
@@ -39,16 +39,16 @@ export interface DBRecord<TKey extends string> {
|
|
|
39
39
|
}
|
|
40
40
|
declare const SerializedDBRecord_base: S.EnhancedClass<{
|
|
41
41
|
readonly data: string;
|
|
42
|
-
readonly version: string;
|
|
43
42
|
readonly timestamp: Date;
|
|
43
|
+
readonly version: string;
|
|
44
44
|
}, {
|
|
45
45
|
readonly data: string;
|
|
46
|
-
readonly version: string;
|
|
47
46
|
readonly timestamp: string;
|
|
47
|
+
readonly version: string;
|
|
48
48
|
}, never, {
|
|
49
49
|
readonly data: string;
|
|
50
|
-
readonly version: string;
|
|
51
50
|
readonly timestamp: Date;
|
|
51
|
+
readonly version: string;
|
|
52
52
|
}, SerializedDBRecord, {
|
|
53
53
|
version: S.Schema<string, string, never>;
|
|
54
54
|
timestamp: S.Schema<Date, string, never> & {
|
|
@@ -60,12 +60,12 @@ export declare class SerializedDBRecord extends SerializedDBRecord_base {
|
|
|
60
60
|
}
|
|
61
61
|
export declare function makeSerialisedDBRecord(s: Schema<any>): S.Schema<{
|
|
62
62
|
readonly data: any;
|
|
63
|
-
readonly version: number;
|
|
64
63
|
readonly timestamp: Date;
|
|
64
|
+
readonly version: number;
|
|
65
65
|
}, {
|
|
66
66
|
readonly data: any;
|
|
67
|
-
readonly version: number;
|
|
68
67
|
readonly timestamp: string;
|
|
68
|
+
readonly version: number;
|
|
69
69
|
}, never>;
|
|
70
70
|
export interface CachedRecord<T> {
|
|
71
71
|
version: string;
|
package/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.182.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@azure/cosmos": "^4.0.0",
|
|
8
8
|
"@azure/service-bus": "^7.9.4",
|
|
9
|
-
"@effect/platform": "^0.44.
|
|
10
|
-
"@effect/schema": "^0.62.
|
|
9
|
+
"@effect/platform": "^0.44.7",
|
|
10
|
+
"@effect/schema": "^0.62.6",
|
|
11
11
|
"express-oauth2-jwt-bearer": "^1.6.0",
|
|
12
12
|
"@faker-js/faker": "^8.4.1",
|
|
13
13
|
"@sendgrid/helpers": "^8.0.0",
|
|
14
14
|
"@sendgrid/mail": "^8.1.0",
|
|
15
15
|
"change-case": "^5.4.2",
|
|
16
16
|
"cross-fetch": "^4.0.0",
|
|
17
|
-
"effect": "^2.3.
|
|
17
|
+
"effect": "^2.3.5",
|
|
18
18
|
"fast-check": "~3.15.1",
|
|
19
19
|
"object-hash": "^3.0.0",
|
|
20
20
|
"path-parser": "^6.1.0",
|
|
21
21
|
"proper-lockfile": "^4.1.2",
|
|
22
22
|
"pure-rand": "6.0.4",
|
|
23
23
|
"redlock": "^4.2.0",
|
|
24
|
-
"@effect-app/core": "0.
|
|
25
|
-
"effect-app": "0.
|
|
26
|
-
"@effect-app/infra-adapters": "0.
|
|
27
|
-
"
|
|
28
|
-
"@effect-app/schema": "0.
|
|
24
|
+
"@effect-app/core": "0.136.0",
|
|
25
|
+
"@effect-app/fluent-extensions": "0.130.0",
|
|
26
|
+
"@effect-app/infra-adapters": "0.123.0",
|
|
27
|
+
"effect-app": "0.158.0",
|
|
28
|
+
"@effect-app/schema": "0.189.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@babel/cli": "^7.23.9",
|
|
32
|
-
"@sentry/node": "^7.
|
|
32
|
+
"@sentry/node": "^7.101.0",
|
|
33
33
|
"@types/express": "^4.17.21",
|
|
34
34
|
"@types/node": "~20.11.17",
|
|
35
35
|
"@types/proper-lockfile": "^4.1.4",
|