@effect-app/infra 0.73.0 → 0.74.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 +20 -0
- package/_cjs/RequestContext.cjs +2 -4
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/api/authorization.jwt.cjs +1 -2
- package/_cjs/api/authorization.jwt.cjs.map +1 -1
- package/_cjs/api/codec.cjs +4 -3
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +6 -8
- package/_cjs/api/defaultErrorHandler.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/schema/jwt.cjs +8 -10
- package/_cjs/api/express/schema/jwt.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +7 -6
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +20 -5
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +7 -8
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing.cjs +26 -25
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +3 -4
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +3 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +10 -11
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +1 -1
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/filter.cjs +14 -28
- package/_cjs/filter.cjs.map +1 -1
- package/_cjs/instrument.cjs +1 -2
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +17 -12
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +7 -6
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +13 -5
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +10 -9
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +3 -3
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +4 -6
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +5 -7
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +5 -3
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +5 -6
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +9 -10
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/service.cjs +1 -2
- package/_cjs/services/QueueMaker/service.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +18 -30
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +7 -5
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +1 -2
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +68 -58
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +2 -1
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +15 -19
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +2 -1
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +4 -3
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +1 -2
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +25 -23
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +16 -7
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +1 -1
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +26 -22
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +35 -28
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +25 -17
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +5 -4
- package/_cjs/test.arbs.cjs.map +1 -1
- package/_src/api/defaultErrorHandler.ts +33 -37
- package/_src/api/express/makeJsonSchema.test.ts +2 -2
- package/_src/api/express/routing.ts.bak +1 -1
- package/_src/api/express/schema/routing.ts +20 -20
- package/_src/api/reportError.ts +15 -19
- package/_src/api/routing.ts +96 -95
- package/_src/api/setupRequest.ts +4 -6
- package/_src/api/writeDocs.ts +1 -1
- package/_src/errorReporter.ts +25 -29
- package/_src/errors.ts +1 -1
- package/_src/instrument.ts +4 -5
- package/_src/logger/jsonLogger.ts +5 -6
- package/_src/logger/logFmtLogger.ts +5 -4
- package/_src/rateLimit.ts +10 -9
- package/_src/services/Emailer/Sendgrid.ts +3 -3
- package/_src/services/Emailer/fake.ts +1 -1
- package/_src/services/Operations/live.ts +1 -1
- package/_src/services/Operations/service.ts +32 -38
- package/_src/services/QueueMaker/errors.ts +1 -2
- package/_src/services/QueueMaker/memQueue.ts +1 -1
- package/_src/services/QueueMaker/sbqueue.ts +3 -3
- package/_src/services/Repository.ts +10 -13
- package/_src/services/RepositoryBase.ts +10 -8
- package/_src/services/Store/Cosmos.ts +66 -62
- package/_src/services/Store/Memory.ts +1 -1
- package/_src/services/simpledb/cosmosdb.ts +45 -43
- package/_src/services/simpledb/diskdb.ts +9 -10
- package/_src/services/simpledb/mongodb.ts +33 -31
- package/_src/services/simpledb/redisdb.ts +42 -40
- package/_src/services/simpledb/simpledb.ts +6 -7
- package/dist/RequestContext.d.ts +4 -4
- package/dist/RequestContext.js +5 -3
- package/dist/api/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/defaultErrorHandler.js +7 -9
- package/dist/api/express/schema/routing.js +21 -6
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +9 -10
- package/dist/api/routing.d.ts +1 -1
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +35 -33
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -5
- package/dist/api/writeDocs.js +4 -5
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +11 -12
- package/dist/errors.js +2 -2
- package/dist/instrument.d.ts.map +1 -1
- package/dist/instrument.js +2 -3
- package/dist/logger/jsonLogger.d.ts +1 -1
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +9 -11
- package/dist/logger/logFmtLogger.d.ts +1 -1
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +5 -4
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +6 -6
- 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 +11 -10
- package/dist/services/Emailer/fake.js +4 -3
- package/dist/services/Emailer/service.d.ts +1 -1
- package/dist/services/Operations/live.js +5 -6
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +8 -9
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +2 -2
- package/dist/services/QueueMaker/memQueue.js +6 -7
- package/dist/services/QueueMaker/sbqueue.js +10 -11
- package/dist/services/Repository.d.ts +19 -18
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +8 -9
- package/dist/services/RepositoryBase.d.ts +7 -7
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +5 -4
- package/dist/services/Store/Cosmos.d.ts +1 -1
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +64 -55
- package/dist/services/Store/Disk.d.ts +1 -1
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +3 -2
- package/dist/services/Store/Memory.js +13 -14
- package/dist/services/Store/Redis.d.ts +1 -1
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +3 -2
- 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 +5 -4
- package/dist/services/Store/service.d.ts +1 -1
- package/dist/services/simpledb/cosmosdb.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.js +29 -27
- package/dist/services/simpledb/diskdb.d.ts.map +1 -1
- package/dist/services/simpledb/diskdb.js +10 -4
- package/dist/services/simpledb/memdb.d.ts +2 -2
- package/dist/services/simpledb/memdb.js +1 -1
- package/dist/services/simpledb/mongodb.d.ts.map +1 -1
- package/dist/services/simpledb/mongodb.js +18 -15
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.js +30 -23
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -12
- package/package.json +22 -22
- package/tsconfig.json +1 -1
package/dist/api/routing.js
CHANGED
|
@@ -4,9 +4,7 @@ import * as tsplus_module_3 from "@effect/io/Effect";
|
|
|
4
4
|
import * as tsplus_module_4 from "@effect-app/core/Effect";
|
|
5
5
|
import * as tsplus_module_5 from "@effect-app/schema/ext";
|
|
6
6
|
import * as tsplus_module_6 from "@effect-app/prelude/utils";
|
|
7
|
-
import * as tsplus_module_7 from "@effect-app/
|
|
8
|
-
import * as tsplus_module_8 from "@effect-app/core/Option";
|
|
9
|
-
import * as tsplus_module_9 from "@effect/data/Debug";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/core/Option";
|
|
10
8
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
11
9
|
import * as Ex from "@effect-app/infra-adapters/express";
|
|
12
10
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
@@ -116,7 +114,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
116
114
|
return requestContext;
|
|
117
115
|
}
|
|
118
116
|
return (req, res) => {
|
|
119
|
-
return
|
|
117
|
+
return tsplus_module_3.flatMap(tsplus_module_3.all({
|
|
120
118
|
requestContext: tsplus_module_3.sync(() => {
|
|
121
119
|
const requestContext = makeContext(req);
|
|
122
120
|
if (req.method === "GET") {
|
|
@@ -126,7 +124,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
126
124
|
return requestContext;
|
|
127
125
|
}),
|
|
128
126
|
pars: getParams(req)
|
|
129
|
-
}), ({ pars, requestContext }) => tsplus_module_3.provideService(tsplus_module_3.
|
|
127
|
+
}), ({ pars, requestContext }) => tsplus_module_3.provideService(tsplus_module_3.withSpan(tsplus_module_3.tap(tsplus_module_3.tapErrorCause(tsplus_module_3.zipRight(tsplus_module_3.flatMap(tsplus_module_1.get(RequestSettings), (s) => tsplus_module_3.annotateLogs({
|
|
130
128
|
method: req.method,
|
|
131
129
|
path: req.originalUrl,
|
|
132
130
|
...s.verbose
|
|
@@ -143,12 +141,12 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
143
141
|
tsplus_module_3.logInfo("Incoming request"))), tsplus_module_3.suspend(() => {
|
|
144
142
|
const handleRequest = tsplus_module_3.flatMap(tsplus_module_3.map(parseRequest(req), ({ body, path, query }) => {
|
|
145
143
|
const hn = {
|
|
146
|
-
...
|
|
147
|
-
...
|
|
148
|
-
...
|
|
144
|
+
...tsplus_module_7.getOrUndefined(body),
|
|
145
|
+
...tsplus_module_7.getOrUndefined(query),
|
|
146
|
+
...tsplus_module_7.getOrUndefined(path)
|
|
149
147
|
};
|
|
150
148
|
return hn;
|
|
151
|
-
}), (parsedReq) => tsplus_module_3.flatMap(
|
|
149
|
+
}), (parsedReq) => tsplus_module_3.flatMap(handle(parsedReq), (r) => respond(parsedReq, res, r)));
|
|
152
150
|
// Commands should not be interruptable.
|
|
153
151
|
const r = req.method !== "GET" ? tsplus_module_3.uninterruptible(handleRequest) : handleRequest; // .instrument("Performance.RequestResponse")
|
|
154
152
|
// the first log entry should be of the request start.
|
|
@@ -160,30 +158,34 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
160
158
|
// PR is not relevant here
|
|
161
159
|
, r);
|
|
162
160
|
return errorHandler(req, res, r2);
|
|
163
|
-
})), (cause) => tsplus_module_3.tapErrorCause(tsplus_module_3.
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
})), tsplus_module_3.suspend(() => {
|
|
167
|
-
const headers = res.getHeaders();
|
|
168
|
-
return tsplus_module_7.logAnnotates({
|
|
169
|
-
method: req.method,
|
|
161
|
+
})), (cause) => tsplus_module_3.tapErrorCause(tsplus_module_3.all([
|
|
162
|
+
tsplus_module_3.sync(() => res.status(500).send()),
|
|
163
|
+
tsplus_module_3.sync(() => reportRequestError(cause, {
|
|
170
164
|
path: req.originalUrl,
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
.
|
|
179
|
-
.
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
165
|
+
method: req.method
|
|
166
|
+
})),
|
|
167
|
+
tsplus_module_3.suspend(() => {
|
|
168
|
+
const headers = res.getHeaders();
|
|
169
|
+
return tsplus_module_3.annotateLogs({
|
|
170
|
+
method: req.method,
|
|
171
|
+
path: req.originalUrl,
|
|
172
|
+
statusCode: res.statusCode.toString(),
|
|
173
|
+
reqPath: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.path)),
|
|
174
|
+
reqQuery: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.query)),
|
|
175
|
+
reqBody: pretty(pars.body),
|
|
176
|
+
reqCookies: pretty(pars.cookies),
|
|
177
|
+
reqHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(pars.headers)),
|
|
178
|
+
resHeaders: tsplus_module_6.RecordPretty(tsplus_module_6.object$(Object
|
|
179
|
+
.entries(headers)
|
|
180
|
+
.reduce((prev, [key, value]) => {
|
|
181
|
+
prev[key] = value && typeof value === "string" ? snipString(value) : value;
|
|
182
|
+
return prev;
|
|
183
|
+
}, {})))
|
|
184
|
+
})(tsplus_module_3.logError("Finished request", cause));
|
|
185
|
+
})
|
|
186
|
+
], { concurrency: "inherit" }), (cause) => tsplus_module_3.sync(() => console.error("Error occurred while reporting error", cause)))), () => tsplus_module_3.flatMap(tsplus_module_1.get(RequestSettings), (s) => {
|
|
185
187
|
const headers = res.getHeaders();
|
|
186
|
-
return
|
|
188
|
+
return tsplus_module_3.annotateLogs({
|
|
187
189
|
method: req.method,
|
|
188
190
|
path: req.originalUrl,
|
|
189
191
|
statusCode: res.statusCode.toString(),
|
|
@@ -194,7 +196,7 @@ export function makeRequestHandler(handler, errorHandler, makeMiddlewareContext)
|
|
|
194
196
|
: undefined
|
|
195
197
|
})(tsplus_module_3.logInfo("Finished request"));
|
|
196
198
|
})), "request"), RequestContextContainer, new RequestContextContainerImpl(requestContext)) // otherwise external error reporter breaks.
|
|
197
|
-
)
|
|
199
|
+
);
|
|
198
200
|
};
|
|
199
201
|
}
|
|
200
202
|
/**
|
|
@@ -256,4 +258,4 @@ export function matchResource(mod) {
|
|
|
256
258
|
return handler;
|
|
257
259
|
};
|
|
258
260
|
}
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdkUsT0FBTyxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRXZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFdEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLDJCQUFvQjtJQUNqRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMsQ0FBQTtBQUVGLE1BQU0sVUFBVSxrQkFBa0IsQ0FXaEMsT0FVWTtJQUVaLE1BQU0sRUFBRSxHQUFHLDJCQUNULG9CQUFBLG9CQUFBLG9CQUFBLDZCQUNnQixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ3pCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxBQS9DQyxFQUFFLENBK0NILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUUvRCxNQUFNLEVBQUUsR0FBRywyQkFDVCxvQkFBQSxvQkFBQSxvQkFBQSw2QkFDZ0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUN2QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ1QsQUF4REMsRUFBRSxDQXdESCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUN2QixDQUFBO0lBQ0QsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFN0QsTUFBTSxFQUFFLEdBQUcsMkJBQ1Qsb0JBQUEsb0JBQUEsb0JBQUEsNkJBQ2dCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFDdEIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNULEFBakVDLEVBQUUsQ0FpRUgsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUNYLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FDdkIsQ0FBQTtJQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBVSxFQUFFLEVBQUUsQ0FBQyw4QkFBQSxFQUFFLEVBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRTVELE1BQU0sRUFBRSxHQUFHLDJCQUNULG9CQUFBLG9CQUFBLG9CQUFBLDZCQUNnQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3RCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDVCxBQTFFQyxFQUFFLENBMEVILE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxFQUFFLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUE7SUFDRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsOEJBQUEsRUFBRSxFQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUU1RCxNQUFNLEVBQUUsR0FBRywyQkFDVCxvQkFBQSxvQkFBQSxvQkFBQSw2QkFDZ0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN4QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ1QsQUFuRkMsRUFBRSxDQW1GSCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUN2QixDQUFBO0lBQ0QsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLDhCQUFBLEVBQUUsRUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFOUQsT0FBTztRQUNMLFNBQVM7UUFDVCxXQUFXO1FBQ1gsWUFBWTtRQUNaLFNBQVM7UUFDVCxVQUFVO0tBQ1gsQ0FBQTtBQUNILENBQUM7QUEwQkQsTUFBTSxVQUFVLEtBQUssQ0FjbkIsY0FVQyxFQUNELFlBSThCLEVBQzlCLFVBWUM7SUFFRCxJQUFJLHFCQUFxQixHQUFHLFNBQVMsQ0FBQTtJQUNyQyxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQzNELGNBQWMsR0FBRyxPQUFPLENBQUE7UUFDeEIscUJBQXFCLEdBQUcsV0FBVyxDQUFBO0tBQ3BDO0lBQ0QsT0FBTyx5QkFBQSxFQUFFO1NBQ04sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBUyxDQUFDLENBQ3hELGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDekMsa0JBQWtCLENBQ2hCLGNBQWMsRUFDZCxZQUFZLEVBQ1oscUJBQXFCLENBQ3RCLENBQ0YsRUFFQywyQkFDRSxtQkFBbUIsQ0FDakIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQzNCLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUM3QixjQUFjLENBQ2YsQ0FDRixDQUNGLENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsY0FBMkM7SUFFM0MsT0FBTyxDQUFDLEdBQVMsRUFBRSxHQUFxQixFQUFFLENBQUksRUFBRSxFQUFFLENBQ2hELHdCQUFBLDJCQUFPLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNuQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IscUJBQVksR0FBRyxFQUFFO1FBQ2YsQ0FBQyxLQUFLLFNBQVM7WUFDYixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsQ0FBQyxDQUFDLEdBQUc7aUJBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQztpQkFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzlCLENBQUMsQ0FBQyxDQUNILENBQUE7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQWNoQyxPQVVDLEVBQ0QsWUFJNEQsRUFDNUQscUJBQXdEO0lBS3hELE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQy9ELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FuUDNDLEVBQUUsQ0FtUDBDLElBQUksQ0FBQTtJQUMxRCxNQUFNLE9BQU8sR0FBRyxBQXBQTixFQUFFLENBb1BJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBZSxDQUFDLENBQUE7SUFDNUMsTUFBTSxjQUFjLEdBQUcsYUFBYTtRQUNsQyxDQUFDLENBQUMsQ0FBQyxHQUFTLEVBQUUsRUFBRSxDQUFDLEFBdFBULEVBQUUsQ0FzUE8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQTtJQUVqQixNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUNsRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUN2RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUE7SUFFOUMsU0FBUyxTQUFTLENBQUMsR0FBb0I7UUFDckMsT0FBTywyQkFBTyxDQUFBO1lBQ1osSUFBSSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2hCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7WUFDZCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1NBQ3JCLENBQUEsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELFNBQVMsV0FBVyxDQUFDLEdBQW9CO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDeEIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFVLENBQUE7UUFDdkMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxhQUFhLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFvQixDQUFDO1lBQ3RFLENBQUMsQ0FBRSxhQUEwQztZQUM3QyxDQUFDLENBQUUsSUFBYyxDQUFBO1FBRW5CLDBDQUEwQztRQUMxQyxrQkFBa0I7UUFDbEIsMENBQTBDO1FBQzFDLElBQUk7UUFFSixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQzNDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsNEJBQUEsU0FBUyxFQUFhLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFOUUsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUN6QyxNQUFNLFNBQVMsR0FBRyxBQXhSVixFQUFFLENBd1JRLGdCQUFnQixDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFBO1FBRTdHLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDO1lBQ3hDLE1BQU07WUFDTixJQUFJLEVBQUUsQUE1UkEsRUFBRSxDQTRSRixnQkFBZ0IsQ0FDcEIsT0FBTyxDQUFDLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUN6RTtZQUNELE1BQU07WUFDTixTQUFTLEVBQUUsS0FBSztZQUNoQixTQUFTO1lBQ1QsaUNBQWlDO1lBQ2pDLFFBQVE7WUFDUix5Q0FBeUM7WUFDekMsbURBQW1EO1lBQ25ELGdCQUFnQjtZQUNoQiw4Q0FBOEM7WUFDOUMsU0FBUztZQUNULE1BQU07WUFDTixVQUFVO1NBQ1gsQ0FBQyxDQUFBO1FBQ0YsMENBQTBDO1FBQzFDLE9BQU8sY0FBYyxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBb0IsRUFBRSxHQUFxQixFQUFFLEVBQUU7UUFDckQsT0FBTyx5QkFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2hDLHdCQUFBLG9CQUNPO1lBQ0gsY0FBYyxFQUFFLHFCQUFZLEdBQUcsRUFBRTtnQkFDL0IsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUN2QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFO29CQUN4QixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQTtpQkFDM0M7Z0JBQ0QsR0FBRyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3hELE9BQU8sY0FBYyxDQUFBO1lBQ3ZCLENBQUMsQ0FBQztZQUNGLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1NBQ3JCLENBQUMsRUFDTyxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FDcEMsK0JBQUEsd0JBQUEsb0JBQUEsOEJBQUEseUJBQUEsNENBQUEsZUFBZSxHQUVKLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FHWCw2QkFBb0I7WUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO1lBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztZQUNyQixHQUFHLENBQUMsQ0FBQyxPQUFPO2dCQUNWLENBQUMsQ0FBQztvQkFDQSxPQUFPLHVEQUFFLElBQUksQ0FBQyxJQUFJLEVBQVU7b0JBQzVCLFFBQVEsdURBQUUsSUFBSSxDQUFDLEtBQUssRUFBVTtvQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUMxQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7b0JBQ2hDLFVBQVUsdURBQUUsSUFBSSxDQUFDLE9BQU8sRUFBVTtpQkFDbkM7Z0JBQ0QsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO1FBZEosOEVBQThFO1FBQzlFLHdCQUFlLGtCQUFrQixDQUFDLENBY2pDLENBQ0YsRUFFQyx3QkFBZSxHQUFHLEVBQUU7WUFDbEIsTUFBTSxhQUFhLEdBQUcsd0JBQUEsb0JBQUEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNoQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUM3QixNQUFNLEVBQUUsR0FBRztvQkFDVCxrQ0FBRyxJQUFJLENBQU07b0JBQ2Isa0NBQUcsS0FBSyxDQUFNO29CQUNkLGtDQUFHLElBQUksQ0FBTTtpQkFDSyxDQUFBO2dCQUNwQixPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUMsQ0FBQyxFQUNPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDckIsd0JBQUEsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFnQixDQUFDLENBQUMsRUFBRSxFQUM5QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDOUMsQ0FBQTtZQUVILHdDQUF3QztZQUN4QyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxDQUFDLGlDQUFDLGFBQWEsRUFBaUIsQ0FBQyxDQUFDLGFBQWEsQ0FBQSxDQUFDLDZDQUE2QztZQUM1SCxzREFBc0Q7WUFDdEQsTUFBTSxFQUFFLEdBQUcscUJBQXFCO2dCQUM5QixDQUFDLENBQUMseUJBQUEseUJBQXlCLEVBQ2YseUNBRWtCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFGakQsQ0FBQztnQkFDVCxpRUFBaUU7aUJBQ1AsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLHlCQUFBLHlCQUF5QjtnQkFDekIsMEJBQTBCO2tCQUNoQixDQUFDLENBQXlDLENBQUE7WUFDeEQsT0FBTyxZQUFZLENBQ2pCLEdBQUcsRUFDSCxHQUFHLEVBQ0gsRUFBRSxDQUNILENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxFQUNjLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDdkIsOEJBQUEsdUJBRUksMkJBQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUM5QiwyQkFDRSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQ3JCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQ0gsRUFDRCx3QkFBZSxHQUFHLEVBQUU7WUFDbEIsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ2hDLE9BS1MsNkJBQW9CO2dCQUN6QixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztnQkFDckIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUVyQyxPQUFPLHVEQUFFLElBQUksQ0FBQyxJQUFJLEVBQVU7Z0JBQzVCLFFBQVEsdURBQUUsSUFBSSxDQUFDLEtBQUssRUFBVTtnQkFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUMxQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Z0JBQ2hDLFVBQVUsdURBQUUsSUFBSSxDQUFDLE9BQU8sRUFBVTtnQkFFbEMsVUFBVSx1REFBRSxNQUFNO3FCQUNmLE9BQU8sQ0FBQyxPQUFPLENBQUM7cUJBQ2hCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO29CQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7b0JBQzFFLE9BQU8sSUFBSSxDQUFBO2dCQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLEVBRXRCO2FBQ1YsQ0FBQyxDQXhCRyxxQ0FFSCxrQkFBa0IsRUFDbEIsS0FBSyxDQUNOLEVBb0JFO1FBQ1AsQ0FBQyxDQUFDLENBQ0gsRUFDYyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsMkJBQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2xHLEVBQ0ksR0FBRyxFQUFFLENBQ1IsNENBQUEsZUFBZSxHQUVKLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUE7WUFDaEMsT0FBZ0QsNkJBQW9CO2dCQUNsRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ2xCLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVztnQkFDckIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNyQyxHQUFHLENBQUMsQ0FBQyxPQUFPO29CQUNWLENBQUMsQ0FBQzt3QkFDQSxVQUFVLHVEQUFFLE9BQU8sRUFBVTtxQkFDOUI7b0JBQ0QsQ0FBQyxDQUFDLFNBQVM7YUFDZCxDQUFDLENBVEssd0JBQWUsa0JBQWtCLENBQUMsRUFTdEM7UUFDTCxDQUFDLENBQUMsQ0FDTCxFQUNRLFNBQVMsQ0FBQyxFQUNILHVCQUF1QixFQUFFLElBQUksMkJBQTJCLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyw0Q0FBNEM7U0FDekksQ0FDSixDQUFBO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQTJDRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUE0QixRQUFXO0lBQzdELE1BQU0sTUFBTSxHQUFHLG1EQUFBLFFBQVEsR0FBUyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDbkQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFzQixFQUFFLHdCQUF3QixDQUFDLENBQUE7UUFDL0UsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBUyxDQUE4QixDQUFBO0lBRTFDLE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQWdDLFFBQVc7SUFDcEUsTUFBTSxNQUFNLEdBQUcsbURBQUEsUUFBUSxHQUFTLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDdkMsbURBQUEsT0FBTyxHQUFTLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBYSxJQUFJLEdBQWEsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFDMUYsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBUyxDQUEyQyxDQUFBO0lBRXZELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQXdDRCxNQUFNLFVBQVUsTUFBTSxDQU1wQixDQUFzQyxFQUN0QyxhQUFtQjtJQUVuQix3REFBd0Q7SUFDeEQsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNwQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBVXRDLE9BQU8sQ0FDTCxDQUFnQyxFQUNoQyxFQUFFLENBQUMsQ0FBQztRQUNKLGFBQWE7UUFDYixDQUFDO1FBQ0QsT0FBTztRQUNQLFFBQVE7UUFDUixlQUFlLEVBQUUsQ0FBQyxDQUFDLGVBQWUsSUFBSSxRQUFRO0tBUTlDLENBQUEsQ0FBQTtBQUNKLENBQUM7QUFxQkQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUF1RCxHQUFhO0lBRS9GLE9BQU8sQ0FPTCxRQUFtQixFQUNuQixFQUFFO1FBQ0YsTUFBTSxPQUFPLEdBQUcsbURBQUEsR0FBRyxHQUFTLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVEsQ0FBQyxDQUFBO1lBQ2xELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFBO1FBRWIsT0FBTyxPQVNOLENBQUE7SUFDSCxDQUFDLENBQUE7QUFDSCxDQUFDIn0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEtBQUssRUFBRSxNQUFNLG9DQUFvQyxDQUFBO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBR2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM3RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRywyQkFBb0I7SUFDakQsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDLENBQUE7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBV2hDLE9BVVk7SUFFWixNQUFNLEVBQUUsR0FBRywyQkFDVCxvQkFBQSxvQkFBQSxvQkFBQSw2QkFDZ0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUN6QixDQUFD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
|
|
@@ -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,iFAMrE"}
|
package/dist/api/setupRequest.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "@effect/
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/prelude/schema";
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/prelude/schema";
|
|
4
3
|
import { RequestId } from "@effect-app/prelude/ids";
|
|
5
4
|
import { RequestContext } from "../RequestContext.js";
|
|
6
5
|
import { RequestContextContainer, RequestContextContainerImpl } from "../services/RequestContextContainer.js";
|
|
@@ -8,7 +7,7 @@ import { RequestContextContainer, RequestContextContainerImpl } from "../service
|
|
|
8
7
|
* @tsplus fluent effect/io/Effect setupRequestFromWith
|
|
9
8
|
*/
|
|
10
9
|
export function setupReq3(self, name) {
|
|
11
|
-
return
|
|
10
|
+
return tsplus_module_1.flatMap(makeInternalRequestContext(name), (rc) => tsplus_module_1.provideService(tsplus_module_1.withSpan(self, "request"), RequestContextContainer, new RequestContextContainerImpl(rc)));
|
|
12
11
|
}
|
|
13
12
|
function makeInternalRequestContext(name) {
|
|
14
13
|
return tsplus_module_1.sync(() => {
|
|
@@ -17,8 +16,8 @@ function makeInternalRequestContext(name) {
|
|
|
17
16
|
id,
|
|
18
17
|
rootId: id,
|
|
19
18
|
locale: "en",
|
|
20
|
-
name:
|
|
19
|
+
name: tsplus_module_2.ReasonableString(name)
|
|
21
20
|
});
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvc2V0dXBSZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUU3Rzs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQVUsSUFBcUIsRUFBRSxJQUFZO0lBQ3BFLE9BQU8sd0JBQUEsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEVBQVMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNyRCwrQkFBQSx5QkFBQSxJQUFJLEVBQ1EsU0FBUyxDQUFDLEVBQ0osdUJBQXVCLEVBQUUsSUFBSSwyQkFBMkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNoRixDQUFBO0FBQ0gsQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsSUFBWTtJQUM5QyxPQUFPLHFCQUFZLEdBQUcsRUFBRTtRQUN0QixNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDM0IsT0FBTyxJQUFJLGNBQWMsQ0FBQztZQUN4QixFQUFFO1lBQ0YsTUFBTSxFQUFFLEVBQUU7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxnQkFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7U0FDN0IsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDIn0=
|
package/dist/api/writeDocs.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "@effect
|
|
3
|
-
import * as tsplus_module_3 from "@effect/
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/core/Array";
|
|
2
|
+
import * as tsplus_module_2 from "@effect/data/Order";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
5
4
|
import { typedValuesOf } from "@effect-app/core/utils";
|
|
6
5
|
import { writeTextFile } from "@effect-app/infra-adapters/fileUtil";
|
|
7
6
|
import * as Plutus from "@effect-app/infra-adapters/Openapi/atlas-plutus";
|
|
8
7
|
import { makeOpenApiSpecs } from "./express/makeOpenApiSpecs.js";
|
|
9
8
|
export function writeOpenapiDocs(rdescs) {
|
|
10
|
-
return tsplus_module_1.flatMap(tsplus_module_1.flatMap(tsplus_module_1.map(makeOpenApiSpecs(
|
|
9
|
+
return tsplus_module_1.flatMap(tsplus_module_1.flatMap(tsplus_module_1.map(makeOpenApiSpecs(tsplus_module_3.sortWith(tsplus_module_2.mapInput((a) => a.path)(tsplus_module_2.string))(typedValuesOf(rdescs)
|
|
11
10
|
.reduce((prev, cur) => prev.concat(typedValuesOf(cur)), [])), Plutus.info({
|
|
12
11
|
title: "api",
|
|
13
12
|
version: "X",
|
|
@@ -19,4 +18,4 @@ export function writeOpenapiDocs(rdescs) {
|
|
|
19
18
|
]
|
|
20
19
|
})), (_) => tsplus_module_1.orDie(writeTextFile("./openapi.json", JSON.stringify(_, undefined, 2)))), () => tsplus_module_1.logInfo("OpenAPI spec written to './openapi.json'"));
|
|
21
20
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVEb2NzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9hcGkvd3JpdGVEb2NzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDbkUsT0FBTyxLQUFLLE1BQU0sTUFBTSxpREFBaUQsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUdoRSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBMEQ7SUFDekYsT0FBTyx3QkFBQSx3QkFBQSxvQkFBQSxnQkFBZ0IsQ0FDckIseUJBRVkseUJBQXNCLENBQUMsQ0FBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQUMsRUFGcEUsYUFBYSxDQUFDLE1BQU0sQ0FBQztTQUNsQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQW1DLENBQUMsQ0FDekIsRUFDckUsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNWLEtBQUssRUFBRSxLQUFLO1FBQ1osT0FBTyxFQUFFLEdBQUc7UUFDWixTQUFTLEVBQUUsS0FBSztLQUNqQixDQUFDLENBQ0gsRUFDTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNYLEdBQUcsQ0FBQztRQUNKLElBQUksRUFBRTtRQUNKLG9CQUFvQjtTQUNyQjtLQUNGLENBQUMsQ0FBQyxFQUNNLENBQUMsQ0FBQyxFQUFFLEVBQUUsdUJBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFNLENBQUMsRUFDOUUsR0FBRyxFQUFFLENBQUMsd0JBQWUsMENBQTBDLENBQUMsQ0FBQyxDQUFBO0FBQzlFLENBQUMifQ==
|
|
@@ -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,4DAe1D;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,4DAc1D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,QAG9C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAI5C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,0DAE7C"}
|
package/dist/errorReporter.js
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Cause";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "@effect/
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/core/Option";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Option";
|
|
5
4
|
import * as Sentry from "@sentry/node";
|
|
6
5
|
import { RequestContextContainer } from "./services/RequestContextContainer.js";
|
|
7
6
|
export function reportError(makeError) {
|
|
8
|
-
return (cause, extras) =>
|
|
7
|
+
return (cause, extras) => tsplus_module_2.gen(function* ($) {
|
|
9
8
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
10
|
-
yield* $(tsplus_module_2.
|
|
9
|
+
yield* $(tsplus_module_2.annotateLogs(tsplus_module_2.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
11
10
|
return;
|
|
12
11
|
}
|
|
13
12
|
const error = makeError(cause);
|
|
14
13
|
yield* $(reportSentry(error, extras));
|
|
15
|
-
yield* $(tsplus_module_2.
|
|
16
|
-
})
|
|
14
|
+
yield* $(tsplus_module_2.annotateLogs(tsplus_module_2.logError(cause), "extras", JSON.stringify({ ...extras, __error__: { _tag: error._tag, message: error.message } })));
|
|
15
|
+
});
|
|
17
16
|
}
|
|
18
17
|
function reportSentry(error, extras) {
|
|
19
18
|
return tsplus_module_2.map(RequestContextContainer.getOption, (ctx) => {
|
|
20
|
-
const context =
|
|
19
|
+
const context = tsplus_module_3.getOrUndefined(ctx);
|
|
21
20
|
const scope = new Sentry.Scope();
|
|
22
21
|
if (context)
|
|
23
22
|
scope.setContext("context", context);
|
|
@@ -28,14 +27,14 @@ function reportSentry(error, extras) {
|
|
|
28
27
|
});
|
|
29
28
|
}
|
|
30
29
|
export function logError(makeError) {
|
|
31
|
-
return (cause, extras) =>
|
|
30
|
+
return (cause, extras) => tsplus_module_2.gen(function* ($) {
|
|
32
31
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
33
|
-
yield* $(tsplus_module_2.
|
|
32
|
+
yield* $(tsplus_module_2.annotateLogs(tsplus_module_2.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
34
33
|
return;
|
|
35
34
|
}
|
|
36
35
|
const error = makeError(cause);
|
|
37
|
-
yield* $(tsplus_module_2.
|
|
38
|
-
})
|
|
36
|
+
yield* $(tsplus_module_2.annotateLogs(tsplus_module_2.logWarning(cause), "extras", JSON.stringify({ ...extras, __error__: { _tag: error._tag, message: error.message } })));
|
|
37
|
+
});
|
|
39
38
|
}
|
|
40
39
|
export function captureException(error) {
|
|
41
40
|
Sentry.captureException(error);
|
|
@@ -48,4 +47,4 @@ export function reportMessage(message) {
|
|
|
48
47
|
export function reportMessageM(message) {
|
|
49
48
|
return tsplus_module_2.sync(() => reportMessage(message));
|
|
50
49
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZXJyb3JSZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUV0QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQTtBQUUvRSxNQUFNLFVBQVUsV0FBVyxDQUN6QixTQUFrQztJQUVsQyxPQUFPLENBQUMsS0FBZSxFQUFFLE1BQWdDLEVBQUUsRUFBRSxDQUMzRCxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQ3BCLElBQUksOEJBQUEsS0FBSyxDQUFnQixFQUFFO1lBQ3pCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBQSx5QkFBZ0IsYUFBYSxDQUFDLEVBQWMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixPQUFNO1NBQ1A7UUFDRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNyQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sc0RBQUEsS0FBSyxHQUNILFFBQVEsRUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQ3ZGLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFNBQVMsWUFBWSxDQUNuQixLQUFTLEVBQ1QsTUFBMkM7SUFFM0MsT0FBTyxvQkFBQSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNuRCxNQUFNLE9BQU8sR0FBRywrQkFBQSxHQUFHLENBQU8sQ0FBQTtRQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLE9BQU87WUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxPQUE2QyxDQUFDLENBQUE7UUFDdkYsSUFBSSxNQUFNO1lBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDOUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7UUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUN2QyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUN0QixTQUFrQztJQUVsQyxPQUFPLENBQUMsS0FBZSxFQUFFLE1BQWdDLEVBQUUsRUFBRSxDQUMzRCxvQkFBVyxRQUFRLENBQUMsRUFBQyxDQUFDO1FBQ3BCLElBQUksOEJBQUEsS0FBSyxDQUFnQixFQUFFO1lBQ3pCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyw2QkFBQSx5QkFBZ0IsYUFBYSxDQUFDLEVBQWMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM3RixPQUFNO1NBQ1A7UUFDRCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNOLHdEQUFBLEtBQUssR0FDSCxRQUFRLEVBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUN2RixDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBYztJQUM3QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUN0QixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFlO0lBQzNDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFlO0lBQzVDLE9BQU8sMkJBQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFDdkMsQ0FBQyJ9
|
package/dist/errors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as CausePretty from "@effect/io/
|
|
1
|
+
import * as CausePretty from "@effect/io/internal/cause";
|
|
2
2
|
export class NotFoundError {
|
|
3
3
|
constructor(type, id) {
|
|
4
4
|
this._tag = "NotFoundError";
|
|
@@ -76,4 +76,4 @@ export class OptimisticConcurrencyException {
|
|
|
76
76
|
this.message = `Existing ${type} ${id} record changed`;
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFdBQVcsTUFBTSwyQkFBMkIsQ0FBQTtBQUV4RCxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFZLElBQU8sRUFBRSxFQUFVO1FBRmYsU0FBSSxHQUFHLGVBQWUsQ0FBQTtRQUdwQyxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFBO0lBQzVDLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQTRCLE1BQThCO1FBQTlCLFdBQU0sR0FBTixNQUFNLENBQXdCO1FBRDFDLFNBQUksR0FBRyxpQkFBaUIsQ0FBQTtJQUNxQixDQUFDO0NBQy9EO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNrQixTQUFJLEdBQUcsa0JBQWtCLENBQUE7SUFDM0MsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNrQixTQUFJLEdBQUcsbUJBQW1CLENBQUE7SUFDNUMsQ0FBQztDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGdCQUFnQjtJQUM5QyxZQUFxQixPQUFlO1FBQ2xDLEtBQUssRUFBRSxDQUFBO1FBRFksWUFBTyxHQUFQLE9BQU8sQ0FBUTtJQUVwQyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQTRCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBRDNCLFNBQUksR0FBRyxtQkFBbUIsQ0FBQTtJQUNJLENBQUM7Q0FDaEQ7QUFFRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxLQUFLO0lBQzFDLFlBQXFCLGFBQXVCLEVBQVcsSUFBWTtRQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1FBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLEtBQUssRUFBRSxDQUFBO1FBSFksa0JBQWEsR0FBYixhQUFhLENBQVU7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSWpFLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sTUFBTSxHQUFJLFdBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNwRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtTQUNqRTtJQUNILENBQUM7SUFDUSxRQUFRO1FBQ2YsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksR0FBSSxXQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUNELENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QiwyREFBMkQ7U0FDNUQsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw4QkFBOEI7SUFHekMsWUFBcUIsSUFBWSxFQUFXLEVBQVUsRUFBVyxPQUFnQixFQUFXLEtBQWM7UUFBckYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFXLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBVyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVcsVUFBSyxHQUFMLEtBQUssQ0FBUztRQUZqRyxTQUFJLEdBQUcsZ0NBQWdDLENBQUE7UUFHOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLElBQUksSUFBSSxFQUFFLGlCQUFpQixDQUFBO0lBQ3hELENBQUM7Q0FDRiJ9
|
package/dist/instrument.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../_src/instrument.ts"],"names":[],"mappings":";;;;;AAGA,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,+
|
|
1
|
+
{"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../_src/instrument.ts"],"names":[],"mappings":";;;;;AAGA,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,+CAMtG"}
|
package/dist/instrument.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect-app/prelude/utils";
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "@effect/data/Debug";
|
|
4
3
|
/**
|
|
5
4
|
* @tsplus fluent effect/io/Effect instrument
|
|
6
5
|
*/
|
|
7
6
|
export function instr(self, name, properties) {
|
|
8
|
-
return
|
|
7
|
+
return tsplus_module_2.withSpan(tsplus_module_2.tap(self, () => tsplus_module_2.annotateLogs(tsplus_module_2.logDebug(`instrumented`), "properties", tsplus_module_1.RecordPretty(tsplus_module_1.object$((properties || {}))))), name);
|
|
9
8
|
// trackMetric(name, time, properties))
|
|
10
9
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvaW5zdHJ1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBVSxJQUFxQixFQUFFLElBQVksRUFBRSxVQUFtQztJQUNyRyxPQUFPLHlCQUFBLG9CQUFBLElBQUksRUFDSixHQUFHLEVBQUUsQ0FBQyw2QkFBQSx5QkFBZ0IsY0FBYyxDQUFDLEVBQWMsWUFBWSx1REFBRSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsR0FBVyxDQUFDLEVBQzFGLElBQUksQ0FBQyxDQUFBO0lBRWpCLHVDQUF1QztBQUN6QyxDQUFDIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const jsonLogger: import("@effect/io/Logger").Logger<
|
|
1
|
+
export declare const jsonLogger: import("@effect/io/Logger").Logger<unknown, void>;
|
|
2
2
|
export declare const logJson: import("@effect/io/Layer").Layer<never, never, never>;
|
|
3
3
|
//# sourceMappingURL=jsonLogger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/jsonLogger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jsonLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/jsonLogger.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,mDAyBtB,CAAA;AAED,eAAO,MAAM,OAAO,uDAAmD,CAAA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@effect/io/
|
|
1
|
+
import * as tsplus_module_1 from "@effect/io/FiberId";
|
|
2
2
|
import * as tsplus_module_2 from "@effect-app/core/Option";
|
|
3
3
|
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
4
|
-
import * as tsplus_module_4 from "@effect/data/
|
|
5
|
-
import * as tsplus_module_5 from "@effect
|
|
6
|
-
import * as tsplus_module_6 from "@effect/
|
|
7
|
-
import * as tsplus_module_7 from "@effect/io/Logger";
|
|
4
|
+
import * as tsplus_module_4 from "@effect/data/List";
|
|
5
|
+
import * as tsplus_module_5 from "@effect/data/HashMap";
|
|
6
|
+
import * as tsplus_module_6 from "@effect/io/Logger";
|
|
8
7
|
import { getRequestContext } from "./shared.js";
|
|
9
|
-
export const jsonLogger =
|
|
8
|
+
export const jsonLogger = tsplus_module_6.make(({ annotations, cause, context, fiberId, logLevel, message, spans }) => {
|
|
10
9
|
const now = new Date();
|
|
11
10
|
const nowMillis = now.getTime();
|
|
12
11
|
const c = getRequestContext(context);
|
|
@@ -17,9 +16,8 @@ export const jsonLogger = tsplus_module_7.make((fiberId, logLevel, message, caus
|
|
|
17
16
|
message,
|
|
18
17
|
request: tsplus_module_2.getOrUndefined(c),
|
|
19
18
|
cause: cause != null && cause != tsplus_module_3.empty ? tsplus_module_3.pretty(cause) : undefined,
|
|
20
|
-
spans: tsplus_module_4.
|
|
21
|
-
|
|
22
|
-
annotations: tsplus_module_6.size(annotations) > 0
|
|
19
|
+
spans: tsplus_module_4.toReadonlyArray(tsplus_module_4.map(spans, (_) => ({ label: _.label, timing: nowMillis - _.startTime }))),
|
|
20
|
+
annotations: tsplus_module_5.size(annotations) > 0
|
|
23
21
|
? [...annotations].reduce((prev, [k, v]) => {
|
|
24
22
|
prev[k] = v;
|
|
25
23
|
return prev;
|
|
@@ -28,5 +26,5 @@ export const jsonLogger = tsplus_module_7.make((fiberId, logLevel, message, caus
|
|
|
28
26
|
};
|
|
29
27
|
globalThis.console.log(JSON.stringify(data));
|
|
30
28
|
});
|
|
31
|
-
export const logJson =
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
export const logJson = tsplus_module_6.replace(tsplus_module_6.defaultLogger, jsonLogger);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvbG9nZ2VyL2pzb25Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxxQkFDeEIsQ0FBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7SUFDckUsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUN0QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFL0IsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFcEMsTUFBTSxJQUFJLEdBQUc7UUFDWCxTQUFTLEVBQUUsR0FBRztRQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixLQUFLLDZCQUFFLE9BQU8sQ0FBVztRQUN6QixPQUFPO1FBQ1AsT0FBTyxpQ0FBRSxDQUFDLENBQU07UUFDaEIsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyx5QkFBZSxDQUFDLENBQUMsd0JBQUMsS0FBSyxFQUFRLENBQUMsQ0FBQyxTQUFTO1FBQ3ZFLEtBQUssa0NBQUUsb0JBQUEsS0FBSyxFQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFnQjtRQUM5RixXQUFXLEVBQUUscUJBQUEsV0FBVyxJQUFRLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFDWCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUMsRUFBRSxFQUFxQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxTQUFTO0tBQ2QsQ0FBQTtJQUVELFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUM5QyxDQUFDLENBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyx1REFBcUMsVUFBVSxDQUFDLENBQUEifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const logfmtLogger: import("@effect/io/Logger").Logger<
|
|
1
|
+
export declare const logfmtLogger: import("@effect/io/Logger").Logger<unknown, void>;
|
|
2
2
|
export declare const logFmt: import("@effect/io/Layer").Layer<never, never, never>;
|
|
3
3
|
//# sourceMappingURL=logFmtLogger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logFmtLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/logFmtLogger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"logFmtLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/logFmtLogger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mDAqBxB,CAAA;AAED,eAAO,MAAM,MAAM,uDAAqD,CAAA"}
|
|
@@ -3,8 +3,9 @@ import * as tsplus_module_2 from "@effect-app/prelude/utils";
|
|
|
3
3
|
import * as tsplus_module_3 from "@effect/data/HashMap";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/io/Logger";
|
|
5
5
|
import { getRequestContext } from "./shared.js";
|
|
6
|
-
export const logfmtLogger = tsplus_module_4.make((
|
|
7
|
-
|
|
6
|
+
export const logfmtLogger = tsplus_module_4.make((_) => {
|
|
7
|
+
let { annotations } = _;
|
|
8
|
+
const c = getRequestContext(_.context);
|
|
8
9
|
const requestContext = tsplus_module_1.getOrUndefined(c);
|
|
9
10
|
if (requestContext) {
|
|
10
11
|
annotations = tsplus_module_3.make(...[
|
|
@@ -17,8 +18,8 @@ export const logfmtLogger = tsplus_module_4.make((fiberId, logLevel, message, ca
|
|
|
17
18
|
}))
|
|
18
19
|
]);
|
|
19
20
|
}
|
|
20
|
-
const formatted = tsplus_module_4.logfmtLogger.log(
|
|
21
|
+
const formatted = tsplus_module_4.logfmtLogger.log(_);
|
|
21
22
|
globalThis.console.log(formatted);
|
|
22
23
|
});
|
|
23
24
|
export const logFmt = tsplus_module_4.replace(tsplus_module_4.defaultLogger, logfmtLogger);
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRm10TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9sb2dnZXIvbG9nRm10TG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHFCQUMxQixDQUFDLENBQUMsRUFBRSxFQUFFO0lBQ0osSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUN2QixNQUFNLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEMsTUFBTSxjQUFjLGtDQUFHLENBQUMsQ0FBTSxDQUFBO0lBQzlCLElBQUksY0FBYyxFQUFFO1FBQ2xCLFdBQVcsR0FBRyxxQkFBYSxHQUFHO1lBQzVCLEdBQUcsV0FBVztZQUNkLHlEQUFHO2dCQUNELGFBQWEsRUFBRSxjQUFjLENBQUMsTUFBTTtnQkFDcEMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUM1QixXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ2hDLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0YsRUFFUztTQUNYLENBQUMsQ0FBQTtLQUNIO0lBQ0QsTUFBTSxTQUFTLEdBQUcsNkJBQW9CLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM1QyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyx1REFBcUMsWUFBWSxDQUFDLENBQUEifQ==
|
package/dist/rateLimit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../_src/rateLimit.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkCA,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,UAC3D,SAAS,mHAaxB;;;;;;AAMD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"rateLimit.d.ts","sourceRoot":"","sources":["../_src/rateLimit.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkCA,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,UAC3D,SAAS,mHAaxB;;;;;;AAMD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC7C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,SAAS,CAAC,CAAC,8DAU3B;;;;;;AAMD,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAC1C,CAAC,EAAE,MAAM,EACT,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/E,YAAY,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,WAErD,SAAS,CAAC,CAAC,8DAQ3B;;;;;;AA2BD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,GAAG,8PAgBP"}
|
package/dist/rateLimit.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "@effect-app/core/
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/core/
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/_ext/Iterable";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
4
4
|
// /**
|
|
5
5
|
// * Executes the specified effect, acquiring the specified number of permits
|
|
6
6
|
// * immediately before the effect begins execution and releasing them
|
|
@@ -45,14 +45,14 @@ export function SEM_withPermitsDuration(permits, duration) {
|
|
|
45
45
|
* @tsplus static Collection.Ops batchPar
|
|
46
46
|
*/
|
|
47
47
|
export function batchPar(n, forEachItem, forEachBatch) {
|
|
48
|
-
return (items) => tsplus_module_2.
|
|
48
|
+
return (items) => tsplus_module_2.ext_forEach(tsplus_module_3.chunk_(items, n), (_, i) => tsplus_module_1.flatMap(tsplus_module_2.ext_forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" }), (_) => forEachBatch(_, i)), { concurrency: "inherit" });
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* @tsplus pipeable Iterable batch
|
|
52
52
|
* @tsplus static Collection.Ops batch
|
|
53
53
|
*/
|
|
54
54
|
export function batch(n, forEachItem, forEachBatch) {
|
|
55
|
-
return (items) => tsplus_module_2.
|
|
55
|
+
return (items) => tsplus_module_2.ext_forEach(tsplus_module_3.chunk_(items, n), (_, i) => tsplus_module_1.flatMap(tsplus_module_2.ext_forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" }), (_) => forEachBatch(_, i)));
|
|
56
56
|
}
|
|
57
57
|
// /**
|
|
58
58
|
// * @tsplus pipeable Iterable rateLimit
|
|
@@ -78,6 +78,6 @@ export function batch(n, forEachItem, forEachBatch) {
|
|
|
78
78
|
* @tsplus static Collection.Ops naiveRateLimit
|
|
79
79
|
*/
|
|
80
80
|
export function naiveRateLimit(n, d) {
|
|
81
|
-
return (items) => ((forEachItem, forEachBatch) => tsplus_module_2.
|
|
81
|
+
return (items) => ((forEachItem, forEachBatch) => tsplus_module_2.ext_forEach(tsplus_module_3.chunk_(items, n), (batch, i) => tsplus_module_1.zipRight(((i === 0) ? tsplus_module_1.unit : tsplus_module_1.sleep(d)), tsplus_module_1.flatMap(tsplus_module_2.ext_forEach(batch, forEachItem, { concurrency: n }), forEachBatch))));
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9yYXRlTGltaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTTtBQUNOLDhFQUE4RTtBQUM5RSx1RUFBdUU7QUFDdkUsbUZBQW1GO0FBQ25GLCtCQUErQjtBQUMvQixLQUFLO0FBQ0wsa0VBQWtFO0FBQ2xFLGdFQUFnRTtBQUNoRSxNQUFNO0FBQ04sNkVBQTZFO0FBQzdFLDBGQUEwRjtBQUMxRix1QkFBdUI7QUFDdkIsb0NBQW9DO0FBQ3BDLHFCQUFxQjtBQUNyQixtREFBbUQ7QUFDbkQsZ0NBQWdDO0FBQ2hDLDJCQUEyQjtBQUMzQix5Q0FBeUM7QUFDekMsNEJBQTRCO0FBQzVCLHFDQUFxQztBQUNyQyxrQkFBa0I7QUFDbEIsVUFBVTtBQUNWLE1BQU07QUFDTixJQUFJO0FBRUo7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBZSxFQUFFLFFBQWtCO0lBQ3pFLE9BQU8sQ0FBQyxJQUFlLEVBQXlELEVBQUU7UUFDaEYsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQ2hCLG9DQUNFLENBQUMsT0FBTyxFQUFFLEVBQUUsMEJBRU4seUJBQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUViLHNCQUFBLElBQUk7YUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ1YsUUFBUSxDQUFDLENBQ25CLEVBTkwsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FNdEIsQ0FDUixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLENBQVMsRUFDVCxXQUErRSxFQUMvRSxZQUFvRTtJQUVwRSxPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQzVCLDRCQUFBLHVCQUFBLEtBQUssRUFDSSxDQUFDLENBQUMsRUFFUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNQLHdCQUFBLDRCQUFBLENBQUMsRUFDZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUNqRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDM0QsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQzNCLENBQUE7QUFDUCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FDbkIsQ0FBUyxFQUNULFdBQStFLEVBQy9FLFlBQW9FO0lBRXBFLE9BQU8sQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FDNUIsNEJBQUEsdUJBQUEsS0FBSyxFQUNJLENBQUMsQ0FBQyxFQUNNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3RCLHdCQUFBLDRCQUFBLENBQUMsRUFDZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUNqRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQTtBQUNQLENBQUM7QUFFRCxNQUFNO0FBQ04seUNBQXlDO0FBQ3pDLDZDQUE2QztBQUM3QyxNQUFNO0FBQ04sNkJBQTZCO0FBQzdCLGVBQWU7QUFDZixXQUFXO0FBQ1gsTUFBTTtBQUNOLHNDQUFzQztBQUN0Qyw2QkFBNkI7QUFDN0IsZ0RBQWdEO0FBQ2hELDBEQUEwRDtBQUMxRCxXQUFXO0FBQ1gscUNBQXFDO0FBQ3JDLHNCQUFzQjtBQUN0Qix3Q0FBd0M7QUFDeEMsbUZBQW1GO0FBQ25GLHNCQUFzQjtBQUN0QixJQUFJO0FBRUo7OztHQUdHO0FBRUgsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsQ0FBUyxFQUNULENBQU07SUFFTixPQUFPLENBQUksS0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNqQyxXQUFzQyxFQUN0QyxZQUE0QyxFQUM1QyxFQUFFLENBQ0YsNEJBQUEsdUJBQUEsS0FBSyxFQUNJLENBQUMsQ0FBQyxFQUNNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQzFCLHlCQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBYSxDQUFDLENBQUMsc0JBQWEsQ0FBQyxDQUFDLENBQUMsRUFFdkMsd0JBQUEsNEJBQUEsS0FBSyxFQUNZLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUN0QyxZQUFZLENBQUMsQ0FDekIsQ0FDSixDQUFDLENBQUE7QUFDUixDQUFDIn0=
|
|
@@ -6,7 +6,7 @@ import type { EmailMsg, SendgridConfig } from "./service.js";
|
|
|
6
6
|
* @tsplus static Emailer.Ops LiveSendgrid
|
|
7
7
|
* @tsplus location "@effect-app/infra/services/Emailer/Sendgrid"
|
|
8
8
|
*/
|
|
9
|
-
export declare function LiveSendgrid(config: Config<SendgridConfig>): import("@effect/io/Layer").Layer<never, import("@effect/io/
|
|
9
|
+
export declare function LiveSendgrid(config: Config<SendgridConfig>): import("@effect/io/Layer").Layer<never, import("@effect/io/ConfigError").ConfigError, Emailer>;
|
|
10
10
|
/**
|
|
11
11
|
* @hidden
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sendgrid.d.ts","sourceRoot":"","sources":["../../../_src/services/Emailer/Sendgrid.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAA;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAwB,cAAc,EAAE,MAAM,cAAc,CAAA;;;;;AAoDlF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"Sendgrid.d.ts","sourceRoot":"","sources":["../../../_src/services/Emailer/Sendgrid.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAA;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAwB,cAAc,EAAE,MAAM,cAAc,CAAA;;;;;AAoDlF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,kGAK1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,SAUpC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,WAO1C"}
|