@effect-app/infra 0.84.0 → 0.85.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/CHANGELOG.md +18 -7
- 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 +6 -4
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +25 -23
- 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 +2 -2
- package/_cjs/api/routing.cjs +56 -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 +6 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +12 -11
- 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 +11 -10
- 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 +14 -12
- 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 +6 -5
- package/_cjs/services/Operations/service.cjs.map +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 +12 -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 +43 -39
- 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 +7 -6
- 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.d.ts +1 -1
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +4 -3
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.d.ts +2 -2
- package/dist/api/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.js +13 -11
- package/dist/api/express/makeJsonSchema.d.ts +2 -2
- package/dist/api/express/makeJsonSchema.d.ts.map +1 -1
- package/dist/api/express/makeJsonSchema.js +4 -3
- package/dist/api/express/makeOpenApiSpecs.d.ts +1 -1
- package/dist/api/express/makeOpenApiSpecs.js +7 -5
- package/dist/api/express/schema/requestHandler.d.ts +8 -8
- package/dist/api/express/schema/requestHandler.d.ts.map +1 -1
- package/dist/api/express/schema/requestHandler.js +36 -34
- package/dist/api/express/schema/routing.d.ts +2 -2
- package/dist/api/express/schema/routing.js +23 -21
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +2 -2
- package/dist/api/routing.d.ts +6 -6
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +60 -57
- package/dist/api/setupRequest.d.ts +2 -2
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -3
- package/dist/api/writeDocs.d.ts +1 -1
- package/dist/api/writeDocs.d.ts.map +1 -1
- package/dist/api/writeDocs.js +7 -5
- package/dist/errorReporter.d.ts +3 -3
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +13 -12
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/instrument.d.ts +1 -1
- package/dist/instrument.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 +12 -11
- 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.d.ts +1 -1
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +5 -5
- package/dist/rateLimit.d.ts +3 -3
- 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 +17 -15
- 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 +4 -4
- 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 +9 -9
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +13 -12
- package/dist/services/QueueMaker/errors.d.ts +3 -3
- 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 +3 -3
- package/dist/services/QueueMaker/memQueue.js +17 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +4 -4
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +16 -15
- package/dist/services/Repository.d.ts +31 -31
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +18 -17
- package/dist/services/RepositoryBase.d.ts +14 -15
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +37 -35
- package/dist/services/RequestContextContainer.d.ts +9 -9
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +15 -13
- package/dist/services/Store/Cosmos.d.ts +3 -3
- 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 +3 -3
- 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 +5 -5
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +45 -41
- package/dist/services/Store/Redis.d.ts +3 -3
- 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 +8 -7
- package/dist/services/Store/service.d.ts +10 -10
- package/dist/services/Store/service.d.ts.map +1 -1
- 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 +5 -5
- package/dist/services/simpledb/cosmosdb.js +19 -17
- package/dist/services/simpledb/diskdb.d.ts +4 -4
- package/dist/services/simpledb/diskdb.js +10 -9
- package/dist/services/simpledb/memdb.d.ts +4 -4
- package/dist/services/simpledb/memdb.js +13 -11
- package/dist/services/simpledb/mongodb.d.ts +5 -5
- package/dist/services/simpledb/mongodb.js +16 -14
- package/dist/services/simpledb/redisdb.d.ts +10 -10
- 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 +7 -7
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -15
- package/package.json +8 -8
package/dist/api/routing.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
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/FiberRef.impl";
|
|
10
|
+
import * as tsplus_module_10 from "@effect-app/core/OptionX";
|
|
11
|
+
import * as tsplus_module_11 from "@effect-app/infra/api/setupRequest";
|
|
9
12
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
13
|
import * as Ex from "@effect-app/infra-adapters/express";
|
|
11
14
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
@@ -20,20 +23,20 @@ import { parseRequestParams } from "./express/schema/requestHandler.js";
|
|
|
20
23
|
import { makeRouteDescriptor } from "./express/schema/routing.js";
|
|
21
24
|
import { reportRequestError } from "./reportError.js";
|
|
22
25
|
import { snipString } from "./util.js";
|
|
23
|
-
export const RequestSettings = tsplus_module_1.unsafeMake({
|
|
26
|
+
export const RequestSettings = tsplus_module_1.FiberRef.unsafeMake({
|
|
24
27
|
verbose: false
|
|
25
28
|
});
|
|
26
29
|
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) =>
|
|
30
|
+
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));
|
|
31
|
+
const parseHeaders = (u) => tsplus_module_5.flatMapOption(ph, (d) => d(u));
|
|
32
|
+
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));
|
|
33
|
+
const parseQuery = (u) => tsplus_module_5.flatMapOption(pq, (d) => d(u));
|
|
34
|
+
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));
|
|
35
|
+
const parseBody = (u) => tsplus_module_5.flatMapOption(pb, (d) => d(u));
|
|
36
|
+
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));
|
|
37
|
+
const parsePath = (u) => tsplus_module_5.flatMapOption(pp, (d) => d(u));
|
|
38
|
+
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));
|
|
39
|
+
const parseCookie = (u) => tsplus_module_5.flatMapOption(pc, (d) => d(u));
|
|
37
40
|
return {
|
|
38
41
|
parseBody,
|
|
39
42
|
parseCookie,
|
|
@@ -49,11 +52,11 @@ export function match(requestHandler, errorHandler, middleware) {
|
|
|
49
52
|
requestHandler = handler;
|
|
50
53
|
makeMiddlewareContext = makeContext;
|
|
51
54
|
}
|
|
52
|
-
return
|
|
53
|
-
.match(requestHandler.Request.method.toLowerCase())(requestHandler.Request.path.split("?")[0], makeRequestHandler(requestHandler, errorHandler, makeMiddlewareContext)),
|
|
55
|
+
return tsplus_module_6.zipRight(Ex
|
|
56
|
+
.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
57
|
}
|
|
55
58
|
export function respondSuccess(encodeResponse) {
|
|
56
|
-
return (req, res, a) =>
|
|
59
|
+
return (req, res, a) => tsplus_module_6.flatMap(tsplus_module_4.Effect.sync(() => encodeResponse(req)(a)), (r) => tsplus_module_4.Effect.sync(() => {
|
|
57
60
|
r === undefined
|
|
58
61
|
? res.status(204).send()
|
|
59
62
|
: res
|
|
@@ -72,7 +75,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
72
75
|
const parseRequest = parseRequestParams(requestParsers);
|
|
73
76
|
const respond = respondSuccess(encodeResponse);
|
|
74
77
|
function getParams(req) {
|
|
75
|
-
return
|
|
78
|
+
return tsplus_module_4.Effect.sync(() => ({
|
|
76
79
|
path: req.params,
|
|
77
80
|
query: req.query,
|
|
78
81
|
body: req.body,
|
|
@@ -92,7 +95,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
92
95
|
// throw new Error("AI Context missing")
|
|
93
96
|
// }
|
|
94
97
|
const requestId = req.headers["request-id"];
|
|
95
|
-
const rootId = requestId ?
|
|
98
|
+
const rootId = requestId ? tsplus_module_7.parseUnsafe(RequestId)(requestId) : RequestId.make();
|
|
96
99
|
const storeId = req.headers["x-store-id"];
|
|
97
100
|
const namespace = MO.ReasonableString((storeId && (Array.isArray(storeId) ? storeId[0] : storeId)) || "primary");
|
|
98
101
|
const requestContext = new RequestContext({
|
|
@@ -115,8 +118,8 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
115
118
|
return requestContext;
|
|
116
119
|
}
|
|
117
120
|
return (req, res) => {
|
|
118
|
-
return
|
|
119
|
-
requestContext:
|
|
121
|
+
return tsplus_module_6.flatMap(tsplus_module_4.Effect.all({
|
|
122
|
+
requestContext: tsplus_module_4.Effect.sync(() => {
|
|
120
123
|
const requestContext = makeContext(req);
|
|
121
124
|
if (req.method === "GET") {
|
|
122
125
|
res.setHeader("Cache-Control", "no-store");
|
|
@@ -125,77 +128,77 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
125
128
|
return requestContext;
|
|
126
129
|
}),
|
|
127
130
|
pars: getParams(req)
|
|
128
|
-
}), ({ pars, requestContext }) =>
|
|
131
|
+
}), ({ pars, requestContext }) => tsplus_module_6.provideService(tsplus_module_11.withRequestSpan(tsplus_module_6.tap(tsplus_module_6.tapErrorCause(tsplus_module_6.zipRight(tsplus_module_6.flatMap(tsplus_module_9.get(RequestSettings), (s) => tsplus_module_4.Effect.annotateLogs({
|
|
129
132
|
method: req.method,
|
|
130
133
|
path: req.originalUrl,
|
|
131
134
|
...s.verbose
|
|
132
135
|
? {
|
|
133
|
-
reqPath:
|
|
134
|
-
reqQuery:
|
|
136
|
+
reqPath: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.path)),
|
|
137
|
+
reqQuery: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.query)),
|
|
135
138
|
reqBody: pretty(pars.body),
|
|
136
139
|
reqCookies: pretty(pars.cookies),
|
|
137
|
-
reqHeaders:
|
|
140
|
+
reqHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.headers))
|
|
138
141
|
}
|
|
139
142
|
: undefined
|
|
140
143
|
})(
|
|
141
144
|
// TODO: we don;t have access to user id here cause context is not yet created
|
|
142
|
-
|
|
143
|
-
const handleRequest =
|
|
145
|
+
tsplus_module_4.Effect.logInfo("Incoming request"))), tsplus_module_4.Effect.suspend(() => {
|
|
146
|
+
const handleRequest = tsplus_module_6.flatMap(tsplus_module_6.map(parseRequest(req), ({ body, path, query }) => {
|
|
144
147
|
const hn = {
|
|
145
|
-
...
|
|
146
|
-
...
|
|
147
|
-
...
|
|
148
|
+
...tsplus_module_10.getOrUndefined(body),
|
|
149
|
+
...tsplus_module_10.getOrUndefined(query),
|
|
150
|
+
...tsplus_module_10.getOrUndefined(path)
|
|
148
151
|
};
|
|
149
152
|
return hn;
|
|
150
|
-
}), (parsedReq) =>
|
|
153
|
+
}), (parsedReq) => tsplus_module_6.flatMap(handle(parsedReq), (r) => respond(parsedReq, res, r)));
|
|
151
154
|
// Commands should not be interruptable.
|
|
152
|
-
const r = req.method !== "GET" ?
|
|
155
|
+
const r = req.method !== "GET" ? tsplus_module_6.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
|
|
153
156
|
// the first log entry should be of the request start.
|
|
154
157
|
const r2 = makeMiddlewareContext
|
|
155
|
-
?
|
|
158
|
+
? tsplus_module_6.zipRight(restoreFromRequestContext, tsplus_module_5.provideSomeContextEffect(makeMiddlewareContext(req, res))(r
|
|
156
159
|
// the db namespace must be restored, before calling provide here
|
|
157
160
|
))
|
|
158
|
-
:
|
|
161
|
+
: tsplus_module_6.zipRight(restoreFromRequestContext
|
|
159
162
|
// PR is not relevant here
|
|
160
163
|
, r);
|
|
161
164
|
return errorHandler(req, res, r2);
|
|
162
|
-
})), (cause) =>
|
|
163
|
-
|
|
164
|
-
|
|
165
|
+
})), (cause) => tsplus_module_6.tapErrorCause(tsplus_module_4.Effect.all([
|
|
166
|
+
tsplus_module_4.Effect.sync(() => res.status(500).send()),
|
|
167
|
+
tsplus_module_4.Effect.sync(() => reportRequestError(cause, {
|
|
165
168
|
path: req.originalUrl,
|
|
166
169
|
method: req.method
|
|
167
170
|
})),
|
|
168
|
-
|
|
171
|
+
tsplus_module_4.Effect.suspend(() => {
|
|
169
172
|
const headers = res.getHeaders();
|
|
170
|
-
return
|
|
173
|
+
return tsplus_module_4.Effect.annotateLogs({
|
|
171
174
|
method: req.method,
|
|
172
175
|
path: req.originalUrl,
|
|
173
176
|
statusCode: res.statusCode.toString(),
|
|
174
|
-
reqPath:
|
|
175
|
-
reqQuery:
|
|
177
|
+
reqPath: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.path)),
|
|
178
|
+
reqQuery: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.query)),
|
|
176
179
|
reqBody: pretty(pars.body),
|
|
177
180
|
reqCookies: pretty(pars.cookies),
|
|
178
|
-
reqHeaders:
|
|
179
|
-
resHeaders:
|
|
181
|
+
reqHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(pars.headers)),
|
|
182
|
+
resHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(Object
|
|
180
183
|
.entries(headers)
|
|
181
184
|
.reduce((prev, [key, value]) => {
|
|
182
185
|
prev[key] = value && typeof value === "string" ? snipString(value) : value;
|
|
183
186
|
return prev;
|
|
184
187
|
}, {})))
|
|
185
|
-
})(
|
|
188
|
+
})(tsplus_module_4.Effect.logError("Finished request", cause));
|
|
186
189
|
})
|
|
187
|
-
], { concurrency: "inherit" }), (cause) =>
|
|
190
|
+
], { concurrency: "inherit" }), (cause) => tsplus_module_4.Effect.sync(() => console.error("Error occurred while reporting error", cause)))), () => tsplus_module_6.flatMap(tsplus_module_9.get(RequestSettings), (s) => {
|
|
188
191
|
const headers = res.getHeaders();
|
|
189
|
-
return
|
|
192
|
+
return tsplus_module_4.Effect.annotateLogs({
|
|
190
193
|
method: req.method,
|
|
191
194
|
path: req.originalUrl,
|
|
192
195
|
statusCode: res.statusCode.toString(),
|
|
193
196
|
...s.verbose
|
|
194
197
|
? {
|
|
195
|
-
resHeaders:
|
|
198
|
+
resHeaders: tsplus_module_8.RecordPretty(tsplus_module_8.object$(headers))
|
|
196
199
|
}
|
|
197
200
|
: undefined
|
|
198
|
-
})(
|
|
201
|
+
})(tsplus_module_4.Effect.logInfo("Finished request"));
|
|
199
202
|
}))), RequestContextContainer, new RequestContextContainerImpl(requestContext)) // otherwise external error reporter breaks.
|
|
200
203
|
);
|
|
201
204
|
};
|
|
@@ -205,7 +208,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
205
208
|
* Requires no login.
|
|
206
209
|
*/
|
|
207
210
|
export function matchAll(handlers) {
|
|
208
|
-
const mapped =
|
|
211
|
+
const mapped = tsplus_module_8.RecordKeys(tsplus_module_8.object$(handlers)).reduce((prev, cur) => {
|
|
209
212
|
prev[cur] = match(handlers[cur], defaultBasicErrorHandler);
|
|
210
213
|
return prev;
|
|
211
214
|
}, {});
|
|
@@ -216,9 +219,9 @@ export function matchAll(handlers) {
|
|
|
216
219
|
* Requires no login.
|
|
217
220
|
*/
|
|
218
221
|
export function matchAllAlt(handlers) {
|
|
219
|
-
const mapped =
|
|
222
|
+
const mapped = tsplus_module_8.RecordKeys(tsplus_module_8.object$(handlers)).reduce((prev, cur) => {
|
|
220
223
|
const matches = matchAll(handlers[cur]);
|
|
221
|
-
|
|
224
|
+
tsplus_module_8.RecordKeys(tsplus_module_8.object$(matches)).forEach((key) => prev[`${cur}.${key}`] = matches[key]);
|
|
222
225
|
return prev;
|
|
223
226
|
}, {});
|
|
224
227
|
return mapped;
|
|
@@ -246,17 +249,17 @@ export function handle(_, adaptResponse) {
|
|
|
246
249
|
* class SayHelloResponse extends Model<SayHelloRequest>()({ message: prop(LongString) }) {}
|
|
247
250
|
*
|
|
248
251
|
* export const SayHelloControllers = matchResource({ SayHello: { SayHelloRequest, SayHelloResponse } })({
|
|
249
|
-
* SayHello: (req) => Effect({ message: `Hi ${req.name}` })
|
|
252
|
+
* SayHello: (req) => Effect.sync(() => { message: `Hi ${req.name}` })
|
|
250
253
|
* })
|
|
251
254
|
* ```
|
|
252
255
|
*/
|
|
253
256
|
export function matchResource(mod) {
|
|
254
257
|
return (handlers) => {
|
|
255
|
-
const handler =
|
|
258
|
+
const handler = tsplus_module_8.RecordKeys(tsplus_module_8.object$(mod)).reduce((prev, cur) => {
|
|
256
259
|
prev[cur] = handle(mod[cur])(handlers[cur]);
|
|
257
260
|
return prev;
|
|
258
261
|
}, {});
|
|
259
262
|
return handler;
|
|
260
263
|
};
|
|
261
264
|
}
|
|
262
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RSxPQUFPLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsMkJBQW9CO0lBQ2pELE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxVQUFVLGtCQUFrQixDQVdoQyxPQVVZO0lBRVosTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDekIsQ0FB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
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUd4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUN2RSxPQUFPLEtBQUssRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUdsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZ0JBQUEsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNqRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FXaEMsT0FVWTtJQUVaLE1BQU0sRUFBRSxHQUFHLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENB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
|
|
@@ -4,10 +4,10 @@ import { RequestContextContainer } from "../services/RequestContextContainer.js"
|
|
|
4
4
|
* @tsplus fluent effect/io/Effect setupRequestFromWith
|
|
5
5
|
* @tsplus location "@effect-app/infra/api/setupRequest"
|
|
6
6
|
*/
|
|
7
|
-
export declare function setupReq3<R, E, A>(self: Effect<R, E, A>, name: string): import("effect
|
|
7
|
+
export declare function setupReq3<R, E, A>(self: Effect<R, E, A>, name: string): import("effect").Effect<Exclude<Exclude<R, import("effect/Tracer.impl").ParentSpan>, RequestContextContainer>, E, A>;
|
|
8
8
|
/**
|
|
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: Effect<R, E, A>) => import("effect
|
|
12
|
+
export declare const withRequestSpan: <R, E, A>(f: Effect<R, E, A>) => import("effect").Effect<RequestContextContainer | Exclude<R, import("effect/Tracer.impl").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,
|
|
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,wHAMrE;;;;;AAeD,eAAO,MAAM,eAAe,eAAgB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iHAKxD,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.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { RouteDescriptorAny } from "./express/schema/routing.js";
|
|
2
|
-
export declare function writeOpenapiDocs(rdescs: Record<string, Record<string, RouteDescriptorAny>>): import("effect
|
|
2
|
+
export declare function writeOpenapiDocs(rdescs: Record<string, Record<string, RouteDescriptorAny>>): import("effect").Effect<never, import("../errors.js").InvalidStateError, void>;
|
|
3
3
|
//# sourceMappingURL=writeDocs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeDocs.d.ts","sourceRoot":"","sources":["../../_src/api/writeDocs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"writeDocs.d.ts","sourceRoot":"","sources":["../../_src/api/writeDocs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,kFAmB1F"}
|
package/dist/api/writeDocs.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
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/Order.impl";
|
|
5
|
+
import * as tsplus_module_5 from "effect/ReadonlyArray.impl";
|
|
4
6
|
import { typedValuesOf } from "@effect-app/core/utils";
|
|
5
7
|
import { writeTextFile } from "@effect-app/infra-adapters/fileUtil";
|
|
6
8
|
import * as Plutus from "@effect-app/infra-adapters/Openapi/atlas-plutus";
|
|
7
9
|
import { makeOpenApiSpecs } from "./express/makeOpenApiSpecs.js";
|
|
8
10
|
export function writeOpenapiDocs(rdescs) {
|
|
9
|
-
return
|
|
11
|
+
return tsplus_module_2.flatMap(tsplus_module_2.flatMap(tsplus_module_2.map(makeOpenApiSpecs(tsplus_module_5.sortBy(tsplus_module_4.mapInput(tsplus_module_3.Order.string, (a) => a.path))(typedValuesOf(rdescs)
|
|
10
12
|
.reduce((prev, cur) => prev.concat(typedValuesOf(cur)), [])), Plutus.info({
|
|
11
13
|
title: "api",
|
|
12
14
|
version: "X",
|
|
@@ -16,6 +18,6 @@ export function writeOpenapiDocs(rdescs) {
|
|
|
16
18
|
tags: [
|
|
17
19
|
// add the tags here
|
|
18
20
|
]
|
|
19
|
-
})), (_) =>
|
|
21
|
+
})), (_) => tsplus_module_2.orDie(writeTextFile("./openapi.json", JSON.stringify(_, undefined, 2)))), () => tsplus_module_1.Effect.logInfo("OpenAPI spec written to './openapi.json'"));
|
|
20
22
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVEb2NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvd3JpdGVEb2NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUNuRSxPQUFPLEtBQUssTUFBTSxNQUFNLGlEQUFpRCxDQUFBO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBR2hFLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUEwRDtJQUN6RixPQUFPLHdCQUFBLHdCQUFBLG9CQUFBLGdCQUFnQixDQUNyQix1QkFFVSx5QkFBQSxnQkFBQSxLQUFLLENBQUMsTUFBTSxFQUFVLENBQUMsQ0FBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUZsRSxhQUFhLENBQUMsTUFBTSxDQUFDO1NBQ2xCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBbUMsQ0FBQyxDQUMzQixFQUNuRSxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ1YsS0FBSyxFQUFFLEtBQUs7UUFDWixPQUFPLEVBQUUsR0FBRztRQUNaLFNBQVMsRUFBRSxLQUFLO0tBQ2pCLENBQUMsQ0FDSCxFQUNNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1gsR0FBRyxDQUFDO1FBQ0osSUFBSSxFQUFFO1FBQ0osb0JBQW9CO1NBQ3JCO0tBQ0YsQ0FBQyxDQUFDLEVBQ00sQ0FBQyxDQUFDLEVBQUUsRUFBRSx1QkFBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQU0sQ0FBQyxFQUM5RSxHQUFHLEVBQUUsQ0FBQyxnQkFBQSxNQUFNLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLENBQUMsQ0FBQTtBQUM5RSxDQUFDIn0=
|
package/dist/errorReporter.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Cause } from "effect/Cause";
|
|
2
2
|
import type { CauseException } from "./errors.js";
|
|
3
|
-
export declare function reportError<E, E2 extends CauseException<unknown>>(makeError: (cause: Cause<E>) => E2): (cause: Cause<E>, extras?: Record<string, unknown>) => import("effect
|
|
4
|
-
export declare function logError<E, E2 extends CauseException<unknown>>(makeError: (cause: Cause<E>) => E2): (cause: Cause<E>, extras?: Record<string, unknown>) => import("effect
|
|
3
|
+
export declare function reportError<E, E2 extends CauseException<unknown>>(makeError: (cause: Cause<E>) => E2): (cause: Cause<E>, extras?: Record<string, unknown>) => import("effect").Effect<never, never, void>;
|
|
4
|
+
export declare function logError<E, E2 extends CauseException<unknown>>(makeError: (cause: Cause<E>) => E2): (cause: Cause<E>, extras?: Record<string, unknown>) => import("effect").Effect<never, never, void>;
|
|
5
5
|
export declare function captureException(error: unknown): void;
|
|
6
6
|
export declare function reportMessage(message: string): void;
|
|
7
|
-
export declare function reportMessageM(message: string): import("effect
|
|
7
|
+
export declare function reportMessageM(message: string): import("effect").Effect<never, never, void>;
|
|
8
8
|
//# sourceMappingURL=errorReporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorReporter.d.ts","sourceRoot":"","sources":["../_src/errorReporter.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,SAAS,cAAc,CAAC,OAAO,CAAC,EAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,WAEnB,MAAM,CAAC,CAAC,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"errorReporter.d.ts","sourceRoot":"","sources":["../_src/errorReporter.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGjD,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,SAAS,cAAc,CAAC,OAAO,CAAC,EAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,WAEnB,MAAM,CAAC,CAAC,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC,iDAkB1D;AAgBD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,SAAS,cAAc,CAAC,OAAO,CAAC,EAC5D,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,WAEnB,MAAM,CAAC,CAAC,WAAW,OAAO,MAAM,EAAE,OAAO,CAAC,iDAiB1D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,QAG9C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAI5C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,+CAE7C"}
|
package/dist/errorReporter.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Cause";
|
|
1
|
+
import * as tsplus_module_1 from "effect/Cause.impl";
|
|
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
|
|
3
|
+
declare const NotFoundError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
16
|
+
declare const ValidationError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
23
|
+
declare const NotLoggedInError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
28
|
+
declare const UnauthorizedError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
33
|
+
declare const LoginError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
44
|
+
declare const InvalidStateError_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").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
|
|
65
|
+
declare const OptimisticConcurrencyException_base: new <A extends Record<string, any>>(args: import("effect/Types.impl").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.impl").YieldableError & {
|
|
66
66
|
readonly _tag: "OptimisticConcurrencyException";
|
|
67
67
|
} & Readonly<A>;
|
|
68
68
|
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base<{
|