@effect-app/infra 0.36.1 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/_cjs/RequestContext.cjs +0 -7
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +8 -9
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +34 -34
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +8 -8
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +3 -1
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +9 -10
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +16 -15
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +8 -7
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +60 -0
- package/_cjs/services/RequestContextContainer.cjs.map +1 -0
- package/_cjs/services/Store/Memory.cjs +35 -36
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_src/RequestContext.ts +0 -5
- package/_src/api/reportError.ts +3 -3
- package/_src/api/routing.ts +2 -1
- package/_src/api/setupRequest.ts +3 -2
- package/_src/services/Emailer/Sendgrid.ts +6 -2
- package/_src/services/Emailer/service.ts +1 -0
- package/_src/services/QueueMaker/errors.ts +4 -3
- package/_src/services/QueueMaker/memQueue.ts +3 -2
- package/_src/services/QueueMaker/sbqueue.ts +3 -2
- package/_src/services/QueueMaker/service.ts +2 -2
- package/_src/services/RequestContextContainer.ts +41 -0
- package/_src/services/Store/Memory.ts +2 -2
- package/dist/RequestContext.d.ts +0 -5
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +1 -6
- package/dist/api/defaultErrorHandler.d.ts +2 -2
- package/dist/api/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +9 -10
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +28 -28
- package/dist/api/setupRequest.d.ts +3 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +7 -7
- package/dist/services/Emailer/Sendgrid.d.ts +0 -12
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +7 -3
- package/dist/services/Emailer/service.d.ts +4 -0
- package/dist/services/Emailer/service.d.ts.map +1 -1
- package/dist/services/Operations/service.d.ts +4 -4
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.d.ts +0 -1
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +10 -12
- package/dist/services/QueueMaker/memQueue.d.ts +3 -2
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +13 -13
- package/dist/services/QueueMaker/sbqueue.d.ts +3 -2
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +7 -7
- package/dist/services/QueueMaker/service.d.ts +2 -2
- package/dist/services/QueueMaker/service.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.d.ts +29 -0
- package/dist/services/RequestContextContainer.d.ts.map +1 -0
- package/dist/services/RequestContextContainer.js +51 -0
- package/dist/services/Store/Memory.d.ts +2 -2
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +37 -38
- package/package.json +14 -4
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { RequestContextContainer } from "../RequestContextContainer.js"
|
|
2
2
|
|
|
3
3
|
export interface QueueBase<RContext, Evt> {
|
|
4
4
|
drain: Effect<Scope | RContext, never, void>
|
|
5
5
|
publish: (
|
|
6
6
|
...messages: NonEmptyReadonlyArray<Evt>
|
|
7
|
-
) => Effect<
|
|
7
|
+
) => Effect<RequestContextContainer, never, void>
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { RequestContext } from "../RequestContext.js"
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @tsplus companion RequestContextContainer.Ops
|
|
5
|
+
*/
|
|
6
|
+
export abstract class RequestContextContainer extends TagClass<RequestContextContainer>() {
|
|
7
|
+
abstract readonly requestContext: Effect<never, never, RequestContext>
|
|
8
|
+
abstract readonly update: (f: (rc: RequestContext) => RequestContext) => Effect<never, never, void>
|
|
9
|
+
static get get(): Effect<RequestContextContainer, never, RequestContext> {
|
|
10
|
+
return RequestContextContainer.accessWithEffect(_ => _.requestContext)
|
|
11
|
+
}
|
|
12
|
+
static get getOption() {
|
|
13
|
+
return Effect.contextWith((_: Context<never>) => Context.getOption(_, RequestContextContainer))
|
|
14
|
+
.flatMap(requestContext =>
|
|
15
|
+
requestContext.isSome()
|
|
16
|
+
? requestContext.value.requestContext.map(Option.some)
|
|
17
|
+
: Effect(Option.none)
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export class RequestContextContainerImpl extends RequestContextContainer {
|
|
23
|
+
#ref: Ref<RequestContext>
|
|
24
|
+
constructor(inp: RequestContext.ConstructorInput) {
|
|
25
|
+
super()
|
|
26
|
+
this.#ref = Ref.unsafeMake<RequestContext>(new RequestContext(inp))
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override get requestContext() {
|
|
30
|
+
return this.#ref.get
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
override update = (f: (a: RequestContext) => RequestContext) => this.#ref.getAndUpdate(f)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @tsplus static RequestContextContainer.Ops live
|
|
38
|
+
*/
|
|
39
|
+
export function live(inp: RequestContext.ConstructorInput) {
|
|
40
|
+
return new RequestContextContainerImpl(inp)
|
|
41
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { RequestContextContainer } from "../RequestContextContainer.js"
|
|
4
4
|
import type { Filter, FilterJoinSelect, PersistenceModelType, Store, StoreConfig } from "./service.js"
|
|
5
5
|
import { StoreMaker } from "./service.js"
|
|
6
6
|
import { codeFilter, codeFilterJoinSelect, makeETag, makeUpdateETag } from "./utils.js"
|
|
@@ -24,7 +24,7 @@ export function memFilter<T extends { id: string }>(filter: Filter<T>, cursor?:
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export const storeId = FiberRef.unsafeMake("primary")
|
|
27
|
-
export const restoreFromRequestContext =
|
|
27
|
+
export const restoreFromRequestContext = RequestContextContainer.get.flatMap(ctx =>
|
|
28
28
|
storeId.set(ctx.namespace ?? "primary")
|
|
29
29
|
)
|
|
30
30
|
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -46,11 +46,6 @@ export declare class RequestContext extends RequestContext_base {
|
|
|
46
46
|
}
|
|
47
47
|
/** @ignore @internal @deprecated */
|
|
48
48
|
export type RequestContextConstructor = typeof RequestContext;
|
|
49
|
-
/**
|
|
50
|
-
* @tsplus static RequestContext.Ops Tag
|
|
51
|
-
* @tsplus location "@effect-app/infra/RequestContext"
|
|
52
|
-
*/
|
|
53
|
-
export declare const tag: import("@effect/data/Context").Tag<RequestContext>;
|
|
54
49
|
export declare namespace RequestContextParent {
|
|
55
50
|
const Encoded_base: import("@effect-app/prelude/schema").EncodedClass<{
|
|
56
51
|
readonly _tag: "RequestContext";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../_src/RequestContext.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,SAAS;;CAAW,CAAA;AACjC,MAAM,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,SAAS,CAAC,CAAA;;;;;;;;;;;AAE7D,qBACa,oBAAqB,SAAQ,yBAYxC;CAAG;AACL,oCAAoC;AACpC,MAAM,MAAM,+BAA+B,GAAG,OAAO,oBAAoB,CAAA;AAEzE,wBAAgB,aAAa,kDAE5B;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBACa,cAAe,SAAQ,mBAWlC;IACA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,CAAC,gBAAgB;IAUhD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAED,oCAAoC;AACpC,MAAM,MAAM,yBAAyB,GAAG,OAAO,cAAc,CAAA
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../_src/RequestContext.ts"],"names":[],"mappings":";AAAA,eAAO,MAAM,SAAS;;CAAW,CAAA;AACjC,MAAM,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,SAAS,CAAC,CAAA;;;;;;;;;;;AAE7D,qBACa,oBAAqB,SAAQ,yBAYxC;CAAG;AACL,oCAAoC;AACpC,MAAM,MAAM,+BAA+B,GAAG,OAAO,oBAAoB,CAAA;AAEzE,wBAAgB,aAAa,kDAE5B;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBACa,cAAe,SAAQ,mBAWlC;IACA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,oBAAoB,CAAC,gBAAgB;IAUhD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAED,oCAAoC;AACpC,MAAM,MAAM,yBAAyB,GAAG,OAAO,cAAc,CAAA;AAK7D,yBAAiB,oBAAoB,CAAC;;;;;;;;;IACpC;;;OAGG;IACH,MAAM,OAAO,OAAQ,SAAQ,YAA2C;KAAG;IAC3E,MAAM,WAAW,gBACf,SAAQ,uBAAuB,CAAC,OAAO,oBAAoB,CAAC;KAAG;IACjE,MAAM,WAAW,KAAM,SAAQ,gBAAgB,CAAC,OAAO,oBAAoB,CAAC;KAAG;;CAChF;AACD,yBAAiB,cAAc,CAAC;;;;;;;;;;;;IAC9B;;;OAGG;IACH,MAAM,OAAO,OAAQ,SAAQ,cAAqC;KAAG;IACrE,MAAM,WAAW,gBACf,SAAQ,uBAAuB,CAAC,OAAO,cAAc,CAAC;KAAG;IAC3D,MAAM,WAAW,KAAM,SAAQ,gBAAgB,CAAC,OAAO,cAAc,CAAC;KAAG;;CAC1E"}
|
package/dist/RequestContext.js
CHANGED
|
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
var RequestContext_1;
|
|
8
8
|
import * as tsplus_module_1 from "@effect-app/prelude/schema";
|
|
9
|
-
import * as tsplus_module_2 from "@effect/data/Context";
|
|
10
9
|
export const RequestId = tsplus_module_1.StringId;
|
|
11
10
|
let RequestContextParent = class RequestContextParent extends tsplus_module_1.MNModel()({
|
|
12
11
|
_tag: tsplus_module_1.prop(tsplus_module_1.literal("RequestContext")),
|
|
@@ -57,10 +56,6 @@ RequestContext = RequestContext_1 = __decorate([
|
|
|
57
56
|
tsplus_module_1.useClassFeaturesForSchema
|
|
58
57
|
], RequestContext);
|
|
59
58
|
export { RequestContext };
|
|
60
|
-
/**
|
|
61
|
-
* @tsplus static RequestContext.Ops Tag
|
|
62
|
-
*/
|
|
63
|
-
export const tag = tsplus_module_2.Tag();
|
|
64
59
|
// codegen:start {preset: model}
|
|
65
60
|
//
|
|
66
61
|
/* eslint-disable */
|
|
@@ -82,4 +77,4 @@ export const tag = tsplus_module_2.Tag();
|
|
|
82
77
|
}
|
|
83
78
|
RequestContext.Encoded = Encoded;
|
|
84
79
|
})(RequestContext || (RequestContext = {}));
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL1JlcXVlc3RDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxtQkFBRyxRQUFRLENBQUE7QUFJakMsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBcUIsU0FBUSxnQkFBQSxPQUFPLEVBSzlDLENBQUM7SUFDRixJQUFJLEVBQUUsZ0JBQUEsSUFBSSxDQUFDLGdCQUFBLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxnQkFBQSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ25CLElBQUksRUFBRSxnQkFBQSxJQUFJLGlCQUFDLGdCQUFnQixDQUFDO0lBQzVCLE1BQU0sRUFBRSxnQkFBQSxPQUFPLGlCQUFDLGdCQUFnQixDQUFDO0lBQ2pDLE1BQU0sRUFBRSxnQkFBQSxJQUFJLENBQUMsZ0JBQUEsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxTQUFTLEVBQUUsZ0JBQUEsV0FBVyxpQkFBQyxJQUFJLENBQUM7Q0FDN0IsQ0FBQztDQUFHLENBQUE7QUFaUSxvQkFBb0I7b0JBRGhDLHlCQUF5QjtHQUNiLG9CQUFvQixDQVk1QjtTQVpRLG9CQUFvQjtBQWdCakMsTUFBTSxVQUFVLGFBQWE7SUFDM0IsT0FBTyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7QUFDekIsQ0FBQztBQUVEOzs7R0FHRztBQUVILElBQWEsY0FBYyxzQkFBM0IsTUFBYSxjQUFlLFNBQVEsZ0JBQUEsT0FBTyxFQUt4QyxDQUFDO0lBQ0YsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xDLEVBQUUsRUFBRSxnQkFBQSxXQUFXLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QyxNQUFNLEVBQUUsZ0JBQUEsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN2QixNQUFNLEVBQUUsZ0JBQUEsT0FBTyxDQUFDLG9CQUFvQixDQUFDO0lBQ3JDLFNBQVMsRUFBRSxnQkFBQSxPQUFPLGlCQUFDLGdCQUFnQixDQUFDO0NBQ3JDLENBQUM7SUFDQSxNQUFNLENBQUMsT0FBTyxDQUVaLE1BQXNCLEVBQ3RCLE9BQThDO1FBRTlDLE9BQU8sSUFBSSxnQkFBYyxDQUFDO1lBQ3hCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUztZQUM1QixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsTUFBTTtTQUNQLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFhLElBQW9CO1FBQ2xELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFDYixDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzdFLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFsQ1ksY0FBYztvQkFEMUIseUJBQXlCO0dBQ2IsY0FBYyxDQWtDMUI7U0FsQ1ksY0FBYztBQXVDM0IsZ0NBQWdDO0FBQ2hDLEVBQUU7QUFDRixvQkFBb0I7QUFDcEIsV0FBaUIsb0JBQW9CO0lBQ25DOzs7T0FHRztJQUNILE1BQWEsT0FBUSxTQUFRLGdCQUFBLFlBQVksRUFBK0I7S0FBRztJQUE5RCw0QkFBTyxVQUF1RCxDQUFBO0FBSTdFLENBQUMsRUFUZ0Isb0JBQW9CLEtBQXBCLG9CQUFvQixRQVNwQztBQUNELFdBQWlCLGNBQWM7SUFDN0I7OztPQUdHO0lBQ0gsTUFBYSxPQUFRLFNBQVEsZ0JBQUEsWUFBWSxFQUF5QjtLQUFHO0lBQXhELHNCQUFPLFVBQWlELENBQUE7QUFJdkUsQ0FBQyxFQVRnQixjQUFjLEtBQWQsY0FBYyxRQVM5QiJ9
|
|
@@ -2,7 +2,7 @@ import { Effect } from "@effect/io/Effect";
|
|
|
2
2
|
import type express from "express";
|
|
3
3
|
import type { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, UnauthorizedError, ValidationError } from "../errors.js";
|
|
4
4
|
import type { RequestContext } from "../RequestContext.js";
|
|
5
|
-
export declare function defaultBasicErrorHandler<R>(_req: express.Request, res: express.Response, _requestContext: RequestContext, r2: Effect<R, ValidationError, void>): import("@effect/io/Effect").Effect<
|
|
6
|
-
export declare function defaultErrorHandler<R>(req: express.Request, res: express.Response, _: RequestContext, r2: Effect<R, SupportedErrors, void>): import("@effect/io/Effect").Effect<
|
|
5
|
+
export declare function defaultBasicErrorHandler<R>(_req: express.Request, res: express.Response, _requestContext: RequestContext, r2: Effect<R, ValidationError, void>): import("@effect/io/Effect").Effect<import("../services/RequestContextContainer.js").RequestContextContainer | R, never, void | express.Response<any, Record<string, any>>>;
|
|
6
|
+
export declare function defaultErrorHandler<R>(req: express.Request, res: express.Response, _: RequestContext, r2: Effect<R, SupportedErrors, void>): import("@effect/io/Effect").Effect<import("../services/RequestContextContainer.js").RequestContextContainer | R, never, void | express.Response<any, Record<string, any>>>;
|
|
7
7
|
export type SupportedErrors = ValidationError | NotFoundError | NotLoggedInError | UnauthorizedError | InvalidStateError | OptimisticConcurrencyException;
|
|
8
8
|
//# sourceMappingURL=defaultErrorHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultErrorHandler.d.ts","sourceRoot":"","sources":["../../_src/api/defaultErrorHandler.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,eAAe,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,OAAO,CAAC,OAAO,EACrB,GAAG,EAAE,OAAO,CAAC,QAAQ,EACrB,eAAe,EAAE,cAAc,EAC/B,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"defaultErrorHandler.d.ts","sourceRoot":"","sources":["../../_src/api/defaultErrorHandler.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,eAAe,EAChB,MAAM,cAAc,CAAA;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG1D,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,OAAO,CAAC,OAAO,EACrB,GAAG,EAAE,OAAO,CAAC,QAAQ,EACrB,eAAe,EAAE,cAAc,EAC/B,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,8KAgBrC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,EACrB,CAAC,EAAE,cAAc,EACjB,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,8KA2BrC;AAED,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,8BAA8B,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Cause } from "@effect/io/Cause";
|
|
2
2
|
import { Effect } from "@effect/io/Effect";
|
|
3
3
|
import { CauseException } from "../errors.js";
|
|
4
|
-
import {
|
|
4
|
+
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
5
5
|
export declare class RequestException<E> extends CauseException<E> {
|
|
6
6
|
constructor(cause: Cause<E>);
|
|
7
7
|
}
|
|
8
8
|
export declare const reportRequestError_: (cause: import("@effect/io/Cause").Cause<unknown>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<never, never, void>;
|
|
9
|
-
export declare const reportRequestError: <E>(cause: import("@effect/io/Cause").Cause<E>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<
|
|
9
|
+
export declare const reportRequestError: <E>(cause: import("@effect/io/Cause").Cause<E>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<RequestContextContainer, never, void>;
|
|
10
10
|
export declare const logRequestError_: (cause: import("@effect/io/Cause").Cause<unknown>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<never, never, void>;
|
|
11
|
-
export declare const logRequestError: <E>(cause: import("@effect/io/Cause").Cause<E>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<
|
|
11
|
+
export declare const logRequestError: <E>(cause: import("@effect/io/Cause").Cause<E>, context?: Record<string, unknown> | undefined) => import("@effect/io/Effect").Effect<RequestContextContainer, never, void>;
|
|
12
12
|
/**
|
|
13
13
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
14
14
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
@@ -18,7 +18,7 @@ export declare const logRequestError: <E>(cause: import("@effect/io/Cause").Caus
|
|
|
18
18
|
* @tsplus getter effect/io/Effect forkDaemonReportRequest
|
|
19
19
|
* @tsplus location "@effect-app/infra/api/reportError"
|
|
20
20
|
*/
|
|
21
|
-
export declare function forkDaemonReportRequest<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<
|
|
21
|
+
export declare function forkDaemonReportRequest<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<RequestContextContainer | R, never, import("@effect/io/Fiber").RuntimeFiber<E, A>>;
|
|
22
22
|
/**
|
|
23
23
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
24
24
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
@@ -28,5 +28,5 @@ export declare function forkDaemonReportRequest<R, E, A>(self: Effect<R, E, A>):
|
|
|
28
28
|
* @tsplus getter effect/io/Effect forkDaemonReportRequestUnexpected
|
|
29
29
|
* @tsplus location "@effect-app/infra/api/reportError"
|
|
30
30
|
*/
|
|
31
|
-
export declare function forkDaemonReportRequestUnexpected<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<
|
|
31
|
+
export declare function forkDaemonReportRequestUnexpected<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<RequestContextContainer | R, never, import("@effect/io/Fiber").RuntimeFiber<E, A>>;
|
|
32
32
|
//# sourceMappingURL=reportError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportError.d.ts","sourceRoot":"","sources":["../../_src/api/reportError.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reportError.d.ts","sourceRoot":"","sources":["../../_src/api/reportError.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAEhF,qBAAa,gBAAgB,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;gBAC5C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;CAG5B;AACD,eAAO,MAAM,mBAAmB,6JAAoD,CAAA;AAEpF,eAAO,MAAM,kBAAkB,4DAAkC,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,6EAGjG,CAAA;AAEH,eAAO,MAAM,gBAAgB,6JAAiD,CAAA;AAE9E,eAAO,MAAM,eAAe,4DAAkC,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,6EAG9F,CAAA;;;;;;;;;;AAWH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yHAKrE;;;;;;;;;;AAWD,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yHAS/E"}
|
package/dist/api/reportError.js
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@effect
|
|
2
|
-
import * as tsplus_module_2 from "@effect/io/
|
|
3
|
-
import * as tsplus_module_3 from "@effect/io/
|
|
4
|
-
import * as tsplus_module_4 from "@effect/io/Cause";
|
|
1
|
+
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
+
import * as tsplus_module_2 from "@effect/io/Debug";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
5
4
|
import { logError, reportError } from "../errorReporter.js";
|
|
6
5
|
import { CauseException } from "../errors.js";
|
|
7
|
-
import "../
|
|
6
|
+
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
8
7
|
export class RequestException extends CauseException {
|
|
9
8
|
constructor(cause) {
|
|
10
9
|
super(cause, "Request");
|
|
11
10
|
}
|
|
12
11
|
}
|
|
13
12
|
export const reportRequestError_ = reportError(cause => new RequestException(cause));
|
|
14
|
-
export const reportRequestError = (cause, context) =>
|
|
13
|
+
export const reportRequestError = (cause, context) => tsplus_module_2.untraced(() => tsplus_module_1.flatMap(RequestContextContainer.get, requestContext => reportRequestError_(cause, { requestContext, ...context })));
|
|
15
14
|
export const logRequestError_ = logError(cause => new RequestException(cause));
|
|
16
|
-
export const logRequestError = (cause, context) =>
|
|
15
|
+
export const logRequestError = (cause, context) => tsplus_module_2.untraced(() => tsplus_module_1.flatMap(RequestContextContainer.get, requestContext => logRequestError_(cause, { requestContext, ...context })));
|
|
17
16
|
/**
|
|
18
17
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
19
18
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
@@ -24,7 +23,7 @@ export const logRequestError = (cause, context) => tsplus_module_3.untraced(() =
|
|
|
24
23
|
* @tsplus getter effect/io/Effect forkDaemonReportRequest
|
|
25
24
|
*/
|
|
26
25
|
export function forkDaemonReportRequest(self) {
|
|
27
|
-
return
|
|
26
|
+
return tsplus_module_2.untraced(() => tsplus_module_1.daemonChildren(tsplus_module_1.fork(tsplus_module_1.tapErrorCause(self, reportRequestError))));
|
|
28
27
|
}
|
|
29
28
|
/**
|
|
30
29
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
@@ -36,8 +35,8 @@ export function forkDaemonReportRequest(self) {
|
|
|
36
35
|
* @tsplus getter effect/io/Effect forkDaemonReportRequestUnexpected
|
|
37
36
|
*/
|
|
38
37
|
export function forkDaemonReportRequestUnexpected(self) {
|
|
39
|
-
return
|
|
38
|
+
return tsplus_module_2.untraced(() => tsplus_module_1.daemonChildren(tsplus_module_1.fork(tsplus_module_1.tapErrorCause(self, cause => tsplus_module_3.isInterruptedOnly(cause) || tsplus_module_3.isDie(cause)
|
|
40
39
|
? reportRequestError(cause)
|
|
41
40
|
: logRequestError(cause)))));
|
|
42
41
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0RXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9yZXBvcnRFcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFFaEYsTUFBTSxPQUFPLGdCQUFvQixTQUFRLGNBQWlCO0lBQ3hELFlBQVksS0FBZTtRQUN6QixLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pCLENBQUM7Q0FDRjtBQUNELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUVwRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFJLEtBQWUsRUFBRSxPQUE2QyxFQUFFLEVBQUUsQ0FDdEcseUJBQWUsR0FBRyxFQUFFLENBQ2xCLHdCQUFBLHVCQUF1QixDQUFDLEdBQUcsRUFBUyxjQUFjLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FDbEgsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUU5RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBSSxLQUFlLEVBQUUsT0FBNkMsRUFBRSxFQUFFLENBQ25HLHlCQUFlLEdBQUcsRUFBRSxDQUNsQix3QkFBQSx1QkFBdUIsQ0FBQyxHQUFHLEVBQVMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQy9HLENBQUE7QUFFSDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBVSxJQUFxQjtJQUNwRSxPQUFPLHlCQUFlLEdBQUcsRUFBRSxxREFDekIsOEJBQUEsSUFBSSxFQUFlLGtCQUFrQixDQUFDLEVBQ2hCLENBQ3ZCLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQVUsSUFBcUI7SUFDOUUsT0FBTyx5QkFBZSxHQUFHLEVBQUUscURBQ3pCLDhCQUFBLElBQUksRUFBZSxLQUFLLENBQUMsRUFBRSxDQUN6QixrQ0FBQSxLQUFLLENBQW9CLElBQUksc0JBQUEsS0FBSyxDQUFRO1FBQ3hDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FDM0IsRUFDcUIsQ0FDdkIsQ0FBQTtBQUNILENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":";;;AACA,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAA;AACxD,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEzE,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAEhD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,cAAc,EAAa,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../_src/api/routing.ts"],"names":[],"mappings":"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"}
|
package/dist/api/routing.js
CHANGED
|
@@ -3,18 +3,18 @@ import * as tsplus_module_2 from "@effect/data/Option";
|
|
|
3
3
|
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_4 from "@effect-app/core/Effect";
|
|
5
5
|
import * as tsplus_module_5 from "@effect-app/prelude/_ext/Schema.ext";
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/prelude/
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/
|
|
9
|
-
import * as tsplus_module_9 from "@effect-app/
|
|
10
|
-
import * as tsplus_module_10 from "@effect
|
|
11
|
-
import * as tsplus_module_11 from "@effect/io/Debug";
|
|
6
|
+
import * as tsplus_module_6 from "@effect-app/prelude/utils";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/prelude/_ext/misc";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/core/Option";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/infra/api/setupRequest";
|
|
10
|
+
import * as tsplus_module_10 from "@effect/io/Debug";
|
|
12
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
13
12
|
import * as Ex from "@effect-app/infra-adapters/express";
|
|
14
13
|
import { extractSchema, SchemaNamed } from "@effect-app/prelude/schema";
|
|
15
14
|
import * as MO from "@effect-app/prelude/schema";
|
|
16
15
|
import { pretty } from "@effect-app/prelude/utils";
|
|
17
16
|
import { RequestContext, RequestId } from "../RequestContext.js";
|
|
17
|
+
import { RequestContextContainer, RequestContextContainerImpl } from "../services/RequestContextContainer.js";
|
|
18
18
|
import { restoreFromRequestContext } from "../services/Store/Memory.js";
|
|
19
19
|
import { defaultBasicErrorHandler } from "./defaultErrorHandler.js";
|
|
20
20
|
import { parseRequestParams } from "./express/schema/requestHandler.js";
|
|
@@ -114,7 +114,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
114
114
|
return requestContext;
|
|
115
115
|
}
|
|
116
116
|
return (req, res) => {
|
|
117
|
-
return
|
|
117
|
+
return tsplus_module_10.untraced(restore => tsplus_module_3.flatMap(tsplus_module_3.all({
|
|
118
118
|
requestContext: tsplus_module_3.sync(() => {
|
|
119
119
|
const requestContext = makeContext(req);
|
|
120
120
|
if (req.method === "GET") {
|
|
@@ -124,24 +124,24 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
124
124
|
return requestContext;
|
|
125
125
|
}),
|
|
126
126
|
pars: getParams(req)
|
|
127
|
-
}), ({ pars, requestContext }) => tsplus_module_3.provideService(
|
|
127
|
+
}), ({ pars, requestContext }) => tsplus_module_3.provideService(tsplus_module_9.setupRequestFrom(tsplus_module_3.tap(tsplus_module_3.tapErrorCause(tsplus_module_3.zipRight(tsplus_module_3.flatMap(tsplus_module_1.get(RequestSettings), s => tsplus_module_7.logAnnotates({
|
|
128
128
|
method: req.method,
|
|
129
129
|
path: req.originalUrl,
|
|
130
130
|
...s.verbose
|
|
131
131
|
? {
|
|
132
|
-
reqPath:
|
|
133
|
-
reqQuery:
|
|
132
|
+
reqPath: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.path)),
|
|
133
|
+
reqQuery: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.query)),
|
|
134
134
|
reqBody: pretty(pars.body),
|
|
135
135
|
reqCookies: pretty(pars.cookies),
|
|
136
|
-
reqHeaders:
|
|
136
|
+
reqHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.headers))
|
|
137
137
|
} :
|
|
138
138
|
undefined
|
|
139
139
|
})(tsplus_module_3.logInfo("Incoming request"))), tsplus_module_3.suspendSucceed(() => {
|
|
140
140
|
const handleRequest = tsplus_module_3.flatMap(tsplus_module_3.map(parseRequest(req), ({ body, path, query }) => {
|
|
141
141
|
const hn = {
|
|
142
|
-
...
|
|
143
|
-
...
|
|
144
|
-
...
|
|
142
|
+
...tsplus_module_8.getOrUndefined(body),
|
|
143
|
+
...tsplus_module_8.getOrUndefined(query),
|
|
144
|
+
...tsplus_module_8.getOrUndefined(path)
|
|
145
145
|
};
|
|
146
146
|
return hn;
|
|
147
147
|
}), parsedReq => tsplus_module_3.flatMap(restore(() => handle(parsedReq))(), r => respond(parsedReq, res, r)));
|
|
@@ -149,7 +149,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
149
149
|
const r = req.method !== "GET" ? tsplus_module_3.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
|
|
150
150
|
// the first log entry should be of the request start.
|
|
151
151
|
const r2 = makeMiddlewareContext
|
|
152
|
-
? tsplus_module_3.zipRight(restoreFromRequestContext, tsplus_module_4.provideSomeContextEffect(makeMiddlewareContext(req, res, requestContext))(
|
|
152
|
+
? tsplus_module_3.zipRight(restoreFromRequestContext, tsplus_module_4.provideSomeContextEffect(makeMiddlewareContext(req, res, requestContext))(tsplus_module_9.setupRequestFrom(r)))
|
|
153
153
|
: tsplus_module_3.zipRight(restoreFromRequestContext
|
|
154
154
|
// PR is not relevant here
|
|
155
155
|
, r);
|
|
@@ -160,33 +160,33 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
160
160
|
method: req.method
|
|
161
161
|
}), tsplus_module_3.suspendSucceed(() => {
|
|
162
162
|
const headers = res.getHeaders();
|
|
163
|
-
return
|
|
163
|
+
return tsplus_module_7.logAnnotates({
|
|
164
164
|
method: req.method,
|
|
165
165
|
path: req.originalUrl,
|
|
166
166
|
statusCode: res.statusCode.toString(),
|
|
167
|
-
reqPath:
|
|
168
|
-
reqQuery:
|
|
167
|
+
reqPath: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.path)),
|
|
168
|
+
reqQuery: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.query)),
|
|
169
169
|
reqBody: pretty(pars.body),
|
|
170
170
|
reqCookies: pretty(pars.cookies),
|
|
171
|
-
reqHeaders:
|
|
172
|
-
resHeaders:
|
|
171
|
+
reqHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.headers)),
|
|
172
|
+
resHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(Object.entries(headers).reduce((prev, [key, value]) => {
|
|
173
173
|
prev[key] = value && typeof value === "string" ? snipString(value) : value;
|
|
174
174
|
return prev;
|
|
175
175
|
}, {})))
|
|
176
176
|
})(tsplus_module_3.logErrorCauseMessage("Finished request", cause));
|
|
177
177
|
})), cause => tsplus_module_3.sync(() => console.error("Error occurred while reporting error", cause)))), () => tsplus_module_3.flatMap(tsplus_module_1.get(RequestSettings), s => {
|
|
178
178
|
const headers = res.getHeaders();
|
|
179
|
-
return
|
|
179
|
+
return tsplus_module_7.logAnnotates({
|
|
180
180
|
method: req.method,
|
|
181
181
|
path: req.originalUrl,
|
|
182
182
|
statusCode: res.statusCode.toString(),
|
|
183
183
|
...s.verbose
|
|
184
184
|
? {
|
|
185
|
-
resHeaders:
|
|
185
|
+
resHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(headers))
|
|
186
186
|
} :
|
|
187
187
|
undefined
|
|
188
188
|
})(tsplus_module_3.logInfo("Finished request"));
|
|
189
|
-
}))),
|
|
189
|
+
}))), RequestContextContainer, new RequestContextContainerImpl(requestContext)) // otherwise external error reporter breaks.
|
|
190
190
|
));
|
|
191
191
|
};
|
|
192
192
|
}
|
|
@@ -195,7 +195,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
195
195
|
* Requires no login.
|
|
196
196
|
*/
|
|
197
197
|
export function matchAll(handlers) {
|
|
198
|
-
const mapped =
|
|
198
|
+
const mapped = tsplus_module_6.RecordKeys(tsplus_module_6.object$(handlers)).reduce((prev, cur) => {
|
|
199
199
|
prev[cur] = match(handlers[cur], defaultBasicErrorHandler);
|
|
200
200
|
return prev;
|
|
201
201
|
}, {});
|
|
@@ -206,9 +206,9 @@ export function matchAll(handlers) {
|
|
|
206
206
|
* Requires no login.
|
|
207
207
|
*/
|
|
208
208
|
export function matchAllAlt(handlers) {
|
|
209
|
-
const mapped =
|
|
209
|
+
const mapped = tsplus_module_6.RecordKeys(tsplus_module_6.object$(handlers)).reduce((prev, cur) => {
|
|
210
210
|
const matches = matchAll(handlers[cur]);
|
|
211
|
-
|
|
211
|
+
tsplus_module_6.RecordKeys(tsplus_module_6.object$(matches)).forEach(key => prev[`${cur}.${key}`] = matches[key]);
|
|
212
212
|
return prev;
|
|
213
213
|
}, {});
|
|
214
214
|
return mapped;
|
|
@@ -242,11 +242,11 @@ export function handle(_, adaptResponse) {
|
|
|
242
242
|
*/
|
|
243
243
|
export function matchResource(mod) {
|
|
244
244
|
return (handlers) => {
|
|
245
|
-
const handler =
|
|
245
|
+
const handler = tsplus_module_6.RecordKeys(tsplus_module_6.object$(mod)).reduce((prev, cur) => {
|
|
246
246
|
prev[cur] = handle(mod[cur])(handlers[cur]);
|
|
247
247
|
return prev;
|
|
248
248
|
}, {});
|
|
249
249
|
return handler;
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUd4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDaEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFFdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMkJBQW9CO0lBQ2pELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQVdoQyxPQVVZO0lBRVosTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQW9CLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDN0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDUCxBQTdDQyxFQUFFLENBNkNILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQW9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDUCxBQXJEQyxFQUFFLENBcURILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFM0QsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQW9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDUCxBQTdEQyxFQUFFLENBNkRILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFMUQsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQW9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDUCxBQXJFQyxFQUFFLENBcUVILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFMUQsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQW9CLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDNUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDUCxBQTdFQyxFQUFFLENBNkVILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFNUQsT0FBTztRQUNMLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxVQUFVO0tBQ1gsQ0FBQTtBQUNILENBQUM7QUEyQkQsTUFBTSxVQUFVLEtBQUssQ0FjbkIsY0FVQyxFQUNELFlBSzhCLEVBQzlCLFVBWUM7SUFFRCxJQUFJLHFCQUFxQixHQUFHLFNBQVMsQ0FBQTtJQUNyQyxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzNELGNBQWMsR0FBRyxPQUFPLENBQUE7UUFDeEIscUJBQXFCLEdBQUcsV0FBVyxDQUFBO0tBQ3BDO0lBQ0QsT0FBTyx5QkFBQSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBUyxDQUFDLENBQ2pFLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDekMsa0JBQWtCLENBQ2hCLGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLENBQ3RCLENBQ0YsRUFDQywyQkFDRSxtQkFBbUIsQ0FDakIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQzNCLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUM3QixjQUFjLENBQ2YsQ0FDRixDQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsY0FBMkM7SUFFM0MsT0FBTyxDQUFDLEdBQVMsRUFBRSxHQUFxQixFQUFFLENBQUksRUFBRSxFQUFFLENBQ2hELHdCQUFBLDJCQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNuQixDQUFDLENBQUMsRUFBRSxDQUNYLHFCQUFZLEdBQUcsRUFBRTtRQUNmLENBQUMsS0FBSyxTQUFTO1lBQ2IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFO1lBQ3hCLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlCLENBQUMsQ0FBQyxDQUNILENBQUE7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQWNoQyxPQVVDLEVBQ0QsWUFLa0MsRUFDbEMscUJBQXdEO0lBRXhELE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQy9ELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQWUsQ0FBQyxDQUFDLENBQUMsQ0ExT2xELEVBQUUsQ0EwT2lELElBQUksQ0FBQTtJQUNqRSxNQUFNLE9BQU8sR0FBRyxBQTNPTixFQUFFLENBMk9JLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsTUFBTSxjQUFjLEdBQUcsYUFBYTtRQUNsQyxDQUFDLENBQUMsQ0FBQyxHQUFTLEVBQUUsRUFBRSxDQUFDLEFBN09ULEVBQUUsQ0E2T08sT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQTtJQUVqQixNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNsRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN2RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUE7SUFFOUMsU0FBUyxTQUFTLENBQUMsR0FBb0I7UUFDckMsT0FBTywyQkFBTyxDQUFBO1lBQ1osSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2hCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1NBQ3JCLENBQUEsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFNBQVMsV0FBVyxDQUFDLEdBQW9CO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDeEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFVLENBQUE7UUFDdkMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxhQUFhLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFvQixDQUFDO1lBQ3RFLENBQUMsQ0FBRSxhQUEwQztZQUM3QyxDQUFDLENBQUUsSUFBYyxDQUFBO1FBRW5CLDBDQUEwQztRQUMxQyxrQkFBa0I7UUFDbEIsMENBQTBDO1FBQzFDLElBQUk7UUFFSixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzNDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsNEJBQUEsU0FBUyxFQUFhLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFOUUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN6QyxNQUFNLFNBQVMsR0FBRyxBQS9RVixFQUFFLENBK1FRLGdCQUFnQixDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFBO1FBRTdHLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3hDLE1BQU07WUFDTixJQUFJLEVBQUUsQUFuUkEsRUFBRSxDQW1SRixnQkFBZ0IsQ0FDcEIsT0FBTyxDQUFDLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN6RTtZQUNELE1BQU07WUFDTixTQUFTLEVBQUUsS0FBSztZQUNoQixTQUFTO1lBQ1QsaUNBQWlDO1lBQ2pDLFFBQVE7WUFDUix5Q0FBeUM7WUFDekMsbURBQW1EO1lBQ25ELGdCQUFnQjtZQUNoQiw4Q0FBOEM7WUFDOUMsU0FBUztZQUNULE1BQU07WUFDTixVQUFVO1NBQ1gsQ0FBQyxDQUFBO1FBQ0YsMENBQTBDO1FBQzFDLE9BQU8sY0FBYyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBb0IsRUFBRSxHQUFxQixFQUFFLEVBQUU7UUFDckQsT0FBTywwQkFBZSxPQUFPLENBQUMsRUFBRSxDQUM5Qix3QkFBQSxvQkFBVztZQUNULGNBQWMsRUFBRSxxQkFBWSxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDdkMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEtBQUssRUFBRTtvQkFDeEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUE7aUJBQzNDO2dCQUNELEdBQUcsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUN4RCxPQUFPLGNBQWMsQ0FBQTtZQUN2QixDQUFDLENBQUM7WUFDRixJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQztTQUNyQixDQUFDLEVBQ1MsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLENBQ3BDLGlFQUFBLG9CQUFBLDhCQUFBLHlCQUFBLDRDQUFBLGVBQWUsR0FBYSxDQUFDLENBQUMsRUFBRSxDQUU1Qiw2QkFBb0I7WUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztZQUNyQixHQUFHLENBQUMsQ0FBQyxPQUFPO2dCQUNWLENBQUMsQ0FBQztvQkFDQSxPQUFPLHVEQUFFLElBQUksQ0FBQyxJQUFJLEVBQVU7b0JBQzVCLFFBQVEsdURBQUUsSUFBSSxDQUFDLEtBQUssRUFBVTtvQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUMxQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQ2hDLFVBQVUsdURBQUUsSUFBSSxDQUFDLE9BQU8sRUFBVTtpQkFDbkMsQ0FBQyxDQUFDO2dCQUNILFNBQVM7U0FDWixDQUFDLENBYkosd0JBQWUsa0JBQWtCLENBQUMsQ0FjakMsQ0FDRixFQUNDLCtCQUFzQixHQUFHLEVBQUU7WUFDekIsTUFBTSxhQUFhLEdBQUcsd0JBQUEsb0JBQUEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNoQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDVCxrQ0FBRyxJQUFJLENBQU07b0JBQ2Isa0NBQUcsS0FBSyxDQUFNO29CQUNkLGtDQUFHLElBQUksQ0FBTTtpQkFDSyxDQUFBO2dCQUNwQixPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUMsQ0FBQyxFQUNPLFNBQVMsQ0FBQyxFQUFFLENBQ25CLHdCQUFBLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFDOUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUM1QyxDQUFBO1lBRUgsd0NBQXdDO1lBQ3hDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsaUNBQUMsYUFBYSxFQUFpQixDQUFDLENBQUMsYUFBYSxDQUFBLENBQUMsNkNBQTZDO1lBQzVILHNEQUFzRDtZQUN0RCxNQUFNLEVBQUUsR0FBRyxxQkFBcUI7Z0JBQzlCLENBQUMsQ0FBQyx5QkFBQSx5QkFBeUIsRUFDZix5Q0FFa0IscUJBQXFCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxjQUFjLENBQUMsb0NBRmpFLENBQUMsRUFFaUUsQ0FBQztnQkFDL0UsQ0FBQyxDQUFDLHlCQUFBLHlCQUF5QjtnQkFDekIsMEJBQTBCO2tCQUNoQixDQUFDLENBQXlDLENBQUE7WUFDeEQsT0FBTyxZQUFZLENBQ2pCLEdBQUcsRUFDSCxHQUFHLEVBQ0gsY0FBYyxFQUNkLEVBQUUsQ0FDSCxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsRUFDZ0IsS0FBSyxDQUFDLEVBQUUsQ0FDckIsOEJBQUEsdUJBQ0UsMkJBQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUM5QixrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsY0FBYztZQUNkLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztZQUNyQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07U0FDbkIsQ0FBQyxFQUNGLCtCQUFzQixHQUFHLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ2hDLE9BR1EsNkJBQW9CO2dCQUMxQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztnQkFDckIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUVyQyxPQUFPLHVEQUFFLElBQUksQ0FBQyxJQUFJLEVBQVU7Z0JBQzVCLFFBQVEsdURBQUUsSUFBSSxDQUFDLEtBQUssRUFBVTtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMxQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ2hDLFVBQVUsdURBQUUsSUFBSSxDQUFDLE9BQU8sRUFBVTtnQkFFbEMsVUFBVSx1REFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUNoRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7b0JBQzFFLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLEVBQ2pCO2FBQ2IsQ0FBQyxDQW5CSyxxQ0FDTCxrQkFBa0IsRUFDbEIsS0FBSyxDQUNOLEVBZ0JFO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsRUFDZ0IsS0FBSyxDQUFDLEVBQUUsQ0FBQywyQkFBTyxPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDaEcsRUFDSSxHQUFHLEVBQUUsQ0FDUiw0Q0FBQSxlQUFlLEdBQWEsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ2hDLE9BQWdELDZCQUFvQjtnQkFDbEUsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO2dCQUNsQixJQUFJLEVBQUUsR0FBRyxDQUFDLFdBQVc7Z0JBQ3JCLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDckMsR0FBRyxDQUFDLENBQUMsT0FBTztvQkFDVixDQUFDLENBQUM7d0JBQ0EsVUFBVSx1REFBRSxPQUFPLEVBQVU7cUJBQzlCLENBQUMsQ0FBQztvQkFDSCxTQUFTO2FBQ1osQ0FBQyxDQVRLLHdCQUFlLGtCQUFrQixDQUFDLEVBU3RDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsd0JBRW1DLGNBQWMsQ0FBQyxDQUFDLDRDQUE0QztTQUNuRyxDQUNKLENBQUE7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDO0FBMkNEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQTRCLFFBQVc7SUFDN0QsTUFBTSxNQUFNLEdBQUcsbURBQUEsUUFBUSxHQUFTLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQXNCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQTtRQUMvRSxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsRUFBRSxFQUFTLENBQThCLENBQUE7SUFFMUMsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBZ0MsUUFBVztJQUNwRSxNQUFNLE1BQU0sR0FBRyxtREFBQSxRQUFRLEdBQVMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ25ELE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUN2QyxtREFBQSxPQUFPLEdBQVMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBYSxJQUFJLEdBQWEsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDeEYsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBUyxDQUEyQyxDQUFBO0lBRXZELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQXdDRCxNQUFNLFVBQVUsTUFBTSxDQU1wQixDQUFzQyxFQUN0QyxhQUFtQjtJQUVuQix3REFBd0Q7SUFDeEQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNwQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBVXRDLE9BQU8sQ0FDTCxDQUFnQyxFQUNoQyxFQUFFLENBQUMsQ0FBQztRQUNKLGFBQWE7UUFDYixDQUFDO1FBQ0QsT0FBTztRQUNQLFFBQVE7UUFDUixlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWUsSUFBSSxRQUFRO0tBUTlDLENBQUEsQ0FBQTtBQUNKLENBQUM7QUFxQkQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUF1RCxHQUFhO0lBRS9GLE9BQU8sQ0FPTCxRQUFtQixFQUNuQixFQUFFO1FBQ0YsTUFBTSxPQUFPLEdBQUcsbURBQUEsR0FBRyxHQUFTLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVEsQ0FBQyxDQUFBO1lBQ2xELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFBO1FBRWIsT0FBTyxPQVNOLENBQUE7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIn0=
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBR3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdkUsT0FBTyxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywyQkFBb0I7SUFDakQsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDLENBQUE7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBV2hDLE9BVVk7SUFFWixNQUFNLEVBQUUsR0FBRywyQkFDVCxvQkFBQSxvQkFBQSxvQkFBQSw2QkFBb0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUM3QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNQ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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Effect } from "@effect/io/Effect";
|
|
2
2
|
import { RequestContext } from "../RequestContext.js";
|
|
3
|
+
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
3
4
|
/**
|
|
4
5
|
* @tsplus fluent effect/io/Effect setupRequest
|
|
5
6
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
@@ -9,10 +10,10 @@ export declare function setupRequest<R, E, A>(self: Effect<R, E, A>, requestCont
|
|
|
9
10
|
* @tsplus getter effect/io/Effect setupRequestFrom
|
|
10
11
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
11
12
|
*/
|
|
12
|
-
export declare function setupRequestFrom<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<
|
|
13
|
+
export declare function setupRequestFrom<R, E, A>(self: Effect<R, E, A>): import("@effect/io/Effect").Effect<RequestContextContainer | R, E, A>;
|
|
13
14
|
/**
|
|
14
15
|
* @tsplus fluent effect/io/Effect setupRequestFromWith
|
|
15
16
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
16
17
|
*/
|
|
17
|
-
export declare function setupReq3<R, E, A>(self: Effect<R, E, A>, name: string): import("@effect/io/Effect").Effect<Exclude<R,
|
|
18
|
+
export declare function setupReq3<R, E, A>(self: Effect<R, E, A>, name: string): import("@effect/io/Effect").Effect<Exclude<R, RequestContextContainer>, E, A>;
|
|
18
19
|
//# sourceMappingURL=setupRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;;;;
|
|
1
|
+
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAA+B,MAAM,wCAAwC,CAAA;;;;;AAK7G,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,+CAY1F;;;;;AAKD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yEAE9D;;;;;AAKD,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,iFAMrE"}
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -2,11 +2,11 @@ import * as tsplus_module_1 from "@effect/io/Effect";
|
|
|
2
2
|
import * as tsplus_module_2 from "@effect-app/prelude/_ext/misc";
|
|
3
3
|
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/io/Debug";
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/prelude/schema";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/prelude/schema";
|
|
7
6
|
export const setupRequest = setupRequest_1;
|
|
8
7
|
export const setupRequestFrom = setupRequestFrom_1;
|
|
9
8
|
import { RequestContext } from "../RequestContext.js";
|
|
9
|
+
import { RequestContextContainer, RequestContextContainerImpl } from "../services/RequestContextContainer.js";
|
|
10
10
|
/**
|
|
11
11
|
* @tsplus fluent effect/io/Effect setupRequest
|
|
12
12
|
*/
|
|
@@ -22,21 +22,21 @@ function setupRequest_1(self, requestContext) {
|
|
|
22
22
|
* @tsplus getter effect/io/Effect setupRequestFrom
|
|
23
23
|
*/
|
|
24
24
|
function setupRequestFrom_1(self) {
|
|
25
|
-
return tsplus_module_4.untraced(() => tsplus_module_1.
|
|
25
|
+
return tsplus_module_4.untraced(() => tsplus_module_1.flatMap(RequestContextContainer.get, requestContext => setupRequest_1(self, requestContext)));
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* @tsplus fluent effect/io/Effect setupRequestFromWith
|
|
29
29
|
*/
|
|
30
30
|
export function setupReq3(self, name) {
|
|
31
|
-
return tsplus_module_4.untraced(() => tsplus_module_1.provideService(setupRequestFrom_1(self),
|
|
31
|
+
return tsplus_module_4.untraced(() => tsplus_module_1.provideService(setupRequestFrom_1(self), RequestContextContainer, new RequestContextContainerImpl(makeInternalRequestContext(name))));
|
|
32
32
|
}
|
|
33
33
|
function makeInternalRequestContext(name) {
|
|
34
|
-
const id =
|
|
34
|
+
const id = tsplus_module_5.StringId.make();
|
|
35
35
|
return new RequestContext({
|
|
36
36
|
id,
|
|
37
37
|
rootId: id,
|
|
38
38
|
locale: "en",
|
|
39
|
-
name:
|
|
39
|
+
name: tsplus_module_5.ReasonableString(name)
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvc2V0dXBSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O2FBTWdCLFlBQVk7YUFpQlosZ0JBQWdCO0FBdkJoQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFFN0c7O0dBRUc7QUFDSCx3QkFBc0MsSUFBcUIsRUFBRSxjQUE4QjtJQUN6RixPQUFPLHlCQUFlLEdBQUcsRUFBRSxDQUN6QixnQkFBQSxJQUFJLENBQ0Ysd0JBQUEsSUFBSSxFQUFTLFNBQVMsQ0FBQyxFQUN2Qiw2QkFBb0I7UUFDbEIsYUFBYSxFQUFFLGNBQWMsQ0FBQyxNQUFNO1FBQ3BDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRTtRQUM1QixXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7UUFDaEMsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDekUsQ0FBQyxDQUNILENBQ0YsQ0FBQTtBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILDRCQUEwQyxJQUFxQjtJQUM3RCxPQUFPLHlCQUFlLEdBQUcsRUFBRSxDQUFDLHdCQUFBLHVCQUF1QixDQUFDLEdBQUcsRUFBUyxjQUFjLENBQUMsRUFBRSxDQUFDLGVBQUEsSUFBSSxFQUFjLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN2SCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFVLElBQXFCLEVBQUUsSUFBWTtJQUNwRSxPQUFPLHlCQUFlLEdBQUcsRUFBRSxDQUN6QixrREFBQSxJQUFJLEdBRWMsdUJBQXVCLEVBQUUsSUFBSSwyQkFBMkIsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzlHLENBQUE7QUFDSCxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxJQUFZO0lBQzlDLE1BQU0sRUFBRSxHQUFHLGdCQUFBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxQixPQUFPLElBQUksY0FBYyxDQUFDO1FBQ3hCLEVBQUU7UUFDRixNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxJQUFJO1FBQ1osSUFBSSxFQUFFLGdCQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQztLQUM3QixDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
|
@@ -14,9 +14,6 @@ export declare function renderMessage(forceFake: boolean): (msg: EmailMsg) => {
|
|
|
14
14
|
to: EmailData | EmailData[] | undefined;
|
|
15
15
|
cc: EmailData | EmailData[] | undefined;
|
|
16
16
|
bcc: EmailData | EmailData[] | undefined;
|
|
17
|
-
/**
|
|
18
|
-
* @hidden
|
|
19
|
-
*/
|
|
20
17
|
from: EmailData;
|
|
21
18
|
replyTo?: EmailData | undefined;
|
|
22
19
|
sendAt?: number | undefined;
|
|
@@ -57,9 +54,6 @@ export declare function renderMessage(forceFake: boolean): (msg: EmailMsg) => {
|
|
|
57
54
|
to: EmailData | EmailData[] | undefined;
|
|
58
55
|
cc: EmailData | EmailData[] | undefined;
|
|
59
56
|
bcc: EmailData | EmailData[] | undefined;
|
|
60
|
-
/**
|
|
61
|
-
* @hidden
|
|
62
|
-
*/
|
|
63
57
|
from: EmailData;
|
|
64
58
|
replyTo?: EmailData | undefined;
|
|
65
59
|
sendAt?: number | undefined;
|
|
@@ -100,9 +94,6 @@ export declare function renderMessage(forceFake: boolean): (msg: EmailMsg) => {
|
|
|
100
94
|
to: EmailData | EmailData[] | undefined;
|
|
101
95
|
cc: EmailData | EmailData[] | undefined;
|
|
102
96
|
bcc: EmailData | EmailData[] | undefined;
|
|
103
|
-
/**
|
|
104
|
-
* @hidden
|
|
105
|
-
*/
|
|
106
97
|
from: EmailData;
|
|
107
98
|
replyTo?: EmailData | undefined;
|
|
108
99
|
sendAt?: number | undefined;
|
|
@@ -143,9 +134,6 @@ export declare function renderMessage(forceFake: boolean): (msg: EmailMsg) => {
|
|
|
143
134
|
to: EmailData | EmailData[] | undefined;
|
|
144
135
|
cc: EmailData | EmailData[] | undefined;
|
|
145
136
|
bcc: EmailData | EmailData[] | undefined;
|
|
146
|
-
/**
|
|
147
|
-
* @hidden
|
|
148
|
-
*/
|
|
149
137
|
from: EmailData;
|
|
150
138
|
replyTo?: EmailData | undefined;
|
|
151
139
|
sendAt?: number | undefined;
|