@effect-app/infra 0.133.0-next.4 → 0.133.0-next.41
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 +330 -0
- package/_cjs/RequestContext.cjs +9 -10
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/_ext/Array.cjs +4 -3
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/_global.ext.cjs +1 -25
- package/_cjs/_global.ext.cjs.map +1 -1
- package/_cjs/_global.schema.cjs +1 -1
- package/_cjs/api/codec.cjs +1 -1
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/express/schema/jwt.cjs +1 -1
- package/_cjs/api/setupRequest.cjs +31 -30
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errors.cjs +6 -2
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +11 -12
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +10 -11
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +4 -4
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/service.cjs +1 -1
- package/_cjs/services/Repository.cjs +2 -2
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +13 -5
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +3 -3
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +1 -1
- package/_cjs/services/simpledb/shared.cjs +1 -1
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +9 -0
- package/_cjs/test.arbs.cjs.map +1 -0
- package/_src/RequestContext.ts +9 -12
- package/_src/_ext/Array.ts +3 -3
- package/_src/_global.ext.ts +2 -27
- package/_src/_global.schema.ts +1 -1
- package/_src/api/codec.ts +1 -1
- package/_src/api/express/schema/jwt.ts +1 -1
- package/_src/api/express/schema/routing.ts +1 -1
- package/_src/api/setupRequest.ts +39 -34
- package/_src/errors.ts +9 -5
- package/_src/services/QueueMaker/memQueue.ts +3 -3
- package/_src/services/QueueMaker/sbqueue.ts +3 -3
- package/_src/services/Repository.ts +37 -40
- package/_src/services/RepositoryBase.ts +25 -19
- package/_src/services/Store/service.ts +4 -4
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/_src/test.arbs.ts +23 -0
- package/dist/RequestContext.d.ts +72 -24
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +11 -12
- package/dist/_ext/Array.d.ts +2 -2
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +5 -4
- package/dist/_global.ext.d.ts +1 -22
- package/dist/_global.ext.d.ts.map +1 -1
- package/dist/_global.ext.js +2 -18
- package/dist/_global.schema.d.ts +1 -1
- package/dist/_global.schema.d.ts.map +1 -1
- package/dist/_global.schema.js +2 -2
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/codec.js +2 -2
- package/dist/api/express/schema/jwt.d.ts +1 -1
- package/dist/api/express/schema/jwt.d.ts.map +1 -1
- package/dist/api/express/schema/jwt.js +2 -2
- package/dist/api/express/schema/routing.d.ts +1 -1
- package/dist/api/express/schema/routing.d.ts.map +1 -1
- package/dist/api/setupRequest.d.ts +4 -4
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +31 -37
- package/dist/errors.d.ts +4 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +5 -2
- package/dist/services/Emailer/service.d.ts +1 -1
- package/dist/services/Operations/live.js +16 -17
- package/dist/services/Operations/service.d.ts +4 -4
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.d.ts +4 -4
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +10 -11
- package/dist/services/QueueMaker/sbqueue.d.ts +4 -4
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +4 -4
- package/dist/services/QueueMaker/service.d.ts +1 -1
- package/dist/services/QueueMaker/service.js +1 -1
- package/dist/services/Repository.d.ts +39 -39
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +3 -3
- package/dist/services/RepositoryBase.d.ts +16 -16
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +11 -6
- package/dist/services/RequestContextContainer.d.ts +3 -3
- package/dist/services/RequestContextContainer.js +3 -3
- package/dist/services/Store/service.d.ts +4 -4
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/redisdb.d.ts +8 -4
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.js +2 -2
- package/dist/services/simpledb/shared.d.ts +7 -3
- package/dist/services/simpledb/shared.d.ts.map +1 -1
- package/dist/services/simpledb/shared.js +2 -2
- package/dist/services/simpledb/simpledb.d.ts +3 -3
- package/dist/test.arbs.d.ts +2 -0
- package/dist/test.arbs.d.ts.map +1 -0
- package/dist/test.arbs.js +6 -0
- package/package.json +19 -9
- package/_src/test.arbs.ts.bak +0 -27
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Tag } from "effect/Context";
|
|
2
|
-
import type { REST } from "@effect-app/
|
|
2
|
+
import type { REST } from "@effect-app/schema";
|
|
3
3
|
export type Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, PPath extends `/${string}`> = REST.ReqRes<unknown, ReqA> & {
|
|
4
4
|
method: REST.Methods.Rest;
|
|
5
5
|
path: PPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/routing.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,13 @@ import { RequestContext } from "../RequestContext.js";
|
|
|
3
3
|
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
4
4
|
import { ContextMapContainer } from "../services/Store/ContextMapContainer.js";
|
|
5
5
|
/**
|
|
6
|
-
* @tsplus fluent effect/io/Effect
|
|
6
|
+
* @tsplus fluent effect/io/Effect setupRequestContext
|
|
7
7
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function setupRequestContext<R, E, A>(self: Effect<R, E, A>, requestContext: RequestContext | string): import("effect/Effect").Effect<RequestContextContainer | ContextMapContainer | Exclude<Exclude<R, import("effect/Tracer").ParentSpan>, never>, E, A>;
|
|
10
10
|
/**
|
|
11
|
-
* @tsplus fluent effect/io/Effect
|
|
11
|
+
* @tsplus fluent effect/io/Effect updateRequestContext
|
|
12
12
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
13
13
|
*/
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function updateRequestContext<R, E, A>(self: Effect<R, E, A>, f: (rc: RequestContext) => RequestContext): import("effect/Effect").Effect<RequestContextContainer | Exclude<R, never>, E, A>;
|
|
15
15
|
//# sourceMappingURL=setupRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;;;;;
|
|
1
|
+
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAA;;;;;AAiD9E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM,wJAI1G;;;;;AAQD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,qFAI7G"}
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,56 +1,50 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
3
|
-
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/schema";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/infra/services/RequestContextContainer";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Layer";
|
|
4
5
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
5
6
|
import { RequestContext } from "../RequestContext.js";
|
|
6
7
|
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
7
8
|
import { ContextMapContainer } from "../services/Store/ContextMapContainer.js";
|
|
8
|
-
/**
|
|
9
|
-
* @tsplus fluent effect/io/Effect setupRequestContextFromName
|
|
10
|
-
*/
|
|
11
|
-
export function setupRequestContextFromName(self, name) {
|
|
12
|
-
return tsplus_module_1.flatMap(makeInternalRequestContext(name), (rc) => setupRequestContext_1(self, rc));
|
|
13
|
-
}
|
|
14
9
|
function makeInternalRequestContext(name) {
|
|
15
|
-
return
|
|
10
|
+
return tsplus_module_2.sync(() => {
|
|
16
11
|
const id = RequestId.make();
|
|
17
12
|
return new RequestContext({
|
|
18
13
|
id,
|
|
19
14
|
rootId: id,
|
|
20
15
|
locale: "en",
|
|
21
|
-
name:
|
|
16
|
+
name: tsplus_module_1.NonEmptyString255(name)
|
|
22
17
|
});
|
|
23
18
|
});
|
|
24
19
|
}
|
|
25
|
-
const withRequestSpan = (f) =>
|
|
26
|
-
.get, (ctx) =>
|
|
27
|
-
attributes: {
|
|
28
|
-
"request.id": ctx.id,
|
|
29
|
-
"request.name": ctx.name,
|
|
30
|
-
"request.locale": ctx.locale,
|
|
31
|
-
"request.namespace": ctx.namespace,
|
|
32
|
-
...ctx.userProfile?.sub
|
|
33
|
-
? {
|
|
34
|
-
"request.user.sub": ctx
|
|
35
|
-
.userProfile
|
|
36
|
-
.sub,
|
|
37
|
-
"request.user.roles": "roles" in ctx
|
|
38
|
-
.userProfile
|
|
39
|
-
? ctx.userProfile.roles
|
|
40
|
-
: undefined
|
|
41
|
-
}
|
|
42
|
-
: {}
|
|
43
|
-
}
|
|
44
|
-
})
|
|
20
|
+
const withRequestSpan = (f) => tsplus_module_2.andThen(RequestContextContainer
|
|
21
|
+
.get, (ctx) => tsplus_module_2.withLogSpan(tsplus_module_2.withSpan(f, "request", { attributes: tsplus_module_3.spanAttributes(ctx) })
|
|
45
22
|
// request context info is picked up directly in the logger for annotations.
|
|
46
23
|
, "request"));
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
24
|
+
const setupContextMap = tsplus_module_4.effectDiscard(tsplus_module_2.andThen(ContextMapContainer, (_) => _.start));
|
|
25
|
+
// const RequestContextLiveFromRequestContext = (requestContext: RequestContext) =>
|
|
26
|
+
// RequestContext.Tag.makeLayer(requestContext)
|
|
27
|
+
// memoization problem
|
|
28
|
+
// const RequestContextLive = RequestContextContainer.get.toLayer(RequestContext.Tag)
|
|
29
|
+
const RequestContextStartLiveFromRequestContext = (requestContext) => tsplus_module_4.provideMerge(setupContextMap
|
|
30
|
+
// .provideMerge(RequestContextLiveFromRequestContext(requestContext))
|
|
31
|
+
, tsplus_module_4.effectDiscard(tsplus_module_2.andThen(RequestContextContainer, (_) => _.start(requestContext))));
|
|
32
|
+
const RequestContextStartLive = (requestContext) => typeof requestContext === "string"
|
|
33
|
+
? tsplus_module_4.unwrapEffect(tsplus_module_2.andThen(makeInternalRequestContext(requestContext), RequestContextStartLiveFromRequestContext)) : RequestContextStartLiveFromRequestContext(requestContext);
|
|
50
34
|
/**
|
|
51
35
|
* @tsplus fluent effect/io/Effect setupRequestContext
|
|
52
36
|
*/
|
|
53
|
-
function
|
|
54
|
-
return
|
|
37
|
+
export function setupRequestContext(self, requestContext) {
|
|
38
|
+
return tsplus_module_2.provide(self
|
|
39
|
+
.pipe(withRequestSpan), RequestContextStartLive(requestContext));
|
|
40
|
+
}
|
|
41
|
+
const UpdateRequestContextLive = (f) => tsplus_module_4.effectDiscard(tsplus_module_2.andThen(RequestContextContainer, (rcc) => rcc.update(f)));
|
|
42
|
+
/**
|
|
43
|
+
* @tsplus fluent effect/io/Effect updateRequestContext
|
|
44
|
+
*/
|
|
45
|
+
export function updateRequestContext(self, f) {
|
|
46
|
+
return tsplus_module_2.provide(self
|
|
47
|
+
// .provideServiceEffect(RequestContext.Tag, RequestContextContainer.get)
|
|
48
|
+
, UpdateRequestContextLive(f));
|
|
55
49
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvc2V0dXBSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFBO0FBRTlFLFNBQVMsMEJBQTBCLENBQUMsSUFBWTtJQUM5QyxPQUFPLHFCQUFZLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDM0IsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixFQUFFO1lBQ0YsTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxnQkFBQSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxlQUFlLEdBQUcsQ0FBVSxDQUFrQixFQUFFLEVBQUUsQ0FDdEQsd0JBQUEsdUJBQXVCO0tBQ3BCLEdBQUcsRUFDSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2YsNEJBQUEseUJBQUEsQ0FBQyxFQUNXLFNBQVMsRUFBRSxFQUFFLFVBQVUsaUNBQUUsR0FBRyxDQUFlLEVBQUUsQ0FBQztBQUN4RCw0RUFBNEU7RUFDL0QsU0FBUyxDQUFDLENBQzFCLENBQUE7QUFFTCxNQUFNLGVBQWUsaUNBQUcsd0JBQUEsbUJBQW1CLEVBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBZSxDQUFBO0FBRWxGLG1GQUFtRjtBQUNuRixpREFBaUQ7QUFDakQsc0JBQXNCO0FBQ3RCLHFGQUFxRjtBQUNyRixNQUFNLHlDQUF5QyxHQUFHLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQ25GLDZCQUFBLGVBQWU7QUFDYixzRUFBc0U7Z0NBRXBFLHdCQUFBLHVCQUF1QixFQUNaLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBRTNDLENBQUE7QUFFTCxNQUFNLHVCQUF1QixHQUFHLENBQUMsY0FBdUMsRUFBRSxFQUFFLENBQzFFLE9BQU8sY0FBYyxLQUFLLFFBQVE7SUFDaEMsQ0FBQyw4QkFBQyx3QkFBQSwwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFDakMseUNBQXlDLENBQUMsRUFFckQsQ0FBQyxDQUFDLHlDQUF5QyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFVLElBQXFCLEVBQUUsY0FBdUM7SUFDekcsT0FBTyx3QkFBQSxJQUFJO1NBQ1IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUNiLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7QUFDckQsQ0FBQztBQUVELE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxDQUF5QyxFQUFFLEVBQUUsK0JBQzdFLHdCQUFBLHVCQUF1QixFQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWUsQ0FBQTtBQUV4RTs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBVSxJQUFxQixFQUFFLENBQXlDO0lBQzVHLE9BQU8sd0JBQUEsSUFBSTtJQUNULHlFQUF5RTtNQUNoRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3pDLENBQUMifQ==
|
package/dist/errors.d.ts
CHANGED
|
@@ -4,14 +4,14 @@ declare const NotFoundError_base: new <A extends Record<string, any> = {}>(args:
|
|
|
4
4
|
readonly _tag: "NotFoundError";
|
|
5
5
|
} & Readonly<A>;
|
|
6
6
|
/** @tsplus type NotFoundError */
|
|
7
|
-
export declare class NotFoundError<T extends string = string> extends NotFoundError_base<{
|
|
7
|
+
export declare class NotFoundError<Id, T extends string = string> extends NotFoundError_base<{
|
|
8
8
|
message: string;
|
|
9
9
|
type: T;
|
|
10
|
-
id:
|
|
10
|
+
id: Id;
|
|
11
11
|
}> {
|
|
12
12
|
constructor(args: {
|
|
13
13
|
readonly type: T;
|
|
14
|
-
readonly id:
|
|
14
|
+
readonly id: Id;
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
declare const ValidationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
@@ -21,6 +21,7 @@ declare const ValidationError_base: new <A extends Record<string, any> = {}>(arg
|
|
|
21
21
|
export declare class ValidationError extends ValidationError_base<{
|
|
22
22
|
errors: ReadonlyArray<unknown>;
|
|
23
23
|
}> {
|
|
24
|
+
get message(): string;
|
|
24
25
|
}
|
|
25
26
|
declare const NotLoggedInError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal").Equal ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
|
|
26
27
|
readonly _tag: "NotLoggedInError";
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../_src/errors.ts"],"names":[],"mappings":";;;;;AAGA,iCAAiC;AACjC,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../_src/errors.ts"],"names":[],"mappings":";;;;;AAGA,iCAAiC;AACjC,qBAAa,aAAa,CAAC,EAAE,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CACtD,SAAQ,mBAAkC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,EAAE,EAAE,CAAA;CAAE,CAAC;gBAEnE,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;KAAE;CAGxD;;;;AAED,mCAAmC;AACnC,qBAAa,eAAgB,SAAQ,qBAAoC;IAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;IAC1G,IAAa,OAAO,WAEnB;CACF;;;;AAED,oCAAoC;AACpC,qBAAa,gBAAiB,SAAQ,sBAAqC;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;gBAC9F,OAAO,CAAC,EAAE,MAAM;CAG7B;;;;AAED,qCAAqC;AACrC,qBAAa,iBAAkB,SAAQ,uBAAsC;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;gBAChG,OAAO,CAAC,EAAE,MAAM;CAG7B;;;;AAED;;GAEG;AACH,8BAA8B;AAC9B,qBAAa,UAAW,SAAQ,gBAAoC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;gBAC1E,OAAO,EAAE,MAAM;CAG5B;;;;AAED,qCAAqC;AACrC,qBAAa,iBAAkB,SAAQ,uBAAsC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;gBACnF,OAAO,EAAE,MAAM;CAG5B;AAED,kCAAkC;AAClC,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC9B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAA9C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAW,IAAI,EAAE,MAAM;IAYnE,MAAM;;;;;;;IAaG,QAAQ;CAGlB;;;;AAED,kDAAkD;AAClD,qBAAa,8BAA+B,SAAQ,oCAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CACxG;gBAEG,IAAI,EAAE;QACJ,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACpC;CAIJ"}
|
package/dist/errors.js
CHANGED
|
@@ -5,11 +5,14 @@ import { makeFiberFailure } from "effect/Runtime";
|
|
|
5
5
|
/** @tsplus type NotFoundError */
|
|
6
6
|
export class NotFoundError extends tsplus_module_1.TaggedError("NotFoundError") {
|
|
7
7
|
constructor(args) {
|
|
8
|
-
super({ ...args, message: `Didn't find ${args.type}#${args.id}` });
|
|
8
|
+
super({ ...args, message: `Didn't find ${args.type}#${JSON.stringify(args.id)}` });
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
/** @tsplus type ValidationError */
|
|
12
12
|
export class ValidationError extends tsplus_module_1.TaggedError("ValidationError") {
|
|
13
|
+
get message() {
|
|
14
|
+
return `Validation failed: ${this.errors.map((e) => JSON.stringify(e)).join(", ")}`;
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
17
|
/** @tsplus type NotLoggedInError */
|
|
15
18
|
export class NotLoggedInError extends tsplus_module_1.TaggedError("NotLoggedInError") {
|
|
@@ -76,4 +79,4 @@ export class OptimisticConcurrencyException extends tsplus_module_1.TaggedError(
|
|
|
76
79
|
super({ ...args, message: `Existing ${args.type} ${args.id} record changed` });
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFakQsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyxhQUNYLFNBQVEsNEJBQWlCLGVBQWUsQ0FBdUM7SUFFL0UsWUFBWSxJQUEyQztRQUNyRCxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3BGLENBQUM7Q0FDRjtBQUVELG1DQUFtQztBQUNuQyxNQUFNLE9BQU8sZUFBZ0IsU0FBUSw0QkFBaUIsaUJBQWlCLENBQXFDO0lBQzFHLElBQWEsT0FBTztRQUNsQixPQUFPLHNCQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBQ3JGLENBQUM7Q0FDRjtBQUVELG9DQUFvQztBQUNwQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsNEJBQWlCLGtCQUFrQixDQUFtQztJQUMxRyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBRUQscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSw0QkFBaUIsbUJBQW1CLENBQW1DO0lBQzVHLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILDhCQUE4QjtBQUM5QixNQUFNLE9BQU8sVUFBVyxTQUFRLDRCQUFpQixpQkFBaUIsQ0FBc0I7SUFDdEYsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBRUQscUNBQXFDO0FBQ3JDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSw0QkFBaUIsbUJBQW1CLENBQXNCO0lBQy9GLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVELGtDQUFrQztBQUNsQyxNQUFNLE9BQU8sY0FBa0IsU0FBUSxLQUFLO0lBQzFDLFlBQXFCLGFBQXVCLEVBQVcsSUFBWTtRQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1FBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLEtBQUssRUFBRSxDQUFBO1FBSFksa0JBQWEsR0FBYixhQUFhLENBQVU7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSWpFLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUE7UUFDekIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUE7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7U0FDbkMsQ0FBQTtJQUNILENBQUM7SUFFRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBQ1EsUUFBUTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsdUJBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQUVELGtEQUFrRDtBQUNsRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsNEJBQWlCLGdDQUFnQyxDQUVwRztJQUNDLFlBQ0UsSUFLQztRQUVELEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxZQUFZLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFBO0lBQ2hGLENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagClass } from "@effect-app/prelude/service";
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
|
-
import { Email, NonEmptyString255 } from "@effect-app/
|
|
3
|
+
import { Email, NonEmptyString255 } from "@effect-app/schema";
|
|
4
4
|
import { Secret } from "effect/Secret";
|
|
5
5
|
import { NonEmptyReadonlyArray } from "effect/ReadonlyArray";
|
|
6
6
|
import type { MailContent, MailData } from "@sendgrid/helpers/classes/mail.js";
|
|
@@ -5,14 +5,13 @@ import * as tsplus_module_4 from "@effect-app/core/Array";
|
|
|
5
5
|
import * as tsplus_module_5 from "effect/Chunk";
|
|
6
6
|
import * as tsplus_module_6 from "effect/Exit";
|
|
7
7
|
import * as tsplus_module_7 from "effect/Cause";
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/
|
|
9
|
-
import * as tsplus_module_9 from "@effect
|
|
10
|
-
import * as tsplus_module_10 from "@effect/
|
|
11
|
-
import * as tsplus_module_11 from "@effect-app/
|
|
12
|
-
import * as tsplus_module_12 from "
|
|
13
|
-
import * as tsplus_module_13 from "effect/
|
|
14
|
-
import * as tsplus_module_14 from "effect/
|
|
15
|
-
import * as tsplus_module_15 from "effect/Layer";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/schema";
|
|
9
|
+
import * as tsplus_module_9 from "@effect/schema/Parser";
|
|
10
|
+
import * as tsplus_module_10 from "@effect-app/core/Option";
|
|
11
|
+
import * as tsplus_module_11 from "@effect-app/prelude/_ext/misc";
|
|
12
|
+
import * as tsplus_module_12 from "effect/Duration";
|
|
13
|
+
import * as tsplus_module_13 from "effect/Schedule";
|
|
14
|
+
import * as tsplus_module_14 from "effect/Layer";
|
|
16
15
|
import { reportError } from "@effect-app/infra/errorReporter";
|
|
17
16
|
import { Failure, Operation, OperationId, Success } from "@effect-app/prelude/Operations";
|
|
18
17
|
import { Operations } from "./service.js";
|
|
@@ -50,13 +49,13 @@ const make = tsplus_module_1.sync(() => {
|
|
|
50
49
|
? new Success()
|
|
51
50
|
: new Failure({
|
|
52
51
|
message: tsplus_module_7.isInterrupted(exit.cause)
|
|
53
|
-
? tsplus_module_8.
|
|
52
|
+
? tsplus_module_8.NonEmptyString2k("Interrupted")
|
|
54
53
|
: tsplus_module_7.isDie(exit.cause)
|
|
55
|
-
? tsplus_module_8.
|
|
56
|
-
:
|
|
57
|
-
.cause), (_) => typeof _ === "object" && _ !== null && "message" in _ &&
|
|
54
|
+
? tsplus_module_8.NonEmptyString2k("Unknown error")
|
|
55
|
+
: tsplus_module_10.getOrUndefined(tsplus_module_3.flatMap(tsplus_module_7.failureOption(exit
|
|
56
|
+
.cause), (_) => typeof _ === "object" && _ !== null && "message" in _ && tsplus_module_9.is(tsplus_module_8.NonEmptyString2k)(_.message)
|
|
58
57
|
? tsplus_module_3.some(_.message)
|
|
59
|
-
:
|
|
58
|
+
: tsplus_module_10.none)) ?? null
|
|
60
59
|
})
|
|
61
60
|
});
|
|
62
61
|
}));
|
|
@@ -71,7 +70,7 @@ const make = tsplus_module_1.sync(() => {
|
|
|
71
70
|
}
|
|
72
71
|
return {
|
|
73
72
|
cleanup,
|
|
74
|
-
register: tsplus_module_1.tap(makeOp, (id) => tsplus_module_1.zipRight(tsplus_module_1.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))(
|
|
73
|
+
register: tsplus_module_1.tap(makeOp, (id) => tsplus_module_1.zipRight(tsplus_module_1.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))(tsplus_module_11.annotateLogscoped("operationId", id))),
|
|
75
74
|
find: findOp,
|
|
76
75
|
update
|
|
77
76
|
};
|
|
@@ -83,9 +82,9 @@ const cleanupLoop = tsplus_module_1.forkScoped(tsplus_module_1.schedule(tsplus_m
|
|
|
83
82
|
else {
|
|
84
83
|
return reportAppError(_.cause);
|
|
85
84
|
}
|
|
86
|
-
}),
|
|
85
|
+
}), tsplus_module_13.fixed(tsplus_module_12.minutes(1))));
|
|
87
86
|
/**
|
|
88
87
|
* @tsplus static Operations.Ops Live
|
|
89
88
|
*/
|
|
90
|
-
export const Live =
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
export const Live = tsplus_module_14.provideMerge(tsplus_module_14.scopedDiscard(cleanupLoop), tsplus_module_14.effect(Operations)(make));
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvT3BlcmF0aW9ucy9saXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0FBRXhELE1BQU0sSUFBSSxHQUFHLHFCQUFZLEdBQWUsRUFBRTtJQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQTtJQUM3QyxNQUFNLE1BQU0sR0FBRywyQkFBTyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUV6QyxNQUFNLE9BQU8sR0FBRyx5QkFBQSxxQkFDUixHQUFHLEVBQUU7UUFDVCxNQUFNLE1BQU0sR0FBRyw2QkFBQSxJQUFJLElBQUksRUFBRSxFQUFVLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLHNEQUFBLEdBQUc7YUFDQSxPQUFPLEVBQUUsR0FFRCxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsMEJBQUEsNkJBQW9CLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBVyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDbkYsSUFBSSxXQUFXLEdBQUcsTUFBTSxFQUFFLENBQUM7Z0JBQ3pCLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUE7WUFDaEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLEVBQ1Esb0JBQW9CLENBQUMs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
|
|
@@ -29,21 +29,21 @@ export declare namespace Operations {
|
|
|
29
29
|
* @tsplus getter effect/io/Effect forkOperation
|
|
30
30
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
31
31
|
*/
|
|
32
|
-
export declare function forkOperation<R, E, A>(self: Effect<R, E, A>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema
|
|
32
|
+
export declare function forkOperation<R, E, A>(self: Effect<R, E, A>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema").StringId>;
|
|
33
33
|
/**
|
|
34
34
|
* @tsplus getter function forkOperation
|
|
35
35
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
36
36
|
*/
|
|
37
|
-
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<R, E, A>): (inp: Inp) => import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema
|
|
37
|
+
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<R, E, A>): (inp: Inp) => import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema").StringId>;
|
|
38
38
|
/**
|
|
39
39
|
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
40
40
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
41
41
|
*/
|
|
42
|
-
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<R, E, A>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema
|
|
42
|
+
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<R, E, A>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope>, never, import("@effect-app/schema").StringId>;
|
|
43
43
|
/**
|
|
44
44
|
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
45
45
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
46
46
|
*/
|
|
47
|
-
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<R, E, A>, fnc: (id: OperationId) => Effect<R2, E2, A2>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>, never, import("@effect-app/schema
|
|
47
|
+
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<R, E, A>, fnc: (id: OperationId) => Effect<R2, E2, A2>): import("effect/Effect").Effect<Operations.Id | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>, never, import("@effect-app/schema").StringId>;
|
|
48
48
|
export {};
|
|
49
49
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Operations/service.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC/F,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;cAOzB,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;iBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;eACzE,WAAW,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;aACzD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;cAHzB,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;iBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;eACzE,WAAW,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;aACzD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;AARrC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAKhB;CAAG;AACnB,yBAAiB,UAAU,CAAC;IAC1B,UAAiB,EAAE;QACjB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;KAC1B;CACF;;;;;AAKD,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/Operations/service.ts"],"names":[],"mappings":";;;AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAC/F,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;cAOzB,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;iBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;eACzE,WAAW,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;aACzD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;cAHzB,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;iBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;eACzE,WAAW,KAAK,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,SAAS,CAAC,CAAC;aACzD,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;;AARrC;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAKhB;CAAG;AACnB,yBAAiB,UAAU,CAAC;IAC1B,UAAiB,EAAE;QACjB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;KAC1B;CACF;;;;;AAKD,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yHAY3D;;;;;AAKD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SACvE,GAAG,2HACjB;;;;;AAKD,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yHAYnF;;;;;AAKD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EACzD,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1C,GAAG,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,oJAc7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { StringId } from "@effect-app/
|
|
1
|
+
import { StringId } from "@effect-app/schema";
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
3
|
import { MemQueue } from "@effect-app/infra-adapters/memQueue";
|
|
4
|
-
import type {
|
|
4
|
+
import type { S } from "@effect-app/prelude";
|
|
5
5
|
import { Tracer } from "effect";
|
|
6
6
|
import { RequestContextContainer } from "../RequestContextContainer.js";
|
|
7
7
|
/**
|
|
@@ -14,8 +14,8 @@ export declare function makeMemQueue<Evt extends {
|
|
|
14
14
|
}, DrainEvt extends {
|
|
15
15
|
id: StringId;
|
|
16
16
|
_tag: string;
|
|
17
|
-
}, EvtE>(queueName: string, queueDrainName: string, schema:
|
|
17
|
+
}, EvtE>(queueName: string, queueDrainName: string, schema: S.Schema<EvtE, Evt>, drainSchema: S.Schema<unknown, DrainEvt>): import("effect/Effect").Effect<RequestContextContainer | MemQueue, never, {
|
|
18
18
|
publish: (messages_0: Evt, ...messages_1: Evt[]) => import("effect/Effect").Effect<never, never, import("effect/Fiber").RuntimeFiber<never, void[]>>;
|
|
19
|
-
makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<DrainR, DrainE, void>) => import("effect/Effect").Effect<import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<DrainR, Tracer.ParentSpan>, Tracer.ParentSpan>, never, import("effect/Fiber").RuntimeFiber<never, never>>;
|
|
19
|
+
makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<DrainR, DrainE, void>) => import("effect/Effect").Effect<import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, never, import("effect/Fiber").RuntimeFiber<never, never>>;
|
|
20
20
|
}>;
|
|
21
21
|
//# sourceMappingURL=memQueue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../../_src/services/QueueMaker/memQueue.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE9D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memQueue.d.ts","sourceRoot":"","sources":["../../../_src/services/QueueMaker/memQueue.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAE9D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;;;;;AAOvE,wBAAgB,YAAY,CAC1B,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,EAEJ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;;kDAmChB,QAAQ,KAAK,OAAO,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;GAwClE"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@effect-app/
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/schema";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/schema/Parser";
|
|
3
3
|
import * as tsplus_module_3 from "effect/Effect";
|
|
4
4
|
import * as tsplus_module_4 from "@effect-app/core/Function";
|
|
5
5
|
import * as tsplus_module_5 from "@effect-app/core/_ext/Iterable";
|
|
6
6
|
import * as tsplus_module_6 from "@effect-app/infra/services/QueueMaker/errors";
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/
|
|
9
|
-
import * as tsplus_module_9 from "
|
|
10
|
-
import * as tsplus_module_10 from "effect/Fiber";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/prelude/utils";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/infra/api/setupRequest";
|
|
9
|
+
import * as tsplus_module_9 from "effect/Fiber";
|
|
11
10
|
import { MemQueue } from "@effect-app/infra-adapters/memQueue";
|
|
12
11
|
import { RequestContext } from "@effect-app/infra/RequestContext";
|
|
13
12
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
@@ -42,12 +41,12 @@ export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
42
41
|
const silenceAndReportError = reportNonInterruptedFailure({ name: "MemQueue.drain." + queueDrainName });
|
|
43
42
|
const processMessage = (msg) =>
|
|
44
43
|
// we JSON parse, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
45
|
-
tsplus_module_3.flatMap(tsplus_module_3.orDie(tsplus_module_3.flatMap(tsplus_module_3.sync(() => JSON.parse(msg)), parseDrain)), ({ body, meta }) => tsplus_module_3.withSpan(
|
|
46
|
-
.pipe(tsplus_module_3.annotateLogs({ body:
|
|
44
|
+
tsplus_module_3.flatMap(tsplus_module_3.orDie(tsplus_module_3.flatMap(tsplus_module_3.sync(() => JSON.parse(msg)), parseDrain)), ({ body, meta }) => tsplus_module_3.withSpan(tsplus_module_8.setupRequestContext(tsplus_module_3.zipRight(tsplus_module_3.logDebug(`$$ [${queueDrainName}] Processing incoming message`)
|
|
45
|
+
.pipe(tsplus_module_3.annotateLogs({ body: tsplus_module_7.RecordPretty(tsplus_module_7.object$(body)), meta: tsplus_module_7.RecordPretty(tsplus_module_7.object$(meta)) })), handleEvent(body))
|
|
47
46
|
.pipe(silenceAndReportError), RequestContext.inherit(meta.requestContext, {
|
|
48
|
-
id:
|
|
47
|
+
id: RequestId(body.id),
|
|
49
48
|
locale: "en",
|
|
50
|
-
name:
|
|
49
|
+
name: tsplus_module_1.NonEmptyString255(body._tag)
|
|
51
50
|
})), "queue.drain", {
|
|
52
51
|
attributes: { "queue.name": queueDrainName },
|
|
53
52
|
parent: meta.span
|
|
@@ -55,7 +54,7 @@ export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
55
54
|
: undefined
|
|
56
55
|
}));
|
|
57
56
|
return yield* $(tsplus_module_3.forkScoped(tsplus_module_3.forever(tsplus_module_3.flatMap(qDrain
|
|
58
|
-
.take, (x) => tsplus_module_3.flatMap(tsplus_module_3.fork(tsplus_module_3.uninterruptible(processMessage(x))), (_) =>
|
|
57
|
+
.take, (x) => tsplus_module_3.flatMap(tsplus_module_3.fork(tsplus_module_3.uninterruptible(processMessage(x))), (_) => tsplus_module_9.join(_)))
|
|
59
58
|
// TODO: normally a failed item would be returned to the queue and retried up to X times.
|
|
60
59
|
// .flatMap(_ => _._tag === "Failure" && !isInterrupted ? qDrain.offer(x) : Effect.unit) // TODO: retry count tracking and max retries.
|
|
61
60
|
.pipe(silenceAndReportError))));
|
|
@@ -63,4 +62,4 @@ export function makeMemQueue(queueName, queueDrainName, schema, drainSchema) {
|
|
|
63
62
|
};
|
|
64
63
|
});
|
|
65
64
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1F1ZXVlTWFrZXIvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekQsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUsxQixTQUFpQixFQUNqQixjQUFzQixFQUN0QixNQUEyQixFQUMzQixXQUF3QztJQUV4QyxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDN0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFN0MsTUFBTSxVQUFVLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLEVBQUUs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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { StringId } from "@effect-app/
|
|
1
|
+
import { StringId } from "@effect-app/schema";
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
|
-
import type {
|
|
3
|
+
import type { S } from "@effect-app/prelude";
|
|
4
4
|
import { Tracer } from "effect";
|
|
5
5
|
import { RequestContextContainer } from "../RequestContextContainer.js";
|
|
6
6
|
/**
|
|
@@ -13,8 +13,8 @@ export declare function makeServiceBusQueue<Evt extends {
|
|
|
13
13
|
}, DrainEvt extends {
|
|
14
14
|
id: StringId;
|
|
15
15
|
_tag: string;
|
|
16
|
-
}, EvtE>(_queueName: string, queueDrainName: string, schema:
|
|
17
|
-
makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<DrainR, DrainE, void>) => import("effect/Effect").Effect<import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, Tracer.ParentSpan>, import("@azure/service-bus").ServiceBusReceiver>, never, void>;
|
|
16
|
+
}, EvtE>(_queueName: string, queueDrainName: string, schema: S.Schema<EvtE, Evt>, drainSchema: S.Schema<unknown, DrainEvt>): import("effect/Effect").Effect<RequestContextContainer | import("@azure/service-bus").ServiceBusReceiver | import("@azure/service-bus").ServiceBusSender, never, {
|
|
17
|
+
makeDrain: <DrainE, DrainR>(handleEvent: (ks: DrainEvt) => Effect<DrainR, DrainE, void>) => import("effect/Effect").Effect<import("effect/Scope").Scope | RequestContextContainer | import("../Store/ContextMapContainer.js").ContextMapContainer | Exclude<Exclude<Exclude<Exclude<DrainR, Tracer.ParentSpan>, never>, Tracer.ParentSpan>, import("@azure/service-bus").ServiceBusReceiver>, never, void>;
|
|
18
18
|
publish: (messages_0: Evt, ...messages_1: Evt[]) => import("effect/Effect").Effect<never, never, import("effect/Fiber").RuntimeFiber<never, void>>;
|
|
19
19
|
}>;
|
|
20
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sbqueue.d.ts","sourceRoot":"","sources":["../../../_src/services/QueueMaker/sbqueue.ts"],"names":[],"mappings":";;AAWA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sbqueue.d.ts","sourceRoot":"","sources":["../../../_src/services/QueueMaker/sbqueue.ts"],"names":[],"mappings":";;AAWA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;;;;;AAOvE,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,EAEJ,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC;kDAmBhB,QAAQ,KAAK,OAAO,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;;GAiElE;;;;;AAKD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,+IAE1F"}
|
|
@@ -2,7 +2,7 @@ import * as tsplus_module_1 from "@effect/schema/Parser";
|
|
|
2
2
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
3
|
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
4
4
|
import * as tsplus_module_4 from "@effect-app/core/Tag";
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/schema";
|
|
6
6
|
import * as tsplus_module_6 from "@effect-app/prelude/utils";
|
|
7
7
|
import * as tsplus_module_7 from "@effect-app/infra/api/setupRequest";
|
|
8
8
|
import * as tsplus_module_8 from "@effect-app/infra/services/QueueMaker/errors";
|
|
@@ -39,9 +39,9 @@ export function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSch
|
|
|
39
39
|
function processMessage(messageBody) {
|
|
40
40
|
return tsplus_module_2.tapErrorCause(tsplus_module_2.flatMap(tsplus_module_2.orDie(tsplus_module_2.flatMap(tsplus_module_2.sync(() => JSON.parse(messageBody)), (x) => parseDrain(x))), ({ body, meta }) => tsplus_module_2.withSpan(tsplus_module_7.setupRequestContext(tsplus_module_2.orDie(tsplus_module_2.zipRight(tsplus_module_2.logDebug(`$$ [${queueDrainName}] Processing incoming message`)
|
|
41
41
|
.pipe(tsplus_module_2.annotateLogs({ body: tsplus_module_6.RecordPretty(tsplus_module_6.object$(body)), meta: tsplus_module_6.RecordPretty(tsplus_module_6.object$(meta)) })), handleEvent(body))).pipe(silenceAndReportError), RequestContext.inherit(meta.requestContext, {
|
|
42
|
-
id:
|
|
42
|
+
id: RequestId(body.id),
|
|
43
43
|
locale: "en",
|
|
44
|
-
name: tsplus_module_5.
|
|
44
|
+
name: tsplus_module_5.NonEmptyString255(body._tag)
|
|
45
45
|
})), "queue.drain", {
|
|
46
46
|
attributes: { "queue.name": queueDrainName },
|
|
47
47
|
parent: meta.span
|
|
@@ -75,4 +75,4 @@ export function makeServiceBusQueue(_queueName, queueDrainName, schema, drainSch
|
|
|
75
75
|
export function makeServiceBusLayers(url, queueName, queueDrainName) {
|
|
76
76
|
return tsplus_module_9.provide(LiveServiceBusClient(url))((tsplus_module_9.merge(LiveSender(queueName))(LiveReceiver(queueDrainName))));
|
|
77
77
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvUXVldWVNYWtlci9zYnF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLHVDQUF1QyxDQUFBO0FBRTlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDL0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzNGLE9BQU8sRUFBa0IsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUtqQyxVQUFrQixFQUNsQixjQUFzQixFQUN0QixNQUEyQixFQUMzQixXQUF3QztJQUV4QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLGdCQUFBLElBQUksdUJBQUMsTUFBTSxHQUFRLENBQUMs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
|
|
@@ -18,10 +18,10 @@ export declare const QueueMeta: import("@effect-app/schema").Schema<{
|
|
|
18
18
|
readonly requestContext: {
|
|
19
19
|
readonly _tag: "RequestContext";
|
|
20
20
|
readonly id: string;
|
|
21
|
-
readonly rootId: string;
|
|
22
21
|
readonly name: string;
|
|
23
22
|
readonly locale: "en" | "de";
|
|
24
23
|
readonly createdAt: string;
|
|
24
|
+
readonly rootId: string;
|
|
25
25
|
readonly userProfile?: {
|
|
26
26
|
readonly sub: string;
|
|
27
27
|
} | undefined;
|