@effect-app/infra 4.0.0-beta.20 → 4.0.0-beta.200
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 +1378 -0
- package/_check.sh +1 -1
- package/dist/CUPS.d.ts +15 -7
- package/dist/CUPS.d.ts.map +1 -1
- package/dist/CUPS.js +10 -12
- package/dist/Emailer/Sendgrid.d.ts +14 -14
- package/dist/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/Emailer/Sendgrid.js +16 -15
- package/dist/Emailer/fake.d.ts +1 -1
- package/dist/Emailer/service.d.ts +10 -4
- package/dist/Emailer/service.d.ts.map +1 -1
- package/dist/Emailer/service.js +3 -3
- package/dist/Emailer.d.ts +1 -1
- package/dist/MainFiberSet.d.ts +9 -9
- package/dist/MainFiberSet.d.ts.map +1 -1
- package/dist/MainFiberSet.js +3 -3
- package/dist/Model/Repository/Registry.d.ts +20 -0
- package/dist/Model/Repository/Registry.d.ts.map +1 -0
- package/dist/Model/Repository/Registry.js +17 -0
- package/dist/Model/Repository/ext.d.ts +33 -15
- package/dist/Model/Repository/ext.d.ts.map +1 -1
- package/dist/Model/Repository/ext.js +54 -2
- package/dist/Model/Repository/internal/internal.d.ts +6 -6
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +43 -32
- package/dist/Model/Repository/legacy.d.ts +1 -1
- package/dist/Model/Repository/makeRepo.d.ts +7 -6
- package/dist/Model/Repository/makeRepo.d.ts.map +1 -1
- package/dist/Model/Repository/makeRepo.js +5 -1
- package/dist/Model/Repository/service.d.ts +28 -23
- package/dist/Model/Repository/service.d.ts.map +1 -1
- package/dist/Model/Repository/validation.d.ts +142 -17
- package/dist/Model/Repository/validation.d.ts.map +1 -1
- package/dist/Model/Repository/validation.js +5 -5
- package/dist/Model/Repository.d.ts +2 -1
- package/dist/Model/Repository.d.ts.map +1 -1
- package/dist/Model/Repository.js +2 -1
- package/dist/Model/dsl.d.ts +4 -4
- package/dist/Model/dsl.d.ts.map +1 -1
- package/dist/Model/filter/filterApi.d.ts +5 -5
- package/dist/Model/filter/filterApi.d.ts.map +1 -1
- package/dist/Model/filter/types/errors.d.ts +1 -1
- package/dist/Model/filter/types/fields.d.ts +1 -1
- package/dist/Model/filter/types/path/common.d.ts +1 -1
- package/dist/Model/filter/types/path/eager.d.ts +1 -1
- package/dist/Model/filter/types/path/eager.d.ts.map +1 -1
- package/dist/Model/filter/types/path/eager.js +1 -1
- package/dist/Model/filter/types/path/index.d.ts +1 -1
- package/dist/Model/filter/types/utils.d.ts +1 -1
- package/dist/Model/filter/types/validator.d.ts +1 -1
- package/dist/Model/filter/types.d.ts +1 -1
- package/dist/Model/query/dsl.d.ts +16 -16
- package/dist/Model/query/dsl.d.ts.map +1 -1
- package/dist/Model/query/new-kid-interpreter.d.ts +6 -6
- package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -1
- package/dist/Model/query/new-kid-interpreter.js +3 -3
- package/dist/Model/query.d.ts +1 -1
- package/dist/Model.d.ts +2 -1
- package/dist/Model.d.ts.map +1 -1
- package/dist/Model.js +2 -1
- package/dist/QueueMaker/SQLQueue.d.ts +5 -7
- package/dist/QueueMaker/SQLQueue.d.ts.map +1 -1
- package/dist/QueueMaker/SQLQueue.js +105 -114
- package/dist/QueueMaker/errors.d.ts +2 -2
- package/dist/QueueMaker/errors.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.d.ts +7 -4
- package/dist/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/QueueMaker/memQueue.js +51 -62
- package/dist/QueueMaker/sbqueue.d.ts +6 -3
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +37 -53
- package/dist/QueueMaker/service.d.ts +1 -1
- package/dist/RequestContext.d.ts +112 -26
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +7 -8
- package/dist/RequestFiberSet.d.ts +7 -7
- package/dist/RequestFiberSet.d.ts.map +1 -1
- package/dist/RequestFiberSet.js +5 -5
- package/dist/Store/ContextMapContainer.d.ts +19 -3
- package/dist/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/Store/ContextMapContainer.js +13 -3
- package/dist/Store/Cosmos/query.d.ts +1 -1
- package/dist/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/Store/Cosmos/query.js +10 -12
- package/dist/Store/Cosmos.d.ts +1 -1
- package/dist/Store/Cosmos.d.ts.map +1 -1
- package/dist/Store/Cosmos.js +318 -240
- package/dist/Store/Disk.d.ts +2 -2
- package/dist/Store/Disk.d.ts.map +1 -1
- package/dist/Store/Disk.js +25 -22
- package/dist/Store/Memory.d.ts +4 -4
- package/dist/Store/Memory.d.ts.map +1 -1
- package/dist/Store/Memory.js +27 -22
- package/dist/Store/SQL/Pg.d.ts +4 -0
- package/dist/Store/SQL/Pg.d.ts.map +1 -0
- package/dist/Store/SQL/Pg.js +189 -0
- package/dist/Store/SQL/query.d.ts +38 -0
- package/dist/Store/SQL/query.d.ts.map +1 -0
- package/dist/Store/SQL/query.js +367 -0
- package/dist/Store/SQL.d.ts +20 -0
- package/dist/Store/SQL.d.ts.map +1 -0
- package/dist/Store/SQL.js +381 -0
- package/dist/Store/codeFilter.d.ts +1 -1
- package/dist/Store/codeFilter.d.ts.map +1 -1
- package/dist/Store/codeFilter.js +2 -1
- package/dist/Store/index.d.ts +5 -2
- package/dist/Store/index.d.ts.map +1 -1
- package/dist/Store/index.js +15 -3
- package/dist/Store/service.d.ts +18 -7
- package/dist/Store/service.d.ts.map +1 -1
- package/dist/Store/service.js +24 -6
- package/dist/Store/utils.d.ts +1 -1
- package/dist/Store/utils.d.ts.map +1 -1
- package/dist/Store/utils.js +3 -4
- package/dist/Store.d.ts +1 -1
- package/dist/adapters/SQL/Model.d.ts +28 -42
- package/dist/adapters/SQL/Model.d.ts.map +1 -1
- package/dist/adapters/SQL/Model.js +2 -2
- package/dist/adapters/SQL.d.ts +1 -1
- package/dist/adapters/ServiceBus.d.ts +11 -11
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.js +13 -15
- package/dist/adapters/cosmos-client.d.ts +3 -3
- package/dist/adapters/cosmos-client.d.ts.map +1 -1
- package/dist/adapters/cosmos-client.js +3 -3
- package/dist/adapters/index.d.ts +8 -2
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +8 -2
- package/dist/adapters/logger.d.ts +2 -2
- package/dist/adapters/logger.d.ts.map +1 -1
- package/dist/adapters/memQueue.d.ts +3 -3
- package/dist/adapters/memQueue.d.ts.map +1 -1
- package/dist/adapters/memQueue.js +3 -3
- package/dist/adapters/mongo-client.d.ts +3 -3
- package/dist/adapters/mongo-client.d.ts.map +1 -1
- package/dist/adapters/mongo-client.js +3 -3
- package/dist/adapters/redis-client.d.ts +3 -3
- package/dist/adapters/redis-client.d.ts.map +1 -1
- package/dist/adapters/redis-client.js +3 -3
- package/dist/api/ContextProvider.d.ts +8 -8
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +6 -6
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/internal/RequestContextMiddleware.d.ts +2 -2
- package/dist/api/internal/RequestContextMiddleware.d.ts.map +1 -1
- package/dist/api/internal/RequestContextMiddleware.js +2 -2
- package/dist/api/internal/auth.d.ts +44 -6
- package/dist/api/internal/auth.d.ts.map +1 -1
- package/dist/api/internal/auth.js +160 -29
- package/dist/api/internal/events.d.ts +3 -3
- package/dist/api/internal/events.d.ts.map +1 -1
- package/dist/api/internal/events.js +9 -7
- package/dist/api/internal/health.d.ts +1 -1
- package/dist/api/layerUtils.d.ts +6 -6
- package/dist/api/layerUtils.d.ts.map +1 -1
- package/dist/api/layerUtils.js +5 -5
- package/dist/api/middlewares.d.ts +1 -1
- package/dist/api/reportError.d.ts +1 -1
- 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 +50 -4
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +79 -17
- package/dist/api/routing/middleware.d.ts +1 -2
- package/dist/api/routing/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware.js +1 -2
- 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/tsort.d.ts +1 -1
- package/dist/api/routing/tsort.d.ts.map +1 -1
- package/dist/api/routing/utils.d.ts +3 -3
- package/dist/api/routing/utils.d.ts.map +1 -1
- package/dist/api/routing.d.ts +25 -26
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +83 -35
- package/dist/api/setupRequest.d.ts +8 -5
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +12 -7
- package/dist/api/util.d.ts +1 -1
- package/dist/arbs.d.ts +1 -1
- package/dist/arbs.d.ts.map +1 -1
- package/dist/arbs.js +5 -3
- package/dist/errorReporter.d.ts +4 -4
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +20 -25
- package/dist/errors.d.ts +1 -1
- package/dist/fileUtil.d.ts +1 -1
- package/dist/fileUtil.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/logger/jsonLogger.d.ts +1 -1
- package/dist/logger/logFmtLogger.d.ts +1 -1
- package/dist/logger/shared.d.ts +1 -1
- package/dist/logger/shared.js +2 -2
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/rateLimit.d.ts +9 -3
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +5 -11
- package/dist/test.d.ts +2 -2
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +1 -1
- package/dist/vitest.d.ts +1 -1
- package/examples/query.ts +39 -35
- package/package.json +41 -37
- package/src/CUPS.ts +9 -11
- package/src/Emailer/Sendgrid.ts +17 -14
- package/src/Emailer/service.ts +9 -3
- package/src/MainFiberSet.ts +5 -6
- package/src/Model/Repository/Registry.ts +33 -0
- package/src/Model/Repository/ext.ts +96 -10
- package/src/Model/Repository/internal/internal.ts +97 -88
- package/src/Model/Repository/makeRepo.ts +12 -10
- package/src/Model/Repository/service.ts +31 -22
- package/src/Model/Repository/validation.ts +4 -4
- package/src/Model/Repository.ts +1 -0
- package/src/Model/dsl.ts +3 -3
- package/src/Model/filter/types/path/eager.ts +1 -2
- package/src/Model/query/dsl.ts +18 -18
- package/src/Model/query/new-kid-interpreter.ts +2 -2
- package/src/Model.ts +1 -0
- package/src/QueueMaker/SQLQueue.ts +121 -151
- package/src/QueueMaker/memQueue.ts +82 -103
- package/src/QueueMaker/sbqueue.ts +56 -86
- package/src/RequestContext.ts +8 -10
- package/src/RequestFiberSet.ts +4 -4
- package/src/Store/ContextMapContainer.ts +41 -2
- package/src/Store/Cosmos/query.ts +16 -20
- package/src/Store/Cosmos.ts +452 -342
- package/src/Store/Disk.ts +52 -49
- package/src/Store/Memory.ts +54 -48
- package/src/Store/SQL/Pg.ts +318 -0
- package/src/Store/SQL/query.ts +409 -0
- package/src/Store/SQL.ts +668 -0
- package/src/Store/codeFilter.ts +1 -0
- package/src/Store/index.ts +17 -2
- package/src/Store/service.ts +32 -8
- package/src/Store/utils.ts +23 -22
- package/src/adapters/SQL/Model.ts +10 -4
- package/src/adapters/ServiceBus.ts +112 -116
- package/src/adapters/cosmos-client.ts +2 -2
- package/src/adapters/index.ts +7 -0
- package/src/adapters/memQueue.ts +2 -2
- package/src/adapters/mongo-client.ts +2 -2
- package/src/adapters/redis-client.ts +2 -2
- package/src/api/ContextProvider.ts +12 -13
- package/src/api/internal/RequestContextMiddleware.ts +1 -1
- package/src/api/internal/auth.ts +246 -44
- package/src/api/internal/events.ts +12 -8
- package/src/api/layerUtils.ts +8 -8
- package/src/api/routing/middleware/RouterMiddleware.ts +4 -4
- package/src/api/routing/middleware/middleware.ts +112 -15
- package/src/api/routing/middleware.ts +0 -2
- package/src/api/routing.ts +142 -63
- package/src/api/setupRequest.ts +28 -8
- package/src/arbs.ts +4 -2
- package/src/errorReporter.ts +62 -74
- package/src/logger/shared.ts +1 -1
- package/src/rateLimit.ts +30 -22
- package/src/test.ts +1 -1
- package/test/auth.test.ts +101 -0
- package/test/contextProvider.test.ts +11 -11
- package/test/controller.test.ts +18 -16
- package/test/dist/auth.test.d.ts.map +1 -0
- 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 +26 -12
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +12 -10
- package/test/dist/query.test.d.ts.map +1 -1
- package/test/dist/rawQuery.test.d.ts.map +1 -1
- package/test/dist/repository-ext.test.d.ts.map +1 -0
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/dist/router-generator.test.d.ts.map +1 -0
- package/test/dist/routing-interruptibility.test.d.ts.map +1 -0
- package/test/dist/rpc-e2e-invalidation.test.d.ts.map +1 -0
- package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
- package/test/dist/rpc-stream-fullstack.test.d.ts.map +1 -0
- package/test/dist/sql-store.test.d.ts.map +1 -0
- package/test/fixtures.ts +11 -9
- package/test/query.test.ts +216 -34
- package/test/rawQuery.test.ts +23 -19
- package/test/repository-ext.test.ts +60 -0
- package/test/requires.test.ts +6 -6
- package/test/router-generator.test.ts +180 -0
- package/test/routing-interruptibility.test.ts +63 -0
- package/test/rpc-e2e-invalidation.test.ts +507 -0
- package/test/rpc-multi-middleware.test.ts +78 -9
- package/test/rpc-stream-fullstack.test.ts +325 -0
- package/test/sql-store.test.ts +1064 -0
- package/test/validateSample.test.ts +15 -12
- package/tsconfig.examples.json +1 -1
- package/tsconfig.json +0 -1
- package/tsconfig.json.bak +2 -2
- package/tsconfig.src.json +35 -35
- package/tsconfig.test.json +2 -2
- package/dist/Operations.d.ts +0 -55
- package/dist/Operations.d.ts.map +0 -1
- package/dist/Operations.js +0 -102
- package/dist/OperationsRepo.d.ts +0 -41
- package/dist/OperationsRepo.d.ts.map +0 -1
- package/dist/OperationsRepo.js +0 -14
- package/eslint.config.mjs +0 -24
- package/src/Operations.ts +0 -235
- package/src/OperationsRepo.ts +0 -16
|
@@ -11,11 +11,11 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
11
11
|
body: schema,
|
|
12
12
|
meta: QueueMeta
|
|
13
13
|
});
|
|
14
|
-
const wireSchemaJson = S.fromJsonString(wireSchema);
|
|
14
|
+
const wireSchemaJson = S.fromJsonString(S.toCodecJson(wireSchema));
|
|
15
15
|
const encodePublish = S.encodeEffect(wireSchemaJson);
|
|
16
16
|
const drainW = S.Struct({ body: drainSchema, meta: QueueMeta });
|
|
17
|
-
const drainWJson = S.fromJsonString(drainW);
|
|
18
|
-
const parseDrain = flow(S.
|
|
17
|
+
const drainWJson = S.fromJsonString(S.toCodecJson(drainW));
|
|
18
|
+
const parseDrain = flow(S.decodeUnknownEffectConcurrently(drainWJson), Effect.orDie);
|
|
19
19
|
return Effect.gen(function* () {
|
|
20
20
|
const sender = yield* Sender;
|
|
21
21
|
const receiver = yield* Receiver;
|
|
@@ -26,66 +26,50 @@ export function makeServiceBusQueue(schema, drainSchema) {
|
|
|
26
26
|
// const deferred = yield* Deferred.make<never, ServiceBusError | Error>()
|
|
27
27
|
const queue = {
|
|
28
28
|
drain: (handleEvent, sessionId) => {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
attributes: {
|
|
43
|
-
"queue.name": receiver.name,
|
|
44
|
-
"queue.sessionId": sessionId,
|
|
45
|
-
"queue.input": body
|
|
46
|
-
}
|
|
47
|
-
}));
|
|
48
|
-
if (meta.span) {
|
|
49
|
-
effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
|
|
29
|
+
const processMessage = Effect.fnUntraced(function* (messageBody) {
|
|
30
|
+
const { body, meta } = yield* parseDrain(messageBody).pipe(Effect.orDie);
|
|
31
|
+
let effect = InfraLogger
|
|
32
|
+
.logDebug(`[${receiver.name}] Processing incoming message`)
|
|
33
|
+
.pipe(Effect.annotateLogs({ body: pretty(body), meta: pretty(meta) }), Effect.andThen(handleEvent(body)), Effect.orDie,
|
|
34
|
+
// we silenceAndReportError here, so that the error is reported, and moves into the Exit.
|
|
35
|
+
silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
|
|
36
|
+
captureStackTrace: false,
|
|
37
|
+
kind: "consumer",
|
|
38
|
+
attributes: {
|
|
39
|
+
"queue.name": receiver.name,
|
|
40
|
+
"queue.sessionId": sessionId,
|
|
41
|
+
"queue.input": body
|
|
50
42
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
// we
|
|
56
|
-
Effect.
|
|
57
|
-
|
|
43
|
+
}));
|
|
44
|
+
if (meta.span) {
|
|
45
|
+
effect = Effect.withParentSpan(effect, Tracer.externalSpan(meta.span));
|
|
46
|
+
}
|
|
47
|
+
// we reportError here, so that we report the error only, and keep flowing
|
|
48
|
+
const exit = yield* Effect.tapCause(effect, reportError);
|
|
49
|
+
return yield* exit;
|
|
50
|
+
});
|
|
58
51
|
return receiver
|
|
59
52
|
.subscribe({
|
|
60
53
|
processMessage: (x) => processMessage(x.body).pipe(Effect.uninterruptible),
|
|
61
54
|
processError: (err) => reportQueueError(Cause.fail(err.error))
|
|
62
|
-
// Deferred.completeWith(
|
|
63
|
-
// deferred,
|
|
64
|
-
// reportFatalQueueError(Cause.fail(err.error))
|
|
65
|
-
// .pipe(Effect.andThen(Effect.fail(err.error)))
|
|
66
|
-
// )
|
|
67
55
|
}, sessionId)
|
|
68
|
-
// .pipe(Effect.andThen(Deferred.await(deferred).pipe(Effect.orDie))),
|
|
69
56
|
.pipe(Effect.andThen(Effect.never));
|
|
70
57
|
},
|
|
71
|
-
publish: (
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
58
|
+
publish: Effect.fn("queue.publish: " + sender.name, {
|
|
59
|
+
kind: "producer"
|
|
60
|
+
})(function* (...messages) {
|
|
61
|
+
yield* Effect.annotateCurrentSpan({ "message_tags": messages.map((_) => _._tag) });
|
|
62
|
+
const requestContext = yield* getRequestContext;
|
|
63
|
+
const msgs = yield* Effect.forEach(messages, (m) => encodePublish({ body: m, meta: requestContext }).pipe(Effect.orDie, Effect.map((body) => ({
|
|
64
|
+
body,
|
|
65
|
+
messageId: m.id, /* correllationid: requestId */
|
|
66
|
+
contentType: "application/json",
|
|
67
|
+
sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
|
|
68
|
+
}))));
|
|
69
|
+
yield* sender.sendMessages(msgs);
|
|
76
70
|
})
|
|
77
|
-
.pipe(Effect.orDie, Effect.map((body) => ({
|
|
78
|
-
body,
|
|
79
|
-
messageId: m.id, /* correllationid: requestId */
|
|
80
|
-
contentType: "application/json",
|
|
81
|
-
sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
|
|
82
|
-
}))))
|
|
83
|
-
.pipe(Effect.flatMap((msgs) => sender.sendMessages(msgs)))), Effect.withSpan("queue.publish: " + sender.name, {
|
|
84
|
-
kind: "producer",
|
|
85
|
-
attributes: { "message_tags": messages.map((_) => _._tag) }
|
|
86
|
-
}, { captureStackTrace: false }))
|
|
87
71
|
};
|
|
88
72
|
return queue;
|
|
89
73
|
});
|
|
90
74
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQThCLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUvRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUM3RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzFDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhDLE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsTUFBMEIsRUFDMUIsV0FBeUM7SUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFBO0lBQ2xFLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxD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
|
|
@@ -8,4 +8,4 @@ export interface QueueMakerOps {
|
|
|
8
8
|
}
|
|
9
9
|
export declare const QueueMaker: QueueMakerOps;
|
|
10
10
|
export declare const QueueMeta: typeof RequestContext;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1F1ZXVlTWFrZXIvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVyRCxNQUFNLFdBQVcsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRO0lBQ3RDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQ3BCLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUN0RSxTQUFTLENBQUMsRUFBRSxNQUFNLEtBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUE7SUFDdEQsT0FBTyxFQUFFLENBQ1AsR0FBRyxRQUFRLEVBQUUscUJBQXFCLENBQUMsR0FBRyxDQUFDLEtBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7Q0FDekI7QUFFRCxNQUFNLFdBQVcsYUFBYTtDQUFHO0FBQ2pDLGVBQU8sTUFBTSxVQUFVLEVBQUUsYUFBa0IsQ0FBQTtBQUUzQyxlQUFPLE1BQU0sU0FBUyx1QkFBaUIsQ0FBQSJ9
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -1,37 +1,123 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Context, S } from "effect-app";
|
|
2
|
+
import { NonEmptyString255 } from "effect-app/Schema";
|
|
3
|
+
export declare const Locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
4
|
+
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
4
5
|
Default: A;
|
|
5
|
-
withDefault: S.withConstructorDefault<
|
|
6
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
7
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
6
8
|
};
|
|
7
9
|
Default: "en";
|
|
8
|
-
withDefault: S.withConstructorDefault<
|
|
10
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
11
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
9
12
|
};
|
|
10
13
|
export type Locale = typeof Locale.Type;
|
|
11
|
-
declare const LocaleRef_base:
|
|
14
|
+
declare const LocaleRef_base: Context.Reference<"de" | "en">;
|
|
12
15
|
export declare class LocaleRef extends LocaleRef_base {
|
|
13
16
|
}
|
|
14
|
-
declare const RequestContext_base: S.
|
|
15
|
-
span: S.Struct<{
|
|
17
|
+
declare const RequestContext_base: S.Opaque<RequestContext, RequestContext.Encoded, S.Struct<{
|
|
18
|
+
readonly span: S.Struct<{
|
|
16
19
|
readonly traceId: S.String;
|
|
17
20
|
readonly spanId: S.String;
|
|
18
21
|
readonly sampled: import("effect/Schema").Boolean & {
|
|
19
|
-
withDefault: S.withConstructorDefault<import("effect/Schema").Boolean
|
|
22
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
|
|
23
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
|
|
20
24
|
};
|
|
21
25
|
}>;
|
|
22
|
-
name: S.WithDefaults<S.brand<
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
readonly name: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
27
|
+
readonly Type: NonEmptyString255;
|
|
28
|
+
readonly Iso: NonEmptyString255;
|
|
29
|
+
readonly "~type.make": NonEmptyString255;
|
|
30
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
31
|
+
readonly Type: NonEmptyString255;
|
|
32
|
+
readonly Iso: NonEmptyString255;
|
|
33
|
+
readonly "~type.make": NonEmptyString255;
|
|
34
|
+
};
|
|
35
|
+
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
36
|
+
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
37
|
+
Default: A;
|
|
38
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
39
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
40
|
+
};
|
|
41
|
+
Default: "en";
|
|
42
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
43
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
44
|
+
};
|
|
45
|
+
readonly sourceId: S.optional<S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
46
|
+
readonly Type: NonEmptyString255;
|
|
47
|
+
readonly Iso: NonEmptyString255;
|
|
48
|
+
readonly "~type.make": NonEmptyString255;
|
|
49
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
50
|
+
readonly Type: NonEmptyString255;
|
|
51
|
+
readonly Iso: NonEmptyString255;
|
|
52
|
+
readonly "~type.make": NonEmptyString255;
|
|
53
|
+
}>;
|
|
54
|
+
readonly namespace: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
55
|
+
readonly Type: NonEmptyString255;
|
|
56
|
+
readonly Iso: NonEmptyString255;
|
|
57
|
+
readonly "~type.make": NonEmptyString255;
|
|
58
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
59
|
+
readonly Type: NonEmptyString255;
|
|
60
|
+
readonly Iso: NonEmptyString255;
|
|
61
|
+
readonly "~type.make": NonEmptyString255;
|
|
62
|
+
};
|
|
63
|
+
/** @deprecated */
|
|
64
|
+
readonly userProfile: S.optional<S.Struct<{
|
|
65
|
+
readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
|
|
66
|
+
make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
67
|
+
withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
|
|
68
|
+
} & S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never>>> & S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
|
|
69
|
+
make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
70
|
+
withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
|
|
71
|
+
} & S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never>>;
|
|
72
|
+
}>>;
|
|
73
|
+
}>, {}> & Omit<S.Struct<{
|
|
74
|
+
readonly span: S.Struct<{
|
|
75
|
+
readonly traceId: S.String;
|
|
76
|
+
readonly spanId: S.String;
|
|
77
|
+
readonly sampled: import("effect/Schema").Boolean & {
|
|
78
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
|
|
79
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean>;
|
|
80
|
+
};
|
|
81
|
+
}>;
|
|
82
|
+
readonly name: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
83
|
+
readonly Type: NonEmptyString255;
|
|
84
|
+
readonly Iso: NonEmptyString255;
|
|
85
|
+
readonly "~type.make": NonEmptyString255;
|
|
86
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
87
|
+
readonly Type: NonEmptyString255;
|
|
88
|
+
readonly Iso: NonEmptyString255;
|
|
89
|
+
readonly "~type.make": NonEmptyString255;
|
|
90
|
+
};
|
|
91
|
+
readonly locale: import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
92
|
+
changeDefault: <A extends "de" | "en">(a: A) => import("effect/Schema").Literals<readonly ["en", "de"]> & {
|
|
25
93
|
Default: A;
|
|
26
|
-
withDefault: S.withConstructorDefault<
|
|
94
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
95
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
27
96
|
};
|
|
28
97
|
Default: "en";
|
|
29
|
-
withDefault: S.withConstructorDefault<
|
|
98
|
+
withDefault: S.withConstructorDefault<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
99
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Literals<readonly ["en", "de"]>>;
|
|
100
|
+
};
|
|
101
|
+
readonly sourceId: S.optional<S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
102
|
+
readonly Type: NonEmptyString255;
|
|
103
|
+
readonly Iso: NonEmptyString255;
|
|
104
|
+
readonly "~type.make": NonEmptyString255;
|
|
105
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
106
|
+
readonly Type: NonEmptyString255;
|
|
107
|
+
readonly Iso: NonEmptyString255;
|
|
108
|
+
readonly "~type.make": NonEmptyString255;
|
|
109
|
+
}>;
|
|
110
|
+
readonly namespace: S.WithDefaults<Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
111
|
+
readonly Type: NonEmptyString255;
|
|
112
|
+
readonly Iso: NonEmptyString255;
|
|
113
|
+
readonly "~type.make": NonEmptyString255;
|
|
114
|
+
}> & Omit<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">, "Iso" | "Type" | "~type.make"> & {
|
|
115
|
+
readonly Type: NonEmptyString255;
|
|
116
|
+
readonly Iso: NonEmptyString255;
|
|
117
|
+
readonly "~type.make": NonEmptyString255;
|
|
30
118
|
};
|
|
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
119
|
/** @deprecated */
|
|
34
|
-
userProfile: S.optional<S.Struct<{
|
|
120
|
+
readonly userProfile: S.optional<S.Struct<{
|
|
35
121
|
readonly sub: S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & {
|
|
36
122
|
make: () => string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
37
123
|
withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
|
|
@@ -40,24 +126,24 @@ declare const RequestContext_base: S.EnhancedClass<RequestContext, S.Struct<{
|
|
|
40
126
|
withDefault: S.withConstructorDefault<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never> & S.WithoutConstructorDefault>;
|
|
41
127
|
} & S.WithDefaults<S.Codec<string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand, string, never, never>>;
|
|
42
128
|
}>>;
|
|
43
|
-
}>,
|
|
129
|
+
}>, keyof S.Top>;
|
|
44
130
|
export declare class RequestContext extends RequestContext_base {
|
|
45
131
|
static toMonitoring(this: void, self: RequestContext): {
|
|
46
|
-
operationName:
|
|
47
|
-
locale: "
|
|
132
|
+
operationName: NonEmptyString255;
|
|
133
|
+
locale: "de" | "en";
|
|
48
134
|
};
|
|
49
135
|
}
|
|
50
136
|
export declare const spanAttributes: (ctx: Pick<RequestContext, "locale" | "namespace"> & Partial<RequestContext>) => {
|
|
137
|
+
"request.name": NonEmptyString255 | undefined;
|
|
138
|
+
"request.locale": "de" | "en";
|
|
139
|
+
"request.namespace": string & S.NonEmptyString255Brand;
|
|
140
|
+
"request.source.id"?: NonEmptyString255;
|
|
51
141
|
"request.user.sub"?: string & S.StringIdBrand & import("effect-app/ids").UserProfileIdBrand;
|
|
52
142
|
"request.user.roles"?: unknown;
|
|
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;
|
|
55
|
-
"request.locale": "en" | "de";
|
|
56
|
-
"request.namespace": string & S.B.Brand<"NonEmptyString"> & S.B.Brand<"NonEmptyString64k"> & S.B.Brand<"NonEmptyString2k"> & S.B.Brand<"NonEmptyString255">;
|
|
57
143
|
};
|
|
58
144
|
export declare namespace RequestContext {
|
|
59
|
-
interface Encoded extends S.
|
|
145
|
+
interface Encoded extends S.StructNestedEncoded<typeof RequestContext> {
|
|
60
146
|
}
|
|
61
147
|
}
|
|
62
148
|
export {};
|
|
63
|
-
//# sourceMappingURL=
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXF1ZXN0Q29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV2QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUVyRCxlQUFPLE1BQU0sTUFBTTs7Ozs7Ozs7O0NBQTJCLENBQUE7QUFDOUMsTUFBTSxNQUFNLE1BQU0sR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUE7O0FBRXZDLHFCQUFhLFNBQVUsU0FBUSxjQUFpRTtDQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWVqRyxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQWxCLGtCQUFrQjs7Ozs7Ozs7Ozs7QUFicEIscUJBQWEsY0FBZSxTQUFRLG1CQWVqQztJQUdELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsY0FBYztRQUVoRCxhQUFhO1FBQ2IsTUFBTTtNQUVUO0NBQ0Y7QUFFRCxlQUFPLE1BQU0sY0FBYyxRQUFTLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxHQUFHLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7Ozs7Ozs7Q0FnQnhHLENBQUE7QUFJRix5QkFBaUIsY0FBYyxDQUFDLENBQUM7SUFDL0IsVUFBaUIsT0FBUSxTQUFRLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLGNBQWMsQ0FBQztLQUFHO0NBQ2pGIn0=
|
|
@@ -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,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,MAAM;;;;;;;;;CAA2B,CAAA;AAC9C,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,CAAA;;AAEvC,qBAAa,SAAU,SAAQ,cAAiE;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAejG,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAlB,kBAAkB;;;;;;;;;;;AAbpB,qBAAa,cAAe,SAAQ,mBAejC;IAGD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;QAEhD,aAAa;QACb,MAAM;MAET;CACF;AAED,eAAO,MAAM,cAAc,QAAS,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;CAgBxG,CAAA;AAIF,yBAAiB,cAAc,CAAC,CAAC;IAC/B,UAAiB,OAAQ,SAAQ,CAAC,CAAC,mBAAmB,CAAC,OAAO,cAAc,CAAC;KAAG;CACjF"}
|
package/dist/RequestContext.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context, S } from "effect-app";
|
|
2
2
|
import { UserProfileId } from "effect-app/ids";
|
|
3
3
|
import { NonEmptyString255 } from "effect-app/Schema";
|
|
4
|
-
export const Locale = S.
|
|
5
|
-
export class LocaleRef extends
|
|
4
|
+
export const Locale = S.Literals(["en", "de"]);
|
|
5
|
+
export class LocaleRef extends Context.Reference("Locale", { defaultValue: () => "en" }) {
|
|
6
6
|
}
|
|
7
|
-
export class RequestContext extends S.
|
|
7
|
+
export class RequestContext extends S.Opaque()(S.Struct({
|
|
8
8
|
span: S.Struct({
|
|
9
9
|
traceId: S.String,
|
|
10
10
|
spanId: S.String,
|
|
@@ -16,8 +16,8 @@ export class RequestContext extends S.ExtendedClass("RequestContext")({
|
|
|
16
16
|
namespace: NonEmptyString255,
|
|
17
17
|
/** @deprecated */
|
|
18
18
|
userProfile: S.optional(S.Struct({ sub: UserProfileId })) //
|
|
19
|
-
}) {
|
|
20
|
-
// static Tag =
|
|
19
|
+
})) {
|
|
20
|
+
// static Tag = Context.Tag<RequestContext>()
|
|
21
21
|
static toMonitoring(self) {
|
|
22
22
|
return {
|
|
23
23
|
operationName: self.name,
|
|
@@ -42,8 +42,7 @@ export const spanAttributes = (ctx) => ({
|
|
|
42
42
|
}
|
|
43
43
|
: {})
|
|
44
44
|
});
|
|
45
|
-
/* eslint-enable */
|
|
46
45
|
//
|
|
47
46
|
// codegen:end
|
|
48
47
|
//
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7QUFHOUMsTUFBTSxPQUFPLFNBQVUsU0FBUSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxHQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztDQUFHO0FBRW5HLE1BQU0sT0FBTyxjQUFlLFNBQVEsQ0FBQyxDQUFDLE1BQU0sRUFHekMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1gsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU07UUFDakIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTztLQUNuQixDQUFDO0lBQ0YsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixNQUFNLEVBQUUsTUFBTTtJQUNkLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsUUFBUTtJQUNqRCxTQUFTLEVBQUUsaUJBQWlCO0lBQzVCLGtCQUFrQjtJQUNsQixXQUFXLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0NBQzdELENBQUMsQ0FBQztJQUNELDZDQUE2QztJQUU3QyxNQUFNLENBQUMsWUFBWSxDQUFhLElBQW9CO1FBQ2xELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxHQUEyRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSTtJQUN4QixnQkFBZ0IsRUFBRSxHQUFHLENBQUMsTUFBTTtJQUM1QixtQkFBbUIsRUFBRSxHQUFHLENBQUMsU0FBUztJQUNsQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzVELEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7UUFDdEIsQ0FBQyxDQUFDO1lBQ0Esa0JBQWtCLEVBQUUsR0FBRztpQkFDcEIsV0FBVztpQkFDWCxHQUFHO1lBQ04sb0JBQW9CLEVBQUUsT0FBTyxJQUFJLEdBQUc7aUJBQy9CLFdBQVc7Z0JBQ2QsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSztnQkFDdkIsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUNELENBQUMsQ0FBQyxFQUFFLENBQUM7Q0FDUixDQUFDLENBQUE7QUFPRixFQUFFO0FBQ0YsY0FBYztBQUNkLEVBQUUifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Effect, Fiber, Layer
|
|
1
|
+
import { Context, Effect, Fiber, Layer } 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: Context.ServiceClass<RequestFiberSet, "RequestFiberSet", {
|
|
4
4
|
interrupt: Effect.Effect<void, never, never>;
|
|
5
5
|
join: Effect.Effect<void, any, never>;
|
|
6
6
|
run: <R, XE extends any, XA extends any>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.Fiber<XA, XE>, never, R>;
|
|
@@ -27,10 +27,10 @@ declare const RequestFiberSet_base: ServiceMap.ServiceClass<RequestFiberSet, "Re
|
|
|
27
27
|
*/
|
|
28
28
|
export declare class RequestFiberSet extends RequestFiberSet_base {
|
|
29
29
|
static readonly Live: Layer.Layer<RequestFiberSet, never, never>;
|
|
30
|
-
static readonly register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E,
|
|
31
|
-
static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never,
|
|
32
|
-
static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never,
|
|
33
|
-
static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never,
|
|
30
|
+
static readonly register: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | RequestFiberSet>;
|
|
31
|
+
static readonly run: <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
|
|
32
|
+
static readonly forkDaemonReport: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
|
|
33
|
+
static readonly forkDaemonReportUnexpected: <R, E, A>(self: Effect.Effect<A, E, R>) => Effect.Effect<Fiber.Fiber<A, E>, never, R | RequestFiberSet>;
|
|
34
34
|
}
|
|
35
35
|
export {};
|
|
36
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvUmVxdWVzdEZpYmVyU2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBWSxLQUFLLEVBQXVCLE1BQU0sWUFBWSxDQUFBO0FBZXpGLGVBQU8sTUFBTSxpQkFBaUIsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDJCQUM0QixDQUFBOzs7OztxQkFJekUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBRXZCLFNBQVMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7ZUFPdEMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt1QkF1QjdCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7aUNBZ0IzQixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBcUIzRTs7O0dBR0c7QUFDSCxxQkFBYSxlQUFnQixTQUFRLG9CQUErRDtJQUNsRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksNkNBQWdDO0lBQ3BELE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsOENBQ0Y7SUFDL0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxrRUFDRjtJQUMxRCxNQUFNLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsa0VBQ0Y7SUFDdkUsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsR0FBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtFQUNGO0NBQ2xGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,
|
|
1
|
+
{"version":3,"file":"RequestFiberSet.d.ts","sourceRoot":"","sources":["../src/RequestFiberSet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAuB,MAAM,YAAY,CAAA;AAezF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,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;;;;;;;;;;;;;AAqB3E;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAA+D;IAClG,MAAM,CAAC,QAAQ,CAAC,IAAI,6CAAgC;IACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8CACF;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IAC1D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;IACvE,MAAM,CAAC,QAAQ,CAAC,0BAA0B,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kEACF;CAClF"}
|
package/dist/RequestFiberSet.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Effect, Fiber, FiberSet, Layer,
|
|
2
|
+
import { Context, Effect, Fiber, FiberSet, Layer, Option } 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
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" && span.parent
|
|
10
|
-
span = span.parent;
|
|
9
|
+
while (span._tag === "Span" && Option.isSome(span.parent)) {
|
|
10
|
+
span = span.parent.value;
|
|
11
11
|
}
|
|
12
12
|
return span;
|
|
13
13
|
});
|
|
@@ -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
|
|
71
|
+
export class RequestFiberSet extends Context.Service()("RequestFiberSet", { make }) {
|
|
72
72
|
static Live = Layer.effect(this, this.make);
|
|
73
73
|
static register = (self) => this.asEffect().pipe(Effect.andThen((_) => _.register(self)));
|
|
74
74
|
static run = (self) => this.asEffect().pipe(Effect.andThen((_) => _.run(self)));
|
|
75
75
|
static forkDaemonReport = (self) => this.asEffect().pipe(Effect.andThen((_) => _.forkDaemonReport(self)));
|
|
76
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdEZpYmVyU2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlcXVlc3RGaWJlclNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLE1BQU0sWUFBWSxDQUFBO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUM1QyxJQUFJLElBQUksR0FBMEIsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQzlELE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUNsRSxDQUFBO0lBQ0QsSUFBSSxDQUFDLElBQUk7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUN0QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDMUQsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO0lBQzFCLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBVSxJQUE0QixFQUFFLEVBQUUsQ0FDekUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxD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
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Effect, Layer,
|
|
1
|
+
import { Context, Effect, Layer, RequestResolver } from "effect-app";
|
|
2
|
+
import type * as Request from "effect/Request";
|
|
2
3
|
import { ContextMap } from "./service.js";
|
|
3
|
-
declare const ContextMapContainer_base:
|
|
4
|
+
declare const ContextMapContainer_base: Context.Reference<"root" | ContextMap>;
|
|
4
5
|
export declare class ContextMapContainer extends ContextMapContainer_base {
|
|
5
6
|
static readonly layer: Layer.Layer<never, never, never>;
|
|
6
7
|
}
|
|
@@ -10,5 +11,20 @@ declare const ContextMapNotStartedError_base: new <A extends Record<string, any>
|
|
|
10
11
|
export declare class ContextMapNotStartedError extends ContextMapNotStartedError_base {
|
|
11
12
|
}
|
|
12
13
|
export declare const getContextMap: Effect.Effect<ContextMap, ContextMapNotStartedError, never>;
|
|
14
|
+
/**
|
|
15
|
+
* Uses the official `RequestResolver.withCache` internally,
|
|
16
|
+
* creating one cached resolver per ContextMap (i.e. per request).
|
|
17
|
+
* Uses a shared semaphore in the ContextMap to ensure safe single initialization.
|
|
18
|
+
*/
|
|
19
|
+
export declare const withRequestResolverCache: {
|
|
20
|
+
<A extends Request.Request<any, any>>(options: {
|
|
21
|
+
readonly capacity: number;
|
|
22
|
+
readonly strategy?: "lru" | "fifo" | undefined;
|
|
23
|
+
}): (self: RequestResolver.RequestResolver<A>) => Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
|
|
24
|
+
<A extends Request.Request<any, any>>(self: RequestResolver.RequestResolver<A>, options: {
|
|
25
|
+
readonly capacity: number;
|
|
26
|
+
readonly strategy?: "lru" | "fifo" | undefined;
|
|
27
|
+
}): Effect.Effect<RequestResolver.RequestResolver<A>, ContextMapNotStartedError>;
|
|
28
|
+
};
|
|
13
29
|
export {};
|
|
14
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0b3JlL0NvbnRleHRNYXBDb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUxRSxPQUFPLEtBQUssS0FBSyxPQUFPLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTs7QUFRekMscUJBQWEsbUJBQW9CLFNBQVEsd0JBRXZDO0lBQ0EsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLG1DQUFzRTtDQUM1Rjs7OztBQUVELHFCQUFhLHlCQUEwQixTQUFRLDhCQUE2QztDQUFHO0FBRS9GLGVBQU8sTUFBTSxhQUFhLDZEQUV6QixDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsRUFBRTtJQUNyQyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDN0MsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUE7UUFDekIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUFBO0tBQy9DLEdBQUcsQ0FDRixJQUFJLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsS0FDckMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixDQUFDLENBQUE7SUFDakYsQ0FBQyxDQUFDLFNBQVMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ2xDLElBQUksRUFBRSxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUN4QyxPQUFPLEVBQUU7UUFDUCxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQTtRQUN6QixRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUE7S0FDL0MsR0FDQSxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUseUJBQXlCLENBQUMsQ0FBQTtDQWlCL0UsQ0FBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ContextMapContainer.d.ts","sourceRoot":"","sources":["../../src/Store/ContextMapContainer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE1E,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,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;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE;IACrC,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;QAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GAAG,CACF,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,KACrC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;IACjF,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EACxC,OAAO,EAAE;QACP,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;KAC/C,GACA,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAA;CAiB/E,CAAA"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Data, Effect, Layer,
|
|
1
|
+
import { Context, Data, Effect, Layer, RequestResolver } from "effect-app";
|
|
2
|
+
import { dual } from "effect/Function";
|
|
2
3
|
import { ContextMap } from "./service.js";
|
|
3
4
|
// TODO: we have to create a new contextmap on every request.
|
|
4
5
|
// we want to share one map during startup
|
|
5
6
|
// but we want to make sure we don't re-use the startup map after startup
|
|
6
7
|
// we can call another start after startup. but it would be even better if we could Die on accessing rootmap
|
|
7
8
|
// we could also make the ContextMap optional, and when missing, issue a warning instead?
|
|
8
|
-
export class ContextMapContainer extends
|
|
9
|
+
export class ContextMapContainer extends Context.Reference("ContextMapContainer", {
|
|
9
10
|
defaultValue: () => "root"
|
|
10
11
|
}) {
|
|
11
12
|
static layer = Layer.effect(this, ContextMap.make.pipe(Effect.map(ContextMap.of)));
|
|
@@ -13,4 +14,13 @@ export class ContextMapContainer extends ServiceMap.Reference("ContextMapContain
|
|
|
13
14
|
export class ContextMapNotStartedError extends Data.TaggedError("ContextMapNotStartedError") {
|
|
14
15
|
}
|
|
15
16
|
export const getContextMap = ContextMapContainer.asEffect().pipe(Effect.filterOrFail((_) => _ !== "root", () => new ContextMapNotStartedError()));
|
|
16
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Uses the official `RequestResolver.withCache` internally,
|
|
19
|
+
* creating one cached resolver per ContextMap (i.e. per request).
|
|
20
|
+
* Uses a shared semaphore in the ContextMap to ensure safe single initialization.
|
|
21
|
+
*/
|
|
22
|
+
export const withRequestResolverCache = dual(2, (self, options) => {
|
|
23
|
+
const cacheKey = Symbol();
|
|
24
|
+
return getContextMap.pipe(Effect.flatMap((ctxMap) => ctxMap.getOrCreateStoreEffect(cacheKey, RequestResolver.withCache(self, options))));
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dE1hcENvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TdG9yZS9Db250ZXh0TWFwQ29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLDZEQUE2RDtBQUM3RCwwQ0FBMEM7QUFDMUMseUVBQXlFO0FBQ3pFLDRHQUE0RztBQUM1Ryx5RkFBeUY7QUFFekYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLE9BQU8sQ0FBQyxTQUFTLENBQUMscUJBQXFCLEVBQUU7SUFDaEYsWUFBWSxFQUFFLEdBQXdCLEVBQUUsQ0FBQyxNQUFNO0NBQ2hELENBQUM7SUFDQSxNQUFNLENBQVUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtDQUM1RjtBQUVELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDO0NBQUc7QUFFL0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDOUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUMsQ0FDaEYsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FjakMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUNWLElBQXdDLEVBQ3hDLE9BR0MsRUFDNkUsRUFBRTtJQUNoRixNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsQ0FBQTtJQUN6QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUN4QixNQUFNLENBQUMsc0JBQXNCLENBQzNCLFFBQVEsRUFDUixlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FDekMsQ0FDRixDQUNGLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -21,4 +21,4 @@ export declare function buildWhereCosmosQuery3(idKey: PropertyKey, filter: reado
|
|
|
21
21
|
value: any;
|
|
22
22
|
}[];
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdG9yZS9Db3Ntb3MvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFTLE1BQU0sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBR3RFLE9BQU8sS0FBSyxFQUFXLFlBQVksRUFBTyxNQUFNLGlDQUFpQyxDQUFBO0FBRWpGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUVwRCx3QkFBZ0IsUUFBUSxDQUFDLENBQUMsRUFBRTtJQUMxQixLQUFLLEVBQUUsTUFBTSxDQUFBO0lBQ2IsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLE1BQU0sQ0FBQTtRQUNaLEtBQUssRUFBRSxlQUFlLEdBQUcsU0FBUyxlQUFlLEVBQUUsQ0FBQTtLQUNwRCxFQUFFLENBQUE7Q0FDSixxQ0FjQTtBQVFELHdCQUFnQixzQkFBc0IsQ0FDcEMsS0FBSyxFQUFFLFdBQVcsRUFDbEIsTUFBTSxFQUFFLFNBQVMsWUFBWSxFQUFFLEVBQy9CLElBQUksRUFBRSxNQUFNLEVBQ1osYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxFQUFFLHFCQUFxQixDQUFDLE1BQU0sR0FBRztJQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFBQyxPQUFPLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQTtDQUFFLENBQUMsRUFDcEYsS0FBSyxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUE7Q0FBRSxDQUFDLEVBQ3pFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixLQUFLLENBQUMsRUFBRSxNQUFNO0lBeU9aLEtBQUs7SUFrQkwsVUFBVTs7ZUFJYyxHQUFHOztFQU05QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/Store/Cosmos/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGtE,OAAO,KAAK,EAAW,YAAY,EAAO,MAAM,iCAAiC,CAAA;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAAA;KACpD,EAAE,CAAA;CACJ,qCAcA;AAQD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EACpF,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/Store/Cosmos/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAS,MAAM,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGtE,OAAO,KAAK,EAAW,YAAY,EAAO,MAAM,iCAAiC,CAAA;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,eAAe,GAAG,SAAS,eAAe,EAAE,CAAA;KACpD,EAAE,CAAA;CACJ,qCAcA;AAQD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,EACpF,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;CAAE,CAAC,EACzE,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM;IAyOZ,KAAK;IAkBL,UAAU;;eAIc,GAAG;;EAM9B"}
|