@effect-app/infra 3.10.0 → 4.0.0-beta.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 +11 -0
- package/_check.sh +3 -0
- package/dist/CUPS.d.ts +22 -12
- package/dist/CUPS.d.ts.map +1 -1
- package/dist/CUPS.js +28 -29
- package/dist/Emailer/Sendgrid.js +13 -12
- package/dist/Emailer/service.d.ts +3 -13
- package/dist/Emailer/service.d.ts.map +1 -1
- package/dist/Emailer/service.js +3 -3
- package/dist/MainFiberSet.d.ts +18 -41
- package/dist/MainFiberSet.d.ts.map +1 -1
- package/dist/MainFiberSet.js +10 -10
- package/dist/Model/Repository/ext.d.ts.map +1 -1
- package/dist/Model/Repository/ext.js +13 -10
- package/dist/Model/Repository/internal/internal.d.ts +5 -5
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +52 -42
- package/dist/Model/Repository/legacy.d.ts +9 -9
- package/dist/Model/Repository/legacy.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.d.ts +4 -4
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +1 -1
- package/dist/Model/Repository/service.d.ts +11 -11
- package/dist/Model/Repository/service.d.ts.map +1 -1
- package/dist/Model/Repository/validation.d.ts +17 -47
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/Model/Repository/validation.js +2 -2
- package/dist/Model/query/dsl.d.ts +22 -22
- package/dist/Model/query/dsl.d.ts.map +1 -1
- package/dist/Model/query/dsl.js +1 -1
- package/dist/Model/query/new-kid-interpreter.d.ts +1 -1
- package/dist/Model/query/new-kid-interpreter.js +7 -7
- package/dist/Operations.d.ts +22 -63
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Operations.js +14 -14
- package/dist/OperationsRepo.d.ts +23 -7
- package/dist/OperationsRepo.d.ts.map +1 -1
- package/dist/OperationsRepo.js +4 -5
- package/dist/QueueMaker/SQLQueue.d.ts +6 -8
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/QueueMaker/SQLQueue.js +20 -24
- package/dist/QueueMaker/errors.js +1 -1
- package/dist/QueueMaker/memQueue.d.ts +2 -5
- package/dist/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.js +22 -26
- package/dist/QueueMaker/sbqueue.d.ts +2 -5
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +24 -28
- package/dist/RequestContext.d.ts +28 -41
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +4 -4
- package/dist/RequestFiberSet.d.ts +23 -50
- package/dist/RequestFiberSet.d.ts.map +1 -1
- package/dist/RequestFiberSet.js +14 -14
- package/dist/Store/ContextMapContainer.d.ts +4 -4
- package/dist/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/Store/ContextMapContainer.js +5 -5
- package/dist/Store/Cosmos.d.ts.map +1 -1
- package/dist/Store/Cosmos.js +21 -28
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +12 -16
- package/dist/Store/Memory.d.ts +2 -2
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +25 -33
- package/dist/Store/index.js +2 -2
- package/dist/Store/service.d.ts +9 -34
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/Store/service.js +4 -4
- package/dist/Store/utils.d.ts.map +1 -1
- package/dist/Store/utils.js +10 -2
- package/dist/adapters/SQL/Model.d.ts +106 -162
- package/dist/adapters/SQL/Model.d.ts.map +1 -1
- package/dist/adapters/SQL/Model.js +92 -130
- package/dist/adapters/ServiceBus.d.ts +13 -44
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.js +13 -15
- package/dist/adapters/cosmos-client.d.ts +7 -3
- package/dist/adapters/cosmos-client.d.ts.map +1 -1
- package/dist/adapters/cosmos-client.js +5 -4
- package/dist/adapters/logger.d.ts +1 -1
- package/dist/adapters/logger.d.ts.map +1 -1
- package/dist/adapters/memQueue.d.ts +8 -21
- package/dist/adapters/memQueue.d.ts.map +1 -1
- package/dist/adapters/memQueue.js +4 -4
- package/dist/adapters/mongo-client.d.ts +6 -6
- package/dist/adapters/mongo-client.d.ts.map +1 -1
- package/dist/adapters/mongo-client.js +5 -4
- package/dist/adapters/redis-client.d.ts +14 -4
- package/dist/adapters/redis-client.d.ts.map +1 -1
- package/dist/adapters/redis-client.js +19 -18
- package/dist/api/ContextProvider.d.ts +10 -15
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +8 -8
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/codec.js +1 -1
- package/dist/api/internal/RequestContextMiddleware.d.ts +1 -1
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
- package/dist/api/internal/auth.d.ts +3 -3
- package/dist/api/internal/auth.d.ts.map +1 -1
- package/dist/api/internal/auth.js +8 -8
- package/dist/api/internal/events.d.ts +2 -2
- package/dist/api/internal/events.d.ts.map +1 -1
- package/dist/api/internal/events.js +9 -9
- package/dist/api/internal/health.d.ts +1 -1
- package/dist/api/internal/health.d.ts.map +1 -1
- package/dist/api/internal/health.js +2 -2
- package/dist/api/layerUtils.d.ts +14 -14
- package/dist/api/layerUtils.d.ts.map +1 -1
- package/dist/api/layerUtils.js +5 -5
- package/dist/api/middlewares.d.ts +0 -75
- package/dist/api/middlewares.d.ts.map +1 -1
- package/dist/api/middlewares.js +6 -51
- package/dist/api/reportError.js +4 -4
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +4 -4
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.d.ts +6 -7
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +9 -13
- package/dist/api/routing/schema/jwt.d.ts +1 -1
- package/dist/api/routing/schema/jwt.d.ts.map +1 -1
- package/dist/api/routing/schema/jwt.js +5 -4
- package/dist/api/routing/utils.d.ts +2 -2
- package/dist/api/routing/utils.d.ts.map +1 -1
- package/dist/api/routing/utils.js +10 -8
- package/dist/api/routing.d.ts +39 -37
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +17 -21
- package/dist/api/setupRequest.d.ts +4 -6
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +10 -9
- package/dist/arbs.d.ts +3 -3
- package/dist/arbs.d.ts.map +1 -1
- package/dist/arbs.js +2 -2
- package/dist/errorReporter.d.ts +1 -1
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +12 -12
- package/dist/fileUtil.d.ts +6 -6
- package/dist/fileUtil.d.ts.map +1 -1
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +19 -18
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +11 -13
- package/dist/logger/shared.d.ts +2 -2
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +7 -9
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/rateLimit.d.ts +2 -2
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +5 -5
- package/dist/test.d.ts +2 -2
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +6 -24
- package/package.json +19 -22
- package/src/CUPS.ts +15 -14
- package/src/Emailer/Sendgrid.ts +15 -13
- package/src/Emailer/service.ts +3 -3
- package/src/MainFiberSet.ts +16 -12
- package/src/Model/Repository/ext.ts +18 -16
- package/src/Model/Repository/internal/internal.ts +80 -69
- package/src/Model/Repository/legacy.ts +9 -9
- package/src/Model/Repository/makeRepo.ts +5 -5
- package/src/Model/Repository/service.ts +12 -12
- package/src/Model/Repository/validation.ts +1 -1
- package/src/Model/query/dsl.ts +13 -13
- package/src/Model/query/new-kid-interpreter.ts +8 -8
- package/src/Operations.ts +17 -14
- package/src/OperationsRepo.ts +3 -4
- package/src/QueueMaker/SQLQueue.ts +86 -89
- package/src/QueueMaker/errors.ts +1 -1
- package/src/QueueMaker/memQueue.ts +90 -91
- package/src/QueueMaker/sbqueue.ts +90 -92
- package/src/RequestContext.ts +3 -3
- package/src/RequestFiberSet.ts +17 -15
- package/src/Store/ContextMapContainer.ts +4 -4
- package/src/Store/Cosmos.ts +20 -27
- package/src/Store/Disk.ts +13 -17
- package/src/Store/Memory.ts +28 -34
- package/src/Store/index.ts +1 -1
- package/src/Store/service.ts +4 -4
- package/src/Store/utils.ts +9 -5
- package/src/adapters/SQL/Model.ts +255 -268
- package/src/adapters/ServiceBus.ts +17 -20
- package/src/adapters/cosmos-client.ts +5 -5
- package/src/adapters/memQueue.ts +3 -3
- package/src/adapters/mongo-client.ts +5 -5
- package/src/adapters/redis-client.ts +25 -19
- package/src/api/ContextProvider.ts +24 -34
- package/src/api/codec.ts +1 -1
- package/src/api/internal/auth.ts +11 -13
- package/src/api/internal/events.ts +11 -11
- package/src/api/internal/health.ts +1 -1
- package/src/api/layerUtils.ts +20 -20
- package/src/api/middlewares.ts +0 -97
- package/src/api/reportError.ts +3 -3
- package/src/api/routing/middleware/RouterMiddleware.ts +5 -6
- package/src/api/routing/middleware/middleware.ts +13 -25
- package/src/api/routing/schema/jwt.ts +9 -7
- package/src/api/routing/utils.ts +12 -10
- package/src/api/routing.ts +77 -79
- package/src/api/setupRequest.ts +9 -8
- package/src/arbs.ts +3 -3
- package/src/errorReporter.ts +12 -12
- package/src/logger/jsonLogger.ts +18 -17
- package/src/logger/logFmtLogger.ts +10 -12
- package/src/logger/shared.ts +6 -8
- package/src/rateLimit.ts +7 -7
- package/src/test.ts +7 -29
- package/test/contextProvider.test.ts +77 -70
- package/test/controller.test.ts +51 -39
- package/test/dist/contextProvider.test.d.ts.map +1 -1
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/fixtures.d.ts +33 -81
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +9 -8
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/dist/rawQuery.test.d.ts.map +1 -1
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
- package/test/fixtures.ts +9 -7
- package/test/query.test.ts +49 -41
- package/test/rawQuery.test.ts +44 -40
- package/test/requires.test.ts +40 -31
- package/test/rpc-multi-middleware.test.ts +13 -14
- package/test/validateSample.test.ts +2 -2
- package/tsconfig.json +1 -27
- package/dist/api/internal/middlewares.d.ts +0 -15
- package/dist/api/internal/middlewares.d.ts.map +0 -1
- package/dist/api/internal/middlewares.js +0 -168
- package/src/api/internal/middlewares.ts +0 -279
|
@@ -12,7 +12,7 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
12
12
|
meta: QueueMeta
|
|
13
13
|
});
|
|
14
14
|
const drainW = S.Struct({ body: drainSchema, meta: QueueMeta });
|
|
15
|
-
const parseDrain = flow(S.
|
|
15
|
+
const parseDrain = flow(S.decodeUnknownEffect(drainW), Effect.orDie);
|
|
16
16
|
return Effect.gen(function* () {
|
|
17
17
|
const sender = yield* Sender;
|
|
18
18
|
const receiver = yield* Receiver;
|
|
@@ -21,9 +21,8 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
21
21
|
// TODO: or do async?
|
|
22
22
|
// This will make sure that the host receives the error (MainFiberSet.join), who will then interrupt everything and commence a shutdown and restart of app
|
|
23
23
|
// const deferred = yield* Deferred.make<never, ServiceBusError | Error>()
|
|
24
|
-
|
|
25
|
-
drain: (handleEvent, sessionId) =>
|
|
26
|
-
.gen(function* () {
|
|
24
|
+
const queue = {
|
|
25
|
+
drain: (handleEvent, sessionId) => {
|
|
27
26
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
27
|
function processMessage(messageBody) {
|
|
29
28
|
return Effect
|
|
@@ -35,7 +34,7 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
35
34
|
.pipe(Effect.annotateLogs({
|
|
36
35
|
body: pretty(body),
|
|
37
36
|
meta: pretty(meta)
|
|
38
|
-
}), Effect.
|
|
37
|
+
}), Effect.andThen(handleEvent(body)), Effect.orDie)
|
|
39
38
|
// we silenceAndReportError here, so that the error is reported, and moves into the Exit.
|
|
40
39
|
.pipe(silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
|
|
41
40
|
captureStackTrace: false,
|
|
@@ -52,11 +51,11 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
52
51
|
return effect;
|
|
53
52
|
}), Effect
|
|
54
53
|
// we reportError here, so that we report the error only, and keep flowing
|
|
55
|
-
.
|
|
54
|
+
.tapCause(reportError),
|
|
56
55
|
// we still need to flatten the Exit.
|
|
57
56
|
Effect.flatMap((_) => _));
|
|
58
57
|
}
|
|
59
|
-
return
|
|
58
|
+
return receiver
|
|
60
59
|
.subscribe({
|
|
61
60
|
processMessage: (x) => processMessage(x.body).pipe(Effect.uninterruptible),
|
|
62
61
|
processError: (err) => reportQueueError(Cause.fail(err.error))
|
|
@@ -65,29 +64,26 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
65
64
|
// reportFatalQueueError(Cause.fail(err.error))
|
|
66
65
|
// .pipe(Effect.andThen(Effect.fail(err.error)))
|
|
67
66
|
// )
|
|
68
|
-
}, sessionId)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
publish: (...messages) =>
|
|
73
|
-
.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
})));
|
|
84
|
-
})
|
|
85
|
-
.pipe(Effect.withSpan("queue.publish: " + sender.name, {
|
|
86
|
-
captureStackTrace: false,
|
|
67
|
+
}, sessionId)
|
|
68
|
+
// .pipe(Effect.andThen(Deferred.await(deferred).pipe(Effect.orDie))),
|
|
69
|
+
.pipe(Effect.andThen(Effect.never));
|
|
70
|
+
},
|
|
71
|
+
publish: (...messages) => getRequestContext
|
|
72
|
+
.pipe(Effect.flatMap((requestContext) => Effect.forEach(messages, (m) => S.encodeEffect(wireSchema)({
|
|
73
|
+
body: m,
|
|
74
|
+
meta: requestContext
|
|
75
|
+
}).pipe(Effect.orDie, Effect.map((encoded) => ({
|
|
76
|
+
body: JSON.stringify(encoded),
|
|
77
|
+
messageId: m.id, /* correllationid: requestId */
|
|
78
|
+
contentType: "application/json",
|
|
79
|
+
sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
|
|
80
|
+
}))))
|
|
81
|
+
.pipe(Effect.flatMap((msgs) => sender.sendMessages(msgs)))), Effect.withSpan("queue.publish: " + sender.name, {
|
|
87
82
|
kind: "producer",
|
|
88
83
|
attributes: { "message_tags": messages.map((_) => _._tag) }
|
|
89
|
-
}))
|
|
84
|
+
}, { captureStackTrace: false }))
|
|
90
85
|
};
|
|
86
|
+
return queue;
|
|
91
87
|
});
|
|
92
88
|
}
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTdHLE9BQU8sRUFBa0IsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhELE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsTUFBMEIsRUFDMUIsV0FBeUM7SUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXBFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFBO1FBQzVCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUNoQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ2xGLE1BQU0sV0FBVyxHQUFHLGdDQUFnQyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBRTdFLHFCQUFxQjtRQUNyQiwwSkFBMEo7UUFDMUosMEVBQTBFO1FBRTFFLE1BQU0sS0FBSyxHQUFHO1lBQ1osS0FBSyxFQUFFLENBQ0wsV0FBa0UsRUFDbEUsU0FBa0IsRUFDbEIsRUFBRTtnQkFDRiw4REFBOEQ7Z0JBQzlELFNBQVMsY0FBYyxDQUFDLFdBQWdCO29CQUN0QyxPQUFPLE1BQU07eUJBQ1YsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7eUJBQ25DLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDcEMsTUFBTSxDQUFDLEtBQUssRUFDWixNQUFNO3lCQUNILE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7d0JBQzFCLElBQUksTUFBTSxHQUFHLFdBQVc7NkJBQ3JCLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLCtCQUErQixDQUFDOzZCQUMxRCxJQUFJLENBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQzs0QkFDbEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ2xCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDO3lCQUNuQixDQUFDLEVBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDakMsTUFBTSxDQUFDLEtBQUssQ0FDYjs0QkFDRCx5RkFBeUY7NkJBQ3hGLElBQUksQ0FDSCxxQkFBcUIsRUFDckIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLGlDQUFpQyxDQUMvQixDQUFDLEVBQ0QsSUFBSSxFQUNKLGdCQUFnQixRQUFRLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDL0U7NEJBQ0UsaUJBQWlCLEVBQUUsS0FBSzs0QkFDeEIsSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLFVBQVUsRUFBRTtnQ0FDVixZQUFZLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0NBQzNCLGlCQUFpQixFQUFFLFNBQVM7Z0NBQzVCLGFBQWEsRUFBRSxJQUFJOzZCQUNwQjt5QkFDRixDQUNGLENBQ0osQ0FBQTt3QkFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzs0QkFDZCxNQUFNLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTt3QkFDeEUsQ0FBQzt3QkFDRCxPQUFPLE1BQU0sQ0FBQTtvQkFDZixDQUFDLENBQUMsRUFDSixNQUFNO3dCQUNKLDBFQUEwRTt5QkFDekUsUUFBUSxDQUFDLFdBQVcsQ0FBQztvQkFDeEIscUNBQXFDO29CQUNyQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDekIsQ0FBQTtnQkFDTCxDQUFDO2dCQUVELE9BQU8sUUFBUTtxQkFDWixTQUFTLENBQUM7b0JBQ1QsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO29CQUMxRSxZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5RCx5QkFBeUI7b0JBQ3pCLGNBQWM7b0JBQ2QsaURBQWlEO29CQUNqRCxvREFBb0Q7b0JBQ3BELElBQUk7aUJBQ0wsRUFBRSxTQUFTLENBQUM7b0JBQ2Isc0VBQXNFO3FCQUNyRSxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQzdCLENBQUE7WUFDTCxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFvQyxFQUFFLEVBQUUsQ0FDbkQsaUJBQWlCO2lCQUNkLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM3QixDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLEVBQUUsY0FBYzthQUNyQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDN0MsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO2dCQUM3QixTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSwrQkFBK0I7Z0JBQ2hELFdBQVcsRUFBRSxrQkFBa0I7Z0JBQy9CLFNBQVMsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBbUIsQ0FBQyxDQUFDLENBQUMsU0FBOEIsQ0FBQyxpQkFBaUI7YUFDdkcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzNELEVBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFO2dCQUMvQyxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTthQUM1RCxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDakM7U0FDTixDQUFBO1FBQ0QsT0FBTyxLQUFpQyxDQUFBO0lBQzFDLENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -1,72 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const Locale:
|
|
3
|
-
changeDefault: <A extends "en" | "de">(a: A) =>
|
|
1
|
+
import { S, ServiceMap } from "effect-app";
|
|
2
|
+
export declare const Locale: S.Literals<["en", "de"]> & {
|
|
3
|
+
changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
|
|
4
4
|
Default: A;
|
|
5
|
-
withDefault: S.
|
|
5
|
+
withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
|
|
6
6
|
};
|
|
7
7
|
Default: "en";
|
|
8
|
-
withDefault: S.
|
|
8
|
+
withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
|
|
9
9
|
};
|
|
10
10
|
export type Locale = typeof Locale.Type;
|
|
11
|
-
declare const LocaleRef_base:
|
|
11
|
+
declare const LocaleRef_base: ServiceMap.Reference<"en" | "de">;
|
|
12
12
|
export declare class LocaleRef extends LocaleRef_base {
|
|
13
13
|
}
|
|
14
|
-
declare const RequestContext_base: S.EnhancedClass<RequestContext, {
|
|
14
|
+
declare const RequestContext_base: S.EnhancedClass<RequestContext, S.Struct<{
|
|
15
15
|
span: S.Struct<{
|
|
16
|
-
traceId:
|
|
17
|
-
spanId:
|
|
18
|
-
sampled:
|
|
19
|
-
withDefault: S.
|
|
16
|
+
readonly traceId: S.String;
|
|
17
|
+
readonly spanId: S.String;
|
|
18
|
+
readonly sampled: import("effect/Schema").Boolean & {
|
|
19
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Boolean & S.WithoutConstructorDefault>;
|
|
20
20
|
};
|
|
21
21
|
}>;
|
|
22
|
-
name: S.WithDefaults<S.
|
|
23
|
-
locale:
|
|
24
|
-
changeDefault: <A extends "en" | "de">(a: A) =>
|
|
22
|
+
name: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
|
|
23
|
+
locale: S.Literals<["en", "de"]> & {
|
|
24
|
+
changeDefault: <A extends "en" | "de">(a: A) => S.Literals<["en", "de"]> & {
|
|
25
25
|
Default: A;
|
|
26
|
-
withDefault: S.
|
|
26
|
+
withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
|
|
27
27
|
};
|
|
28
28
|
Default: "en";
|
|
29
|
-
withDefault: S.
|
|
29
|
+
withDefault: S.withConstructorDefault<S.Literals<["en", "de"]> & S.WithoutConstructorDefault>;
|
|
30
30
|
};
|
|
31
|
-
sourceId: S.optional<S.WithDefaults<S.
|
|
32
|
-
namespace: S.WithDefaults<S.
|
|
31
|
+
sourceId: S.optional<S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">>;
|
|
32
|
+
namespace: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255">;
|
|
33
33
|
/** @deprecated */
|
|
34
34
|
userProfile: S.optional<S.Struct<{
|
|
35
|
-
sub: S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand
|
|
35
|
+
readonly sub: S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand> & {
|
|
36
36
|
make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
37
|
-
withDefault:
|
|
38
|
-
} & S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand
|
|
37
|
+
withDefault: any;
|
|
38
|
+
} & S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand>>> & S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand> & {
|
|
39
39
|
make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
40
|
-
withDefault:
|
|
41
|
-
} & S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand
|
|
40
|
+
withDefault: any;
|
|
41
|
+
} & S.WithDefaults<S.Schema<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand>>;
|
|
42
42
|
}>>;
|
|
43
|
-
}
|
|
44
|
-
readonly name: string & S.NonEmptyString255Brand;
|
|
45
|
-
readonly locale: "en" | "de";
|
|
46
|
-
readonly namespace: string & S.NonEmptyString255Brand;
|
|
47
|
-
readonly span: {
|
|
48
|
-
readonly traceId: string;
|
|
49
|
-
readonly spanId: string;
|
|
50
|
-
readonly sampled: boolean;
|
|
51
|
-
};
|
|
52
|
-
readonly sourceId?: (string & S.NonEmptyString255Brand) | undefined;
|
|
53
|
-
readonly userProfile?: {
|
|
54
|
-
readonly sub: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
55
|
-
} | undefined;
|
|
56
|
-
}, {}, {}>;
|
|
43
|
+
}>, {}>;
|
|
57
44
|
export declare class RequestContext extends RequestContext_base {
|
|
58
45
|
static toMonitoring(this: void, self: RequestContext): {
|
|
59
|
-
operationName: string & S.
|
|
46
|
+
operationName: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
|
|
60
47
|
locale: "en" | "de";
|
|
61
48
|
};
|
|
62
49
|
}
|
|
63
50
|
export declare const spanAttributes: (ctx: Pick<RequestContext, "locale" | "namespace"> & Partial<RequestContext>) => {
|
|
64
51
|
"request.user.sub"?: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
65
52
|
"request.user.roles"?: unknown;
|
|
66
|
-
"request.source.id"?: string & S.
|
|
67
|
-
"request.name": (string & S.
|
|
53
|
+
"request.source.id"?: string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
|
|
54
|
+
"request.name": (string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">) | undefined;
|
|
68
55
|
"request.locale": "en" | "de";
|
|
69
|
-
"request.namespace": string & S.
|
|
56
|
+
"request.namespace": string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
|
|
70
57
|
};
|
|
71
58
|
export declare namespace RequestContext {
|
|
72
59
|
interface Encoded extends S.Struct.Encoded<typeof RequestContext["fields"]> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../src/RequestContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAI1C,eAAO,MAAM,MAAM;;;;;;;CAAwB,CAAA;AAC3C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAoE;CAAG;;;;;;;;;;;;;;;;;;;;IAepG,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAelC;IAGA,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;CAMrD;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAKF,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KAAG;CACtF"}
|
package/dist/RequestContext.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S, ServiceMap } from "effect-app";
|
|
2
2
|
import { UserProfileId } from "effect-app/ids";
|
|
3
3
|
import { NonEmptyString255 } from "effect-app/Schema";
|
|
4
4
|
export const Locale = S.Literal("en", "de");
|
|
5
|
-
export class LocaleRef extends
|
|
5
|
+
export class LocaleRef extends ServiceMap.Reference("Locale", { defaultValue: () => "en" }) {
|
|
6
6
|
}
|
|
7
7
|
export class RequestContext extends S.ExtendedClass("RequestContext")({
|
|
8
8
|
span: S.Struct({
|
|
@@ -17,7 +17,7 @@ export class RequestContext extends S.ExtendedClass("RequestContext")({
|
|
|
17
17
|
/** @deprecated */
|
|
18
18
|
userProfile: S.optional(S.Struct({ sub: UserProfileId })) //
|
|
19
19
|
}) {
|
|
20
|
-
// static Tag =
|
|
20
|
+
// static Tag = ServiceMap.Tag<RequestContext>()
|
|
21
21
|
static toMonitoring(self) {
|
|
22
22
|
return {
|
|
23
23
|
operationName: self.name,
|
|
@@ -46,4 +46,4 @@ export const spanAttributes = (ctx) => ({
|
|
|
46
46
|
//
|
|
47
47
|
// codegen:end
|
|
48
48
|
//
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUczQyxNQUFNLE9BQU8sU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLEdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0NBQUc7QUFFdEcsTUFBTSxPQUFPLGNBQWUsU0FBUSxDQUFDLENBQUMsYUFBYSxDQUdqRCxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTTtRQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU87S0FDbkIsQ0FBQztJQUNGLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsTUFBTSxFQUFFLE1BQU07SUFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVE7SUFDakQsU0FBUyxFQUFFLGlCQUFpQjtJQUM1QixrQkFBa0I7SUFDbEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtDQUM3RCxDQUFDO0lBQ0EsZ0RBQWdEO0lBRWhELE1BQU0sQ0FBQyxZQUFZLENBQWEsSUFBb0I7UUFDbEQsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQTJFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUcsY0FBYyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0lBQ3hCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxNQUFNO0lBQzVCLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxTQUFTO0lBQ2xDLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDNUQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRztRQUN0QixDQUFDLENBQUM7WUFDQSxrQkFBa0IsRUFBRSxHQUFHO2lCQUNwQixXQUFXO2lCQUNYLEdBQUc7WUFDTixvQkFBb0IsRUFBRSxPQUFPLElBQUksR0FBRztpQkFDL0IsV0FBVztnQkFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLO2dCQUN2QixDQUFDLENBQUMsU0FBUztTQUNkO1FBQ0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNSLENBQUMsQ0FBQTtBQVFGLG1CQUFtQjtBQUNuQixFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUUifQ==
|
|
@@ -1,63 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Effect, Fiber, Layer, ServiceMap } from "effect-app";
|
|
2
2
|
export declare const setRootParentSpan: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
3
|
-
declare const RequestFiberSet_base:
|
|
3
|
+
declare const RequestFiberSet_base: ServiceMap.ServiceClass<RequestFiberSet, "RequestFiberSet", {
|
|
4
4
|
interrupt: Effect.Effect<void, never, never>;
|
|
5
5
|
join: Effect.Effect<void, any, never>;
|
|
6
|
-
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.
|
|
7
|
-
add: (...fibers: Fiber.
|
|
8
|
-
addAll: (fibers: readonly Fiber.
|
|
6
|
+
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
|
|
7
|
+
add: (...fibers: Fiber.Fiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
8
|
+
addAll: (fibers: readonly Fiber.Fiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
9
9
|
register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
10
|
-
forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.
|
|
11
|
-
forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
25
|
-
add: (...fibers: Fiber.RuntimeFiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
26
|
-
addAll: (fibers: readonly Fiber.RuntimeFiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
27
|
-
register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
28
|
-
forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.RuntimeFiber<A, E>, never, R>;
|
|
29
|
-
forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.RuntimeFiber<A, E>, never, R>;
|
|
30
|
-
}>) & {
|
|
31
|
-
toLayer: {
|
|
32
|
-
(): import("effect/Layer").Layer<RequestFiberSet, never, import("effect/Scope").Scope>;
|
|
33
|
-
<E_1, R_1>(eff: Effect.Effect<Omit<RequestFiberSet, keyof Context.TagClassShape<any, any>>, E_1, R_1>): import("effect/Layer").Layer<RequestFiberSet, E_1, R_1>;
|
|
34
|
-
};
|
|
35
|
-
toLayerScoped: {
|
|
36
|
-
(): import("effect/Layer").Layer<RequestFiberSet, never, never>;
|
|
37
|
-
<E_1, R_2>(eff: Effect.Effect<Omit<RequestFiberSet, keyof Context.TagClassShape<any, any>>, E_1, R_2>): import("effect/Layer").Layer<RequestFiberSet, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
38
|
-
};
|
|
39
|
-
of: (service: Context.TagClassShape<any, any>) => RequestFiberSet;
|
|
40
|
-
make: Effect.Effect<RequestFiberSet, never, import("effect/Scope").Scope>;
|
|
41
|
-
} & Context.Tag<RequestFiberSet, RequestFiberSet> & Context.ServiceUse<RequestFiberSet, {
|
|
42
|
-
interrupt: Effect.Effect<void, never, never>;
|
|
43
|
-
join: Effect.Effect<void, any, never>;
|
|
44
|
-
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
45
|
-
add: (...fibers: Fiber.RuntimeFiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
46
|
-
addAll: (fibers: readonly Fiber.RuntimeFiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
47
|
-
register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
48
|
-
forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.RuntimeFiber<A, E>, never, R>;
|
|
49
|
-
forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.RuntimeFiber<A, E>, never, R>;
|
|
50
|
-
}>;
|
|
10
|
+
forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R>;
|
|
11
|
+
forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R>;
|
|
12
|
+
}> & {
|
|
13
|
+
readonly make: Effect.Effect<{
|
|
14
|
+
interrupt: Effect.Effect<void, never, never>;
|
|
15
|
+
join: Effect.Effect<void, any, never>;
|
|
16
|
+
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
|
|
17
|
+
add: (...fibers: Fiber.Fiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
18
|
+
addAll: (fibers: readonly Fiber.Fiber<any, any>[]) => Effect.Effect<void, never, never>;
|
|
19
|
+
register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
20
|
+
forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R>;
|
|
21
|
+
forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R>;
|
|
22
|
+
}, never, import("effect/Scope").Scope>;
|
|
23
|
+
};
|
|
51
24
|
/**
|
|
52
25
|
* Whenever you fork a fiber for a Request, and you want to prevent dependent services to close prematurely on interruption,
|
|
53
26
|
* like the ServiceBus Sender, you should register these fibers in this FiberSet.
|
|
54
27
|
*/
|
|
55
28
|
export declare class RequestFiberSet extends RequestFiberSet_base {
|
|
56
|
-
static readonly Live:
|
|
29
|
+
static readonly Live: Layer.Layer<RequestFiberSet, never, never>;
|
|
57
30
|
static readonly register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, RequestFiberSet | R>;
|
|
58
|
-
static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.
|
|
59
|
-
static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.
|
|
60
|
-
static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.
|
|
31
|
+
static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
|
|
32
|
+
static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
|
|
33
|
+
static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, RequestFiberSet | R>;
|
|
61
34
|
}
|
|
62
35
|
export {};
|
|
63
36
|
//# sourceMappingURL=RequestFiberSet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAA;AAepF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAC4B,CAAA;;;;;qBAIzE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;qBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;eAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;uBAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;;;;yBAhDjD,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;yBAEvB,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;mBAOtC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;2BAuB7B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;qCAgB3B,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAAkE;IACrG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
|
package/dist/RequestFiberSet.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import {
|
|
2
|
+
import { Effect, Fiber, FiberSet, Layer, ServiceMap } from "effect-app";
|
|
3
3
|
import { reportRequestError, reportUnknownRequestError } from "./api/reportError.js";
|
|
4
4
|
import { InfraLogger } from "./logger.js";
|
|
5
5
|
const getRootParentSpan = Effect.gen(function* () {
|
|
6
|
-
let span = yield* Effect.currentSpan.pipe(Effect.catchTag("
|
|
6
|
+
let span = yield* Effect.currentSpan.pipe(Effect.catchTag("NoSuchElementError", () => Effect.succeed(null)));
|
|
7
7
|
if (!span)
|
|
8
8
|
return span;
|
|
9
|
-
while (span._tag === "Span" &&
|
|
10
|
-
span = span.parent
|
|
9
|
+
while (span._tag === "Span" && span.parent !== undefined) {
|
|
10
|
+
span = span.parent;
|
|
11
11
|
}
|
|
12
12
|
return span;
|
|
13
13
|
});
|
|
14
14
|
export const setRootParentSpan = (self) => getRootParentSpan.pipe(Effect.andThen((span) => span ? Effect.withParentSpan(self, span) : self));
|
|
15
15
|
const make = Effect.gen(function* () {
|
|
16
16
|
const set = yield* FiberSet.make();
|
|
17
|
-
const add = (...fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.
|
|
18
|
-
const addAll = (fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.
|
|
17
|
+
const add = (...fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.addUnsafe(set, _)));
|
|
18
|
+
const addAll = (fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.addUnsafe(set, _)));
|
|
19
19
|
const join = FiberSet.size(set).pipe(Effect.andThen((count) => InfraLogger.logInfo(`Joining ${count} current fibers on the RequestFiberSet`)), Effect.andThen(FiberSet.join(set)));
|
|
20
20
|
const run = FiberSet.run(set);
|
|
21
|
-
const register = (self) => self.pipe(Effect.
|
|
21
|
+
const register = (self) => self.pipe(Effect.forkChild, Effect.tap(add), Effect.andThen(Fiber.join));
|
|
22
22
|
// const waitUntilEmpty = Effect.gen(function*() {
|
|
23
23
|
// const currentSize = yield* FiberSet.size(set)
|
|
24
24
|
// if (currentSize === 0) {
|
|
@@ -68,11 +68,11 @@ const make = Effect.gen(function* () {
|
|
|
68
68
|
* Whenever you fork a fiber for a Request, and you want to prevent dependent services to close prematurely on interruption,
|
|
69
69
|
* like the ServiceBus Sender, you should register these fibers in this FiberSet.
|
|
70
70
|
*/
|
|
71
|
-
export class RequestFiberSet extends
|
|
72
|
-
static Live = this.
|
|
73
|
-
static register = (self) => this.
|
|
74
|
-
static run = (self) => this.
|
|
75
|
-
static forkDaemonReport = (self) => this.
|
|
76
|
-
static forkDaemonReportUnexpected = (self) => this.
|
|
71
|
+
export class RequestFiberSet extends ServiceMap.Service()("RequestFiberSet", { make }) {
|
|
72
|
+
static Live = Layer.effect(this, this.make);
|
|
73
|
+
static register = (self) => this.asEffect().pipe(Effect.andThen((_) => _.register(self)));
|
|
74
|
+
static run = (self) => this.asEffect().pipe(Effect.andThen((_) => _.run(self)));
|
|
75
|
+
static forkDaemonReport = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
|
|
76
|
+
static forkDaemonReportUnexpected = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReportUnexpected(self)));
|
|
77
77
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWUsTUFBTSxZQUFZLENBQUE7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6QyxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQzVDLElBQUksSUFBSSxHQUEwQixLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xFLENBQUE7SUFDRCxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6RCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQVUsSUFBNEIsRUFBRSxFQUFFLENBQ3pFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxF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QUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sQ0FBVSxHQUFHLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDOUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxRCxNQUFNLENBQVUsZ0JBQWdCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDM0UsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLE1BQU0sQ0FBVSwwQkFBMEIsR0FBRyxDQUFVLElBQTRCLEVBQUUsRUFBRSxDQUNyRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Effect, Layer, ServiceMap } from "effect-app";
|
|
2
2
|
import { ContextMap } from "./service.js";
|
|
3
|
-
declare const ContextMapContainer_base:
|
|
3
|
+
declare const ContextMapContainer_base: ServiceMap.Reference<"root" | ContextMap>;
|
|
4
4
|
export declare class ContextMapContainer extends ContextMapContainer_base {
|
|
5
|
-
static readonly layer: Layer.Layer<
|
|
5
|
+
static readonly layer: Layer.Layer<never, never, never>;
|
|
6
6
|
}
|
|
7
|
-
declare const ContextMapNotStartedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").
|
|
7
|
+
declare const ContextMapNotStartedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
8
8
|
readonly _tag: "ContextMapNotStartedError";
|
|
9
9
|
} & Readonly<A>;
|
|
10
10
|
export declare class ContextMapNotStartedError extends ContextMapNotStartedError_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;;AAQzC,qBAAa,mBAAoB,SAAQ,wBAEvC;IACA,MAAM,CAAC,QAAQ,CAAC,KAAK,mCAAsE;CAC5F;;;;AAED,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,eAAO,MAAM,aAAa,6DAEzB,CAAA"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Data, Effect, Layer, ServiceMap } from "effect-app";
|
|
2
2
|
import { ContextMap } from "./service.js";
|
|
3
3
|
// TODO: we have to create a new contextmap on every request.
|
|
4
4
|
// we want to share one map during startup
|
|
5
5
|
// but we want to make sure we don't re-use the startup map after startup
|
|
6
6
|
// we can call another start after startup. but it would be even better if we could Die on accessing rootmap
|
|
7
7
|
// we could also make the ContextMap optional, and when missing, issue a warning instead?
|
|
8
|
-
export class ContextMapContainer extends
|
|
8
|
+
export class ContextMapContainer extends ServiceMap.Reference("ContextMapContainer", {
|
|
9
9
|
defaultValue: () => "root"
|
|
10
10
|
}) {
|
|
11
|
-
static layer = Layer.effect(this, ContextMap.make);
|
|
11
|
+
static layer = Layer.effect(this, ContextMap.make.pipe(Effect.map(ContextMap.of)));
|
|
12
12
|
}
|
|
13
13
|
export class ContextMapNotStartedError extends Data.TaggedError("ContextMapNotStartedError") {
|
|
14
14
|
}
|
|
15
|
-
export const getContextMap = ContextMapContainer.pipe(Effect.filterOrFail((_) => _ !== "root", () => new ContextMapNotStartedError()));
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
export const getContextMap = ContextMapContainer.asEffect().pipe(Effect.filterOrFail((_) => _ !== "root", () => new ContextMapNotStartedError()));
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9Db250ZXh0TWFwQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6Qyw2REFBNkQ7QUFDN0QsMENBQTBDO0FBQzFDLHlFQUF5RTtBQUN6RSw0R0FBNEc7QUFDNUcseUZBQXlGO0FBRXpGLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxVQUFVLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFO0lBQ25GLFlBQVksRUFBRSxHQUF3QixFQUFFLENBQUMsTUFBTTtDQUNoRCxDQUFDO0lBQ0EsTUFBTSxDQUFVLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7O0FBRzdGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0NBQUc7QUFFL0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FDaEYsQ0FBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"Cosmos.d.ts","sourceRoot":"","sources":["../../src/Store/Cosmos.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,EAA8D,MAAM,YAAY,CAAA;AASvH,OAAO,EAA8C,KAAK,aAAa,EAAgC,UAAU,EAAE,MAAM,cAAc,CAAA;AA4cvI,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,yCAIlD"}
|