@effect-app/infra 0.24.3 → 0.25.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 +14 -0
- package/_cjs/_ext/Array.cjs +2 -3
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/codec.cjs +1 -1
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +17 -18
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +4 -4
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +2 -2
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +45 -45
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +19 -19
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +2 -2
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +54 -54
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +2 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +6 -6
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +4 -4
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +8 -8
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +7 -8
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +4 -5
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +10 -10
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +3 -3
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +3 -3
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +10 -11
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +5 -5
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +21 -21
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +42 -42
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +20 -21
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +24 -24
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +14 -15
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +5 -5
- package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +4 -4
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +4 -4
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +19 -19
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +18 -18
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +9 -9
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +16 -16
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +20 -20
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +9 -9
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/RequestContext.ts +2 -2
- package/_src/rateLimit.ts +4 -4
- package/dist/RequestContext.d.ts +2 -2
- package/dist/_ext/Array.js +3 -4
- package/dist/api/codec.js +2 -2
- package/dist/api/defaultErrorHandler.js +18 -18
- package/dist/api/express/makeJsonSchema.js +5 -5
- package/dist/api/express/makeOpenApiSpecs.js +2 -2
- package/dist/api/express/schema/requestHandler.js +41 -41
- package/dist/api/express/schema/routing.js +20 -20
- package/dist/api/reportError.js +4 -4
- package/dist/api/routing.js +63 -63
- package/dist/api/setupRequest.js +3 -3
- package/dist/api/writeDocs.js +7 -7
- package/dist/errorReporter.js +3 -3
- package/dist/instrument.js +2 -2
- package/dist/rateLimit.d.ts +3 -3
- package/dist/rateLimit.js +9 -9
- package/dist/services/Emailer/Sendgrid.js +8 -9
- package/dist/services/Emailer/fake.js +5 -6
- package/dist/services/Operations/live.js +12 -12
- package/dist/services/Operations/service.js +4 -4
- package/dist/services/QueueMaker/errors.js +4 -4
- package/dist/services/QueueMaker/memQueue.js +10 -10
- package/dist/services/QueueMaker/sbqueue.js +5 -5
- package/dist/services/Repository.d.ts +14 -14
- package/dist/services/Repository.js +15 -15
- package/dist/services/Store/Cosmos.js +44 -44
- package/dist/services/Store/Disk.js +22 -23
- package/dist/services/Store/Memory.js +26 -26
- package/dist/services/Store/Redis.js +15 -16
- package/dist/services/Store/index.js +5 -5
- package/dist/services/Store/utils.js +5 -5
- package/dist/services/simpledb/cosmosdb.js +19 -19
- package/dist/services/simpledb/diskdb.js +15 -15
- package/dist/services/simpledb/memdb.js +10 -10
- package/dist/services/simpledb/mongodb.js +15 -15
- package/dist/services/simpledb/redisdb.js +17 -17
- package/dist/services/simpledb/simpledb.js +12 -12
- package/package.json +8 -8
|
@@ -10,7 +10,7 @@ export const Operations = tsplus_module_1.Tag();
|
|
|
10
10
|
* @tsplus getter effect/io/Effect forkOperation
|
|
11
11
|
*/
|
|
12
12
|
function forkOperation_1(self) {
|
|
13
|
-
return tsplus_module_5.untraced(() => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(scope => tsplus_module_4.tap(() => tsplus_module_3.forkDaemonReportRequestUnexpected(tsplus_module_2.use(
|
|
13
|
+
return tsplus_module_5.untraced(() => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(tsplus_module_2.make(), scope => tsplus_module_4.tap(tsplus_module_2.extend(Operations.register, scope), () => tsplus_module_3.forkDaemonReportRequestUnexpected(tsplus_module_2.use(self, scope))))));
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* @tsplus getter function forkOperation
|
|
@@ -22,12 +22,12 @@ export function forkOperationFunction(fnc) {
|
|
|
22
22
|
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
23
23
|
*/
|
|
24
24
|
export function forkOperation2(self) {
|
|
25
|
-
return tsplus_module_5.untraced(restore => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(scope => tsplus_module_4.tap(id => tsplus_module_3.forkDaemonReportRequestUnexpected(tsplus_module_2.use(
|
|
25
|
+
return tsplus_module_5.untraced(restore => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(tsplus_module_2.make(), scope => tsplus_module_4.tap(tsplus_module_2.extend(Operations.register, scope), id => tsplus_module_3.forkDaemonReportRequestUnexpected(tsplus_module_2.use(restore(self)(id), scope))))));
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
29
29
|
*/
|
|
30
30
|
export function forkOperationWithEffect(self, fnc) {
|
|
31
|
-
return tsplus_module_5.untraced(restore => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(scope => tsplus_module_4.tap(
|
|
31
|
+
return tsplus_module_5.untraced(restore => tsplus_module_4.serviceWithEffect(Operations, Operations => tsplus_module_4.flatMap(tsplus_module_2.make(), scope => tsplus_module_4.tap(tsplus_module_4.tap(tsplus_module_2.extend(Operations.register, scope), opId => tsplus_module_3.forkDaemonReportRequestUnexpected(tsplus_module_2.use(restore(self)(opId), scope))), opId => tsplus_module_2.extend(tsplus_module_4.forkScoped(tsplus_module_4.interruptible(restore(fnc)(opId))), scope)))));
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvT3BlcmF0aW9ucy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2FBb0JnQixhQUFhO0FBbEI3QixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBYWxELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBa0IsZ0JBQUEsR0FBRyxFQUFjLENBQUE7QUFFMUQ7O0dBRUc7QUFDSCx5QkFBdUMsSUFBcUI7SUFDMUQsT0FBTyx5QkFBZSxHQUFHLEVBQUUsQ0FDekIsa0NBQUEsVUFBVSxFQUNSLFVBQVUsQ0FBQyxFQUFFLENBQ1gsd0JBQUEsc0JBQVksRUFDRCxLQUFLLENBQUMsRUFBRSxDQUNmLG9CQUFBLHVCQUFBLFVBQVUsQ0FBQyxRQUFRLEVBQVEsS0FBSyxDQUFDLEVBQzFCLEdBQUcsRUFBRSxtREFBQyxvQkFBQSxJQUFJLEVBQUssS0FBSyxDQUFDLENBQWtDLENBQUMsQ0FDaEUsQ0FDTixDQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQWUsR0FBa0M7SUFDcEYsT0FBTyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMseUJBQWUsR0FBRyxFQUFFLGlCQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBYyxDQUFDLENBQUE7QUFDbkUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBVSxJQUE0QztJQUNsRixPQUFPLHlCQUFlLE9BQU8sQ0FBQyxFQUFFLENBQzlCLGtDQUFBLFVBQVUsRUFDUixVQUFVLENBQUMsRUFBRSxDQUNYLHdCQUFBLHNCQUFZLEVBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FDZixvQkFBQSx1QkFBQSxVQUFVLENBQUMsUUFBUSxFQUFRLEtBQUssQ0FBQyxFQUMxQixFQUFFLENBQUMsRUFBRSxtREFBQyxvQkFBQSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUssS0FBSyxDQUFDLENBQWtDLENBQUMsQ0FDN0UsQ0FDTixDQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLElBQTBDLEVBQzFDLEdBQTRDO0lBRTVDLE9BQU8seUJBQWUsT0FBTyxDQUFDLEVBQUUsQ0FDOUIsa0NBQUEsVUFBVSxFQUNSLFVBQVUsQ0FBQyxFQUFFLENBQ1gsd0JBQUEsc0JBQVksRUFDRCxLQUFLLENBQUMsRUFBRSxDQUNmLG9CQUFBLG9CQUFBLHVCQUFBLFVBQVUsQ0FBQyxRQUFRLEVBQVEsS0FBSyxDQUFDLEVBQzFCLElBQUksQ0FBQyxFQUFFLG1EQUFDLG9CQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBSyxLQUFLLENBQUMsQ0FBa0MsQ0FBQyxFQUN6RSxJQUFJLENBQUMsRUFBRSxDQUFDLGdGQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBaUMsS0FBSyxDQUFDLENBQUMsQ0FDMUUsQ0FDTixDQUNGLENBQUE7QUFDSCxDQUFDIn0=
|
|
@@ -26,12 +26,12 @@ export const reportQueueError = (cause, context) => tsplus_module_1.serviceWithE
|
|
|
26
26
|
* @tsplus getter effect/io/Effect forkDaemonReportQueue
|
|
27
27
|
*/
|
|
28
28
|
export function forkDaemonReportQueue(self) {
|
|
29
|
-
return tsplus_module_1.daemonChildren(tsplus_module_1.fork(tsplus_module_1.tapErrorCause(reportQueueError)
|
|
29
|
+
return tsplus_module_1.daemonChildren(tsplus_module_1.fork(tsplus_module_1.tapErrorCause(self, reportQueueError)));
|
|
30
30
|
}
|
|
31
31
|
export const reportFatalQueueError = reportError(cause => new FatalQueueException(cause));
|
|
32
32
|
export function reportFailure(name) {
|
|
33
|
-
return (self) => tsplus_module_1.tap(exit => exit._tag === "Failure"
|
|
33
|
+
return (self) => tsplus_module_1.tap(tsplus_module_1.exit(self), exit => exit._tag === "Failure"
|
|
34
34
|
? reportFatalQueueError(exit.cause, { name })
|
|
35
|
-
: tsplus_module_3.unit)
|
|
35
|
+
: tsplus_module_3.unit);
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vX3NyYy9zZXJ2aWNlcy9RdWV1ZU1ha2VyL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3pELE9BQStCLGtDQUFrQyxDQUFBO0FBRWpFLE1BQU0sT0FBTyxnQkFBb0IsU0FBUSxjQUFpQjtJQUN4RCxZQUFZLEtBQWU7UUFDekIsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sbUJBQXVCLFNBQVEsY0FBaUI7SUFDM0QsWUFBWSxLQUFlO1FBQ3pCLEtBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFFM0UsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQTZDLEVBQUUsRUFBRSxDQUN2Ryx1REFBb0MsY0FBYyxDQUFDLEVBQUUsQ0FDbkQsMkJBQU8saUJBQWlCLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUNqRSxDQUFBO0FBRUg7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQVUsSUFBcUI7SUFDbEUsMkRBQU8sOEJBQUEsSUFBSSxFQUFlLGdCQUFnQixDQUFDLEdBQW9CO0FBQ2pFLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQzlDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FDeEMsQ0FBQTtBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN4QyxPQUFPLENBQVUsSUFBcUIsRUFBRSxFQUFFLENBQ3hDLHlDQUFBLElBQUksR0FBVSxJQUFJLENBQUMsRUFBRSxDQUNuQixJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVM7UUFDckIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxDQUFDLHFCQUFZLENBQ2hCLENBQUE7QUFDTCxDQUFDIn0=
|
|
@@ -27,20 +27,20 @@ export function makeMemQueue(queueName, queueDrainName, encoder, makeHandleEvent
|
|
|
27
27
|
const requestContext = yield* $(tsplus_module_1.service(tsplus_module_2.tag));
|
|
28
28
|
return yield* $(tsplus_module_4.forkDaemonReportQueue(tsplus_module_3.ext_forEach(messages, m => tsplus_module_1.asUnit(
|
|
29
29
|
// we JSON encode, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
30
|
-
tsplus_module_1.flatMap(
|
|
30
|
+
tsplus_module_1.flatMap(tsplus_module_1.sync(() => JSON.stringify(encoder({ body: m, meta: requestContext })))
|
|
31
31
|
// .tap((msg) => info("Publishing Mem Message: " + utils.inspect(msg)))
|
|
32
|
-
)))));
|
|
32
|
+
, _ => q.offer(_))))));
|
|
33
33
|
}),
|
|
34
34
|
drain: tsplus_module_1.gen(function* ($) {
|
|
35
35
|
const handleEvent = yield* $(makeHandleEvent);
|
|
36
36
|
const processMessage = (msg) =>
|
|
37
37
|
// we JSON parse, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
38
|
-
tsplus_module_1.flatMap(({ body, meta }) => provideContext(RequestContext.inherit(meta, {
|
|
38
|
+
tsplus_module_1.flatMap(tsplus_module_1.orDie(tsplus_module_1.flatMap(tsplus_module_1.sync(() => JSON.parse(msg)), parseDrain)), ({ body, meta }) => provideContext(RequestContext.inherit(meta, {
|
|
39
39
|
id: body.id,
|
|
40
40
|
locale: "en",
|
|
41
41
|
name: tsplus_module_7.ReasonableString(body._tag)
|
|
42
|
-
}))(tsplus_module_1.zipRight(
|
|
43
|
-
return yield* $(tsplus_module_1.forkScoped(tsplus_module_9.setupReq3(reportFailure("drain")(tsplus_module_1.forever(tsplus_module_1.flatMap(x => tsplus_module_1.flatMap(
|
|
42
|
+
}))(tsplus_module_1.zipRight(tsplus_module_1.tap(tsplus_module_6.logAnnotates({ body: tsplus_module_5.RecordPretty(tsplus_module_5.object$(body)), meta: tsplus_module_5.RecordPretty(tsplus_module_5.object$(meta)) })(tsplus_module_1.logDebug(`$$ [${queueDrainName}] Processing incoming message`)), () => restoreFromRequestContext), silence(handleEvent(body)))));
|
|
43
|
+
return yield* $(tsplus_module_1.forkScoped(tsplus_module_9.setupReq3(reportFailure("drain")(tsplus_module_1.forever(tsplus_module_1.flatMap(qReply.take(), x => tsplus_module_1.flatMap(tsplus_module_1.fork(tsplus_module_1.uninterruptible(processMessage(x))), _ => tsplus_module_8.join(_))))), "Queue.ReceiveMessage")));
|
|
44
44
|
})
|
|
45
45
|
};
|
|
46
46
|
});
|
|
@@ -48,15 +48,15 @@ export function makeMemQueue(queueName, queueDrainName, encoder, makeHandleEvent
|
|
|
48
48
|
// We want the Queue to continue processing even on errors per messages
|
|
49
49
|
// must make sure that the errors are processed/handled beforehand.
|
|
50
50
|
export function silence(inp) {
|
|
51
|
-
return tsplus_module_1.flatMap(result => tsplus_module_1.gen(function* ($) {
|
|
51
|
+
return tsplus_module_1.flatMap(tsplus_module_1.exit(inp), result => tsplus_module_1.gen(function* ($) {
|
|
52
52
|
const requestContext = yield* $(tsplus_module_1.service(tsplus_module_2.tag));
|
|
53
|
-
return yield* $(tsplus_module_12.match(cause => {
|
|
53
|
+
return yield* $(tsplus_module_12.match(result, cause => {
|
|
54
54
|
if (tsplus_module_10.isInterrupted(cause)) {
|
|
55
55
|
return tsplus_module_1.failCause(cause);
|
|
56
56
|
}
|
|
57
57
|
reportQueueError(cause, { requestContext });
|
|
58
58
|
return tsplus_module_11.unit;
|
|
59
|
-
}, () => tsplus_module_11.unit)
|
|
60
|
-
}))
|
|
59
|
+
}, () => tsplus_module_11.unit));
|
|
60
|
+
}));
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1F1ZXVlTWFrZXIvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRzdEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsU0FBaUIsRUFDakIsY0FBc0IsRUFDdEIsT0FBeUQsRUFDekQsZUFBd0YsRUFDeEYsY0FFdUMsRUFDdkMsVUFHbUY7SUFFbkYsT0FBTyxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQzNCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQUMsUUFBUSxFQUFRLENBQUE7UUFDckMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBQ25ELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQTtRQUU3RCxPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsRUFBRSxDQUN2QixvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO2dCQUNwQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLDhDQUEyQixDQUFBO2dCQUMxRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsdUNBQ2IsNEJBQUEsUUFBUSxFQUFlLENB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
|
|
@@ -25,16 +25,16 @@ export function makeServiceBusQueue(_queueName, queueDrainName, encoder, makeHan
|
|
|
25
25
|
const handleEvent = yield* $(makeHandleEvent);
|
|
26
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
27
|
function processMessage(messageBody) {
|
|
28
|
-
return tsplus_module_1.asUnit(tsplus_module_1.orDie(tsplus_module_6.setupReq3(tsplus_module_1.flatMap(({ body, meta }) => provideContext(RequestContext.inherit(meta, {
|
|
28
|
+
return tsplus_module_1.asUnit(tsplus_module_1.orDie(tsplus_module_6.setupReq3(tsplus_module_1.flatMap(tsplus_module_1.tapErrorCause(tsplus_module_1.orDie(tsplus_module_1.flatMap(tsplus_module_1.sync(() => JSON.parse(messageBody)), x => parseDrain(x))), report), ({ body, meta }) => provideContext(RequestContext.inherit(meta, {
|
|
29
29
|
id: body.id,
|
|
30
30
|
locale: "en",
|
|
31
31
|
name: tsplus_module_5.ReasonableString(body._tag)
|
|
32
|
-
}))(tsplus_module_1.tapErrorCause(
|
|
32
|
+
}))(tsplus_module_1.tapErrorCause(tsplus_module_1.zipRight(tsplus_module_1.tap(tsplus_module_4.logAnnotates({ body: tsplus_module_3.RecordPretty(tsplus_module_3.object$(body)), meta: tsplus_module_3.RecordPretty(tsplus_module_3.object$(meta)) })(tsplus_module_1.logDebug(`$$ [${queueDrainName}] Processing incoming message`)), () => restoreFromRequestContext), handleEvent(body)), report))), "Queue.ReceiveMessage")));
|
|
33
33
|
}
|
|
34
|
-
return yield* $(tsplus_module_1.provideSomeLayer(
|
|
34
|
+
return yield* $(tsplus_module_1.provideSomeLayer(subscribe({
|
|
35
35
|
processMessage: x => tsplus_module_1.uninterruptible(processMessage(x.body)),
|
|
36
36
|
processError: err => tsplus_module_1.sync(() => captureException(err.error))
|
|
37
|
-
})));
|
|
37
|
+
}), receiverLayer));
|
|
38
38
|
}),
|
|
39
39
|
publish: (...messages) => tsplus_module_1.gen(function* ($) {
|
|
40
40
|
const requestContext = yield* $(tsplus_module_1.service(tsplus_module_7.tag));
|
|
@@ -59,4 +59,4 @@ function report(cause) {
|
|
|
59
59
|
return reportQueueError(cause, { requestContext });
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvUXVldWVNYWtlci9zYnF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLHVDQUF1QyxDQUFBO0FBRTlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHOUM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBUWpDLFVBQWtCLEVBQ2xCLGNBQXNCLEVBQ3RCLE9BQXlELEVBQ3pELGVBQXdGLEVBQ3hGLGNBRXVDLEVBQ3ZDLFVBR21GO0lBRW5GLE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLHlCQUFDLE1BQU0sRUFBUSxDQUFBO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQUMsUUFBUSxFQUFRLENBQUE7UUFDMUMsTUFBTSxhQUFhLEdBQUcsMEJBQUEsUUFBUSxFQUFXLFFBQVEsQ0FBQyxDQUFBO1FBRWxELE9BQU87WUFDTCxLQUFLLEVBQUUsb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDM0IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUM3Qyw4REFBOEQ7Z0JBQzlELFNBQVMsY0FBYyxDQUFDLFdBQWdCO29CQUN0QyxvREFBTyww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
|
|
@@ -182,7 +182,7 @@ export declare function queryAndSavePureEffect<Id extends string, T extends {
|
|
|
182
182
|
skip?: number;
|
|
183
183
|
}>): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | R | Exclude<R2, {
|
|
184
184
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
185
|
-
}>,
|
|
185
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E | E2, A>;
|
|
186
186
|
/**
|
|
187
187
|
* @tsplus fluent Repository queryAndSavePure
|
|
188
188
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -198,7 +198,7 @@ export declare function queryAndSavePure<Id extends string, T extends {
|
|
|
198
198
|
skip?: number;
|
|
199
199
|
}): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R2, {
|
|
200
200
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
201
|
-
}>,
|
|
201
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E2, A>;
|
|
202
202
|
/**
|
|
203
203
|
* @tsplus getter Repository saveManyWithPure
|
|
204
204
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -209,7 +209,7 @@ export declare function saveManyWithPure<Id extends string, T extends {
|
|
|
209
209
|
id: string;
|
|
210
210
|
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): <R, A, E, S1 extends T, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>, E, A>) => (items: Iterable<S1>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
211
211
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
212
|
-
}>,
|
|
212
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E, A>;
|
|
213
213
|
/**
|
|
214
214
|
* @tsplus fluent Repository byIdAndSaveWithPure
|
|
215
215
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -220,7 +220,7 @@ export declare function byIdAndSaveWithPure<Id extends string, T extends {
|
|
|
220
220
|
id: string;
|
|
221
221
|
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, id: Id): <R, A, E, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
222
222
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, T, S2>;
|
|
223
|
-
}>,
|
|
223
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, A>;
|
|
224
224
|
/**
|
|
225
225
|
* NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
|
|
226
226
|
* @tsplus getter Repository handleByIdAndSaveWithPure
|
|
@@ -234,7 +234,7 @@ export declare function handleByIdAndSaveWithPure<Id extends string, T extends {
|
|
|
234
234
|
id: Id;
|
|
235
235
|
}, Context_1, R, A, E, S2 extends T>(pure: (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<FixEnv<R, Evt, T, S2>, E, A>) => (req: Req, ctx: Context_1) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
236
236
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, T, S2>;
|
|
237
|
-
}>,
|
|
237
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E | NotFoundError<ItemType>, A>;
|
|
238
238
|
/**
|
|
239
239
|
* @tsplus fluent Repository saveManyWithPure_
|
|
240
240
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -245,7 +245,7 @@ export declare function saveManyWithPure_<Id extends string, R, T extends {
|
|
|
245
245
|
id: string;
|
|
246
246
|
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, items: Iterable<S1>, pure: Effect<FixEnv<R, Evt, Chunk<S1>, Chunk<S2>>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
247
247
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
248
|
-
}>,
|
|
248
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E, A>;
|
|
249
249
|
/**
|
|
250
250
|
* @tsplus fluent Repository saveWithPure_
|
|
251
251
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -256,12 +256,12 @@ export declare function saveWithPure_<Id extends string, R, T extends {
|
|
|
256
256
|
id: string;
|
|
257
257
|
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, item: S1, pure: Effect<FixEnv<R, Evt, S1, S2>, E, A>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
258
258
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, S1, S2>;
|
|
259
|
-
}>,
|
|
259
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E, A>;
|
|
260
260
|
export declare function saveAllWithEffectInt<Id extends string, T extends {
|
|
261
261
|
id: Id;
|
|
262
262
|
}, PM extends {
|
|
263
263
|
id: string;
|
|
264
|
-
}, P extends T, Evt, ItemType extends string, R, E, A>(self: Repository<T, PM, Evt, Id, ItemType>, gen: Effect<R, E, readonly [Iterable<P>, Iterable<Evt>, A]>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | R,
|
|
264
|
+
}, P extends T, Evt, ItemType extends string, R, E, A>(self: Repository<T, PM, Evt, Id, ItemType>, gen: Effect<R, E, readonly [Iterable<P>, Iterable<Evt>, A]>): import("@effect/io/Effect").Effect<RequestContext | ContextMap | R, InvalidStateError | OptimisticConcurrencyException | E, A>;
|
|
265
265
|
/**
|
|
266
266
|
* @tsplus fluent Repository queryAndSavePureEffectBatched
|
|
267
267
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -277,7 +277,7 @@ export declare function queryAndSavePureEffectBatched<Id extends string, T exten
|
|
|
277
277
|
skip?: number;
|
|
278
278
|
}>, batchSize?: number): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | R | Exclude<R2, {
|
|
279
279
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
280
|
-
}>,
|
|
280
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E | E2, import("@effect/data/Chunk").Chunk<A>>;
|
|
281
281
|
/**
|
|
282
282
|
* @tsplus fluent Repository queryAndSavePureBatched
|
|
283
283
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -293,7 +293,7 @@ export declare function queryAndSavePureBatched<Id extends string, T extends {
|
|
|
293
293
|
skip?: number;
|
|
294
294
|
}, batchSize?: number): <R2, A, E2, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R2, Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>, E2, A>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R2, {
|
|
295
295
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
296
|
-
}>,
|
|
296
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E2, import("@effect/data/Chunk").Chunk<A>>;
|
|
297
297
|
/**
|
|
298
298
|
* @tsplus fluent Repository saveManyWithPureBatched
|
|
299
299
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -304,7 +304,7 @@ export declare function saveManyWithPureBatched<Id extends string, T extends {
|
|
|
304
304
|
id: string;
|
|
305
305
|
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, batchSize?: number): <R, A, E, S1 extends T, S2 extends T>(pure: import("@effect/io/Effect").Effect<FixEnv<R, Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>, E, A>) => (items: Iterable<S1>) => import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
306
306
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
307
|
-
}>,
|
|
307
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E, import("@effect/data/Chunk").Chunk<A>>;
|
|
308
308
|
/**
|
|
309
309
|
* @tsplus fluent Repository saveManyWithPureBatched_
|
|
310
310
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -315,7 +315,7 @@ export declare function saveManyWithPureBatched_<Id extends string, R, T extends
|
|
|
315
315
|
id: string;
|
|
316
316
|
}, A, E, Evt, S1 extends T, S2 extends T, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>, items: Iterable<S1>, pure: Effect<FixEnv<R, Evt, Chunk<S1>, Chunk<S2>>, E, A>, batchSize?: number): import("@effect/io/Effect").Effect<RequestContext | ContextMap | Exclude<R, {
|
|
317
317
|
env: import("@effect-app/prelude/Pure").PureEnv<Evt, import("@effect/data/Chunk").Chunk<S1>, import("@effect/data/Chunk").Chunk<S2>>;
|
|
318
|
-
}>,
|
|
318
|
+
}>, InvalidStateError | OptimisticConcurrencyException | E, import("@effect/data/Chunk").Chunk<A>>;
|
|
319
319
|
export type AllDSL<T, Evt> = (<R, A, E, S1 extends T, S2 extends T>(pure: (dsl: PureDSL<Chunk<S1>, Chunk<S2>, Evt>) => Effect<R, E, A>) => Effect<FixEnv<R, Evt, Chunk<S1>, Chunk<S2>>, E, A>) & AllDSLExt<T, Evt>;
|
|
320
320
|
/**
|
|
321
321
|
* @tsplus type DSLExt
|
|
@@ -364,7 +364,7 @@ export declare function save<Id extends string, T extends {
|
|
|
364
364
|
id: Id;
|
|
365
365
|
}, PM extends {
|
|
366
366
|
id: string;
|
|
367
|
-
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): (items_0: T, ...items_1: T[]) => import("@effect/io/Effect").Effect<RequestContext | ContextMap,
|
|
367
|
+
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): (items_0: T, ...items_1: T[]) => import("@effect/io/Effect").Effect<RequestContext | ContextMap, InvalidStateError | OptimisticConcurrencyException, void>;
|
|
368
368
|
/**
|
|
369
369
|
* @tsplus getter Repository saveWithEvents
|
|
370
370
|
* @tsplus location "@effect-app/infra/services/Repository"
|
|
@@ -373,5 +373,5 @@ export declare function saveWithEvents<Id extends string, T extends {
|
|
|
373
373
|
id: Id;
|
|
374
374
|
}, PM extends {
|
|
375
375
|
id: string;
|
|
376
|
-
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => import("@effect/io/Effect").Effect<RequestContext | ContextMap,
|
|
376
|
+
}, Evt, ItemType extends string>(self: Repository<T, PM, Evt, Id, ItemType>): (events: Iterable<Evt>) => (items_0: T, ...items_1: T[]) => import("@effect/io/Effect").Effect<RequestContext | ContextMap, InvalidStateError | OptimisticConcurrencyException, void>;
|
|
377
377
|
//# sourceMappingURL=Repository.d.ts.map
|
|
@@ -28,25 +28,25 @@ export const AnyPureDSL = {
|
|
|
28
28
|
* @tsplus fluent Repository get
|
|
29
29
|
*/
|
|
30
30
|
function get_1(self, id) {
|
|
31
|
-
return tsplus_module_3.flatMap(_ => tsplus_module_2.encaseMaybeInEffect_(_, () => new NotFoundError(self.itemType, id)))
|
|
31
|
+
return tsplus_module_3.flatMap(self.find(id), _ => tsplus_module_2.encaseMaybeInEffect_(_, () => new NotFoundError(self.itemType, id)));
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* @tsplus fluent Repository filter
|
|
35
35
|
*/
|
|
36
36
|
export function filter(self, filter) {
|
|
37
|
-
return tsplus_module_3.map(_ => tsplus_module_4.filter(filter)
|
|
37
|
+
return tsplus_module_3.map(self.all, _ => tsplus_module_4.filter(_, filter));
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* @tsplus fluent Repository filterAll
|
|
41
41
|
*/
|
|
42
42
|
export function filterAll(self, map) {
|
|
43
|
-
return tsplus_module_3.map(
|
|
43
|
+
return tsplus_module_3.map(self.all, map);
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* @tsplus fluent Repository collect
|
|
47
47
|
*/
|
|
48
48
|
export function collect(self, collect) {
|
|
49
|
-
return tsplus_module_3.map(_ => tsplus_module_4.filterMap(collect)(_))
|
|
49
|
+
return tsplus_module_3.map(self.all, _ => tsplus_module_4.filterMap(collect)(_));
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* @tsplus getter Repository log
|
|
@@ -60,7 +60,7 @@ export function log(_) {
|
|
|
60
60
|
*/
|
|
61
61
|
function projectEffect_1(self, map) {
|
|
62
62
|
// TODO: a projection that gets sent to the db instead.
|
|
63
|
-
return tsplus_module_3.flatMap(f => tsplus_module_3.map(
|
|
63
|
+
return tsplus_module_3.flatMap(map, f => tsplus_module_3.map((f.filter ? self.utils.filter(f.filter, { limit: f.limit, skip: f.skip }) : self.utils.all), _ => f.collect ? tsplus_module_4.filterMap(f.collect)(_) : _));
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* TODO: project inside the db.
|
|
@@ -75,7 +75,7 @@ export function project(self, map) {
|
|
|
75
75
|
function queryEffect_1(self,
|
|
76
76
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
77
77
|
map) {
|
|
78
|
-
return tsplus_module_3.flatMap(f => tsplus_module_3.map(
|
|
78
|
+
return tsplus_module_3.flatMap(map, f => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.flatMap((f.filter ? self.utils.filter(f.filter, { limit: f.limit, skip: f.skip }) : self.utils.all), items => tsplus_module_3.map(tsplus_module_3.service(ContextMap), ({ set }) => items.map(_ => self.utils.mapReverse(_, set)))), _ => _.map(_ => self.utils.parse(_))), _ => f.collect ? tsplus_module_4.filterMap(f.collect)(_) : _));
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* @tsplus fluent Repository queryOneEffect
|
|
@@ -83,7 +83,7 @@ map) {
|
|
|
83
83
|
function queryOneEffect_1(self,
|
|
84
84
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
85
85
|
map) {
|
|
86
|
-
return tsplus_module_3.flatMap(f => tsplus_module_3.flatMap(
|
|
86
|
+
return tsplus_module_3.flatMap(map, f => tsplus_module_3.flatMap(tsplus_module_3.map(tsplus_module_3.flatMap((f.filter ? self.utils.filter(f.filter, { limit: 1 }) : self.utils.all), items => tsplus_module_3.map(tsplus_module_3.service(ContextMap), ({ set }) => items.map(_ => self.utils.mapReverse(_, set)))), _ => _.map(_ => self.utils.parse(_))), _ => tsplus_module_3.map(tsplus_module_2.encaseMaybeInEffect_(tsplus_module_5.ChunkToNonEmptyReadonlyArray((f.collect ? tsplus_module_4.filterMap(f.collect)(_) : _)), () => new NotFoundError(self.itemType, JSON.stringify(f.filter))), _ => _[0])));
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* @tsplus fluent Repository query
|
|
@@ -107,7 +107,7 @@ map) {
|
|
|
107
107
|
function queryAndSavePureEffect_1(self,
|
|
108
108
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
109
109
|
map) {
|
|
110
|
-
return (pure) => tsplus_module_6.untraced(restore => tsplus_module_3.flatMap(restore(_ => saveManyWithPure_1(self, _, pure)))
|
|
110
|
+
return (pure) => tsplus_module_6.untraced(restore => tsplus_module_3.flatMap(queryEffect_1(self, map), restore(_ => saveManyWithPure_1(self, _, pure))));
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* @tsplus fluent Repository queryAndSavePure
|
|
@@ -127,7 +127,7 @@ export function saveManyWithPure(self) {
|
|
|
127
127
|
* @tsplus fluent Repository byIdAndSaveWithPure
|
|
128
128
|
*/
|
|
129
129
|
function byIdAndSaveWithPure_1(self, id) {
|
|
130
|
-
return (pure) => tsplus_module_3.flatMap(item => saveWithPure_1(self, item, pure))
|
|
130
|
+
return (pure) => tsplus_module_3.flatMap(get_1(self, id), item => saveWithPure_1(self, item, pure));
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
133
|
* NOTE: it's not as composable, only useful when the request is simple, and only this part needs request args.
|
|
@@ -146,10 +146,10 @@ function saveManyWithPure_1(self, items, pure) {
|
|
|
146
146
|
* @tsplus fluent Repository saveWithPure_
|
|
147
147
|
*/
|
|
148
148
|
function saveWithPure_1(self, item, pure) {
|
|
149
|
-
return saveAllWithEffectInt(self, tsplus_module_3.map(([item, events, a]) => [[item], events, a])
|
|
149
|
+
return saveAllWithEffectInt(self, tsplus_module_3.map(tsplus_module_1.runTerm(pure, item), ([item, events, a]) => [[item], events, a]));
|
|
150
150
|
}
|
|
151
151
|
export function saveAllWithEffectInt(self, gen) {
|
|
152
|
-
return tsplus_module_6.untraced(restore => tsplus_module_3.flatMap(([items, events, a]) => tsplus_module_3.map(
|
|
152
|
+
return tsplus_module_6.untraced(restore => tsplus_module_3.flatMap(gen, ([items, events, a]) => tsplus_module_3.map(restore(() => self.saveAndPublish(items, events))(), () => a)));
|
|
153
153
|
}
|
|
154
154
|
/**
|
|
155
155
|
* @tsplus fluent Repository queryAndSavePureEffectBatched
|
|
@@ -157,7 +157,7 @@ export function saveAllWithEffectInt(self, gen) {
|
|
|
157
157
|
function queryAndSavePureEffectBatched_1(self,
|
|
158
158
|
// TODO: think about collectPM, collectE, and collect(Parsed)
|
|
159
159
|
map, batchSize = 100) {
|
|
160
|
-
return (pure) => tsplus_module_3.flatMap(_ => saveManyWithPureBatched_1(self, _, pure, batchSize))
|
|
160
|
+
return (pure) => tsplus_module_3.flatMap(queryEffect_1(self, map), _ => saveManyWithPureBatched_1(self, _, pure, batchSize));
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* @tsplus fluent Repository queryAndSavePureBatched
|
|
@@ -202,10 +202,10 @@ export function makeOneDSL() {
|
|
|
202
202
|
export function makeDSL() {
|
|
203
203
|
const dsl = AnyPureDSL;
|
|
204
204
|
function modify(pure) {
|
|
205
|
-
return tsplus_module_3.flatMap(items => pure(items, dsl))
|
|
205
|
+
return tsplus_module_3.flatMap(dsl.get, items => pure(items, dsl));
|
|
206
206
|
}
|
|
207
207
|
function update(pure) {
|
|
208
|
-
return tsplus_module_3.flatMap(items => tsplus_module_3.tap(
|
|
208
|
+
return tsplus_module_3.flatMap(dsl.get, items => tsplus_module_3.tap(pure(items, dsl.log), dsl.set));
|
|
209
209
|
}
|
|
210
210
|
function withDSL(pure) {
|
|
211
211
|
return pure(AnyPureDSL);
|
|
@@ -236,4 +236,4 @@ export function save(self) {
|
|
|
236
236
|
export function saveWithEvents(self) {
|
|
237
237
|
return (events) => (...items) => self.saveAndPublish(items, events);
|
|
238
238
|
}
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvc2VydmljZXMvUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OzthQXNEZ0IsR0FBRzthQXVFSCxhQUFhO2FBeUNiLFdBQVc7YUE4QlgsY0FBYzthQXVFZCxzQkFBc0I7YUF3RHRCLG1CQUFtQjthQStCbkIsaUJBQWlCO2FBeUJqQixhQUFhO2FBZ0RiLDZCQUE2QjthQXdEN0Isd0JBQXdCO0FBaGV4QyxPQUFxQiwwQkFBMEIsQ0FBQTtBQUcvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQXFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQjtJQUNoRCxHQUFHLEVBQUUscUJBQVU7SUFDZixHQUFHLHFCQUFVO0lBQ2IsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFVLEVBQUUsRUFBRSxDQUFDLHdCQUFhLEdBQUcsQ0FBQztDQUMxQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxlQU9FLElBQTBDLEVBQzFDLEVBQU07SUFFTixPQUFPLHdCQUFzQixDQUFDLENBQUMsRUFBRSxDQUFDLHFDQUFBLENBQUMsRUFBZ0IsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUF2RixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUEyRSxDQUFBO0FBQ2pHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxNQUFNLENBTXBCLElBQTBDLEVBQUUsTUFBb0I7SUFDaEUsT0FBTyxvQkFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLHVCQUFTLE1BQU0sRUFBZixDQUFDLENBQWUsRUFBbEMsSUFBSSxDQUFDLEdBQUcsQ0FBMkIsQ0FBQTtBQUM1QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxN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
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvc2VydmljZXMvUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OzthQXNEZ0IsR0FBRzthQXVFSCxhQUFhO2FBeUNiLFdBQVc7YUE4QlgsY0FBYzthQXVFZCxzQkFBc0I7YUF3RHRCLG1CQUFtQjthQStCbkIsaUJBQWlCO2FBeUJqQixhQUFhO2FBZ0RiLDZCQUE2QjthQXdEN0Isd0JBQXdCO0FBaGV4QyxPQUFxQiwwQkFBMEIsQ0FBQTtBQUcvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQXFDakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQjtJQUNoRCxHQUFHLEVBQUUscUJBQVU7SUFDZixHQUFHLHFCQUFVO0lBQ2IsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFVLEVBQUUsRUFBRSxDQUFDLHdCQUFhLEdBQUcsQ0FBQztDQUMxQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxlQU9FLElBQTBDLEVBQzFDLEVBQU07SUFFTixPQUFPLHdCQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQ0FBQSxDQUFDLEVBQWdCLEdBQUcsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxNQUFNLENBTXBCLElBQTBDLEVBQUUsTUFBb0I7SUFDaEUsT0FBTyxvQkFBQSxJQUFJLENBQUMsR0FBRyxFQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsdUJBQUEsQ0FBQyxFQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUE7QUFDNUMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxV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
|