@effect-app/infra 0.62.0 → 0.63.1
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 +16 -0
- package/_cjs/api/routing.cjs +13 -12
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +4 -30
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +23 -27
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +42 -0
- package/_cjs/logger/jsonLogger.cjs.map +1 -0
- package/_cjs/logger/logFmtLogger.cjs +33 -0
- package/_cjs/logger/logFmtLogger.cjs.map +1 -0
- package/_cjs/logger/shared.cjs +22 -0
- package/_cjs/logger/shared.cjs.map +1 -0
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +4 -1
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_src/api/routing.ts +1 -4
- package/_src/api/setupRequest.ts +1 -27
- package/_src/errorReporter.ts +14 -15
- package/_src/logger/jsonLogger.ts +32 -0
- package/_src/logger/logFmtLogger.ts +25 -0
- package/_src/logger/shared.ts +10 -0
- package/_src/services/RequestContextContainer.ts +3 -0
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +14 -13
- package/dist/api/setupRequest.d.ts +0 -11
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +5 -26
- package/dist/errorReporter.d.ts +1 -1
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +22 -22
- package/dist/logger/jsonLogger.d.ts +3 -0
- package/dist/logger/jsonLogger.d.ts.map +1 -0
- package/dist/logger/jsonLogger.js +32 -0
- package/dist/logger/logFmtLogger.d.ts +3 -0
- package/dist/logger/logFmtLogger.d.ts.map +1 -0
- package/dist/logger/logFmtLogger.js +24 -0
- package/dist/logger/shared.d.ts +3 -0
- package/dist/logger/shared.d.ts.map +1 -0
- package/dist/logger/shared.js +14 -0
- package/dist/services/RequestContextContainer.d.ts +5 -0
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +3 -1
- package/package.json +36 -6
package/dist/errorReporter.js
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Cause";
|
|
2
|
-
import * as tsplus_module_2 from "@effect
|
|
3
|
-
import * as tsplus_module_3 from "@effect/
|
|
2
|
+
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/data/Debug";
|
|
4
4
|
import * as tsplus_module_4 from "@effect-app/core/Option";
|
|
5
|
-
import * as tsplus_module_5 from "@effect/data/Debug";
|
|
6
5
|
import * as Sentry from "@sentry/node";
|
|
7
6
|
import { RequestContextContainer } from "./services/RequestContextContainer.js";
|
|
8
7
|
export function reportError(makeError) {
|
|
9
|
-
return (cause, extras) =>
|
|
10
|
-
const context = yield* $(RequestContextContainer.getOption);
|
|
8
|
+
return (cause, extras) => tsplus_module_3.untraced(() => tsplus_module_2.gen(function* ($) {
|
|
11
9
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
12
|
-
|
|
13
|
-
yield* $(tsplus_module_3.logDebug("Interrupted: " + (data ? tsplus_module_2.RecordPretty(tsplus_module_2.object$(data)) : "")));
|
|
10
|
+
yield* $(tsplus_module_2.logAnnotate(tsplus_module_2.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
14
11
|
return;
|
|
15
12
|
}
|
|
16
13
|
const error = makeError(cause);
|
|
17
|
-
reportSentry(error,
|
|
18
|
-
yield* $(
|
|
14
|
+
yield* $(reportSentry(error, extras));
|
|
15
|
+
yield* $(tsplus_module_2.logAnnotate(tsplus_module_2.logErrorCause(cause), "extras", JSON.stringify({ ...extras, __error__: { _tag: error._tag, message: error.message } })));
|
|
19
16
|
}));
|
|
20
17
|
}
|
|
21
|
-
function reportSentry(error,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
scope.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
function reportSentry(error, extras) {
|
|
19
|
+
return tsplus_module_2.map(RequestContextContainer.getOption, (ctx) => {
|
|
20
|
+
const context = tsplus_module_4.getOrUndefined(ctx);
|
|
21
|
+
const scope = new Sentry.Scope();
|
|
22
|
+
if (context)
|
|
23
|
+
scope.setContext("context", context);
|
|
24
|
+
if (extras)
|
|
25
|
+
scope.setContext("extras", extras);
|
|
26
|
+
scope.setContext("error", error.toJSON());
|
|
27
|
+
Sentry.captureException(error, scope);
|
|
28
|
+
});
|
|
29
29
|
}
|
|
30
30
|
export function logError(makeError) {
|
|
31
|
-
return (cause,
|
|
31
|
+
return (cause, extras) => tsplus_module_3.untraced(() => tsplus_module_2.gen(function* ($) {
|
|
32
32
|
if (tsplus_module_1.isInterrupted(cause)) {
|
|
33
|
-
yield* $(
|
|
33
|
+
yield* $(tsplus_module_2.logAnnotate(tsplus_module_2.logDebug("Interrupted"), "extras", JSON.stringify(extras ?? {})));
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
const error = makeError(cause);
|
|
37
|
-
yield* $(
|
|
37
|
+
yield* $(tsplus_module_2.logAnnotate(tsplus_module_2.logWarningCause(cause), "extras", JSON.stringify({ ...extras, __error__: { _tag: error._tag, message: error.message } })));
|
|
38
38
|
}));
|
|
39
39
|
}
|
|
40
40
|
export function captureException(error) {
|
|
@@ -46,6 +46,6 @@ export function reportMessage(message) {
|
|
|
46
46
|
console.warn(message);
|
|
47
47
|
}
|
|
48
48
|
export function reportMessageM(message) {
|
|
49
|
-
return
|
|
49
|
+
return tsplus_module_2.sync(() => reportMessage(message));
|
|
50
50
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JSZXBvcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvZXJyb3JSZXBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFFdEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFFL0UsTUFBTSxVQUFVLFdBQVcsQ0FDekIsU0FBa0M7SUFFbEMsT0FBTyxDQUFDLEtBQWUsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDM0QseUJBQWUsR0FBRyxFQUFFLENBQ2xCLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDcEIsSUFBSSw4QkFBQSxLQUFLLENBQWdCLEVBQUU7WUFDekIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUFBLHlCQUFnQixhQUFhLENBQUMsRUFBYSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzVGLE9BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO1FBQ3JDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDTiwwREFBQSxLQUFLLEdBQ0gsUUFBUSxFQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FDdkYsQ0FDRixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUNMLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FDbkIsS0FBUyxFQUNULE1BQTJDO0lBRTNDLE9BQU8sb0JBQUEsdUJBQXVCLENBQUMsU0FBUyxFQUFLLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDbkQsTUFBTSxPQUFPLEdBQUcsK0JBQUEsR0FBRyxDQUFPLENBQUE7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDaEMsSUFBSSxPQUFPO1lBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBNkMsQ0FBQyxDQUFBO1FBQ3ZGLElBQUksTUFBTTtZQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzlDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7SUFDdkMsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBa0M7SUFFbEMsT0FBTyxDQUFDLEtBQWUsRUFBRSxNQUFnQyxFQUFFLEVBQUUsQ0FDM0QseUJBQWUsR0FBRyxFQUFFLENBQ2xCLG9CQUFXLFFBQVEsQ0FBQyxFQUFDLENBQUM7UUFDcEIsSUFBSSw4QkFBQSxLQUFLLENBQWdCLEVBQUU7WUFDekIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUFBLHlCQUFnQixhQUFhLENBQUMsRUFBYSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQzVGLE9BQU07U0FDUDtRQUNELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ04sNERBQUEsS0FBSyxHQUNILFFBQVEsRUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQ3ZGLENBQ0YsQ0FBQTtJQUNILENBQUMsQ0FBQyxDQUNILENBQUE7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQWM7SUFDN0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBZTtJQUMzQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRTlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBZTtJQUM1QyxPQUFPLDJCQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0FBQ3ZDLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/jsonLogger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,kDA2BtB,CAAA;AAED,eAAO,MAAM,OAAO,uDAAmD,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@effect/io/Fiber/Id";
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/Option";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/io/Cause";
|
|
4
|
+
import * as tsplus_module_4 from "@effect/data/Chunk";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/Chunk";
|
|
6
|
+
import * as tsplus_module_6 from "@effect/data/HashMap";
|
|
7
|
+
import * as tsplus_module_7 from "@effect/io/Logger";
|
|
8
|
+
import { getRequestContext } from "./shared.js";
|
|
9
|
+
export const jsonLogger = tsplus_module_7.make((fiberId, logLevel, message, cause, context, spans, annotations) => {
|
|
10
|
+
const now = new Date();
|
|
11
|
+
const nowMillis = now.getTime();
|
|
12
|
+
const c = getRequestContext(context);
|
|
13
|
+
const data = {
|
|
14
|
+
timestamp: now,
|
|
15
|
+
level: logLevel.label,
|
|
16
|
+
fiber: tsplus_module_1.threadName(fiberId),
|
|
17
|
+
message,
|
|
18
|
+
request: tsplus_module_2.getOrUndefined(c),
|
|
19
|
+
cause: cause != null && cause != tsplus_module_3.empty ? tsplus_module_3.pretty(cause) : undefined,
|
|
20
|
+
spans: tsplus_module_4.isNonEmpty(spans)
|
|
21
|
+
? tsplus_module_5.toArray(tsplus_module_4.map(spans, (_) => ({ label: _.label, timing: nowMillis - _.startTime }))) : undefined,
|
|
22
|
+
annotations: tsplus_module_6.size(annotations) > 0
|
|
23
|
+
? [...annotations].reduce((prev, [k, v]) => {
|
|
24
|
+
prev[k] = v;
|
|
25
|
+
return prev;
|
|
26
|
+
}, {})
|
|
27
|
+
: undefined
|
|
28
|
+
};
|
|
29
|
+
globalThis.console.log(JSON.stringify(data));
|
|
30
|
+
});
|
|
31
|
+
export const logJson = tsplus_module_7.replace(tsplus_module_7.defaultLogger, jsonLogger);
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvbG9nZ2VyL2pzb25Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUUvQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcscUJBQ3hCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUU7SUFDakUsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUN0QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUE7SUFFL0IsTUFBTSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFcEMsTUFBTSxJQUFJLEdBQUc7UUFDWCxTQUFTLEVBQUUsR0FBRztRQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixLQUFLLDZCQUFFLE9BQU8sQ0FBVztRQUN6QixPQUFPO1FBQ1AsT0FBTyxpQ0FBRSxDQUFDLENBQU07UUFDaEIsS0FBSyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyx5QkFBZSxDQUFDLENBQUMsd0JBQUMsS0FBSyxFQUFRLENBQUMsQ0FBQyxTQUFTO1FBQ3ZFLEtBQUssRUFBRSwyQkFBaUIsS0FBSyxDQUFDO1lBQzVCLENBQUMseUJBQUMsb0JBQUEsS0FBSyxFQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUN6RSxDQUFDLENBQUMsU0FBUztRQUNiLFdBQVcsRUFBRSxxQkFBQSxXQUFXLElBQVEsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNYLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQyxFQUFFLEVBQTRCLENBQUM7WUFDaEMsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFBO0lBRUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQzlDLENBQUMsQ0FDRixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLHVEQUFxQyxVQUFVLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logFmtLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/logFmtLogger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,kDAoBxB,CAAA;AAED,eAAO,MAAM,MAAM,uDAAqD,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/core/Option";
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/prelude/utils";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/data/HashMap";
|
|
4
|
+
import * as tsplus_module_4 from "@effect/io/Logger";
|
|
5
|
+
import { getRequestContext } from "./shared.js";
|
|
6
|
+
export const logfmtLogger = tsplus_module_4.make((fiberId, logLevel, message, cause, context, spans, annotations) => {
|
|
7
|
+
const c = getRequestContext(context);
|
|
8
|
+
const requestContext = tsplus_module_1.getOrUndefined(c);
|
|
9
|
+
if (requestContext) {
|
|
10
|
+
annotations = tsplus_module_3.make(...[
|
|
11
|
+
...annotations,
|
|
12
|
+
...tsplus_module_2.RecordEntries(tsplus_module_2.object$({
|
|
13
|
+
requestRootId: requestContext.rootId,
|
|
14
|
+
requestId: requestContext.id,
|
|
15
|
+
requestName: requestContext.name,
|
|
16
|
+
...requestContext.userProfile?.sub ? { requestUserSub: requestContext.userProfile.sub } : {}
|
|
17
|
+
}))
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
const formatted = tsplus_module_4.logfmtLogger.log(fiberId, logLevel, message, cause, context, spans, annotations);
|
|
21
|
+
globalThis.console.log(formatted);
|
|
22
|
+
});
|
|
23
|
+
export const logFmt = tsplus_module_4.replace(tsplus_module_4.defaultLogger, logfmtLogger);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRm10TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9sb2dnZXIvbG9nRm10TG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHFCQUMxQixDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3BDLE1BQU0sY0FBYyxrQ0FBRyxDQUFDLENBQU0sQ0FBQTtJQUM5QixJQUFJLGNBQWMsRUFBRTtRQUNsQixXQUFXLEdBQUcscUJBQWEsR0FBRztZQUM1QixHQUFHLFdBQVc7WUFDZCx5REFBRztnQkFDRCxhQUFhLEVBQUUsY0FBYyxDQUFDLE1BQU07Z0JBQ3BDLFNBQVMsRUFBRSxjQUFjLENBQUMsRUFBRTtnQkFDNUIsV0FBVyxFQUFFLGNBQWMsQ0FBQyxJQUFJO2dCQUNoQyxHQUFHLGNBQWMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO2FBQzdGLEVBRVM7U0FDWCxDQUFDLENBQUE7S0FDSDtJQUNELE1BQU0sU0FBUyxHQUFHLDZCQUFvQixHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDekcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7QUFDbkMsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsdURBQXFDLFlBQVksQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../_src/logger/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAGjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,uFAM7D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "@effect/io/FiberRef";
|
|
2
|
+
import * as tsplus_module_2 from "@effect/data/Context";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
|
+
import * as tsplus_module_4 from "@effect/data/Option";
|
|
5
|
+
import * as FiberRefs from "@effect/io/FiberRefs";
|
|
6
|
+
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
7
|
+
export function getRequestContext(context) {
|
|
8
|
+
const ctx = FiberRefs.getOrDefault(context, tsplus_module_1.currentContext);
|
|
9
|
+
// TODO: use `RequestContext.Tag` once switched?
|
|
10
|
+
const a = tsplus_module_2.getOption(ctx, RequestContextContainer);
|
|
11
|
+
const c = tsplus_module_4.map(a, (_) => tsplus_module_3.runSync(_.requestContext));
|
|
12
|
+
return c;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9sb2dnZXIvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEtBQUssU0FBUyxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBRWhGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUE0QjtJQUM1RCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8saUNBQTBCLENBQUE7SUFDcEUsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLDBCQUFBLEdBQUcsRUFBVyx1QkFBdUIsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLG9CQUFBLENBQUMsRUFBSyxDQUFDLENBQUMsRUFBRSxFQUFFLHlCQUFDLENBQUMsQ0FBQyxjQUFjLENBQVEsQ0FBQyxDQUFBO0lBQ2hELE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQyJ9
|
|
@@ -29,5 +29,10 @@ export declare class RequestContextContainerImpl extends RequestContextContainer
|
|
|
29
29
|
* @tsplus location "@effect-app/infra/services/RequestContextContainer"
|
|
30
30
|
*/
|
|
31
31
|
export declare function live(inp: RequestContext.ConstructorInput): RequestContextContainerImpl;
|
|
32
|
+
/**
|
|
33
|
+
* @tsplus static RequestContext.Ops Tag
|
|
34
|
+
* @tsplus location "@effect-app/infra/services/RequestContextContainer"
|
|
35
|
+
*/
|
|
36
|
+
export declare const RCTag: import("@effect/data/Context").Tag<RequestContext, RequestContext>;
|
|
32
37
|
export {};
|
|
33
38
|
//# sourceMappingURL=RequestContextContainer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../_src/services/RequestContextContainer.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;;;;;AAErD;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,4BAAmC;IACvF,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IACtE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACnG,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,uBAAuB,EAAE,KAAK,EAAE,cAAc,CAAC,CAEvE;IACD,MAAM,KAAK,SAAS,2GAQnB;CACF;AAED,qBAAa,2BAA4B,SAAQ,uBAAuB;;gBAE1D,GAAG,EAAE,cAAc,CAAC,gBAAgB;IAKhD,IAAa,cAAc,qEAE1B;IAEQ,MAAM,UAAW,cAAc,KAAK,cAAc,sEAA8B;CAC1F;;;;;AAKD,wBAAgB,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,gBAAgB,+BAExD"}
|
|
1
|
+
{"version":3,"file":"RequestContextContainer.d.ts","sourceRoot":"","sources":["../../_src/services/RequestContextContainer.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;;;;;;AAErD;;GAEG;AACH,8BAAsB,uBAAwB,SAAQ,4BAAmC;IACvF,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IACtE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,cAAc,KAAK,cAAc,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACnG,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,uBAAuB,EAAE,KAAK,EAAE,cAAc,CAAC,CAEvE;IACD,MAAM,KAAK,SAAS,2GAQnB;CACF;AAED,qBAAa,2BAA4B,SAAQ,uBAAuB;;gBAE1D,GAAG,EAAE,cAAc,CAAC,gBAAgB;IAKhD,IAAa,cAAc,qEAE1B;IAEQ,MAAM,UAAW,cAAc,KAAK,cAAc,sEAA8B;CAC1F;;;;;AAKD,wBAAgB,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,gBAAgB,+BAExD;;;;;AAGD,eAAO,MAAM,KAAK,oEAAwB,CAAA"}
|
|
@@ -48,4 +48,6 @@ _RequestContextContainerImpl_ref = new WeakMap();
|
|
|
48
48
|
export function live(inp) {
|
|
49
49
|
return new RequestContextContainerImpl(inp);
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
/** @tsplus static RequestContext.Ops Tag */
|
|
52
|
+
export const RCTag = tsplus_module_5.Tag();
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHRDb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL1JlcXVlc3RDb250ZXh0Q29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUVyRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsdUJBQXdCLFNBQVEsZ0JBQUEsUUFBUSxFQUEyQjtJQUd2RixNQUFNLEtBQUssR0FBRztRQUNaLE9BQU8sdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUNELE1BQU0sS0FBSyxTQUFTO1FBQ2xCLE9BQU8sd0JBQUEsNEJBQ1EsQ0FBQyxDQUFpQixFQUFFLEVBQUUsQ0FBQywwQkFBa0IsQ0FBQyxFQUFFLHVCQUF1QixDQUFDLENBQUMsRUFDekUsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUMxQix1QkFBQSxjQUFjLENBQVM7WUFDckIsQ0FBQyxDQUFDLG9CQUFBLGNBQWMsQ0FBQyxLQUFLLENBQUMsY0FBYyx1QkFBaUI7WUFDdEQsQ0FBQyxDQUFDLGdEQUFtQixDQUN4QixDQUFBO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtJQUV0RSxZQUFZLEdBQW9DO1FBQzlDLEtBQUssRUFBRSxDQUFBO1FBRlQsbURBQXlCO1FBVWhCLFdBQU0sR0FBRyxDQUFDLENBQXdDLEVBQUUsRUFBRSxDQUFDLDZCQUFBLHVCQUFBLElBQUksd0NBQUssRUFBYyxDQUFDLENBQUMsQ0FBQTtRQVB2Rix1QkFBQSxJQUFJLG9DQUFRLDJCQUErQixJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFBLENBQUE7SUFDckUsQ0FBQztJQUVELElBQWEsY0FBYztRQUN6QiwyQkFBTyx1QkFBQSxJQUFJLHdDQUFLLEVBQUk7SUFDdEIsQ0FBQztDQUdGOztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBQyxHQUFvQztJQUN2RCxPQUFPLElBQUksMkJBQTJCLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDN0MsQ0FBQztBQUVELDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsZ0JBQUEsR0FBRyxFQUFrQixDQUFBIn0=
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@azure/cosmos": "^3.17.3",
|
|
8
8
|
"@azure/service-bus": "^7.9.0",
|
|
9
9
|
"@effect/data": "^0.12.2",
|
|
10
|
-
"@effect/io": "^0.25.
|
|
10
|
+
"@effect/io": "^0.25.8",
|
|
11
11
|
"@sendgrid/helpers": "^7.7.0",
|
|
12
12
|
"@sendgrid/mail": "^7.7.0",
|
|
13
13
|
"change-case": "^4.1.2",
|
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
"proper-lockfile": "^4.1.2",
|
|
20
20
|
"pure-rand": "^6.0.2",
|
|
21
21
|
"redlock": "^4.2.0",
|
|
22
|
-
"@effect-app/prelude": "0.51.0",
|
|
23
22
|
"@effect-app/core": "0.51.0",
|
|
24
23
|
"@effect-app/infra-adapters": "0.44.0",
|
|
24
|
+
"@effect-app/prelude": "0.51.0",
|
|
25
25
|
"@effect-app/schema": "0.45.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@babel/cli": "^7.21.
|
|
29
|
-
"@sentry/node": "^7.
|
|
28
|
+
"@babel/cli": "^7.21.5",
|
|
29
|
+
"@sentry/node": "^7.50.0",
|
|
30
30
|
"@types/express": "^4.17.17",
|
|
31
|
-
"@types/node": "~18.16.
|
|
31
|
+
"@types/node": "~18.16.3",
|
|
32
32
|
"@types/proper-lockfile": "^4.1.2",
|
|
33
33
|
"@types/redis": "^2.8.32",
|
|
34
34
|
"@types/redlock": "^4.0.4",
|
|
@@ -362,6 +362,36 @@
|
|
|
362
362
|
"default": "./_cjs/instrument.cjs"
|
|
363
363
|
}
|
|
364
364
|
},
|
|
365
|
+
"./logger/jsonLogger": {
|
|
366
|
+
"import": {
|
|
367
|
+
"types": "./dist/logger/jsonLogger.d.ts",
|
|
368
|
+
"default": "./dist/logger/jsonLogger.js"
|
|
369
|
+
},
|
|
370
|
+
"require": {
|
|
371
|
+
"types": "./dist/logger/jsonLogger.d.ts",
|
|
372
|
+
"default": "./_cjs/logger/jsonLogger.cjs"
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
"./logger/logFmtLogger": {
|
|
376
|
+
"import": {
|
|
377
|
+
"types": "./dist/logger/logFmtLogger.d.ts",
|
|
378
|
+
"default": "./dist/logger/logFmtLogger.js"
|
|
379
|
+
},
|
|
380
|
+
"require": {
|
|
381
|
+
"types": "./dist/logger/logFmtLogger.d.ts",
|
|
382
|
+
"default": "./_cjs/logger/logFmtLogger.cjs"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
"./logger/shared": {
|
|
386
|
+
"import": {
|
|
387
|
+
"types": "./dist/logger/shared.d.ts",
|
|
388
|
+
"default": "./dist/logger/shared.js"
|
|
389
|
+
},
|
|
390
|
+
"require": {
|
|
391
|
+
"types": "./dist/logger/shared.d.ts",
|
|
392
|
+
"default": "./_cjs/logger/shared.cjs"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
365
395
|
"./rateLimit": {
|
|
366
396
|
"import": {
|
|
367
397
|
"types": "./dist/rateLimit.d.ts",
|