@effect-app/infra 0.83.11 → 0.84.0-next.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/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +2 -36
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +1 -1
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +6 -24
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +1 -1
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +40 -75
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +1 -1
- package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +1 -1
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +1 -3
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +1 -1
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +7 -15
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +1 -1
- package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +1 -1
- package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +1 -1
- package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +1 -1
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +1 -5
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +1 -1
- package/CHANGELOG.md +23 -0
- package/_cjs/_ext/Array.cjs +3 -2
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +11 -10
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +3 -2
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs +2 -2
- package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +4 -3
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +24 -22
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -20
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +1 -1
- package/_cjs/api/routing.cjs +55 -53
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +3 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +5 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -10
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +8 -8
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +2 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +4 -4
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +5 -5
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +4 -4
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +8 -7
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +13 -11
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +5 -4
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +31 -29
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +7 -6
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +18 -17
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +16 -15
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +17 -16
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +35 -33
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +11 -10
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +49 -46
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +19 -18
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +27 -25
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +16 -14
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +6 -5
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +13 -13
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +19 -17
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +9 -8
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +11 -9
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +20 -18
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +11 -10
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +5 -5
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +18 -17
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/authorization.jwt.ts +1 -1
- package/_src/api/defaultErrorHandler.ts +2 -2
- package/_src/api/express/routing.ts.bak +8 -8
- package/_src/api/express/schema/requestHandler.ts +12 -12
- package/_src/api/express/schema/routing.ts +11 -11
- package/_src/api/routing.ts +14 -13
- package/_src/errorReporter.ts +1 -1
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Operations/live.ts +5 -5
- package/_src/services/QueueMaker/errors.ts +1 -1
- package/_src/services/QueueMaker/memQueue.ts +2 -2
- package/_src/services/QueueMaker/sbqueue.ts +1 -1
- package/_src/services/Repository.ts +9 -9
- package/_src/services/RepositoryBase.ts +8 -6
- package/_src/services/RequestContextContainer.ts +1 -1
- package/_src/services/Store/Cosmos.ts +17 -12
- package/_src/services/Store/Disk.ts +4 -4
- package/_src/services/Store/Memory.ts +4 -4
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/index.test.ts.bak +5 -5
- package/_src/services/Store/index.ts +1 -1
- package/_src/services/Store/utils.ts +16 -16
- package/_src/services/simpledb/diskdb.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/_src/services/simpledb/simpledb.ts +3 -3
- package/dist/RequestContext.d.ts +20 -20
- package/dist/_ext/Array.js +4 -3
- package/dist/api/defaultErrorHandler.js +12 -11
- package/dist/api/express/makeJsonSchema.js +4 -3
- package/dist/api/express/makeOpenApiSpecs.js +5 -4
- package/dist/api/express/schema/requestHandler.d.ts +1 -1
- package/dist/api/express/schema/requestHandler.js +35 -33
- package/dist/api/express/schema/routing.d.ts +1 -1
- package/dist/api/express/schema/routing.js +23 -21
- package/dist/api/reportError.d.ts +3 -3
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +1 -1
- package/dist/api/routing.d.ts +2 -2
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +59 -57
- package/dist/api/setupRequest.d.ts +1 -1
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -3
- package/dist/api/writeDocs.js +6 -5
- package/dist/errorReporter.js +12 -11
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/filter.d.ts.map +1 -1
- package/dist/instrument.js +3 -2
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +5 -5
- package/dist/logger/logFmtLogger.d.ts +2 -2
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +6 -6
- package/dist/logger/shared.js +5 -5
- package/dist/rateLimit.d.ts +2 -2
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +9 -8
- package/dist/services/Emailer/Sendgrid.d.ts +1 -1
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +16 -14
- package/dist/services/Emailer/fake.d.ts +1 -1
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +6 -5
- package/dist/services/Emailer/service.d.ts +2 -2
- package/dist/services/Operations/live.d.ts +1 -1
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +39 -37
- package/dist/services/Operations/service.d.ts +7 -7
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +1 -1
- package/dist/services/QueueMaker/errors.d.ts +4 -4
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +7 -6
- package/dist/services/QueueMaker/memQueue.d.ts +1 -1
- package/dist/services/QueueMaker/memQueue.js +17 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +16 -15
- package/dist/services/Repository.d.ts +8 -8
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +18 -17
- package/dist/services/RepositoryBase.d.ts +24 -75
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +37 -35
- package/dist/services/RequestContextContainer.d.ts +4 -4
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +14 -13
- package/dist/services/Store/Cosmos.d.ts +2 -2
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +54 -51
- package/dist/services/Store/Disk.d.ts +2 -2
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +20 -19
- package/dist/services/Store/Memory.d.ts +3 -3
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +28 -26
- package/dist/services/Store/Redis.d.ts +2 -2
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +17 -15
- package/dist/services/Store/index.d.ts +1 -1
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +7 -6
- package/dist/services/Store/service.d.ts +5 -5
- package/dist/services/Store/service.js +2 -2
- package/dist/services/Store/utils.d.ts +3 -3
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +21 -21
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.js +19 -17
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.d.ts.map +1 -1
- package/dist/services/simpledb/diskdb.js +10 -9
- package/dist/services/simpledb/memdb.d.ts +3 -3
- package/dist/services/simpledb/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +13 -11
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.d.ts.map +1 -1
- package/dist/services/simpledb/mongodb.js +16 -14
- package/dist/services/simpledb/redisdb.d.ts +8 -8
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.js +12 -11
- package/dist/services/simpledb/shared.d.ts +13 -13
- package/dist/services/simpledb/shared.js +6 -6
- package/dist/services/simpledb/simpledb.d.ts +4 -4
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -15
- package/package.json +5 -5
package/dist/api/routing.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/FiberRef";
|
|
2
2
|
import * as tsplus_module_2 from "effect/Option";
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "@effect-app/
|
|
6
|
-
import * as tsplus_module_6 from "
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/
|
|
3
|
+
import * as tsplus_module_3 from "effect/Option.impl";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Effect";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/EffectX";
|
|
6
|
+
import * as tsplus_module_6 from "effect/Effect.impl";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/schema/ext";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/prelude/utils";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/core/OptionX";
|
|
10
|
+
import * as tsplus_module_10 from "@effect-app/infra/api/setupRequest";
|
|
9
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
12
|
import * as Ex from "@effect-app/infra-adapters/express";
|
|
11
13
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
@@ -20,20 +22,20 @@ import { parseRequestParams } from "./express/schema/requestHandler.js";
|
|
|
20
22
|
import { makeRouteDescriptor } from "./express/schema/routing.js";
|
|
21
23
|
import { reportRequestError } from "./reportError.js";
|
|
22
24
|
import { snipString } from "./util.js";
|
|
23
|
-
export const RequestSettings = tsplus_module_1.unsafeMake({
|
|
25
|
+
export const RequestSettings = tsplus_module_1.FiberRef.unsafeMake({
|
|
24
26
|
verbose: false
|
|
25
27
|
});
|
|
26
28
|
export function makeRequestParsers(Request) {
|
|
27
|
-
const ph =
|
|
28
|
-
const parseHeaders = (u) =>
|
|
29
|
-
const pq =
|
|
30
|
-
const parseQuery = (u) =>
|
|
31
|
-
const pb =
|
|
32
|
-
const parseBody = (u) =>
|
|
33
|
-
const pp =
|
|
34
|
-
const parsePath = (u) =>
|
|
35
|
-
const pc =
|
|
36
|
-
const parseCookie = (u) =>
|
|
29
|
+
const ph = tsplus_module_4.Effect.sync(() => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_2.Option.fromNullable(Request.Headers), (s) => s), MO.Parser.for), MO.condemnFail));
|
|
30
|
+
const parseHeaders = (u) => tsplus_module_5.flatMapOption(ph, (d) => d(u));
|
|
31
|
+
const pq = tsplus_module_4.Effect.sync(() => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_2.Option.fromNullable(Request.Query), (s) => s), MO.Parser.for), MO.condemnFail));
|
|
32
|
+
const parseQuery = (u) => tsplus_module_5.flatMapOption(pq, (d) => d(u));
|
|
33
|
+
const pb = tsplus_module_4.Effect.sync(() => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_2.Option.fromNullable(Request.Body), (s) => s), MO.Parser.for), MO.condemnFail));
|
|
34
|
+
const parseBody = (u) => tsplus_module_5.flatMapOption(pb, (d) => d(u));
|
|
35
|
+
const pp = tsplus_module_4.Effect.sync(() => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_2.Option.fromNullable(Request.Path), (s) => s), MO.Parser.for), MO.condemnFail));
|
|
36
|
+
const parsePath = (u) => tsplus_module_5.flatMapOption(pp, (d) => d(u));
|
|
37
|
+
const pc = tsplus_module_4.Effect.sync(() => tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_2.Option.fromNullable(Request.Cookie), (s) => s), MO.Parser.for), MO.condemnFail));
|
|
38
|
+
const parseCookie = (u) => tsplus_module_5.flatMapOption(pc, (d) => d(u));
|
|
37
39
|
return {
|
|
38
40
|
parseBody,
|
|
39
41
|
parseCookie,
|
|
@@ -49,11 +51,11 @@ export function match(requestHandler, errorHandler, middleware) {
|
|
|
49
51
|
requestHandler = handler;
|
|
50
52
|
makeMiddlewareContext = makeContext;
|
|
51
53
|
}
|
|
52
|
-
return
|
|
53
|
-
.match(requestHandler.Request.method.toLowerCase())(requestHandler.Request.path.split("?")[0], makeRequestHandler(requestHandler, errorHandler, makeMiddlewareContext)),
|
|
54
|
+
return tsplus_module_6.zipRight(Ex
|
|
55
|
+
.match(requestHandler.Request.method.toLowerCase())(requestHandler.Request.path.split("?")[0], makeRequestHandler(requestHandler, errorHandler, makeMiddlewareContext)), tsplus_module_4.Effect.sync(() => makeRouteDescriptor(requestHandler.Request.path, requestHandler.Request.method, requestHandler)));
|
|
54
56
|
}
|
|
55
57
|
export function respondSuccess(encodeResponse) {
|
|
56
|
-
return (req, res, a) =>
|
|
58
|
+
return (req, res, a) => tsplus_module_6.flatMap(tsplus_module_4.Effect.sync(() => encodeResponse(req)(a)), (r) => tsplus_module_4.Effect.sync(() => {
|
|
57
59
|
r === undefined
|
|
58
60
|
? res.status(204).send()
|
|
59
61
|
: res
|
|
@@ -72,7 +74,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
72
74
|
const parseRequest = parseRequestParams(requestParsers);
|
|
73
75
|
const respond = respondSuccess(encodeResponse);
|
|
74
76
|
function getParams(req) {
|
|
75
|
-
return
|
|
77
|
+
return tsplus_module_4.Effect.sync(() => ({
|
|
76
78
|
path: req.params,
|
|
77
79
|
query: req.query,
|
|
78
80
|
body: req.body,
|
|
@@ -92,7 +94,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
92
94
|
// throw new Error("AI Context missing")
|
|
93
95
|
// }
|
|
94
96
|
const requestId = req.headers["request-id"];
|
|
95
|
-
const rootId = requestId ?
|
|
97
|
+
const rootId = requestId ? tsplus_module_7.parseUnsafe(RequestId)(requestId) : RequestId.make();
|
|
96
98
|
const storeId = req.headers["x-store-id"];
|
|
97
99
|
const namespace = MO.ReasonableString((storeId && (Array.isArray(storeId) ? storeId[0] : storeId)) || "primary");
|
|
98
100
|
const requestContext = new RequestContext({
|
|
@@ -115,8 +117,8 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
115
117
|
return requestContext;
|
|
116
118
|
}
|
|
117
119
|
return (req, res) => {
|
|
118
|
-
return
|
|
119
|
-
requestContext:
|
|
120
|
+
return tsplus_module_6.flatMap(tsplus_module_4.Effect.all({
|
|
121
|
+
requestContext: tsplus_module_4.Effect.sync(() => {
|
|
120
122
|
const requestContext = makeContext(req);
|
|
121
123
|
if (req.method === "GET") {
|
|
122
124
|
res.setHeader("Cache-Control", "no-store");
|
|
@@ -125,77 +127,77 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
125
127
|
return requestContext;
|
|
126
128
|
}),
|
|
127
129
|
pars: getParams(req)
|
|
128
|
-
}), ({ pars, requestContext }) =>
|
|
130
|
+
}), ({ pars, requestContext }) => tsplus_module_6.provideService(tsplus_module_10.withRequestSpan(tsplus_module_6.tap(tsplus_module_6.tapErrorCause(tsplus_module_6.zipRight(tsplus_module_6.flatMap(tsplus_module_1.get(RequestSettings), (s) => tsplus_module_4.Effect.annotateLogs({
|
|
129
131
|
method: req.method,
|
|
130
132
|
path: req.originalUrl,
|
|
131
133
|
...s.verbose
|
|
132
134
|
? {
|
|
133
|
-
reqPath:
|
|
134
|
-
reqQuery:
|
|
135
|
+
reqPath: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.path)),
|
|
136
|
+
reqQuery: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.query)),
|
|
135
137
|
reqBody: pretty(pars.body),
|
|
136
138
|
reqCookies: pretty(pars.cookies),
|
|
137
|
-
reqHeaders:
|
|
139
|
+
reqHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.headers))
|
|
138
140
|
}
|
|
139
141
|
: undefined
|
|
140
142
|
})(
|
|
141
143
|
// TODO: we don;t have access to user id here cause context is not yet created
|
|
142
|
-
|
|
143
|
-
const handleRequest =
|
|
144
|
+
tsplus_module_4.Effect.logInfo("Incoming request"))), tsplus_module_4.Effect.suspend(() => {
|
|
145
|
+
const handleRequest = tsplus_module_6.flatMap(tsplus_module_6.map(parseRequest(req), ({ body, path, query }) => {
|
|
144
146
|
const hn = {
|
|
145
|
-
...
|
|
146
|
-
...
|
|
147
|
-
...
|
|
147
|
+
...tsplus_module_9.getOrUndefined(body),
|
|
148
|
+
...tsplus_module_9.getOrUndefined(query),
|
|
149
|
+
...tsplus_module_9.getOrUndefined(path)
|
|
148
150
|
};
|
|
149
151
|
return hn;
|
|
150
|
-
}), (parsedReq) =>
|
|
152
|
+
}), (parsedReq) => tsplus_module_6.flatMap(handle(parsedReq), (r) => respond(parsedReq, res, r)));
|
|
151
153
|
// Commands should not be interruptable.
|
|
152
|
-
const r = req.method !== "GET" ?
|
|
154
|
+
const r = req.method !== "GET" ? tsplus_module_6.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
|
|
153
155
|
// the first log entry should be of the request start.
|
|
154
156
|
const r2 = makeMiddlewareContext
|
|
155
|
-
?
|
|
157
|
+
? tsplus_module_6.zipRight(restoreFromRequestContext, tsplus_module_5.provideSomeContextEffect(makeMiddlewareContext(req, res))(r
|
|
156
158
|
// the db namespace must be restored, before calling provide here
|
|
157
159
|
))
|
|
158
|
-
:
|
|
160
|
+
: tsplus_module_6.zipRight(restoreFromRequestContext
|
|
159
161
|
// PR is not relevant here
|
|
160
162
|
, r);
|
|
161
163
|
return errorHandler(req, res, r2);
|
|
162
|
-
})), (cause) =>
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
})), (cause) => tsplus_module_6.tapErrorCause(tsplus_module_4.Effect.all([
|
|
165
|
+
tsplus_module_4.Effect.sync(() => res.status(500).send()),
|
|
166
|
+
tsplus_module_4.Effect.sync(() => reportRequestError(cause, {
|
|
165
167
|
path: req.originalUrl,
|
|
166
168
|
method: req.method
|
|
167
169
|
})),
|
|
168
|
-
|
|
170
|
+
tsplus_module_4.Effect.suspend(() => {
|
|
169
171
|
const headers = res.getHeaders();
|
|
170
|
-
return
|
|
172
|
+
return tsplus_module_4.Effect.annotateLogs({
|
|
171
173
|
method: req.method,
|
|
172
174
|
path: req.originalUrl,
|
|
173
175
|
statusCode: res.statusCode.toString(),
|
|
174
|
-
reqPath:
|
|
175
|
-
reqQuery:
|
|
176
|
+
reqPath: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.path)),
|
|
177
|
+
reqQuery: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.query)),
|
|
176
178
|
reqBody: pretty(pars.body),
|
|
177
179
|
reqCookies: pretty(pars.cookies),
|
|
178
|
-
reqHeaders:
|
|
179
|
-
resHeaders:
|
|
180
|
+
reqHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.headers)),
|
|
181
|
+
resHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(Object
|
|
180
182
|
.entries(headers)
|
|
181
183
|
.reduce((prev, [key, value]) => {
|
|
182
184
|
prev[key] = value && typeof value === "string" ? snipString(value) : value;
|
|
183
185
|
return prev;
|
|
184
186
|
}, {})))
|
|
185
|
-
})(
|
|
187
|
+
})(tsplus_module_4.Effect.logError("Finished request", cause));
|
|
186
188
|
})
|
|
187
|
-
], { concurrency: "inherit" }), (cause) =>
|
|
189
|
+
], { concurrency: "inherit" }), (cause) => tsplus_module_4.Effect.sync(() => console.error("Error occurred while reporting error", cause)))), () => tsplus_module_6.flatMap(tsplus_module_1.get(RequestSettings), (s) => {
|
|
188
190
|
const headers = res.getHeaders();
|
|
189
|
-
return
|
|
191
|
+
return tsplus_module_4.Effect.annotateLogs({
|
|
190
192
|
method: req.method,
|
|
191
193
|
path: req.originalUrl,
|
|
192
194
|
statusCode: res.statusCode.toString(),
|
|
193
195
|
...s.verbose
|
|
194
196
|
? {
|
|
195
|
-
resHeaders:
|
|
197
|
+
resHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(headers))
|
|
196
198
|
}
|
|
197
199
|
: undefined
|
|
198
|
-
})(
|
|
200
|
+
})(tsplus_module_4.Effect.logInfo("Finished request"));
|
|
199
201
|
}))), RequestContextContainer, new RequestContextContainerImpl(requestContext)) // otherwise external error reporter breaks.
|
|
200
202
|
);
|
|
201
203
|
};
|
|
@@ -205,7 +207,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
205
207
|
* Requires no login.
|
|
206
208
|
*/
|
|
207
209
|
export function matchAll(handlers) {
|
|
208
|
-
const mapped =
|
|
210
|
+
const mapped = tsplus_module_8.RecordKeys(tsplus_module_8.object$(handlers)).reduce((prev, cur) => {
|
|
209
211
|
prev[cur] = match(handlers[cur], defaultBasicErrorHandler);
|
|
210
212
|
return prev;
|
|
211
213
|
}, {});
|
|
@@ -216,9 +218,9 @@ export function matchAll(handlers) {
|
|
|
216
218
|
* Requires no login.
|
|
217
219
|
*/
|
|
218
220
|
export function matchAllAlt(handlers) {
|
|
219
|
-
const mapped =
|
|
221
|
+
const mapped = tsplus_module_8.RecordKeys(tsplus_module_8.object$(handlers)).reduce((prev, cur) => {
|
|
220
222
|
const matches = matchAll(handlers[cur]);
|
|
221
|
-
|
|
223
|
+
tsplus_module_8.RecordKeys(tsplus_module_8.object$(matches)).forEach((key) => prev[`${cur}.${key}`] = matches[key]);
|
|
222
224
|
return prev;
|
|
223
225
|
}, {});
|
|
224
226
|
return mapped;
|
|
@@ -246,17 +248,17 @@ export function handle(_, adaptResponse) {
|
|
|
246
248
|
* class SayHelloResponse extends Model<SayHelloRequest>()({ message: prop(LongString) }) {}
|
|
247
249
|
*
|
|
248
250
|
* export const SayHelloControllers = matchResource({ SayHello: { SayHelloRequest, SayHelloResponse } })({
|
|
249
|
-
* SayHello: (req) => Effect({ message: `Hi ${req.name}` })
|
|
251
|
+
* SayHello: (req) => Effect.sync(() => { message: `Hi ${req.name}` })
|
|
250
252
|
* })
|
|
251
253
|
* ```
|
|
252
254
|
*/
|
|
253
255
|
export function matchResource(mod) {
|
|
254
256
|
return (handlers) => {
|
|
255
|
-
const handler =
|
|
257
|
+
const handler = tsplus_module_8.RecordKeys(tsplus_module_8.object$(mod)).reduce((prev, cur) => {
|
|
256
258
|
prev[cur] = handle(mod[cur])(handlers[cur]);
|
|
257
259
|
return prev;
|
|
258
260
|
}, {});
|
|
259
261
|
return handler;
|
|
260
262
|
};
|
|
261
263
|
}
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RSxPQUFPLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMkJBQW9CO0lBQ2pELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQVdoQyxPQVVZO0lBRVosTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDekIsQ0FB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
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBR3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxnQkFBQSxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2pELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQVdoQyxPQVVZO0lBRVosTUFBTSxFQUFFLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FD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
|
|
@@ -9,5 +9,5 @@ export declare function setupReq3<R, E, A>(self: Effect<R, E, A>, name: string):
|
|
|
9
9
|
* @tsplus getter effect/io/Effect withRequestSpan
|
|
10
10
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
11
11
|
*/
|
|
12
|
-
export declare const withRequestSpan: <R, E, A>(f:
|
|
12
|
+
export declare const withRequestSpan: <R, E, A>(f: Effect<R, E, A>) => import("effect/Effect").Effect<RequestContextContainer | Exclude<R, import("effect/Tracer").ParentSpan>, E, A>;
|
|
13
13
|
//# sourceMappingURL=setupRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,uBAAuB,EAA+B,MAAM,wCAAwC,CAAA;;;;;AAK7G,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,0HAMrE;;;;;AAeD,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"setupRequest.d.ts","sourceRoot":"","sources":["../../_src/api/setupRequest.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,uBAAuB,EAA+B,MAAM,wCAAwC,CAAA;;;;;AAK7G,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,0HAMrE;;;;;AAeD,eAAO,MAAM,eAAe,eAAgB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mHAKxD,CAAA"}
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Effect";
|
|
1
|
+
import * as tsplus_module_1 from "effect/Effect.impl";
|
|
2
2
|
import * as tsplus_module_2 from "@effect-app/prelude/schema";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect";
|
|
3
4
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
4
5
|
import { RequestContext } from "../RequestContext.js";
|
|
5
6
|
import { RequestContextContainer, RequestContextContainerImpl } from "../services/RequestContextContainer.js";
|
|
@@ -10,7 +11,7 @@ export function setupReq3(self, name) {
|
|
|
10
11
|
return tsplus_module_1.flatMap(makeInternalRequestContext(name), (rc) => tsplus_module_1.provideService(withRequestSpan_1(self), RequestContextContainer, new RequestContextContainerImpl(rc)));
|
|
11
12
|
}
|
|
12
13
|
function makeInternalRequestContext(name) {
|
|
13
|
-
return
|
|
14
|
+
return tsplus_module_3.Effect.sync(() => {
|
|
14
15
|
const id = RequestId.make();
|
|
15
16
|
return new RequestContext({
|
|
16
17
|
id,
|
|
@@ -23,4 +24,4 @@ function makeInternalRequestContext(name) {
|
|
|
23
24
|
/** @tsplus getter effect/io/Effect withRequestSpan */
|
|
24
25
|
const withRequestSpan_1 = (f) => tsplus_module_1.flatMap(RequestContextContainer.flatMap((c) => c.requestContext), (ctx) => tsplus_module_1.withLogSpan(tsplus_module_1.withSpan(f, `request[${ctx.name}]#${ctx.id}`), "request"));
|
|
25
26
|
export const withRequestSpan = withRequestSpan_1;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvc2V0dXBSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFFN0c7O0dBRUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFVLElBQXFCLEVBQUUsSUFBWTtJQUNwRSxPQUFPLHdCQUFBLDBCQUEwQixDQUFDLElBQUksQ0FBQyxFQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FDckQsaURBQUEsSUFBSSxHQUVjLHVCQUF1QixFQUFFLElBQUksMkJBQTJCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDaEYsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLElBQVk7SUFDOUMsT0FBTyxnQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDM0IsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixFQUFFO1lBQ0YsTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxnQkFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsc0RBQXNEO0FBQy9DLE1BQU0sb0JBQWtCLENBQVUsQ0FBa0IsRUFBRSxFQUFFLENBQzdELHdCQUFBLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDdkUsNEJBQUEseUJBQUEsQ0FBQyxFQUNXLFdBQVcsR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFDOUIsU0FBUyxDQUFDLENBQzFCLENBQUE7YUFMVSxlQUFlIn0=
|
package/dist/api/writeDocs.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "effect/
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect.impl";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Order";
|
|
4
|
+
import * as tsplus_module_4 from "effect/ReadonlyArray.int";
|
|
4
5
|
import { typedValuesOf } from "@effect-app/core/utils";
|
|
5
6
|
import { writeTextFile } from "@effect-app/infra-adapters/fileUtil";
|
|
6
7
|
import * as Plutus from "@effect-app/infra-adapters/Openapi/atlas-plutus";
|
|
7
8
|
import { makeOpenApiSpecs } from "./express/makeOpenApiSpecs.js";
|
|
8
9
|
export function writeOpenapiDocs(rdescs) {
|
|
9
|
-
return
|
|
10
|
+
return tsplus_module_2.flatMap(tsplus_module_2.flatMap(tsplus_module_2.map(makeOpenApiSpecs(tsplus_module_4.sortBy(tsplus_module_3.mapInput(tsplus_module_3.Order.string, (a) => a.path))(typedValuesOf(rdescs)
|
|
10
11
|
.reduce((prev, cur) => prev.concat(typedValuesOf(cur)), [])), Plutus.info({
|
|
11
12
|
title: "api",
|
|
12
13
|
version: "X",
|
|
@@ -16,6 +17,6 @@ export function writeOpenapiDocs(rdescs) {
|
|
|
16
17
|
tags: [
|
|
17
18
|
// add the tags here
|
|
18
19
|
]
|
|
19
|
-
})), (_) =>
|
|
20
|
+
})), (_) => tsplus_module_2.orDie(writeTextFile("./openapi.json", JSON.stringify(_, undefined, 2)))), () => tsplus_module_1.Effect.logInfo("OpenAPI spec written to './openapi.json'"));
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVEb2NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvd3JpdGVEb2NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ25FLE9BQU8sS0FBSyxNQUFNLE1BQU0saURBQWlELENBQUE7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUE7QUFHaEUsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQTBEO0lBQ3pGLE9BQU8sd0JBQUEsd0JBQUEsb0JBQUEsZ0JBQWdCLENBQ3JCLHVCQUVVLHlCQUFBLGdCQUFBLEtBQUssQ0FBQyxNQUFNLEVBQVUsQ0FBQyxDQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBRmxFLGFBQWEsQ0FBQyxNQUFNLENBQUM7U0FDbEIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFtQyxDQUFDLENBQzNCLEVBQ25FLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDVixLQUFLLEVBQUUsS0FBSztRQUNaLE9BQU8sRUFBRSxHQUFHO1FBQ1osU0FBUyxFQUFFLEtBQUs7S0FDakIsQ0FBQyxDQUNILEVBQ00sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDWCxHQUFHLENBQUM7UUFDSixJQUFJLEVBQUU7UUFDSixvQkFBb0I7U0FDckI7S0FDRixDQUFDLENBQUMsRUFDTSxDQUFDLENBQUMsRUFBRSxFQUFFLHVCQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUFDLEVBQzlFLEdBQUcsRUFBRSxDQUFDLGdCQUFBLE1BQU0sQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQyxDQUFBO0FBQzlFLENBQUMifQ==
|
package/dist/errorReporter.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Cause";
|
|
2
2
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect.impl";
|
|
4
|
+
import * as tsplus_module_4 from "@effect-app/core/OptionX";
|
|
4
5
|
import * as Sentry from "@sentry/node";
|
|
5
6
|
import { RequestContextContainer } from "./services/RequestContextContainer.js";
|
|
6
7
|
export function reportError(makeError) {
|
|
7
|
-
return (cause, extras) => tsplus_module_2.gen(function* ($) {
|
|
8
|
+
return (cause, extras) => tsplus_module_2.Effect.gen(function* ($) {
|
|
8
9
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
9
|
-
yield* $(
|
|
10
|
+
yield* $(tsplus_module_3.annotateLogs(tsplus_module_2.Effect.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
10
11
|
return;
|
|
11
12
|
}
|
|
12
13
|
const error = makeError(cause);
|
|
13
14
|
yield* $(reportSentry(error, extras));
|
|
14
|
-
yield* $(
|
|
15
|
+
yield* $(tsplus_module_3.annotateLogs(tsplus_module_3.logError(cause), {
|
|
15
16
|
extras,
|
|
16
17
|
__cause__: error.toJSON(),
|
|
17
18
|
__error__: { _tag: error._tag, message: error.message }
|
|
@@ -19,8 +20,8 @@ export function reportError(makeError) {
|
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
function reportSentry(error, extras) {
|
|
22
|
-
return
|
|
23
|
-
const context =
|
|
23
|
+
return tsplus_module_3.map(RequestContextContainer.getOption, (ctx) => {
|
|
24
|
+
const context = tsplus_module_4.getOrUndefined(ctx);
|
|
24
25
|
const scope = new Sentry.Scope();
|
|
25
26
|
if (context)
|
|
26
27
|
scope.setContext("context", context);
|
|
@@ -31,13 +32,13 @@ function reportSentry(error, extras) {
|
|
|
31
32
|
});
|
|
32
33
|
}
|
|
33
34
|
export function logError(makeError) {
|
|
34
|
-
return (cause, extras) => tsplus_module_2.gen(function* ($) {
|
|
35
|
+
return (cause, extras) => tsplus_module_2.Effect.gen(function* ($) {
|
|
35
36
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
36
|
-
yield* $(
|
|
37
|
+
yield* $(tsplus_module_3.annotateLogs(tsplus_module_2.Effect.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
37
38
|
return;
|
|
38
39
|
}
|
|
39
40
|
const error = makeError(cause);
|
|
40
|
-
yield* $(
|
|
41
|
+
yield* $(tsplus_module_3.annotateLogs(tsplus_module_3.logWarning(cause), {
|
|
41
42
|
extras,
|
|
42
43
|
__cause__: error.toJSON(),
|
|
43
44
|
__error__: { _tag: error._tag, message: error.message }
|
|
@@ -53,6 +54,6 @@ export function reportMessage(message) {
|
|
|
53
54
|
console.warn(message);
|
|
54
55
|
}
|
|
55
56
|
export function reportMessageM(message) {
|
|
56
|
-
return tsplus_module_2.sync(() => reportMessage(message));
|
|
57
|
+
return tsplus_module_2.Effect.sync(() => reportMessage(message));
|
|
57
58
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZXJyb3JSZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFFdEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFFL0UsTUFBTSxVQUFVLFdBQVcsQ0FDekIsU0FBa0M7SUFFbEMsT0FBTyxDQUFDLEtBQWUsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDM0QsZ0JBQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQ3BCLElBQUksOEJBQUEsS0FBSyxDQUFnQixFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUFBLGdCQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQWMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixPQUFNO1FBQ1IsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTixzREFBQSxLQUFLLEdBRVc7WUFDWixNQUFNO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7U0FDeEQsQ0FBQyxDQUNMLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FDbkIsS0FBUyxFQUNULE1BQTJDO0lBRTNDLE9BQU8sb0JBQUEsdUJBQXVCLENBQUMsU0FBUyxFQUFLLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsK0JBQUEsR0FBRyxDQUFPLENBQUE7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDaEMsSUFBSSxPQUFPO1lBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBNkMsQ0FBQyxDQUFBO1FBQ3ZGLElBQUksTUFBTTtZQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBa0M7SUFFbEMsT0FBTyxDQUFDLEtBQWUsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDM0QsZ0JBQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQ3BCLElBQUksOEJBQUEsS0FBSyxDQUFnQixFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDZCQUFBLGdCQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQWMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixPQUFNO1FBQ1IsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sd0RBQUEsS0FBSyxHQUVXO1lBQ1osTUFBTTtZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3pCLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1NBQ3hELENBQUMsQ0FDTCxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDN0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBZTtJQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRTlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBZTtJQUM1QyxPQUFPLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDbEQsQ0FBQyJ9
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Data } from "effect/Data";
|
|
2
2
|
import { Cause } from "effect/Cause";
|
|
3
|
-
declare const NotFoundError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
3
|
+
declare const NotFoundError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
4
4
|
readonly _tag: "NotFoundError";
|
|
5
5
|
} & Readonly<A>;
|
|
6
6
|
export declare class NotFoundError<T extends string = string> extends NotFoundError_base<{
|
|
@@ -13,24 +13,24 @@ export declare class NotFoundError<T extends string = string> extends NotFoundEr
|
|
|
13
13
|
readonly id: string;
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
|
-
declare const ValidationError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
16
|
+
declare const ValidationError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
17
17
|
readonly _tag: "ValidationError";
|
|
18
18
|
} & Readonly<A>;
|
|
19
19
|
export declare class ValidationError extends ValidationError_base<{
|
|
20
20
|
errors: ReadonlyArray<unknown>;
|
|
21
21
|
}> {
|
|
22
22
|
}
|
|
23
|
-
declare const NotLoggedInError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
23
|
+
declare const NotLoggedInError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
24
24
|
readonly _tag: "NotLoggedInError";
|
|
25
25
|
} & Readonly<A>;
|
|
26
26
|
export declare class NotLoggedInError extends NotLoggedInError_base<{}> {
|
|
27
27
|
}
|
|
28
|
-
declare const UnauthorizedError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
28
|
+
declare const UnauthorizedError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
29
29
|
readonly _tag: "UnauthorizedError";
|
|
30
30
|
} & Readonly<A>;
|
|
31
31
|
export declare class UnauthorizedError extends UnauthorizedError_base<{}> {
|
|
32
32
|
}
|
|
33
|
-
declare const LoginError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
33
|
+
declare const LoginError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
34
34
|
readonly _tag: "NotLoggeInError";
|
|
35
35
|
} & Readonly<A>;
|
|
36
36
|
/**
|
|
@@ -41,7 +41,7 @@ export declare class LoginError extends LoginError_base<{
|
|
|
41
41
|
}> {
|
|
42
42
|
constructor(message: string);
|
|
43
43
|
}
|
|
44
|
-
declare const InvalidStateError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
44
|
+
declare const InvalidStateError_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
45
45
|
readonly _tag: "InvalidStateError";
|
|
46
46
|
} & Readonly<A>;
|
|
47
47
|
export declare class InvalidStateError extends InvalidStateError_base<{
|
|
@@ -62,7 +62,7 @@ export declare class CauseException<E> extends Error {
|
|
|
62
62
|
};
|
|
63
63
|
toString(): string;
|
|
64
64
|
}
|
|
65
|
-
declare const OptimisticConcurrencyException_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal")
|
|
65
|
+
declare const OptimisticConcurrencyException_base: new <A extends Record<string, any>>(args: import("effect/Types.int").Equals<Omit<A, keyof import("effect/Equal")>, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" | keyof import("effect/Equal") ? never : P]: A[P]; }) => import("effect/Data.int").YieldableError & {
|
|
66
66
|
readonly _tag: "OptimisticConcurrencyException";
|
|
67
67
|
} & Readonly<A>;
|
|
68
68
|
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base<{
|
package/dist/errors.js
CHANGED
|
@@ -2,26 +2,26 @@ import * as tsplus_module_1 from "effect/Data";
|
|
|
2
2
|
import * as tsplus_module_2 from "effect/Cause";
|
|
3
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
4
|
import { makeFiberFailure } from "effect/Runtime";
|
|
5
|
-
export class NotFoundError extends tsplus_module_1.TaggedError("NotFoundError") {
|
|
5
|
+
export class NotFoundError extends tsplus_module_1.Data.TaggedError("NotFoundError") {
|
|
6
6
|
constructor(args) {
|
|
7
7
|
super({ ...args, message: `Didn't find ${args.type}#${args.id}` });
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
export class ValidationError extends tsplus_module_1.TaggedError("ValidationError") {
|
|
10
|
+
export class ValidationError extends tsplus_module_1.Data.TaggedError("ValidationError") {
|
|
11
11
|
}
|
|
12
|
-
export class NotLoggedInError extends tsplus_module_1.TaggedError("NotLoggedInError") {
|
|
12
|
+
export class NotLoggedInError extends tsplus_module_1.Data.TaggedError("NotLoggedInError") {
|
|
13
13
|
}
|
|
14
|
-
export class UnauthorizedError extends tsplus_module_1.TaggedError("UnauthorizedError") {
|
|
14
|
+
export class UnauthorizedError extends tsplus_module_1.Data.TaggedError("UnauthorizedError") {
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
18
18
|
*/
|
|
19
|
-
export class LoginError extends tsplus_module_1.TaggedError("NotLoggeInError") {
|
|
19
|
+
export class LoginError extends tsplus_module_1.Data.TaggedError("NotLoggeInError") {
|
|
20
20
|
constructor(message) {
|
|
21
21
|
super({ message });
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
export class InvalidStateError extends tsplus_module_1.TaggedError("InvalidStateError") {
|
|
24
|
+
export class InvalidStateError extends tsplus_module_1.Data.TaggedError("InvalidStateError") {
|
|
25
25
|
constructor(message) {
|
|
26
26
|
super({ message });
|
|
27
27
|
}
|
|
@@ -52,12 +52,12 @@ export class CauseException extends Error {
|
|
|
52
52
|
return this.toJSON();
|
|
53
53
|
}
|
|
54
54
|
toString() {
|
|
55
|
-
return `[${this._tag}] ` + tsplus_module_2.pretty(this.originalCause);
|
|
55
|
+
return `[${this._tag}] ` + tsplus_module_2.Cause.pretty(this.originalCause);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
export class OptimisticConcurrencyException extends tsplus_module_1.TaggedError("OptimisticConcurrencyException") {
|
|
58
|
+
export class OptimisticConcurrencyException extends tsplus_module_1.Data.TaggedError("OptimisticConcurrencyException") {
|
|
59
59
|
constructor(args) {
|
|
60
60
|
super({ ...args, message: `Existing ${args.type} ${args.id} record changed` });
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFakQsTUFBTSxPQUFPLGFBQ1gsU0FBUSxnQkFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBMkM7SUFFbkYsWUFBWSxJQUErQztRQUN6RCxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsZUFBZSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDcEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsZ0JBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBcUM7Q0FBRztBQUUvRyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBSztDQUFHO0FBRWpGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFLO0NBQUc7QUFDbkY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGdCQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQXNCO0lBQ3RGLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxnQkFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFzQjtJQUMvRixZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNwQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxLQUFLO0lBQzFDLFlBQXFCLGFBQXVCLEVBQVcsSUFBWTtRQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1FBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLEtBQUssRUFBRSxDQUFBO1FBSFksa0JBQWEsR0FBYixhQUFhLENBQVU7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSWpFLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7U0FDbkMsQ0FBQTtJQUNILENBQUM7SUFFRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBQ1EsUUFBUTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsZ0JBQUEsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDN0QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGdCQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsZ0NBQWdDLENBRXBHO0lBQ0MsWUFDRSxJQUF3RztRQUV4RyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtJQUNoRixDQUFDO0NBQ0YifQ==
|
package/dist/filter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../_src/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAS,MAAM,qBAAqB,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,YAAY,SAAS,WAAW,CAC3D,SAAQ,UAAU,CAAC,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;CACzD;AACF,wBAAgB,eAAe,CAAC,YAAY,SAAS,WAAW,+BAG/D;AAOD,MAAM,WAAW,YAAY,CAAC,YAAY,SAAS,WAAW,CAAE,SAAQ,UAAU,CAAC,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC;CAAG;AAExH,iBAAS,YAAY,CAAC,YAAY,SAAS,WAAW;+IAM1C,IAAI;;;;;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../_src/filter.ts"],"names":[],"mappings":"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"}
|