@effect-app/infra 0.133.0-next.0 → 0.133.0-next.10
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 +89 -0
- package/_cjs/RequestContext.cjs +3 -4
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/_global.ext.cjs +15 -4
- 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/express/schema/routing.cjs +23 -0
- package/_cjs/api/express/schema/routing.cjs.map +1 -0
- package/_cjs/api/setupRequest.cjs +2 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errors.cjs +5 -1
- 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/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 +0 -1
- package/_src/_global.ext.ts +14 -8
- 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 +236 -0
- package/_src/errors.ts +5 -1
- 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 +5 -5
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +4 -5
- package/dist/_global.ext.d.ts +13 -3
- package/dist/_global.ext.d.ts.map +1 -1
- package/dist/_global.ext.js +12 -3
- 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 +31 -0
- package/dist/api/express/schema/routing.d.ts.map +1 -0
- package/dist/api/express/schema/routing.js +10 -0
- package/dist/api/setupRequest.js +3 -3
- package/dist/errors.d.ts +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -1
- 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 +1 -1
- package/dist/services/QueueMaker/memQueue.js +10 -11
- package/dist/services/QueueMaker/sbqueue.d.ts +1 -1
- package/dist/services/QueueMaker/sbqueue.js +4 -4
- package/dist/services/QueueMaker/service.js +1 -1
- package/dist/services/Repository.js +3 -3
- package/dist/services/RequestContextContainer.d.ts +4 -4
- package/dist/services/RequestContextContainer.js +3 -3
- package/dist/services/simpledb/redisdb.d.ts +1 -1
- 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 +2 -2
- package/dist/services/simpledb/shared.d.ts.map +1 -1
- package/dist/services/simpledb/shared.js +2 -2
- 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 +25 -5
- package/_src/api/express/schema/routing.ts.bak +0 -241
- package/_src/test.arbs.ts.bak +0 -27
package/dist/_global.ext.d.ts
CHANGED
|
@@ -30,11 +30,21 @@ import type {} from "@effect-app/infra/api/setupRequest";
|
|
|
30
30
|
* @tsplus global
|
|
31
31
|
*/
|
|
32
32
|
import {} from "@effect-app/infra/api/reportError";
|
|
33
|
+
import "@effect-app/infra/test.arbs";
|
|
33
34
|
import { S } from "@effect-app/schema/schema";
|
|
34
|
-
import type { ParseOptions } from "@effect/schema/AST";
|
|
35
35
|
/**
|
|
36
|
-
* @tsplus fluent effect/schema/Schema
|
|
36
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
37
37
|
* @tsplus location "@effect-app/infra/_global.ext"
|
|
38
38
|
*/
|
|
39
|
-
export declare const
|
|
39
|
+
export declare const defaultDate: <From>(s: S.Schema<From, Date>) => S.ConstructorPropertyDescriptor<From, Date>;
|
|
40
|
+
/**
|
|
41
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
42
|
+
* @tsplus location "@effect-app/infra/_global.ext"
|
|
43
|
+
*/
|
|
44
|
+
export declare const defaultNullable: <From, To>(s: S.Schema<From, To | null>) => S.ConstructorPropertyDescriptor<From, To | null>;
|
|
45
|
+
/**
|
|
46
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
47
|
+
* @tsplus location "@effect-app/infra/_global.ext"
|
|
48
|
+
*/
|
|
49
|
+
export declare const defaultArray: <From, T>(s: S.Schema<From, ReadonlyArray<T>>) => S.ConstructorPropertyDescriptor<From, readonly T[]>;
|
|
40
50
|
//# sourceMappingURL=_global.ext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_global.ext.d.ts","sourceRoot":"","sources":["../_src/_global.ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAC7D;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6CAA6C,CAAA;AACjE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,4CAA4C,CAAA;AAChE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAA;
|
|
1
|
+
{"version":3,"file":"_global.ext.d.ts","sourceRoot":"","sources":["../_src/_global.ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAC7D;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6CAA6C,CAAA;AACjE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,4CAA4C,CAAA;AAChE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAA;AAGlE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAClD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAExD;;GAEG;AACH,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAlBlD,OAAO,6BAA6B,CAAA;AAmBpC,OAAO,EAAE,CAAC,EAAE,MAAM,2BAA2B,CAAA;;;;;AAK7C,eAAO,MAAM,WAAW,YAAa,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,gDAAkD,CAAA;;;;;AAK3G,eAAO,MAAM,eAAe,gBAAiB,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,qDAA4C,CAAA;;;;;AAKlH,eAAO,MAAM,YAAY,eAAgB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,wDAA0C,CAAA"}
|
package/dist/_global.ext.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
|
+
import "@effect-app/infra/test.arbs";
|
|
1
2
|
import { S } from "@effect-app/schema/schema";
|
|
2
3
|
/**
|
|
3
|
-
* @tsplus fluent effect/schema/Schema
|
|
4
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
4
5
|
*/
|
|
5
|
-
export const
|
|
6
|
-
|
|
6
|
+
export const defaultDate = (s) => S.withDefaultConstructor(s, () => new Date());
|
|
7
|
+
/**
|
|
8
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
9
|
+
*/
|
|
10
|
+
export const defaultNullable = (s) => S.withDefaultConstructor(s, () => null);
|
|
11
|
+
/**
|
|
12
|
+
* @tsplus fluent effect/schema/Schema withDefault
|
|
13
|
+
*/
|
|
14
|
+
export const defaultArray = (s) => S.withDefaultConstructor(s, () => []);
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5leHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLDZCQUE2QixDQUFBO0FBbUJwQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBTyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUUzRzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFXLENBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7QUFFbEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBVSxDQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBIn0=
|
package/dist/_global.schema.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @tsplus global
|
|
3
3
|
*/
|
|
4
|
-
import { Delete, Get, Patch, Post, Put } from "@effect-app/
|
|
4
|
+
import { Delete, Get, Patch, Post, Put } from "@effect-app/schema";
|
|
5
5
|
import "@effect-app/prelude/_global.schema";
|
|
6
6
|
//# sourceMappingURL=_global.schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_global.schema.d.ts","sourceRoot":"","sources":["../_src/_global.schema.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"_global.schema.d.ts","sourceRoot":"","sources":["../_src/_global.schema.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAElE,OAAO,oCAAoC,CAAA"}
|
package/dist/_global.schema.js
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* @tsplus global
|
|
6
6
|
*/
|
|
7
|
-
import "@effect-app/
|
|
7
|
+
import "@effect-app/schema";
|
|
8
8
|
import "@effect-app/prelude/_global.schema";
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6QyxxREFBcUQ7QUFDckQsMERBQTBEO0FBRTFEOztHQUVHO0FBQ0gsT0FBOEMsb0JBQW9CLENBQUE7QUFFbEUsT0FBTyxvQ0FBb0MsQ0FBQSJ9
|
package/dist/api/codec.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as S from "@effect-app/
|
|
1
|
+
import * as S from "@effect-app/schema";
|
|
2
2
|
export declare function makeCodec<To extends {
|
|
3
3
|
id: Id;
|
|
4
4
|
}, From, Id>(self: S.Schema<From, To>): readonly [(i: unknown, options?: S.AST.ParseOptions | undefined) => To, (a: To, options?: S.AST.ParseOptions | undefined) => From];
|
package/dist/api/codec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../_src/api/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../_src/api/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAEvC,wBAAgB,SAAS,CACvB,EAAE,SAAS;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,EACrB,IAAI,EACJ,EAAE,EACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,sIAEzB"}
|
package/dist/api/codec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as S from "@effect-app/
|
|
1
|
+
import * as S from "@effect-app/schema";
|
|
2
2
|
export function makeCodec(self) {
|
|
3
3
|
return [S.parseSync(self), S.encodeSync(self)];
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9jb2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBRXZDLE1BQU0sVUFBVSxTQUFTLENBSXZCLElBQXdCO0lBQ3hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQVUsQ0FBQTtBQUN6RCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/jwt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAIvC,eAAO,MAAM,GAAG,2BAEd,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
|
-
import * as S from "@effect-app/
|
|
4
|
+
import * as S from "@effect-app/schema";
|
|
5
5
|
import { jwtDecode } from "jwt-decode";
|
|
6
6
|
export const jwt = S.transform(S.string, S.unknown, (_) => jwtDecode(_), (_) => {
|
|
7
7
|
throw new Error("not implemented");
|
|
8
8
|
});
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vX3NyYy9hcGkvZXhwcmVzcy9zY2hlbWEvand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sb0JBQW9CLENBQUE7QUFFdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBVSxFQUFFO0lBQ3JGLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUNwQyxDQUFDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Tag } from "effect/Context";
|
|
2
|
+
import type { REST } from "@effect-app/schema";
|
|
3
|
+
export type Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, PPath extends `/${string}`> = REST.ReqRes<unknown, ReqA> & {
|
|
4
|
+
method: REST.Methods.Rest;
|
|
5
|
+
path: PPath;
|
|
6
|
+
Cookie?: REST.ReqRes<Record<string, string>, CookieA>;
|
|
7
|
+
Path?: REST.ReqRes<Record<string, string>, PathA>;
|
|
8
|
+
Body?: REST.ReqRes<unknown, BodyA>;
|
|
9
|
+
Query?: REST.ReqRes<Record<string, string>, QueryA>;
|
|
10
|
+
Headers?: REST.ReqRes<Record<string, string>, HeaderA>;
|
|
11
|
+
Tag: Tag<M, M>;
|
|
12
|
+
};
|
|
13
|
+
export interface RouteRequestHandler<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, PPath extends `/${string}`> {
|
|
14
|
+
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
|
|
15
|
+
Response?: REST.ReqRes<unknown, ResA>;
|
|
16
|
+
ResponseOpenApi?: any;
|
|
17
|
+
}
|
|
18
|
+
export declare function asRouteDescriptionAny<R extends RouteDescriptorAny>(i: R): RouteDescriptorAny;
|
|
19
|
+
export declare function arrAsRouteDescriptionAny<R extends RouteDescriptorAny>(arr: ReadonlyArray<R>): RouteDescriptorAny[];
|
|
20
|
+
export interface RouteDescriptor<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA, METHOD extends REST.Methods.Rest = REST.Methods.Rest> {
|
|
21
|
+
_tag: "Schema";
|
|
22
|
+
path: `/${string}`;
|
|
23
|
+
method: METHOD;
|
|
24
|
+
handler: RouteRequestHandler<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, `/${string}`>;
|
|
25
|
+
info?: {
|
|
26
|
+
tags: ReadonlyArray<string>;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export type RouteDescriptorAny = RouteDescriptor<any, any, any, any, any, any, any, any>;
|
|
30
|
+
export declare function makeRouteDescriptor<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA extends PathA & QueryA & BodyA, ResA = void, METHOD extends REST.Methods.Rest = REST.Methods.Rest>(path: `/${string}`, method: METHOD, handler: RouteRequestHandler<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, `/${string}`>): RouteDescriptor<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, METHOD>;
|
|
31
|
+
//# sourceMappingURL=routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function asRouteDescriptionAny(i) {
|
|
2
|
+
return i;
|
|
3
|
+
}
|
|
4
|
+
export function arrAsRouteDescriptionAny(arr) {
|
|
5
|
+
return arr.map(asRouteDescriptionAny);
|
|
6
|
+
}
|
|
7
|
+
export function makeRouteDescriptor(path, method, handler) {
|
|
8
|
+
return { path, handler, method, _tag: "Schema" };
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3Mvc2NoZW1hL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NBLE1BQU0sVUFBVSxxQkFBcUIsQ0FBK0IsQ0FBSTtJQUN0RSxPQUFPLENBQXVCLENBQUE7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsR0FBcUI7SUFFckIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUE7QUFDdkMsQ0FBQztBQWlDRCxNQUFNLFVBQVUsbUJBQW1CLENBV2pDLElBQWtCLEVBQ2xCLE1BQWMsRUFDZCxPQVVDO0lBWUQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQTtBQUNsRCxDQUFDIn0=
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "@effect-app/
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/schema";
|
|
3
3
|
export const setupRequestContext = setupRequestContext_1;
|
|
4
4
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
5
5
|
import { RequestContext } from "../RequestContext.js";
|
|
@@ -18,7 +18,7 @@ function makeInternalRequestContext(name) {
|
|
|
18
18
|
id,
|
|
19
19
|
rootId: id,
|
|
20
20
|
locale: "en",
|
|
21
|
-
name: tsplus_module_2.
|
|
21
|
+
name: tsplus_module_2.NonEmptyString255(name)
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
24
|
}
|
|
@@ -53,4 +53,4 @@ function setupContextMap(self) {
|
|
|
53
53
|
function setupRequestContext_1(self, requestContext) {
|
|
54
54
|
return tsplus_module_1.zipRight(withRequestSpan(setupContextMap(self)))(tsplus_module_1.flatMap(RequestContextContainer, (_) => _.start(requestContext)));
|
|
55
55
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvc2V0dXBSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O2FBNERnQixtQkFBbUI7QUE1RG5DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFFOUU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQVUsSUFBcUIsRUFBRSxJQUFZO0lBQ3RGLE9BQU8sd0JBQUEsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLHNCQUFvQixJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN4RixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxJQUFZO0lBQzlDLE9BQU8scUJBQVksR0FBRyxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUMzQixPQUFPLElBQUksY0FBYyxDQUFDO1lBQ3hCLEVBQUU7WUFDRixNQUFNLEVBQUUsRUFBRTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osSUFBSSxFQUFFLGdCQUFBLGlCQUFpQixDQUFDLElBQUksQ0FBQztTQUM5QixDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFVLENBQWtCLEVBQUUsRUFBRSxDQUN0RCx3QkFBQSx1QkFBdUI7S0FDcEIsR0FBRyxFQUNLLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDZiw0QkFBQSx5QkFBQSxDQUFDLEVBQ1csU0FBUyxFQUFFO0lBQ25CLFVBQVUsRUFBRTtRQUNWLFlBQVksRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNwQixjQUFjLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDeEIsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLE1BQU07UUFDNUIsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDbEMsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUc7WUFDckIsQ0FBQyxDQUFDO2dCQUNBLGtCQUFrQixFQUFFLEdBQUc7cUJBQ3BCLFdBQVc7cUJBQ1gsR0FBRztnQkFDTixvQkFBb0IsRUFBRSxPQUFPLElBQUksR0FBRztxQkFDL0IsV0FBVztvQkFDZCxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLO29CQUN2QixDQUFDLENBQUMsU0FBUzthQUNkO1lBQ0QsQ0FBQyxDQUFDLEVBQUU7S0FDUDtDQUNGLENBQUM7QUFDRiw0RUFBNEU7RUFDL0QsU0FBUyxDQUFDLENBQzFCLENBQUE7QUFFTCxTQUFTLGVBQWUsQ0FBVSxJQUFxQjtJQUNyRCxPQUFPLDBCQUNILElBQUksRUFEQSx3QkFBQSxtQkFBbUIsRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUMxQyxDQUFBO0FBQ1gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsK0JBQTZDLElBQXFCLEVBQUUsY0FBOEI7SUFDaEcsZ0NBQ0ksZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQURuQyx3QkFBQSx1QkFBdUIsRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUM1QjtBQUM1QyxDQUFDIn0=
|
package/dist/errors.d.ts
CHANGED
|
@@ -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,CAClD,SAAQ,mBAAkC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;gBAEvE,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE;CAG5D;;;;AAED,mCAAmC;AACnC,qBAAa,eAAgB,SAAQ,qBAAoC;IAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;
|
|
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,CAClD,SAAQ,mBAAkC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;gBAEvE,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE;CAG5D;;;;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
|
@@ -10,6 +10,9 @@ export class NotFoundError extends tsplus_module_1.TaggedError("NotFoundError")
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFakQsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyxhQUNYLFNBQVEsNEJBQWlCLGVBQWUsQ0FBMkM7SUFFbkYsWUFBWSxJQUErQztRQUN6RCxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDcEUsQ0FBQztDQUNGO0FBRUQsbUNBQW1DO0FBQ25DLE1BQU0sT0FBTyxlQUFnQixTQUFRLDRCQUFpQixpQkFBaUIsQ0FBcUM7SUFDMUcsSUFBYSxPQUFPO1FBQ2xCLE9BQU8sc0JBQXNCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7SUFDckYsQ0FBQztDQUNGO0FBRUQsb0NBQW9DO0FBQ3BDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSw0QkFBaUIsa0JBQWtCLENBQW1DO0lBQzFHLFlBQVksT0FBZ0I7UUFDMUIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQ0Y7QUFFRCxxQ0FBcUM7QUFDckMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDRCQUFpQixtQkFBbUIsQ0FBbUM7SUFDNUcsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsOEJBQThCO0FBQzlCLE1BQU0sT0FBTyxVQUFXLFNBQVEsNEJBQWlCLGlCQUFpQixDQUFzQjtJQUN0RixZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQ0Y7QUFFRCxxQ0FBcUM7QUFDckMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDRCQUFpQixtQkFBbUIsQ0FBc0I7SUFDL0YsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQU0sT0FBTyxjQUFrQixTQUFRLEtBQUs7SUFDMUMsWUFBcUIsYUFBdUIsRUFBVyxJQUFZO1FBQ2pFLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUE7UUFDbkMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUE7UUFDekIsS0FBSyxFQUFFLENBQUE7UUFIWSxrQkFBYSxHQUFiLGFBQWEsQ0FBVTtRQUFXLFNBQUksR0FBSixJQUFJLENBQVE7UUFJakUsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7UUFDN0IsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDMUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFBO1FBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQTtRQUN6QixJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQTtRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU07UUFDSixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtTQUNuQyxDQUFBO0lBQ0gsQ0FBQztJQUVELENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFDUSxRQUFRO1FBQ2YsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRyx1QkFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDN0QsQ0FBQztDQUNGO0FBRUQsa0RBQWtEO0FBQ2xELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSw0QkFBaUIsZ0NBQWdDLENBRXBHO0lBQ0MsWUFDRSxJQUtDO1FBRUQsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7SUFDaEYsQ0FBQztDQUNGIn0=
|
|
@@ -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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL1F1ZXVlTWFrZXIvbWVtUXVldWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDekQsT0FBTyxFQUFrQixTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUsxQixTQUFpQixFQUNqQixjQUFzQixFQUN0QixNQUFpQyxFQUNqQyxXQUE4QztJQUU5QyxPQUFPLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7UUFDN0QsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFFN0MsTUFBTSxVQUFVLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLEVBQUUs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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2JxdWV1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvUXVldWVNYWtlci9zYnF1ZXVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLHVDQUF1QyxDQUFBO0FBRTlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDL0IsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzNGLE9BQU8sRUFBa0IsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUtqQyxVQUFrQixFQUNsQixjQUFzQixFQUN0QixNQUFpQyxFQUNqQyxXQUE4QztJQUU5QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUE7SUFDRixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzdELE1BQU0sVUFBVSxHQUFHLGdCQUFBLElBQUksdUJBQUMsTUFBTSxHQUFRLENBQUMs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
|