@effect-app/infra 2.92.3 → 2.94.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 +22 -0
- package/dist/MainFiberSet.d.ts +1 -1
- package/dist/Operations.d.ts +1 -1
- package/dist/QueueMaker/sbqueue.d.ts +5 -6
- package/dist/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/QueueMaker/sbqueue.js +18 -22
- package/dist/RequestFiberSet.d.ts +1 -1
- package/dist/Store/service.d.ts +1 -1
- package/dist/adapters/ServiceBus.d.ts +57 -17
- package/dist/adapters/ServiceBus.d.ts.map +1 -1
- package/dist/adapters/ServiceBus.js +75 -61
- package/dist/adapters/memQueue.d.ts +1 -1
- package/dist/api/ContextProvider.d.ts +3 -3
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +1 -1
- package/dist/api/routing/middleware/middleware-api.d.ts +2 -1
- package/dist/api/routing/middleware/middleware-api.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware-api.js +1 -1
- package/dist/api/routing/middleware.d.ts +0 -1
- package/dist/api/routing/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware.js +1 -2
- package/dist/api/routing.d.ts +9 -13
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +24 -16
- package/package.json +2 -6
- package/src/QueueMaker/sbqueue.ts +33 -46
- package/src/adapters/ServiceBus.ts +141 -93
- package/src/api/ContextProvider.ts +9 -7
- package/src/api/routing/middleware/middleware-api.ts +2 -1
- package/src/api/routing/middleware.ts +0 -1
- package/src/api/routing.ts +53 -246
- package/test/contextProvider.test.ts +4 -4
- package/test/controller.test.ts +14 -10
- package/test/dist/controller/test2.test.d.ts.map +1 -0
- package/test/dist/controller.legacy2.test.d.ts.map +1 -0
- package/test/dist/controller.legacy3.test.d.ts.map +1 -0
- package/test/dist/controller.test copy.js +129 -0
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/controller5.test.d.ts.map +1 -0
- package/test/dist/controller6.test.d.ts.map +1 -0
- package/test/dist/controller7.test.d.ts.map +1 -0
- package/test/dist/dynamicContext.test.d.ts.map +1 -0
- package/test/dist/filterApi.test.d.ts.map +1 -0
- package/test/dist/fixtures.d.ts +3 -3
- package/test/dist/fixtures.js +2 -2
- package/test/dist/middleware-api.test.d.ts.map +1 -0
- package/test/dist/requires.d.ts +21 -0
- package/test/dist/requires.d.ts.map +1 -0
- package/test/dist/requires.js +27 -0
- package/test/fixtures.ts +1 -1
- package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
- package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
- package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +37 -0
- package/dist/api/routing/middleware/dynamic-middleware.d.ts +0 -2
- package/dist/api/routing/middleware/dynamic-middleware.d.ts.map +0 -1
- package/dist/api/routing/middleware/dynamic-middleware.js +0 -2
- /package/{src/api/routing/middleware/dynamic-middleware.ts → vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 2.94.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- db2b575: switch to new HttpLayerRouter
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [db2b575]
|
|
12
|
+
- effect-app@2.56.0
|
|
13
|
+
|
|
14
|
+
## 2.93.0
|
|
15
|
+
|
|
16
|
+
### Minor Changes
|
|
17
|
+
|
|
18
|
+
- 37eb29a: improve ServiceBus api
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- Updated dependencies [37eb29a]
|
|
23
|
+
- effect-app@2.55.0
|
|
24
|
+
|
|
3
25
|
## 2.92.3
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/MainFiberSet.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ declare const MainFiberSet_base: (abstract new (service: {
|
|
|
27
27
|
};
|
|
28
28
|
toLayerScoped: {
|
|
29
29
|
(): Layer.Layer<MainFiberSet, never, never>;
|
|
30
|
-
<E_1, R_2>(eff: Effect.Effect<Context.TagClassShape<any, any
|
|
30
|
+
<E_1, R_2>(eff: Effect.Effect<Omit<MainFiberSet, keyof Context.TagClassShape<any, any>>, E_1, R_2>): Layer.Layer<MainFiberSet, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
31
31
|
};
|
|
32
32
|
of: (service: Context.TagClassShape<any, any>) => MainFiberSet;
|
|
33
33
|
make: Effect.Effect<MainFiberSet, never, import("effect/Scope").Scope>;
|
package/dist/Operations.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ declare const Operations_base: (abstract new (service: {
|
|
|
59
59
|
};
|
|
60
60
|
toLayerScoped: {
|
|
61
61
|
(): Layer.Layer<Operations, never, RequestFiberSet | OperationsRepo>;
|
|
62
|
-
<E_1, R_2>(eff: Effect.Effect<Context.TagClassShape<any, any
|
|
62
|
+
<E_1, R_2>(eff: Effect.Effect<Omit<Operations, keyof Context.TagClassShape<any, any>>, E_1, R_2>): Layer.Layer<Operations, E_1, Exclude<R_2, Scope.Scope>>;
|
|
63
63
|
};
|
|
64
64
|
of: (service: Context.TagClassShape<any, any>) => Operations;
|
|
65
65
|
make: Effect.Effect<Operations, never, RequestFiberSet | OperationsRepo>;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Tracer } from "effect";
|
|
2
|
-
import { Effect,
|
|
2
|
+
import { Effect, S } from "effect-app";
|
|
3
3
|
import type { StringId } from "effect-app/Schema";
|
|
4
|
-
import {
|
|
4
|
+
import { Receiver, Sender } from "../adapters/ServiceBus.js";
|
|
5
5
|
export declare function makeServiceBusQueue<Evt extends {
|
|
6
6
|
id: StringId;
|
|
7
7
|
_tag: string;
|
|
8
8
|
}, DrainEvt extends {
|
|
9
9
|
id: StringId;
|
|
10
10
|
_tag: string;
|
|
11
|
-
}, EvtE, DrainEvtE>(
|
|
12
|
-
drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, import("effect/Scope").Scope | Exclude<Exclude<
|
|
11
|
+
}, EvtE, DrainEvtE>(schema: S.Schema<Evt, EvtE>, drainSchema: S.Schema<DrainEvt, DrainEvtE>): Effect.Effect<{
|
|
12
|
+
drain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<void, DrainE, DrainR>, sessionId?: string) => Effect.Effect<never, never, import("effect/Scope").Scope | Exclude<Exclude<DrainR, Tracer.ParentSpan>, import("../RequestContext.js").LocaleRef | import("../Store/ContextMapContainer.js").ContextMapContainer | import("../Store/Memory.js").storeId>>;
|
|
13
13
|
publish: (messages_0: Evt, ...messages: Evt[]) => Effect.Effect<void, never, never>;
|
|
14
|
-
}, never,
|
|
15
|
-
export declare function makeServiceBusLayers(url: string, queueName: string, queueDrainName: string): Layer.Layer<import("@azure/service-bus").ServiceBusSender | ServiceBusReceiverFactory, never, never>;
|
|
14
|
+
}, never, Sender | Receiver>;
|
|
16
15
|
//# sourceMappingURL=sbqueue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbqueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/sbqueue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sbqueue.d.ts","sourceRoot":"","sources":["../../src/QueueMaker/sbqueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAS,MAAM,EAAQ,CAAC,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAM5D,wBAAgB,mBAAmB,CACjC,GAAG,SAAS;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC1C,QAAQ,SAAS;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/C,IAAI,EACJ,SAAS,EAET,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC;YAoB9B,MAAM,EAAE,MAAM,eACP,CAAC,EAAE,EAAE,QAAQ,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,cAC/C,MAAM;;6BAgGzB"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Tracer } from "effect";
|
|
2
|
-
import { Cause, Effect, flow,
|
|
2
|
+
import { Cause, Effect, flow, S } from "effect-app";
|
|
3
3
|
import { pretty } from "effect-app/utils";
|
|
4
|
-
import {
|
|
4
|
+
import { Receiver, Sender } from "../adapters/ServiceBus.js";
|
|
5
5
|
import { getRequestContext, setupRequestContextWithCustomSpan } from "../api/setupRequest.js";
|
|
6
6
|
import { InfraLogger } from "../logger.js";
|
|
7
7
|
import { reportNonInterruptedFailure, reportNonInterruptedFailureCause, reportQueueError } from "./errors.js";
|
|
8
8
|
import { QueueMeta } from "./service.js";
|
|
9
|
-
export function makeServiceBusQueue(
|
|
9
|
+
export function makeServiceBusQueue(schema, drainSchema) {
|
|
10
10
|
const wireSchema = S.Struct({
|
|
11
11
|
body: schema,
|
|
12
12
|
meta: QueueMeta
|
|
@@ -14,10 +14,10 @@ export function makeServiceBusQueue(queueName, queueDrainName, schema, drainSche
|
|
|
14
14
|
const drainW = S.Struct({ body: drainSchema, meta: QueueMeta });
|
|
15
15
|
const parseDrain = flow(S.decodeUnknown(drainW), Effect.orDie);
|
|
16
16
|
return Effect.gen(function* () {
|
|
17
|
-
const
|
|
18
|
-
const receiver = yield*
|
|
19
|
-
const silenceAndReportError = reportNonInterruptedFailure({ name:
|
|
20
|
-
const reportError = reportNonInterruptedFailureCause({ name:
|
|
17
|
+
const sender = yield* Sender;
|
|
18
|
+
const receiver = yield* Receiver;
|
|
19
|
+
const silenceAndReportError = reportNonInterruptedFailure({ name: receiver.name });
|
|
20
|
+
const reportError = reportNonInterruptedFailureCause({ name: receiver.name });
|
|
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>()
|
|
@@ -31,17 +31,17 @@ export function makeServiceBusQueue(queueName, queueDrainName, schema, drainSche
|
|
|
31
31
|
.pipe(Effect.flatMap((x) => parseDrain(x)), Effect.orDie, Effect
|
|
32
32
|
.flatMap(({ body, meta }) => {
|
|
33
33
|
let effect = InfraLogger
|
|
34
|
-
.logDebug(`[${
|
|
34
|
+
.logDebug(`[${receiver.name}] Processing incoming message`)
|
|
35
35
|
.pipe(Effect.annotateLogs({
|
|
36
36
|
body: pretty(body),
|
|
37
37
|
meta: pretty(meta)
|
|
38
38
|
}), Effect.zipRight(handleEvent(body)), Effect.orDie)
|
|
39
39
|
// we silenceAndReportError here, so that the error is reported, and moves into the Exit.
|
|
40
|
-
.pipe(silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${
|
|
40
|
+
.pipe(silenceAndReportError, (_) => setupRequestContextWithCustomSpan(_, meta, `queue.drain: ${receiver.name}${sessionId ? `#${sessionId}` : ""}.${body._tag}`, {
|
|
41
41
|
captureStackTrace: false,
|
|
42
42
|
kind: "consumer",
|
|
43
43
|
attributes: {
|
|
44
|
-
"queue.name":
|
|
44
|
+
"queue.name": receiver.name,
|
|
45
45
|
"queue.sessionId": sessionId,
|
|
46
46
|
"queue.input": body
|
|
47
47
|
}
|
|
@@ -56,7 +56,8 @@ export function makeServiceBusQueue(queueName, queueDrainName, schema, drainSche
|
|
|
56
56
|
// we still need to flatten the Exit.
|
|
57
57
|
Effect.flatMap((_) => _));
|
|
58
58
|
}
|
|
59
|
-
return yield*
|
|
59
|
+
return yield* receiver
|
|
60
|
+
.subscribe({
|
|
60
61
|
processMessage: (x) => processMessage(x.body).pipe(Effect.uninterruptible),
|
|
61
62
|
processError: (err) => reportQueueError(Cause.fail(err.error))
|
|
62
63
|
// Deferred.completeWith(
|
|
@@ -64,26 +65,24 @@ export function makeServiceBusQueue(queueName, queueDrainName, schema, drainSche
|
|
|
64
65
|
// reportFatalQueueError(Cause.fail(err.error))
|
|
65
66
|
// .pipe(Effect.andThen(Effect.fail(err.error)))
|
|
66
67
|
// )
|
|
67
|
-
}, sessionId)
|
|
68
|
-
.pipe(Effect.provideService(ServiceBusReceiverFactory, receiver));
|
|
68
|
+
}, sessionId);
|
|
69
69
|
})
|
|
70
70
|
// .pipe(Effect.andThen(Deferred.await(deferred).pipe(Effect.orDie))),
|
|
71
71
|
.pipe(Effect.andThen(Effect.never)),
|
|
72
72
|
publish: (...messages) => Effect
|
|
73
73
|
.gen(function* () {
|
|
74
74
|
const requestContext = yield* getRequestContext;
|
|
75
|
-
return yield*
|
|
76
|
-
.promise((abortSignal) => s.sendMessages(messages.map((m) => ({
|
|
75
|
+
return yield* sender.sendMessages(messages.map((m) => ({
|
|
77
76
|
body: JSON.stringify(S.encodeSync(wireSchema)({
|
|
78
77
|
body: m,
|
|
79
78
|
meta: requestContext
|
|
80
79
|
})),
|
|
81
80
|
messageId: m.id, /* correllationid: requestId */
|
|
82
81
|
contentType: "application/json",
|
|
83
|
-
sessionId: "sessionId" in m ? m.sessionId : undefined
|
|
84
|
-
}))
|
|
82
|
+
sessionId: "sessionId" in m ? m.sessionId : undefined // TODO: optional
|
|
83
|
+
})));
|
|
85
84
|
})
|
|
86
|
-
.pipe(Effect.withSpan("queue.publish: " +
|
|
85
|
+
.pipe(Effect.withSpan("queue.publish: " + sender.name, {
|
|
87
86
|
captureStackTrace: false,
|
|
88
87
|
kind: "producer",
|
|
89
88
|
attributes: { "message_tags": messages.map((_) => _._tag) }
|
|
@@ -91,7 +90,4 @@ export function makeServiceBusQueue(queueName, queueDrainName, schema, drainSche
|
|
|
91
90
|
};
|
|
92
91
|
});
|
|
93
92
|
}
|
|
94
|
-
|
|
95
|
-
return Layer.merge(ServiceBusReceiverFactory.Live(queueDrainName), LiveSender(queueName)).pipe(Layer.provide(LiveServiceBusClient(url)));
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDMUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDN0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDN0csT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFeEQsTUFBTSxVQUFVLG1CQUFtQixDQU1qQyxTQUFpQixFQUNqQixjQUFzQixFQUN0QixNQUEyQixFQUMzQixXQUEwQztJQUUxQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDL0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFD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
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9RdWV1ZU1ha2VyL3NicXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRW5ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzdGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdHLE9BQU8sRUFBa0IsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhELE1BQU0sVUFBVSxtQkFBbUIsQ0FNakMsTUFBMkIsRUFDM0IsV0FBMEM7SUFFMUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxTQUFTO0tBQ2hCLENBQUMsQ0FBQTtJQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUU5RCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxD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
|
|
@@ -34,7 +34,7 @@ declare const RequestFiberSet_base: (abstract new (service: {
|
|
|
34
34
|
};
|
|
35
35
|
toLayerScoped: {
|
|
36
36
|
(): import("effect/Layer").Layer<RequestFiberSet, never, never>;
|
|
37
|
-
<E_1, R_2>(eff: Effect.Effect<Context.TagClassShape<any, any
|
|
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
38
|
};
|
|
39
39
|
of: (service: Context.TagClassShape<any, any>) => RequestFiberSet;
|
|
40
40
|
make: Effect.Effect<RequestFiberSet, never, import("effect/Scope").Scope>;
|
package/dist/Store/service.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ declare const ContextMap_base: (abstract new (service: {
|
|
|
116
116
|
};
|
|
117
117
|
toLayerScoped: {
|
|
118
118
|
(): import("effect/Layer").Layer<ContextMap, never, never>;
|
|
119
|
-
<E_1, R_2>(eff: Effect.Effect<Context.TagClassShape<any, any
|
|
119
|
+
<E_1, R_2>(eff: Effect.Effect<Omit<ContextMap, keyof Context.TagClassShape<any, any>>, E_1, R_2>): import("effect/Layer").Layer<ContextMap, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
120
120
|
};
|
|
121
121
|
of: (service: Context.TagClassShape<any, any>) => ContextMap;
|
|
122
122
|
make: Effect.Effect<ContextMap, never, never>;
|
|
@@ -1,35 +1,75 @@
|
|
|
1
|
-
import { type OperationOptionsBase, type ProcessErrorArgs, ServiceBusClient, type ServiceBusMessage, type ServiceBusMessageBatch, type ServiceBusReceivedMessage, type ServiceBusReceiver
|
|
1
|
+
import { type OperationOptionsBase, type ProcessErrorArgs, ServiceBusClient, type ServiceBusMessage, type ServiceBusMessageBatch, type ServiceBusReceivedMessage, type ServiceBusReceiver } from "@azure/service-bus";
|
|
2
2
|
import { Context, Effect, Layer, type Scope } from "effect-app";
|
|
3
|
-
|
|
4
|
-
export declare
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
declare const ServiceBusClientTag_base: Context.TagClass<ServiceBusClientTag, "@services/Client", ServiceBusClient>;
|
|
4
|
+
export declare class ServiceBusClientTag extends ServiceBusClientTag_base {
|
|
5
|
+
static readonly layer: (url: string) => Layer.Layer<ServiceBusClientTag, never, never>;
|
|
6
|
+
}
|
|
7
|
+
declare const Sender_base: (abstract new (service: {
|
|
8
|
+
name: string;
|
|
9
|
+
sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit<OperationOptionsBase, "abortSignal"> | undefined) => Effect.Effect<void, never, never>;
|
|
10
|
+
}) => Readonly<{
|
|
11
|
+
name: string;
|
|
12
|
+
sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit<OperationOptionsBase, "abortSignal"> | undefined) => Effect.Effect<void, never, never>;
|
|
13
|
+
}> & Context.TagClassShape<"Sender", {
|
|
14
|
+
name: string;
|
|
15
|
+
sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit<OperationOptionsBase, "abortSignal"> | undefined) => Effect.Effect<void, never, never>;
|
|
16
|
+
}>) & {
|
|
17
|
+
toLayer: <E, R>(eff: Effect.Effect<Omit<Sender, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<Sender, E, R>;
|
|
18
|
+
toLayerScoped: <E, R_1>(eff: Effect.Effect<Omit<Sender, keyof Context.TagClassShape<any, any>>, E, R_1>) => Layer.Layer<Sender, E, Exclude<R_1, Scope.Scope>>;
|
|
19
|
+
of: (service: Omit<Sender, keyof Context.TagClassShape<any, any>>) => Sender;
|
|
20
|
+
} & Context.Tag<Sender, Sender> & {
|
|
21
|
+
name: Effect.Effect<string, never, Sender>;
|
|
22
|
+
sendMessages: (messages: ServiceBusMessage | ServiceBusMessageBatch | ServiceBusMessage[], options?: Omit<OperationOptionsBase, "abortSignal"> | undefined) => Effect.Effect<void, never, Sender>;
|
|
23
|
+
} & {
|
|
24
|
+
use: <X>(body: (_: {
|
|
25
|
+
name: string;
|
|
26
|
+
sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit<OperationOptionsBase, "abortSignal"> | undefined) => Effect.Effect<void, never, never>;
|
|
27
|
+
}) => X) => X extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, R_2 | Sender> : Effect.Effect<X, never, Sender>;
|
|
28
|
+
};
|
|
29
|
+
export declare class Sender extends Sender_base {
|
|
30
|
+
static readonly layer: (name: string) => Layer.Layer<Sender, never, ServiceBusClientTag>;
|
|
31
|
+
}
|
|
32
|
+
export declare const SenderTag: <Id>() => <Key extends string>(queueName: Key) => Context.TagClass<Id, `ServiceBus.Sender.${Key}`, Sender> & {
|
|
33
|
+
layer: Layer.Layer<Id, never, ServiceBusClientTag>;
|
|
34
|
+
};
|
|
35
|
+
declare const Receiver_base: (abstract new (service: {
|
|
36
|
+
name: string;
|
|
7
37
|
make: (waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
8
38
|
makeSession: (sessionId: string, waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
39
|
+
subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>, sessionId?: string): Effect.Effect<void, never, Scope.Scope | RMsg | RErr>;
|
|
9
40
|
}) => Readonly<{
|
|
41
|
+
name: string;
|
|
10
42
|
make: (waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
11
43
|
makeSession: (sessionId: string, waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
12
|
-
|
|
44
|
+
subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>, sessionId?: string): Effect.Effect<void, never, Scope.Scope | RMsg | RErr>;
|
|
45
|
+
}> & Context.TagClassShape<"Receiver", {
|
|
46
|
+
name: string;
|
|
13
47
|
make: (waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
14
48
|
makeSession: (sessionId: string, waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
49
|
+
subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>, sessionId?: string): Effect.Effect<void, never, Scope.Scope | RMsg | RErr>;
|
|
15
50
|
}>) & {
|
|
16
|
-
toLayer: <E, R>(eff: Effect.Effect<Omit<
|
|
17
|
-
toLayerScoped: <E, R_1>(eff: Effect.Effect<Omit<
|
|
18
|
-
of: (service: Omit<
|
|
19
|
-
} & Context.Tag<
|
|
20
|
-
|
|
21
|
-
|
|
51
|
+
toLayer: <E, R>(eff: Effect.Effect<Omit<Receiver, keyof Context.TagClassShape<any, any>>, E, R>) => Layer.Layer<Receiver, E, R>;
|
|
52
|
+
toLayerScoped: <E, R_1>(eff: Effect.Effect<Omit<Receiver, keyof Context.TagClassShape<any, any>>, E, R_1>) => Layer.Layer<Receiver, E, Exclude<R_1, Scope.Scope>>;
|
|
53
|
+
of: (service: Omit<Receiver, keyof Context.TagClassShape<any, any>>) => Receiver;
|
|
54
|
+
} & Context.Tag<Receiver, Receiver> & {
|
|
55
|
+
name: Effect.Effect<string, never, Receiver>;
|
|
56
|
+
make: (waitTillEmpty: Effect<void>) => Effect.Effect<ServiceBusReceiver, never, Scope.Scope | Receiver>;
|
|
57
|
+
makeSession: (sessionId: string, waitTillEmpty: Effect<void>) => Effect.Effect<ServiceBusReceiver, never, Scope.Scope | Receiver>;
|
|
22
58
|
} & {
|
|
23
59
|
use: <X>(body: (_: {
|
|
60
|
+
name: string;
|
|
24
61
|
make: (waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
25
62
|
makeSession: (sessionId: string, waitTillEmpty: Effect<void>) => Effect<ServiceBusReceiver, never, Scope>;
|
|
26
|
-
|
|
63
|
+
subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>, sessionId?: string): Effect.Effect<void, never, Scope.Scope | RMsg | RErr>;
|
|
64
|
+
}) => X) => X extends Effect.Effect<infer A, infer E, infer R_2> ? Effect.Effect<A, E, R_2 | Receiver> : Effect.Effect<X, never, Receiver>;
|
|
27
65
|
};
|
|
28
|
-
export declare class
|
|
29
|
-
static readonly
|
|
66
|
+
export declare class Receiver extends Receiver_base {
|
|
67
|
+
static readonly layer: (name: string) => Layer.Layer<Receiver, never, ServiceBusClientTag>;
|
|
30
68
|
}
|
|
31
|
-
export declare
|
|
32
|
-
|
|
69
|
+
export declare const ReceiverTag: <Id>() => <Key extends string>(queueName: Key) => Context.TagClass<Id, `ServiceBus.Receiver.${Key}`, Receiver> & {
|
|
70
|
+
layer: Layer.Layer<Id, never, ServiceBusClientTag>;
|
|
71
|
+
};
|
|
72
|
+
export declare const SenderReceiver: (queue: string, queueDrain?: string) => Layer.Layer<Sender | Receiver, never, ServiceBusClientTag>;
|
|
33
73
|
export interface MessageHandlers<RMsg, RErr> {
|
|
34
74
|
/**
|
|
35
75
|
* Handler that processes messages from service bus.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../src/adapters/ServiceBus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,KAAK,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../src/adapters/ServiceBus.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,76 +6,90 @@ const withSpanAndLog = (name) => (self) => Effect.logInfo(name).pipe(Effect.zipR
|
|
|
6
6
|
function makeClient(url) {
|
|
7
7
|
return Effect.acquireRelease(Effect.sync(() => new ServiceBusClient(url)).pipe(withSpanAndLog("ServiceBus.client.create")), (client) => Effect.promise(() => client.close()).pipe(withSpanAndLog("ServiceBus.client.close")));
|
|
8
8
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
export class ServiceBusClientTag extends Context.Tag("@services/Client")() {
|
|
10
|
+
static layer = (url) => Layer.scoped(this, makeClient(url));
|
|
11
|
+
}
|
|
12
|
+
function makeSender_(queueName) {
|
|
12
13
|
return Effect.gen(function* () {
|
|
13
|
-
const serviceBusClient = yield*
|
|
14
|
+
const serviceBusClient = yield* ServiceBusClientTag;
|
|
14
15
|
return yield* Effect.acquireRelease(Effect.sync(() => serviceBusClient.createSender(queueName)).pipe(withSpanAndLog(`ServiceBus.sender.create ${queueName}`)), (sender) => Effect.promise(() => sender.close()).pipe(withSpanAndLog(`ServiceBus.sender.close ${queueName}`)));
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
.
|
|
18
|
+
const makeSender = (name) => Effect.gen(function* () {
|
|
19
|
+
const sender = yield* makeSender_(name);
|
|
20
|
+
const sendMessages = Effect.fnUntraced(function* (messages, options) {
|
|
21
|
+
return yield* Effect.promise((abortSignal) => sender.sendMessages(messages, { ...options, abortSignal }));
|
|
22
|
+
});
|
|
23
|
+
return { name, sendMessages };
|
|
24
|
+
});
|
|
25
|
+
export class Sender extends Context.TagId("Sender")() {
|
|
26
|
+
static layer = (name) => this.toLayerScoped(makeSender(name));
|
|
21
27
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
28
|
+
export const SenderTag = () => (queueName) => {
|
|
29
|
+
const tag = Context.Tag(`ServiceBus.Sender.${queueName}`)();
|
|
30
|
+
return Object.assign(tag, {
|
|
31
|
+
layer: Layer.scoped(tag, makeSender(queueName).pipe(Effect.map((_) => Sender.of(_))))
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
const makeReceiver = (name) => Effect.gen(function* () {
|
|
35
|
+
const serviceBusClient = yield* ServiceBusClientTag;
|
|
36
|
+
const makeReceiver = Effect.fnUntraced(function* (queueName, waitTillEmpty, sessionId) {
|
|
25
37
|
return yield* Effect.acquireRelease((sessionId
|
|
26
38
|
? Effect.promise(() => serviceBusClient.acceptSession(queueName, sessionId))
|
|
27
39
|
: Effect.sync(() => serviceBusClient.createReceiver(queueName)))
|
|
28
40
|
.pipe(withSpanAndLog(`ServiceBus.receiver.create ${queueName}.${sessionId}`)), (r) => waitTillEmpty.pipe(withSpanAndLog(`ServiceBus.receiver.waitTillEmpty ${queueName}.${sessionId}`), Effect.andThen(Effect.promise(() => r.close()).pipe(withSpanAndLog(`ServiceBus.receiver.close ${queueName}.${sessionId}`))), withSpanAndLog(`ServiceBus.receiver.release ${queueName}.${sessionId}`)));
|
|
29
41
|
});
|
|
42
|
+
const make = (waitTillEmpty) => makeReceiver(name, waitTillEmpty);
|
|
43
|
+
const makeSession = (sessionId, waitTillEmpty) => makeReceiver(name, waitTillEmpty, sessionId);
|
|
44
|
+
return {
|
|
45
|
+
name,
|
|
46
|
+
make,
|
|
47
|
+
makeSession,
|
|
48
|
+
subscribe: Effect.fnUntraced(function* (hndlr, sessionId) {
|
|
49
|
+
const fs = yield* FiberSet.make();
|
|
50
|
+
const fr = yield* FiberSet.runtime(fs)();
|
|
51
|
+
const wait = Effect
|
|
52
|
+
.gen(function* () {
|
|
53
|
+
if ((yield* FiberSet.size(fs)) > 0) {
|
|
54
|
+
yield* InfraLogger.logDebug("Waiting ServiceBusFiberSet to be empty: " + (yield* FiberSet.size(fs)));
|
|
55
|
+
}
|
|
56
|
+
while ((yield* FiberSet.size(fs)) > 0)
|
|
57
|
+
yield* Effect.sleep("250 millis");
|
|
58
|
+
});
|
|
59
|
+
const r = yield* sessionId
|
|
60
|
+
? makeSession(sessionId, wait)
|
|
61
|
+
: make(wait);
|
|
62
|
+
const runEffect = (effect) => new Promise((resolve, reject) => fr(effect)
|
|
63
|
+
.addObserver((exit) => {
|
|
64
|
+
if (Exit.isSuccess(exit)) {
|
|
65
|
+
resolve(exit.value);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
// disable @typescript-eslint/prefer-promise-reject-errors
|
|
69
|
+
reject(Cause.pretty(exit.cause, { renderErrorCause: true }));
|
|
70
|
+
}
|
|
71
|
+
}));
|
|
72
|
+
yield* Effect.acquireRelease(Effect
|
|
73
|
+
.sync(() => r
|
|
74
|
+
.subscribe({
|
|
75
|
+
processError: (err) => runEffect(hndlr
|
|
76
|
+
.processError(err)
|
|
77
|
+
.pipe(Effect.catchAllCause((cause) => Effect.logError(`ServiceBus Error ${sessionId}`, cause)))),
|
|
78
|
+
processMessage: (msg) => runEffect(hndlr.processMessage(msg))
|
|
79
|
+
// DO NOT CATCH ERRORS here as they should return to the queue!
|
|
80
|
+
}))
|
|
81
|
+
.pipe(withSpanAndLog(`ServiceBus.subscription.create ${sessionId}`)), (subscription) => Effect.promise(() => subscription.close()).pipe(withSpanAndLog(`ServiceBus.subscription.close ${sessionId}`)));
|
|
82
|
+
})
|
|
83
|
+
};
|
|
84
|
+
});
|
|
85
|
+
export class Receiver extends Context.TagId("Receiver")() {
|
|
86
|
+
static layer = (name) => this.toLayer(makeReceiver(name));
|
|
30
87
|
}
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}))));
|
|
36
|
-
}
|
|
37
|
-
export function sendMessages(messages, options) {
|
|
38
|
-
return Effect.gen(function* () {
|
|
39
|
-
const s = yield* Sender;
|
|
40
|
-
return yield* Effect.promise(() => s.sendMessages(messages, options));
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
export function subscribe(hndlr, sessionId) {
|
|
44
|
-
return Effect.gen(function* () {
|
|
45
|
-
const rf = yield* ServiceBusReceiverFactory;
|
|
46
|
-
const fs = yield* FiberSet.make();
|
|
47
|
-
const fr = yield* FiberSet.runtime(fs)();
|
|
48
|
-
const wait = Effect
|
|
49
|
-
.gen(function* () {
|
|
50
|
-
if ((yield* FiberSet.size(fs)) > 0) {
|
|
51
|
-
yield* InfraLogger.logDebug("Waiting ServiceBusFiberSet to be empty: " + (yield* FiberSet.size(fs)));
|
|
52
|
-
}
|
|
53
|
-
while ((yield* FiberSet.size(fs)) > 0)
|
|
54
|
-
yield* Effect.sleep("250 millis");
|
|
55
|
-
});
|
|
56
|
-
const r = yield* sessionId
|
|
57
|
-
? rf.makeSession(sessionId, wait)
|
|
58
|
-
: rf.make(wait);
|
|
59
|
-
const runEffect = (effect) => new Promise((resolve, reject) => fr(effect)
|
|
60
|
-
.addObserver((exit) => {
|
|
61
|
-
if (Exit.isSuccess(exit)) {
|
|
62
|
-
resolve(exit.value);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
// disable @typescript-eslint/prefer-promise-reject-errors
|
|
66
|
-
reject(Cause.pretty(exit.cause, { renderErrorCause: true }));
|
|
67
|
-
}
|
|
68
|
-
}));
|
|
69
|
-
yield* Effect.acquireRelease(Effect
|
|
70
|
-
.sync(() => r
|
|
71
|
-
.subscribe({
|
|
72
|
-
processError: (err) => runEffect(hndlr
|
|
73
|
-
.processError(err)
|
|
74
|
-
.pipe(Effect.catchAllCause((cause) => Effect.logError(`ServiceBus Error ${sessionId}`, cause)))),
|
|
75
|
-
processMessage: (msg) => runEffect(hndlr.processMessage(msg))
|
|
76
|
-
// DO NOT CATCH ERRORS here as they should return to the queue!
|
|
77
|
-
}))
|
|
78
|
-
.pipe(withSpanAndLog(`ServiceBus.subscription.create ${sessionId}`)), (subscription) => Effect.promise(() => subscription.close()).pipe(withSpanAndLog(`ServiceBus.subscription.close ${sessionId}`)));
|
|
88
|
+
export const ReceiverTag = () => (queueName) => {
|
|
89
|
+
const tag = Context.Tag(`ServiceBus.Receiver.${queueName}`)();
|
|
90
|
+
return Object.assign(tag, {
|
|
91
|
+
layer: Layer.effect(tag, makeReceiver(queueName).pipe(Effect.map((_) => Receiver.of(_))))
|
|
79
92
|
});
|
|
80
|
-
}
|
|
81
|
-
|
|
93
|
+
};
|
|
94
|
+
export const SenderReceiver = (queue, queueDrain) => Layer.mergeAll(Sender.layer(queue), Receiver.layer(queueDrain ?? queue));
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9TZXJ2aWNlQnVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9FQUFvRTtBQUNwRSxPQUFPLEVBQW9ELGdCQUFnQixFQUFnSCxNQUFNLG9CQUFvQixDQUFBO0FBQ3JOLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBYyxNQUFNLFlBQVksQ0FBQTtBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTFDLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFVLElBQXFCLEVBQUUsRUFBRSxDQUMxRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDdkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFDckIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUMxQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUN4QixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUN0QixDQUFBO0FBRUgsU0FBUyxVQUFVLENBQUMsR0FBVztJQUM3QixPQUFPLE1BQU0sQ0FBQyxjQUFjLENBQzFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxFQUM3RixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlC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
|
|
@@ -12,7 +12,7 @@ declare const MemQueue_base: (abstract new (service: {
|
|
|
12
12
|
};
|
|
13
13
|
toLayerScoped: {
|
|
14
14
|
(): import("effect/Layer").Layer<MemQueue, never, never>;
|
|
15
|
-
<E_1, R_2>(eff: Effect.Effect<Context.TagClassShape<any, any
|
|
15
|
+
<E_1, R_2>(eff: Effect.Effect<Omit<MemQueue, keyof Context.TagClassShape<any, any>>, E_1, R_2>): import("effect/Layer").Layer<MemQueue, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
16
16
|
};
|
|
17
17
|
of: (service: Context.TagClassShape<any, any>) => MemQueue;
|
|
18
18
|
make: Effect.Effect<MemQueue, never, never>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context, Effect, Layer, type NonEmptyReadonlyArray, type Scope } from "effect-app";
|
|
2
|
-
import { type
|
|
2
|
+
import { type HttpLayerRouter } from "effect-app/http";
|
|
3
3
|
import { type Tag } from "effect/Context";
|
|
4
4
|
import { type YieldWrap } from "effect/Utils";
|
|
5
5
|
import { type ContextTagWithDefault, type GetContext, type LayerUtils } from "./layerUtils.js";
|
|
@@ -18,9 +18,9 @@ export interface ContextProviderId {
|
|
|
18
18
|
type TDepsArr<TDeps extends ReadonlyArray<any>> = {
|
|
19
19
|
[K in keyof TDeps]: TDeps[K] extends (ContextTagWithDefault.Base<Effect<Context.Context<infer _1>, never, infer _R> & {
|
|
20
20
|
_tag: infer _2;
|
|
21
|
-
}>) ? [_R] extends [
|
|
21
|
+
}>) ? [_R] extends [HttpLayerRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : TDeps[K] extends (ContextTagWithDefault.Base<(() => Generator<infer _YW, infer _1, infer _2>) & {
|
|
22
22
|
_tag: infer _3;
|
|
23
|
-
}>) ? [_YW] extends [never] ? TDeps[K] : [_YW] extends [YieldWrap<Effect<infer _2, never, infer _R>>] ? [_R] extends [
|
|
23
|
+
}>) ? [_YW] extends [never] ? TDeps[K] : [_YW] extends [YieldWrap<Effect<infer _2, never, infer _R>>] ? [_R] extends [HttpLayerRouter.Provided] ? TDeps[K] : `HttpLayerRouter.Provided is the only requirement ${TDeps[K]["Service"]["_tag"]}'s returned effect can have` : "WTF are you yielding man?" : `You cannot throw errors from providers`;
|
|
24
24
|
};
|
|
25
25
|
export declare const mergeContextProviders: <TDeps extends ReadonlyArray<any>>(...deps: TDepsArr<TDeps>) => {
|
|
26
26
|
dependencies: { [K in keyof TDeps]: TDeps[K]["Default"]; };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextProvider.d.ts","sourceRoot":"","sources":["../../src/api/ContextProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAQ,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAEjG,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ContextProvider.d.ts","sourceRoot":"","sources":["../../src/api/ContextProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,4 +35,4 @@ export const MergedContextProvider = (
|
|
|
35
35
|
// long life to reverse mapped types
|
|
36
36
|
...deps) => pipe(deps, (_) => mergeContextProviders(..._), (_) => ContextProvider(_));
|
|
37
37
|
export const EmptyContextProvider = ContextProvider({ effect: Effect.succeed(Effect.succeed(Context.empty())) });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9Db250ZXh0UHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBOEIsSUFBSSxFQUFjLE1BQU0sWUFBWSxDQUFBO0FBS2pHLE9BQU8sRUFBZ0UsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUEwRTdHLGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztBQUduQyxvQ0FBb0M7QUFDcEMsR0FBRyxJQUFxQixFQWF4QixFQUFFLENBQUMsQ0FBQztJQUNKLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBRSxDQUFTLENBQUMsT0FBTyxDQUFRO0lBQ3hELE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMxQixpREFBaUQ7UUFDakQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFhLENBQUMsQ0FBQTtRQUMvQyxPQUFPLE1BQU07YUFDVixHQUFHLENBQUMsUUFBUSxDQUFDO1lBQ1osTUFBTSxRQUFRLEdBQUksTUFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNwRDtnQkFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDZCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNO2FBQ2xHLENBQ0YsQ0FBQyxDQUFBO1lBQ0YsOERBQThEO1lBQzlELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFlLENBQUMsQ0FBQTtZQUNyRCxPQUFPLE9BQU8sQ0FBQTtRQUNoQixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBUTtDQUNWLENBQUMsQ0FBQTtBQUVGLHVJQUF1STtBQUN2SSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FPN0IsS0FZQyxFQUNELEVBQUU7SUFDRixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUk1QixpQkFBaUIsQ0FDbEIsQ0FBQTtJQUNELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN6QixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRSxFQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNsSCxDQUFBO0lBQ0QsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBUSxDQUFDLENBQUE7SUFDckMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtRQUN4QixPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDYixLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FPekU7S0FDRixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFFRCxpRUFBaUU7QUFDakUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7QUFHbkMsb0NBQW9DO0FBQ3BDLEdBQUcsSUFBcUIsRUFDeEIsRUFBRSxDQUNGLElBQUksQ0FDRixJQUFxRCxFQUNyRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMscUJBQXFCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDbEMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFRLENBQUMsQ0FlakMsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEifQ==
|