@effect-app/infra 0.83.11 → 0.84.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.content +2 -36
- package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +1 -1
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +6 -24
- package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +1 -1
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +40 -75
- package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +1 -1
- package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +1 -1
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.content +1 -3
- package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.content +1 -1
- package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +1 -1
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.content +7 -15
- package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +1 -1
- package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +1 -1
- package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +1 -1
- package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +1 -1
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.content +1 -5
- package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +1 -1
- package/CHANGELOG.md +23 -0
- package/_cjs/_ext/Array.cjs +3 -2
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/defaultErrorHandler.cjs +11 -10
- package/_cjs/api/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +3 -2
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs +2 -2
- package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
- package/_cjs/api/express/makeOpenApiSpecs.cjs +4 -3
- package/_cjs/api/express/makeOpenApiSpecs.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +24 -22
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/api/express/schema/routing.cjs +22 -20
- package/_cjs/api/express/schema/routing.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +1 -1
- package/_cjs/api/routing.cjs +55 -53
- package/_cjs/api/routing.cjs.map +1 -1
- package/_cjs/api/setupRequest.cjs +3 -2
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/api/writeDocs.cjs +5 -4
- package/_cjs/api/writeDocs.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +11 -10
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +8 -8
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/instrument.cjs +2 -1
- package/_cjs/instrument.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +4 -4
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +5 -5
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +4 -4
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +8 -7
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +13 -11
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +5 -4
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +31 -29
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +7 -6
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +18 -17
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +16 -15
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +17 -16
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +35 -33
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +11 -10
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +49 -46
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +19 -18
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +27 -25
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +16 -14
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +1 -1
- package/_cjs/services/Store/index.cjs +6 -5
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +1 -1
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +13 -13
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +19 -17
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/diskdb.cjs +9 -8
- package/_cjs/services/simpledb/diskdb.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +11 -9
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +20 -18
- package/_cjs/services/simpledb/mongodb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +11 -10
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs +5 -5
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +18 -17
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/api/authorization.jwt.ts +1 -1
- package/_src/api/defaultErrorHandler.ts +2 -2
- package/_src/api/express/routing.ts.bak +8 -8
- package/_src/api/express/schema/requestHandler.ts +12 -12
- package/_src/api/express/schema/routing.ts +11 -11
- package/_src/api/routing.ts +14 -13
- package/_src/errorReporter.ts +1 -1
- package/_src/services/Emailer/Sendgrid.ts +1 -1
- package/_src/services/Operations/live.ts +5 -5
- package/_src/services/QueueMaker/errors.ts +1 -1
- package/_src/services/QueueMaker/memQueue.ts +2 -2
- package/_src/services/QueueMaker/sbqueue.ts +1 -1
- package/_src/services/Repository.ts +9 -9
- package/_src/services/RepositoryBase.ts +8 -6
- package/_src/services/RequestContextContainer.ts +1 -1
- package/_src/services/Store/Cosmos.ts +17 -12
- package/_src/services/Store/Disk.ts +4 -4
- package/_src/services/Store/Memory.ts +4 -4
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/index.test.ts.bak +5 -5
- package/_src/services/Store/index.ts +1 -1
- package/_src/services/Store/utils.ts +16 -16
- package/_src/services/simpledb/diskdb.ts +1 -1
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/_src/services/simpledb/simpledb.ts +3 -3
- package/dist/RequestContext.d.ts +20 -20
- package/dist/_ext/Array.js +4 -3
- package/dist/api/defaultErrorHandler.js +12 -11
- package/dist/api/express/makeJsonSchema.js +4 -3
- package/dist/api/express/makeOpenApiSpecs.js +5 -4
- package/dist/api/express/schema/requestHandler.d.ts +1 -1
- package/dist/api/express/schema/requestHandler.js +35 -33
- package/dist/api/express/schema/routing.d.ts +1 -1
- package/dist/api/express/schema/routing.js +23 -21
- package/dist/api/reportError.d.ts +3 -3
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +1 -1
- package/dist/api/routing.d.ts +2 -2
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +59 -57
- package/dist/api/setupRequest.d.ts +1 -1
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +4 -3
- package/dist/api/writeDocs.js +6 -5
- package/dist/errorReporter.js +12 -11
- package/dist/errors.d.ts +7 -7
- package/dist/errors.js +9 -9
- package/dist/filter.d.ts.map +1 -1
- package/dist/instrument.js +3 -2
- package/dist/logger/jsonLogger.d.ts +2 -2
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +5 -5
- package/dist/logger/logFmtLogger.d.ts +2 -2
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +6 -6
- package/dist/logger/shared.js +5 -5
- package/dist/rateLimit.d.ts +2 -2
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +9 -8
- package/dist/services/Emailer/Sendgrid.d.ts +1 -1
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +16 -14
- package/dist/services/Emailer/fake.d.ts +1 -1
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +6 -5
- package/dist/services/Emailer/service.d.ts +2 -2
- package/dist/services/Operations/live.d.ts +1 -1
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +39 -37
- package/dist/services/Operations/service.d.ts +7 -7
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +1 -1
- package/dist/services/QueueMaker/errors.d.ts +4 -4
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +7 -6
- package/dist/services/QueueMaker/memQueue.d.ts +1 -1
- package/dist/services/QueueMaker/memQueue.js +17 -16
- package/dist/services/QueueMaker/sbqueue.d.ts +2 -2
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +16 -15
- package/dist/services/Repository.d.ts +8 -8
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +18 -17
- package/dist/services/RepositoryBase.d.ts +24 -75
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +37 -35
- package/dist/services/RequestContextContainer.d.ts +4 -4
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +14 -13
- package/dist/services/Store/Cosmos.d.ts +2 -2
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +54 -51
- package/dist/services/Store/Disk.d.ts +2 -2
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +20 -19
- package/dist/services/Store/Memory.d.ts +3 -3
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +28 -26
- package/dist/services/Store/Redis.d.ts +2 -2
- package/dist/services/Store/Redis.d.ts.map +1 -1
- package/dist/services/Store/Redis.js +17 -15
- package/dist/services/Store/index.d.ts +1 -1
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +7 -6
- package/dist/services/Store/service.d.ts +5 -5
- package/dist/services/Store/service.js +2 -2
- package/dist/services/Store/utils.d.ts +3 -3
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +21 -21
- package/dist/services/simpledb/cosmosdb.d.ts +2 -2
- package/dist/services/simpledb/cosmosdb.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.js +19 -17
- package/dist/services/simpledb/diskdb.d.ts +2 -2
- package/dist/services/simpledb/diskdb.d.ts.map +1 -1
- package/dist/services/simpledb/diskdb.js +10 -9
- package/dist/services/simpledb/memdb.d.ts +3 -3
- package/dist/services/simpledb/memdb.d.ts.map +1 -1
- package/dist/services/simpledb/memdb.js +13 -11
- package/dist/services/simpledb/mongodb.d.ts +2 -2
- package/dist/services/simpledb/mongodb.d.ts.map +1 -1
- package/dist/services/simpledb/mongodb.js +16 -14
- package/dist/services/simpledb/redisdb.d.ts +8 -8
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.js +12 -11
- package/dist/services/simpledb/shared.d.ts +13 -13
- package/dist/services/simpledb/shared.js +6 -6
- package/dist/services/simpledb/simpledb.d.ts +4 -4
- package/dist/services/simpledb/simpledb.d.ts.map +1 -1
- package/dist/services/simpledb/simpledb.js +16 -15
- package/package.json +5 -5
package/dist/instrument.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect-app/prelude/utils";
|
|
2
2
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect.impl";
|
|
3
4
|
/**
|
|
4
5
|
* @tsplus fluent effect/io/Effect instrument
|
|
5
6
|
*/
|
|
6
7
|
export function instr(self, name, properties) {
|
|
7
|
-
return
|
|
8
|
+
return tsplus_module_3.withLogSpan(tsplus_module_3.withSpan(tsplus_module_3.tap(self, () => tsplus_module_3.annotateLogs(tsplus_module_2.Effect.logDebug(`instrumented`), "properties", tsplus_module_1.RecordPretty(tsplus_module_1.object$((properties || {}))))), name), name);
|
|
8
9
|
// trackMetric(name, time, properties))
|
|
9
10
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvaW5zdHJ1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQVUsSUFBcUIsRUFBRSxJQUFZLEVBQUUsVUFBbUM7SUFDckcsT0FBTyw0QkFBQSx5QkFBQSxvQkFBQSxJQUFJLEVBQ0osR0FBRyxFQUFFLENBQUMsNkJBQUEsZ0JBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBYyxZQUFZLHVEQUFFLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxHQUFXLENBQUMsRUFDMUYsSUFBSSxDQUFDLEVBQ0YsSUFBSSxDQUFDLENBQUE7SUFFcEIsdUNBQXVDO0FBQ3pDLENBQUMifQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const jsonLogger: import("effect/Logger")
|
|
2
|
-
export declare const logJson: import("effect/Layer")
|
|
1
|
+
export declare const jsonLogger: import("effect/Logger")<unknown, void>;
|
|
2
|
+
export declare const logJson: import("effect/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":"AAEA,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"jsonLogger.d.ts","sourceRoot":"","sources":["../../_src/logger/jsonLogger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,wCAyBtB,CAAA;AAED,eAAO,MAAM,OAAO,6CAAmD,CAAA"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/FiberId";
|
|
2
|
-
import * as tsplus_module_2 from "@effect-app/core/
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/OptionX";
|
|
3
3
|
import * as tsplus_module_3 from "effect/Cause";
|
|
4
4
|
import * as tsplus_module_4 from "effect/List";
|
|
5
5
|
import * as tsplus_module_5 from "effect/HashMap";
|
|
6
6
|
import * as tsplus_module_6 from "effect/Logger";
|
|
7
7
|
import { getRequestContext } from "./shared.js";
|
|
8
|
-
export const jsonLogger = tsplus_module_6.make(({ annotations, cause, context, fiberId, logLevel, message, spans }) => {
|
|
8
|
+
export const jsonLogger = tsplus_module_6.Logger.make(({ annotations, cause, context, fiberId, logLevel, message, spans }) => {
|
|
9
9
|
const now = new Date();
|
|
10
10
|
const nowMillis = now.getTime();
|
|
11
11
|
const c = getRequestContext(context);
|
|
@@ -15,7 +15,7 @@ export const jsonLogger = tsplus_module_6.make(({ annotations, cause, context, f
|
|
|
15
15
|
fiber: tsplus_module_1.threadName(fiberId),
|
|
16
16
|
message,
|
|
17
17
|
request: tsplus_module_2.getOrUndefined(c),
|
|
18
|
-
cause: cause != null && cause != tsplus_module_3.empty ? tsplus_module_3.pretty(cause) : undefined,
|
|
18
|
+
cause: cause != null && cause != tsplus_module_3.Cause.empty ? tsplus_module_3.pretty(cause) : undefined,
|
|
19
19
|
spans: tsplus_module_4.toReadonlyArray(tsplus_module_4.map(spans, (_) => ({ label: _.label, timing: nowMillis - _.startTime }))),
|
|
20
20
|
annotations: tsplus_module_5.size(annotations) > 0
|
|
21
21
|
? [...annotations].reduce((prev, [k, v]) => {
|
|
@@ -26,5 +26,5 @@ export const jsonLogger = tsplus_module_6.make(({ annotations, cause, context, f
|
|
|
26
26
|
};
|
|
27
27
|
globalThis.console.log(JSON.stringify(data));
|
|
28
28
|
});
|
|
29
|
-
export const logJson = tsplus_module_6.replace(tsplus_module_6.defaultLogger, jsonLogger);
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
export const logJson = tsplus_module_6.Logger.replace(tsplus_module_6.Logger.defaultLogger, jsonLogger);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbkxvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvbG9nZ2VyL2pzb25Mb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxnQkFBQSxNQUFNLENBQUMsSUFBSSxDQUNuQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtJQUNyRSxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFBO0lBQ3RCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUUvQixNQUFNLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUVwQyxNQUFNLElBQUksR0FBRztRQUNYLFNBQVMsRUFBRSxHQUFHO1FBQ2QsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLEtBQUssNkJBQUUsT0FBTyxDQUFXO1FBQ3pCLE9BQU87UUFDUCxPQUFPLGlDQUFFLENBQUMsQ0FBTTtRQUNoQixLQUFLLEVBQUUsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksZ0JBQUEsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLHdCQUFDLEtBQUssRUFBUSxDQUFDLENBQUMsU0FBUztRQUN2RSxLQUFLLGtDQUFFLG9CQUFBLEtBQUssRUFBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBZ0I7UUFDOUYsV0FBVyxFQUFFLHFCQUFBLFdBQVcsSUFBUSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ1gsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDLEVBQUUsRUFBNkIsQ0FBQztZQUNqQyxDQUFDLENBQUMsU0FBUztLQUNkLENBQUE7SUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDOUMsQ0FBQyxDQUNGLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsZ0JBQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBQSxNQUFNLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFBIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const logfmtLogger: import("effect/Logger")
|
|
2
|
-
export declare const logFmt: import("effect/Layer")
|
|
1
|
+
export declare const logfmtLogger: import("effect/Logger")<unknown, void>;
|
|
2
|
+
export declare const logFmt: import("effect/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,wCAqBxB,CAAA;AAED,eAAO,MAAM,MAAM,6CAAqD,CAAA"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "@effect-app/core/
|
|
1
|
+
import * as tsplus_module_1 from "@effect-app/core/OptionX";
|
|
2
2
|
import * as tsplus_module_2 from "@effect-app/prelude/utils";
|
|
3
3
|
import * as tsplus_module_3 from "effect/HashMap";
|
|
4
4
|
import * as tsplus_module_4 from "effect/Logger";
|
|
5
5
|
import { getRequestContext } from "./shared.js";
|
|
6
|
-
export const logfmtLogger = tsplus_module_4.make((_) => {
|
|
6
|
+
export const logfmtLogger = tsplus_module_4.Logger.make((_) => {
|
|
7
7
|
let { annotations } = _;
|
|
8
8
|
const c = getRequestContext(_.context);
|
|
9
9
|
const requestContext = tsplus_module_1.getOrUndefined(c);
|
|
10
10
|
if (requestContext) {
|
|
11
|
-
annotations = tsplus_module_3.make(...[
|
|
11
|
+
annotations = tsplus_module_3.HashMap.make(...[
|
|
12
12
|
...annotations,
|
|
13
13
|
...tsplus_module_2.RecordEntries(tsplus_module_2.object$({
|
|
14
14
|
requestRootId: requestContext.rootId,
|
|
@@ -18,8 +18,8 @@ export const logfmtLogger = tsplus_module_4.make((_) => {
|
|
|
18
18
|
}))
|
|
19
19
|
]);
|
|
20
20
|
}
|
|
21
|
-
const formatted = tsplus_module_4.logfmtLogger.log(_);
|
|
21
|
+
const formatted = tsplus_module_4.Logger.logfmtLogger.log(_);
|
|
22
22
|
globalThis.console.log(formatted);
|
|
23
23
|
});
|
|
24
|
-
export const logFmt = tsplus_module_4.replace(tsplus_module_4.defaultLogger, logfmtLogger);
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
export const logFmt = tsplus_module_4.Logger.replace(tsplus_module_4.Logger.defaultLogger, logfmtLogger);
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nRm10TG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9sb2dnZXIvbG9nRm10TG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDSixJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLE1BQU0sQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN0QyxNQUFNLGNBQWMsa0NBQUcsQ0FBQyxDQUFNLENBQUE7SUFDOUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQixXQUFXLEdBQUcsZ0JBQUEsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQzVCLEdBQUcsV0FBVztZQUNkLHlEQUFHO2dCQUNELGFBQWEsRUFBRSxjQUFjLENBQUMsTUFBTTtnQkFDcEMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUM1QixXQUFXLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ2hDLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDN0YsRUFFUztTQUNYLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFDRCxNQUFNLFNBQVMsR0FBRyxnQkFBQSxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM1QyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQ0YsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxnQkFBQSxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFBLE1BQU0sQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUEifQ==
|
package/dist/logger/shared.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/FiberRef";
|
|
2
|
-
import * as tsplus_module_2 from "effect/Context";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Effect";
|
|
4
|
-
import * as tsplus_module_4 from "effect/Option";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Context.int";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect.impl";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Option.impl";
|
|
5
5
|
import * as FiberRefs from "effect/FiberRefs";
|
|
6
6
|
import { RequestContextContainer } from "../services/RequestContextContainer.js";
|
|
7
7
|
export function getRequestContext(context) {
|
|
8
|
-
const ctx = FiberRefs.getOrDefault(context, tsplus_module_1.currentContext);
|
|
8
|
+
const ctx = FiberRefs.getOrDefault(context, tsplus_module_1.FiberRef.currentContext);
|
|
9
9
|
// TODO: use `RequestContext.Tag` once switched?
|
|
10
10
|
const a = tsplus_module_2.getOption(ctx, RequestContextContainer);
|
|
11
11
|
const c = tsplus_module_4.map(a, (_) => tsplus_module_3.runSync(_.requestContext));
|
|
12
12
|
return c;
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9sb2dnZXIvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEtBQUssU0FBUyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFBO0FBRWhGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxPQUE0QjtJQUM1RCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxnQkFBQSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDcEUsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLDBCQUFBLEdBQUcsRUFBVyx1QkFBdUIsQ0FBQyxDQUFBO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLG9CQUFBLENBQUMsRUFBSyxDQUFDLENBQUMsRUFBRSxFQUFFLHlCQUFDLENBQUMsQ0FBQyxjQUFjLENBQVEsQ0FBQyxDQUFBO0lBQ2hELE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQyJ9
|
package/dist/rateLimit.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { NonEmptyArray } from "effect/ReadonlyArray";
|
|
|
10
10
|
* @tsplus pipeable effect/io/Effect/Semaphore withPermitsDuration
|
|
11
11
|
* @tsplus location "@effect-app/infra/rateLimit"
|
|
12
12
|
*/
|
|
13
|
-
export declare function SEM_withPermitsDuration(permits: number, duration: Duration): (self: Semaphore) => <R, E, A>(effect:
|
|
13
|
+
export declare function SEM_withPermitsDuration(permits: number, duration: Duration): (self: Semaphore) => <R, E, A>(effect: Effect<R, E, A>) => Effect<R, E, A>;
|
|
14
14
|
/**
|
|
15
15
|
* @tsplus pipeable Iterable batchPar
|
|
16
16
|
* @tsplus static Collection.Ops batchPar
|
|
@@ -28,5 +28,5 @@ export declare function batch<R, E, A, R2, E2, A2, T>(n: number, forEachItem: (i
|
|
|
28
28
|
* @tsplus static Collection.Ops naiveRateLimit
|
|
29
29
|
* @tsplus location "@effect-app/infra/rateLimit"
|
|
30
30
|
*/
|
|
31
|
-
export declare function naiveRateLimit(n: number, d: DUR): <T>(items: Iterable<T>) => <R, E, A, R2, E2, A2>(forEachItem: (i: T) =>
|
|
31
|
+
export declare function naiveRateLimit(n: number, d: DUR): <T>(items: Iterable<T>) => <R, E, A, R2, E2, A2>(forEachItem: (i: T) => Effect<R, E, A>, forEachBatch: (a: A[]) => Effect<R2, E2, A2>) => import("effect/Effect").Effect<R | R2, E | E2, A2[]>;
|
|
32
32
|
//# sourceMappingURL=rateLimit.d.ts.map
|
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,
|
|
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,uBAAqB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAahF;;;;;;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,0DAU3B;;;;;;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,0DAQ3B;;;;;;AA2BD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,GAAG,cAEY,SAAS,CAAC,CAAC,4CACV,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oBACpB,CAAC,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,0DAY/C"}
|
package/dist/rateLimit.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/core/
|
|
1
|
+
import * as tsplus_module_1 from "effect/Effect.impl";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/core/_ext/Iterable";
|
|
4
|
+
import * as tsplus_module_4 from "@effect-app/core/Array";
|
|
4
5
|
// /**
|
|
5
6
|
// * Executes the specified effect, acquiring the specified number of permits
|
|
6
7
|
// * immediately before the effect begins execution and releasing them
|
|
@@ -36,7 +37,7 @@ import * as tsplus_module_3 from "@effect-app/core/Array";
|
|
|
36
37
|
*/
|
|
37
38
|
export function SEM_withPermitsDuration(permits, duration) {
|
|
38
39
|
return (self) => {
|
|
39
|
-
return (effect) =>
|
|
40
|
+
return (effect) => tsplus_module_2.Effect.uninterruptibleMask((restore) => tsplus_module_1.zipRight(tsplus_module_1.ensuring(restore(effect), tsplus_module_1.delay(self
|
|
40
41
|
.release(permits), duration)))(restore(self.take(permits))));
|
|
41
42
|
};
|
|
42
43
|
}
|
|
@@ -45,14 +46,14 @@ export function SEM_withPermitsDuration(permits, duration) {
|
|
|
45
46
|
* @tsplus static Collection.Ops batchPar
|
|
46
47
|
*/
|
|
47
48
|
export function batchPar(n, forEachItem, forEachBatch) {
|
|
48
|
-
return (items) =>
|
|
49
|
+
return (items) => tsplus_module_3.ext_forEach(tsplus_module_4.chunk_(items, n), (_, i) => tsplus_module_1.flatMap(tsplus_module_3.ext_forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" }), (_) => forEachBatch(_, i)), { concurrency: "inherit" });
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* @tsplus pipeable Iterable batch
|
|
52
53
|
* @tsplus static Collection.Ops batch
|
|
53
54
|
*/
|
|
54
55
|
export function batch(n, forEachItem, forEachBatch) {
|
|
55
|
-
return (items) =>
|
|
56
|
+
return (items) => tsplus_module_3.ext_forEach(tsplus_module_4.chunk_(items, n), (_, i) => tsplus_module_1.flatMap(tsplus_module_3.ext_forEach(_, (_, j) => forEachItem(_, j, i), { concurrency: "inherit" }), (_) => forEachBatch(_, i)));
|
|
56
57
|
}
|
|
57
58
|
// /**
|
|
58
59
|
// * @tsplus pipeable Iterable rateLimit
|
|
@@ -78,6 +79,6 @@ export function batch(n, forEachItem, forEachBatch) {
|
|
|
78
79
|
* @tsplus static Collection.Ops naiveRateLimit
|
|
79
80
|
*/
|
|
80
81
|
export function naiveRateLimit(n, d) {
|
|
81
|
-
return (items) => ((forEachItem, forEachBatch) =>
|
|
82
|
+
return (items) => ((forEachItem, forEachBatch) => tsplus_module_3.ext_forEach(tsplus_module_4.chunk_(items, n), (batch, i) => tsplus_module_1.zipRight(((i === 0) ? tsplus_module_2.Effect.unit : tsplus_module_2.Effect.sleep(d)), tsplus_module_1.flatMap(tsplus_module_3.ext_forEach(batch, forEachItem, { concurrency: n }), forEachBatch))));
|
|
82
83
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZUxpbWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9yYXRlTGltaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU07QUFDTiw4RUFBOEU7QUFDOUUsdUVBQXVFO0FBQ3ZFLG1GQUFtRjtBQUNuRiwrQkFBK0I7QUFDL0IsS0FBSztBQUNMLGtFQUFrRTtBQUNsRSxnRUFBZ0U7QUFDaEUsTUFBTTtBQUNOLDZFQUE2RTtBQUM3RSwwRkFBMEY7QUFDMUYsdUJBQXVCO0FBQ3ZCLG9DQUFvQztBQUNwQyxxQkFBcUI7QUFDckIsbURBQW1EO0FBQ25ELGdDQUFnQztBQUNoQywyQkFBMkI7QUFDM0IseUNBQXlDO0FBQ3pDLDRCQUE0QjtBQUM1QixxQ0FBcUM7QUFDckMsa0JBQWtCO0FBQ2xCLFVBQVU7QUFDVixNQUFNO0FBQ04sSUFBSTtBQUVKOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxRQUFrQjtJQUN6RSxPQUFPLENBQUMsSUFBZSxFQUF5RCxFQUFFO1FBQ2hGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNoQixnQkFBQSxNQUFNLENBQUMsbUJBQW1CLENBQ3hCLENBQUMsT0FBTyxFQUFFLEVBQUUsMEJBRU4seUJBQUEsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUViLHNCQUFBLElBQUk7YUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQ1YsUUFBUSxDQUFDLENBQ25CLEVBTkwsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FNdEIsQ0FDUixDQUFBO0lBQ0wsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLENBQVMsRUFDVCxXQUErRSxFQUMvRSxZQUFvRTtJQUVwRSxPQUFPLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQzVCLDRCQUFBLHVCQUFBLEtBQUssRUFDSSxDQUFDLENBQUMsRUFFUCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNQLHdCQUFBLDRCQUFBLENBQUMsRUFDZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUNqRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDM0QsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQzNCLENBQUE7QUFDUCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FDbkIsQ0FBUyxFQUNULFdBQStFLEVBQy9FLFlBQW9FO0lBRXBFLE9BQU8sQ0FBQyxLQUFrQixFQUFFLEVBQUUsQ0FDNUIsNEJBQUEsdUJBQUEsS0FBSyxFQUNJLENBQUMsQ0FBQyxFQUNNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ3RCLHdCQUFBLDRCQUFBLENBQUMsRUFDZ0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUNqRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQTtBQUNQLENBQUM7QUFFRCxNQUFNO0FBQ04seUNBQXlDO0FBQ3pDLDZDQUE2QztBQUM3QyxNQUFNO0FBQ04sNkJBQTZCO0FBQzdCLGVBQWU7QUFDZixXQUFXO0FBQ1gsTUFBTTtBQUNOLHNDQUFzQztBQUN0Qyw2QkFBNkI7QUFDN0IsZ0RBQWdEO0FBQ2hELDBEQUEwRDtBQUMxRCxXQUFXO0FBQ1gscUNBQXFDO0FBQ3JDLHNCQUFzQjtBQUN0Qix3Q0FBd0M7QUFDeEMsbUZBQW1GO0FBQ25GLHNCQUFzQjtBQUN0QixJQUFJO0FBRUo7OztHQUdHO0FBRUgsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsQ0FBUyxFQUNULENBQU07SUFFTixPQUFPLENBQUksS0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNqQyxXQUFzQyxFQUN0QyxZQUE0QyxFQUM1QyxFQUFFLENBQ0YsNEJBQUEsdUJBQUEsS0FBSyxFQUNJLENBQUMsQ0FBQyxFQUNNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQzFCLHlCQUFBLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFFdkMsd0JBQUEsNEJBQUEsS0FBSyxFQUNZLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUN0QyxZQUFZLENBQUMsQ0FDekIsQ0FDSixDQUFDLENBQUE7QUFDUixDQUFDIn0=
|
|
@@ -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/Layer")
|
|
9
|
+
export declare function LiveSendgrid(config: Config<SendgridConfig>): import("effect/Layer")<never, import("effect/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,wEAK1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,OAAO,SAUpC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,SAAS,WAO1C"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/ConfigSecret";
|
|
2
2
|
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "effect/
|
|
4
|
-
import * as tsplus_module_4 from "effect/
|
|
5
|
-
import * as tsplus_module_5 from "
|
|
6
|
-
import * as tsplus_module_6 from "
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect.impl";
|
|
4
|
+
import * as tsplus_module_4 from "effect/Layer.int";
|
|
5
|
+
import * as tsplus_module_5 from "effect/Equivalence";
|
|
6
|
+
import * as tsplus_module_6 from "effect/Equivalence.int";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-app/core/_ext/ord.ext";
|
|
8
|
+
import * as tsplus_module_8 from "@effect-app/core/Array";
|
|
7
9
|
import sgMail from "@sendgrid/mail";
|
|
8
10
|
import { inspect } from "util";
|
|
9
11
|
import { Emailer } from "./service.js";
|
|
10
|
-
const makeLiveSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPrefix }) => tsplus_module_2.sync(() => {
|
|
12
|
+
const makeLiveSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPrefix }) => tsplus_module_2.Effect.sync(() => {
|
|
11
13
|
sgMail.setApiKey(tsplus_module_1.value(apiKey));
|
|
12
14
|
return {
|
|
13
15
|
sendMail(msg_) {
|
|
14
|
-
return tsplus_module_2.gen(function* ($) {
|
|
16
|
+
return tsplus_module_2.Effect.gen(function* ($) {
|
|
15
17
|
const msg = {
|
|
16
18
|
...msg_,
|
|
17
19
|
from: msg_.from ?? defaultFrom,
|
|
@@ -20,10 +22,10 @@ const makeLiveSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subje
|
|
|
20
22
|
const render = renderMessage(!realMail);
|
|
21
23
|
const renderedMsg_ = render(msg);
|
|
22
24
|
const renderedMsg = { ...renderedMsg_, subject: `${subjectPrefix}${renderedMsg_.subject}` };
|
|
23
|
-
yield* $(
|
|
24
|
-
const ret = yield* $(tsplus_module_2.async((cb) => void sgMail.send(renderedMsg, false, (err, result) => err
|
|
25
|
-
? cb(tsplus_module_2.fail(err))
|
|
26
|
-
: cb(tsplus_module_2.sync(() => result)))));
|
|
25
|
+
yield* $(tsplus_module_3.annotateLogs(tsplus_module_2.Effect.logDebug("Sending email"), "msg", inspect(renderedMsg, false, 5)));
|
|
26
|
+
const ret = yield* $(tsplus_module_2.Effect.async((cb) => void sgMail.send(renderedMsg, false, (err, result) => err
|
|
27
|
+
? cb(tsplus_module_2.Effect.fail(err))
|
|
28
|
+
: cb(tsplus_module_2.Effect.sync(() => result)))));
|
|
27
29
|
// const event = {
|
|
28
30
|
// name: "EmailSent",
|
|
29
31
|
// properties: {
|
|
@@ -42,7 +44,7 @@ const makeLiveSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subje
|
|
|
42
44
|
* @tsplus static Emailer.Ops LiveSendgrid
|
|
43
45
|
*/
|
|
44
46
|
export function LiveSendgrid(config) {
|
|
45
|
-
return
|
|
47
|
+
return tsplus_module_4.effect(Emailer)(tsplus_module_3.flatMap(tsplus_module_3.config(config), makeLiveSendgrid));
|
|
46
48
|
}
|
|
47
49
|
/**
|
|
48
50
|
* @hidden
|
|
@@ -79,12 +81,12 @@ function renderFake(addr, makeId) {
|
|
|
79
81
|
email: `test+${makeId()}@nomizz.com`
|
|
80
82
|
};
|
|
81
83
|
}
|
|
82
|
-
const eq =
|
|
84
|
+
const eq = tsplus_module_6.mapInput(tsplus_module_5.Equivalence.string, (to) => typeof to === "string" ? to.toLowerCase() : to.email.toLowerCase());
|
|
83
85
|
// TODO: should just not add any already added email address
|
|
84
86
|
// https://stackoverflow.com/a/53603076/11595834
|
|
85
87
|
function renderFakeIfTest(addr, makeId) {
|
|
86
88
|
return Array.isArray(addr)
|
|
87
|
-
?
|
|
89
|
+
? tsplus_module_8.iterableToArray(tsplus_module_7.uniqArray(eq)(addr
|
|
88
90
|
.map((x) => (isTestAddress(x) ? renderFake(x, makeId) : x)))) : isTestAddress(addr)
|
|
89
91
|
? renderFake(addr, makeId)
|
|
90
92
|
: addr;
|
|
@@ -98,4 +100,4 @@ function renderMailData(md) {
|
|
|
98
100
|
}
|
|
99
101
|
return md.email;
|
|
100
102
|
}
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZGdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL3NlcnZpY2VzL0VtYWlsZXIvU2VuZGdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHdEMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBa0IsRUFBRSxFQUFFLENBQzVHLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ2YsTUFBTSxDQUFDLFNBQVMsdUJBQUMsTUFBTSxFQUFPLENBQUE7SUFFOUIsT0FBTztRQUNMLFFBQVEsQ0FBQyxJQUEwQjtZQUNqQyxPQUFPLGdCQUFBLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQztnQkFDM0IsTUFBTSxHQUFHLEdBQWE7b0JBQ3BCLEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxXQUFXO29CQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO2lCQUNsRSxDQUFBO2dCQUNELE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUV2QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2hDLE1BQU0sV0FBVyxHQUFHLEVBQUUsR0FBRyxZQUFZLEVBQUUsT0FBTyxFQUFFLEdBQUcsYUFBYSxHQUFHLFlBQVksQ0FBQyxPQUFPLEVBQUUsRUFB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
|
|
@@ -3,5 +3,5 @@ import { Emailer } from "./service.js";
|
|
|
3
3
|
* @tsplus static Emailer.Ops Fake
|
|
4
4
|
* @tsplus location "@effect-app/infra/services/Emailer/fake"
|
|
5
5
|
*/
|
|
6
|
-
export declare const FakeSendgrid: import("effect/Layer")
|
|
6
|
+
export declare const FakeSendgrid: import("effect/Layer")<never, never, Emailer>;
|
|
7
7
|
//# sourceMappingURL=fake.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../../_src/services/Emailer/fake.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;;;;AAatC,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../../_src/services/Emailer/fake.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;;;;;AAatC,eAAO,MAAM,YAAY,+CAA4B,CAAA"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Effect";
|
|
2
|
-
import * as tsplus_module_2 from "effect/
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect.impl";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Layer.int";
|
|
3
4
|
import { pretty } from "@effect-app/prelude/utils";
|
|
4
5
|
import { Emailer } from "./service.js";
|
|
5
|
-
const makeFake =
|
|
6
|
+
const makeFake = tsplus_module_2.map(tsplus_module_1.Effect.logDebug("FAKE Emailer Service enabled"), () => ({
|
|
6
7
|
sendMail(msg) {
|
|
7
|
-
return
|
|
8
|
+
return tsplus_module_2.annotateLogs(tsplus_module_1.Effect.logDebug(`Fake send mail`), "msg", pretty(msg));
|
|
8
9
|
}
|
|
9
10
|
}));
|
|
10
11
|
/**
|
|
11
12
|
* @tsplus static Emailer.Ops Fake
|
|
12
13
|
*/
|
|
13
|
-
export const FakeSendgrid =
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
export const FakeSendgrid = tsplus_module_3.effect(Emailer)(makeFake);
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvRW1haWxlci9mYWtlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXRDLE1BQU0sUUFBUSxHQUFHLG9CQUFBLGdCQUFBLE1BQU0sQ0FDcEIsUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQ3BDLEdBQVksRUFBRSxDQUFDLENBQUM7SUFDbkIsUUFBUSxDQUFDLEdBQUc7UUFDVixPQUFPLDZCQUFBLGdCQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBYyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDM0UsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUw7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsdUJBQWlCLE9BQU8sRUFBeEIsUUFBUSxDQUFpQixDQUFBIn0=
|
|
@@ -10,8 +10,8 @@ import type { RequestContextContainer } from "../RequestContextContainer.js";
|
|
|
10
10
|
declare const Emailer_base: (abstract new () => {}) & {
|
|
11
11
|
flatMap<R1, E1, B>(f: (a: Emailer) => import("effect/Effect").Effect<R1, E1, B>): import("effect/Effect").Effect<Emailer | R1, E1, B>;
|
|
12
12
|
map<B_1>(f: (a: Emailer) => B_1): import("effect/Effect").Effect<Emailer, never, B_1>;
|
|
13
|
-
makeLayer(svc: Emailer): import("effect/Layer")
|
|
14
|
-
} & import("effect/Context").Tag<Emailer, Emailer>;
|
|
13
|
+
makeLayer(svc: Emailer): import("effect/Layer")<never, never, Emailer>;
|
|
14
|
+
} & import("effect/Context.int").Tag<Emailer, Emailer>;
|
|
15
15
|
/**
|
|
16
16
|
* @tsplus type Emailer
|
|
17
17
|
* @tsplus companion Emailer.Ops
|
|
@@ -3,5 +3,5 @@ import { Exit } from "effect/Exit";
|
|
|
3
3
|
* @tsplus static Operations.Ops Live
|
|
4
4
|
* @tsplus location "@effect-app/infra/services/Operations/live"
|
|
5
5
|
*/
|
|
6
|
-
export declare const Live: import("effect/Layer")
|
|
6
|
+
export declare const Live: import("effect/Layer")<never, never, import("./service.js").OperationsId>;
|
|
7
7
|
//# sourceMappingURL=live.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../_src/services/Operations/live.ts"],"names":[],"mappings":";;;;;AAwGA,eAAO,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../_src/services/Operations/live.ts"],"names":[],"mappings":";;;;;AAwGA,eAAO,MAAM,IAAI,2EAEQ,CAAA"}
|
|
@@ -1,68 +1,70 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Effect";
|
|
2
2
|
import * as tsplus_module_2 from "@effect-app/prelude/_ext/date";
|
|
3
3
|
import * as tsplus_module_3 from "effect/Option";
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "effect/
|
|
6
|
-
import * as tsplus_module_6 from "effect/
|
|
7
|
-
import * as tsplus_module_7 from "effect/
|
|
8
|
-
import * as tsplus_module_8 from "
|
|
9
|
-
import * as tsplus_module_9 from "@effect-app/
|
|
10
|
-
import * as tsplus_module_10 from "@effect-app/
|
|
11
|
-
import * as tsplus_module_11 from "effect/
|
|
12
|
-
import * as tsplus_module_12 from "effect/
|
|
13
|
-
import * as tsplus_module_13 from "effect/
|
|
4
|
+
import * as tsplus_module_4 from "effect/Option.impl";
|
|
5
|
+
import * as tsplus_module_5 from "@effect-app/core/Array";
|
|
6
|
+
import * as tsplus_module_6 from "effect/Chunk.int";
|
|
7
|
+
import * as tsplus_module_7 from "effect/Exit.int";
|
|
8
|
+
import * as tsplus_module_8 from "effect/Cause";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/prelude/schema";
|
|
10
|
+
import * as tsplus_module_10 from "@effect-app/core/OptionX";
|
|
11
|
+
import * as tsplus_module_11 from "effect/Effect.impl";
|
|
12
|
+
import * as tsplus_module_12 from "@effect-app/core/EffectX";
|
|
13
|
+
import * as tsplus_module_13 from "effect/Duration";
|
|
14
|
+
import * as tsplus_module_14 from "effect/Schedule";
|
|
15
|
+
import * as tsplus_module_15 from "effect/Layer.int";
|
|
14
16
|
import { RequestException } from "@effect-app/infra/api/reportError";
|
|
15
17
|
import { reportError } from "@effect-app/infra/errorReporter";
|
|
16
18
|
import { Failure, Operation, OperationId, Success } from "@effect-app/prelude/Operations";
|
|
17
19
|
import { Operations } from "./service.js";
|
|
18
20
|
const reportAppError = reportError((cause) => new RequestException(cause));
|
|
19
|
-
const make = tsplus_module_1.sync(() => {
|
|
21
|
+
const make = tsplus_module_1.Effect.sync(() => {
|
|
20
22
|
const ops = new Map();
|
|
21
|
-
const makeOp = tsplus_module_1.sync(() => OperationId.make());
|
|
22
|
-
const cleanup = tsplus_module_1.sync(() => {
|
|
23
|
+
const makeOp = tsplus_module_1.Effect.sync(() => OperationId.make());
|
|
24
|
+
const cleanup = tsplus_module_1.Effect.sync(() => {
|
|
23
25
|
const before = tsplus_module_2.DateSubHours(new Date(), 1);
|
|
24
|
-
|
|
26
|
+
tsplus_module_6.forEach(tsplus_module_5.ext_itToChunk(ops
|
|
25
27
|
.entries()), ([id, op]) => {
|
|
26
|
-
const lastChanged =
|
|
28
|
+
const lastChanged = tsplus_module_4.getOrElse(tsplus_module_3.Option.fromNullable(op.updatedAt), () => op.createdAt);
|
|
27
29
|
if (lastChanged < before) {
|
|
28
30
|
ops.delete(id);
|
|
29
31
|
}
|
|
30
32
|
});
|
|
31
33
|
});
|
|
32
34
|
function addOp(id) {
|
|
33
|
-
return tsplus_module_1.sync(() => {
|
|
35
|
+
return tsplus_module_1.Effect.sync(() => {
|
|
34
36
|
ops.set(id, new Operation({ id }));
|
|
35
37
|
});
|
|
36
38
|
}
|
|
37
39
|
function findOp(id) {
|
|
38
|
-
return tsplus_module_1.sync(() => tsplus_module_3.fromNullable(ops.get(id)));
|
|
40
|
+
return tsplus_module_1.Effect.sync(() => tsplus_module_3.Option.fromNullable(ops.get(id)));
|
|
39
41
|
}
|
|
40
42
|
function finishOp(id, exit) {
|
|
41
|
-
return
|
|
42
|
-
if (
|
|
43
|
+
return tsplus_module_11.flatMap(findOp(id), (_) => tsplus_module_1.Effect.sync(() => {
|
|
44
|
+
if (tsplus_module_4.isNone(_)) {
|
|
43
45
|
throw new Error("Not found");
|
|
44
46
|
}
|
|
45
47
|
ops.set(id, {
|
|
46
48
|
..._.value,
|
|
47
49
|
updatedAt: new Date(),
|
|
48
|
-
result:
|
|
50
|
+
result: tsplus_module_7.isSuccess(exit)
|
|
49
51
|
? new Success()
|
|
50
52
|
: new Failure({
|
|
51
|
-
message:
|
|
52
|
-
?
|
|
53
|
-
:
|
|
54
|
-
?
|
|
55
|
-
:
|
|
56
|
-
.cause), (_) => typeof _ === "object" && _ !== null && "message" in _ &&
|
|
57
|
-
? tsplus_module_3.some(_.message)
|
|
58
|
-
:
|
|
53
|
+
message: tsplus_module_8.isInterrupted(exit.cause)
|
|
54
|
+
? tsplus_module_9.LongString("Interrupted")
|
|
55
|
+
: tsplus_module_8.isDie(exit.cause)
|
|
56
|
+
? tsplus_module_9.LongString("Unknown error")
|
|
57
|
+
: tsplus_module_10.getOrUndefined(tsplus_module_4.flatMap(tsplus_module_8.failureOption(exit
|
|
58
|
+
.cause), (_) => typeof _ === "object" && _ !== null && "message" in _ && tsplus_module_9.LongString.Guard(_.message)
|
|
59
|
+
? tsplus_module_3.Option.some(_.message)
|
|
60
|
+
: tsplus_module_3.Option.none())) ?? null
|
|
59
61
|
})
|
|
60
62
|
});
|
|
61
63
|
}));
|
|
62
64
|
}
|
|
63
65
|
function update(id, progress) {
|
|
64
|
-
return
|
|
65
|
-
if (
|
|
66
|
+
return tsplus_module_11.flatMap(findOp(id), (_) => tsplus_module_1.Effect.sync(() => {
|
|
67
|
+
if (tsplus_module_4.isNone(_)) {
|
|
66
68
|
throw new Error("Not found");
|
|
67
69
|
}
|
|
68
70
|
ops.set(id, { ..._.value, updatedAt: new Date(), progress });
|
|
@@ -70,22 +72,22 @@ const make = tsplus_module_1.sync(() => {
|
|
|
70
72
|
}
|
|
71
73
|
return {
|
|
72
74
|
cleanup,
|
|
73
|
-
register:
|
|
75
|
+
register: tsplus_module_11.tap(makeOp, (id) => tsplus_module_11.zipRight(tsplus_module_11.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))(tsplus_module_12.EffectX.annotateLogscoped("operationId", id))),
|
|
74
76
|
find: findOp,
|
|
75
77
|
update
|
|
76
78
|
};
|
|
77
79
|
});
|
|
78
|
-
const cleanupLoop =
|
|
80
|
+
const cleanupLoop = tsplus_module_11.forkScoped(tsplus_module_11.schedule(tsplus_module_11.flatMap(tsplus_module_11.exit(Operations
|
|
79
81
|
.flatMap((_) => _.cleanup)), (_) => {
|
|
80
|
-
if (
|
|
81
|
-
return tsplus_module_1.unit;
|
|
82
|
+
if (tsplus_module_7.isSuccess(_)) {
|
|
83
|
+
return tsplus_module_1.Effect.unit;
|
|
82
84
|
}
|
|
83
85
|
else {
|
|
84
86
|
return reportAppError(_.cause);
|
|
85
87
|
}
|
|
86
|
-
}),
|
|
88
|
+
}), tsplus_module_14.Schedule.fixed(tsplus_module_13.Duration.minutes(1))));
|
|
87
89
|
/**
|
|
88
90
|
* @tsplus static Operations.Ops Live
|
|
89
91
|
*/
|
|
90
|
-
export const Live =
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
export const Live = tsplus_module_15.provideMerge(tsplus_module_15.scopedDiscard(cleanupLoop))(tsplus_module_15.effect(Operations)(make));
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvT3BlcmF0aW9ucy9saXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDekYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUUxRSxNQUFNLElBQUksR0FBRyxnQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQWUsRUFBRTtJQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQTtJQUM3QyxNQUFNLE1BQU0sR0FBRyxnQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRXBELE1BQU0sT0FBTyxHQUFHLGdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLDZCQUFBLElBQUksSUFBSSxFQUFFLEVBQVUsQ0FBQyxDQUFDLENBQUE7UUFDckMsc0RBQUEsR0FBRzthQUNBLE9BQU8sRUFBRSxHQUVELENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRywwQkFBQSxnQkFBQSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBVyxH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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagClass } from "@effect-app/prelude/service";
|
|
2
2
|
import { Effect } from "effect/Effect";
|
|
3
|
-
import { Option } from "
|
|
3
|
+
import { Option } from "effect/Option";
|
|
4
4
|
import type { Operation, OperationId, OperationProgress } from "@effect-app/prelude/Operations";
|
|
5
5
|
import * as Scope from "effect/Scope";
|
|
6
6
|
export interface OperationsId {
|
|
@@ -9,8 +9,8 @@ export interface OperationsId {
|
|
|
9
9
|
declare const Operations_base: (abstract new () => {}) & {
|
|
10
10
|
flatMap<R1, E1, B>(f: (a: Operations) => import("effect/Effect").Effect<R1, E1, B>): import("effect/Effect").Effect<OperationsId | R1, E1, B>;
|
|
11
11
|
map<B_1>(f: (a: Operations) => B_1): import("effect/Effect").Effect<OperationsId, never, B_1>;
|
|
12
|
-
makeLayer(svc: Operations): import("effect/Layer")
|
|
13
|
-
} & import("effect/Context").Tag<OperationsId, Operations>;
|
|
12
|
+
makeLayer(svc: Operations): import("effect/Layer")<never, never, Operations>;
|
|
13
|
+
} & import("effect/Context.int").Tag<OperationsId, Operations>;
|
|
14
14
|
/**
|
|
15
15
|
* @tsplus type Operations
|
|
16
16
|
* @tsplus companion Operations.Ops
|
|
@@ -25,21 +25,21 @@ export declare abstract class Operations extends Operations_base {
|
|
|
25
25
|
* @tsplus getter effect/io/Effect forkOperation
|
|
26
26
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
27
27
|
*/
|
|
28
|
-
export declare function forkOperation<R, E, A>(self: Effect<R, E, A>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope
|
|
28
|
+
export declare function forkOperation<R, E, A>(self: Effect<R, E, A>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope>, never, import("@effect-app/prelude/schema").StringId>;
|
|
29
29
|
/**
|
|
30
30
|
* @tsplus getter function forkOperation
|
|
31
31
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
32
32
|
*/
|
|
33
|
-
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<R, E, A>): (inp: Inp) => import("effect/Effect").Effect<OperationsId | Exclude<R, Scope
|
|
33
|
+
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<R, E, A>): (inp: Inp) => import("effect/Effect").Effect<OperationsId | Exclude<R, Scope>, never, import("@effect-app/prelude/schema").StringId>;
|
|
34
34
|
/**
|
|
35
35
|
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
36
36
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
37
37
|
*/
|
|
38
|
-
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<R, E, A>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope
|
|
38
|
+
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<R, E, A>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope>, never, import("@effect-app/prelude/schema").StringId>;
|
|
39
39
|
/**
|
|
40
40
|
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
41
41
|
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
42
42
|
*/
|
|
43
|
-
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<R, E, A>, fnc: (id: OperationId) => Effect<R2, E2, A2>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope
|
|
43
|
+
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<R, E, A>, fnc: (id: OperationId) => Effect<R2, E2, A2>): import("effect/Effect").Effect<OperationsId | Exclude<R, Scope> | Exclude<R2, Scope>, never, import("@effect-app/prelude/schema").StringId>;
|
|
44
44
|
export {};
|
|
45
45
|
//# sourceMappingURL=service.d.ts.map
|