@effect-app/infra 0.198.1 → 0.199.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 +26 -0
- package/_cjs/RequestContext.cjs +14 -9
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/_ext/Array.cjs +3 -7
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/reportError.cjs +3 -6
- package/_cjs/api/reportError.cjs.map +1 -1
- package/_cjs/api/routing/base.cjs +27 -61
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/api/routing/defaultErrorHandler.cjs +14 -21
- package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -1
- package/_cjs/api/routing/makeRequestHandler.cjs +44 -51
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
- package/_cjs/api/routing/match.cjs +6 -13
- package/_cjs/api/routing/match.cjs.map +1 -1
- package/_cjs/api/{express → routing}/schema/jwt.cjs +3 -4
- package/_cjs/api/routing/schema/jwt.cjs.map +1 -0
- package/_cjs/api/routing/schema/routing.cjs +136 -0
- package/_cjs/api/routing/schema/routing.cjs.map +1 -0
- package/_cjs/api/setupRequest.cjs +16 -22
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +16 -17
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +2 -4
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/filter/types/path/index.cjs +0 -2
- package/_cjs/filter/types/path/index.cjs.map +1 -1
- package/_cjs/filter.cjs +35 -0
- package/_cjs/filter.cjs.map +1 -1
- package/_cjs/logger/jsonLogger.cjs +9 -15
- package/_cjs/logger/jsonLogger.cjs.map +1 -1
- package/_cjs/logger/logFmtLogger.cjs +7 -11
- package/_cjs/logger/logFmtLogger.cjs.map +1 -1
- package/_cjs/logger/shared.cjs +6 -8
- package/_cjs/logger/shared.cjs.map +1 -1
- package/_cjs/rateLimit.cjs +9 -12
- package/_cjs/rateLimit.cjs.map +1 -1
- package/_cjs/services/Emailer/Sendgrid.cjs +9 -16
- package/_cjs/services/Emailer/Sendgrid.cjs.map +1 -1
- package/_cjs/services/Emailer/fake.cjs +5 -8
- package/_cjs/services/Emailer/fake.cjs.map +1 -1
- package/_cjs/services/Emailer/service.cjs +2 -4
- package/_cjs/services/Emailer/service.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +29 -42
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/Operations/service.cjs +15 -15
- package/_cjs/services/Operations/service.cjs.map +1 -1
- package/_cjs/services/QueueMaker/errors.cjs +8 -12
- package/_cjs/services/QueueMaker/errors.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +27 -33
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +31 -40
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/service.cjs +7 -9
- package/_cjs/services/QueueMaker/service.cjs.map +1 -1
- package/_cjs/services/Repository/dsl.cjs +11 -14
- package/_cjs/services/Repository/dsl.cjs.map +1 -1
- package/_cjs/services/Repository/ext.cjs +62 -71
- package/_cjs/services/Repository/ext.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +171 -169
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +17 -23
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/ContextMapContainer.cjs +10 -16
- package/_cjs/services/Store/ContextMapContainer.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos/query.cjs +5 -9
- package/_cjs/services/Store/Cosmos/query.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +58 -68
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Disk.cjs +34 -36
- package/_cjs/services/Store/Disk.cjs.map +1 -1
- package/_cjs/services/Store/Memory.cjs +55 -65
- package/_cjs/services/Store/Memory.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.cjs +2 -4
- package/_cjs/services/Store/codeFilter.cjs.map +1 -1
- package/_cjs/services/Store/codeFilter.test.cjs +13 -12
- package/_cjs/services/Store/codeFilter.test.cjs.map +1 -1
- package/_cjs/services/Store/filterApi/query.cjs +2 -4
- package/_cjs/services/Store/filterApi/query.cjs.map +1 -1
- package/_cjs/services/Store/index.cjs +6 -9
- package/_cjs/services/Store/index.cjs.map +1 -1
- package/_cjs/services/Store/service.cjs +5 -7
- package/_cjs/services/Store/service.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +16 -20
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/query.cjs +4 -2
- package/_cjs/services/query.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +3 -4
- package/_cjs/test.arbs.cjs.map +1 -1
- package/dist/RequestContext.d.ts +20 -20
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +15 -8
- package/dist/_ext/Array.d.ts +2 -3
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +5 -5
- package/dist/api/reportError.d.ts +5 -5
- package/dist/api/reportError.d.ts.map +1 -1
- package/dist/api/reportError.js +6 -6
- package/dist/api/routing/base.d.ts +11 -15
- package/dist/api/routing/base.d.ts.map +1 -1
- package/dist/api/routing/base.js +48 -67
- package/dist/api/routing/defaultErrorHandler.d.ts +4 -6
- package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -1
- package/dist/api/routing/defaultErrorHandler.js +26 -28
- package/dist/api/routing/makeRequestHandler.d.ts +6 -7
- package/dist/api/routing/makeRequestHandler.d.ts.map +1 -1
- package/dist/api/routing/makeRequestHandler.js +69 -59
- package/dist/api/routing/match.d.ts +7 -8
- package/dist/api/routing/match.d.ts.map +1 -1
- package/dist/api/routing/match.js +7 -11
- package/dist/api/routing/schema/jwt.d.ts +4 -0
- package/dist/api/routing/schema/jwt.d.ts.map +1 -0
- package/dist/api/routing/schema/jwt.js +11 -0
- package/dist/api/{express → routing}/schema/routing.d.ts +2 -2
- package/dist/api/routing/schema/routing.d.ts.map +1 -0
- package/dist/api/routing/schema/routing.js +123 -0
- package/dist/api/routing.js +3 -1
- package/dist/api/setupRequest.d.ts +3 -5
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +20 -24
- package/dist/errorReporter.d.ts +4 -4
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +20 -17
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -3
- package/dist/filter/types/path/index.d.ts +2 -2
- package/dist/filter/types/path/index.d.ts.map +1 -1
- package/dist/filter/types/path/index.js +2 -3
- package/dist/filter/types.js +2 -1
- package/dist/filter.d.ts.map +1 -1
- package/dist/filter.js +36 -1
- package/dist/logger/jsonLogger.d.ts +2 -1
- package/dist/logger/jsonLogger.d.ts.map +1 -1
- package/dist/logger/jsonLogger.js +9 -13
- package/dist/logger/logFmtLogger.d.ts +2 -1
- package/dist/logger/logFmtLogger.d.ts.map +1 -1
- package/dist/logger/logFmtLogger.js +9 -11
- package/dist/logger/shared.d.ts +2 -1
- package/dist/logger/shared.d.ts.map +1 -1
- package/dist/logger/shared.js +7 -9
- package/dist/rateLimit.d.ts +7 -10
- package/dist/rateLimit.d.ts.map +1 -1
- package/dist/rateLimit.js +17 -16
- package/dist/services/Emailer/Sendgrid.d.ts +1 -2
- package/dist/services/Emailer/Sendgrid.d.ts.map +1 -1
- package/dist/services/Emailer/Sendgrid.js +16 -20
- package/dist/services/Emailer/fake.d.ts +2 -2
- package/dist/services/Emailer/fake.d.ts.map +1 -1
- package/dist/services/Emailer/fake.js +10 -8
- package/dist/services/Emailer/service.d.ts +7 -10
- package/dist/services/Emailer/service.d.ts.map +1 -1
- package/dist/services/Emailer/service.js +3 -3
- package/dist/services/Operations/live.d.ts +2 -3
- package/dist/services/Operations/live.d.ts.map +1 -1
- package/dist/services/Operations/live.js +44 -51
- package/dist/services/Operations/service.d.ts +14 -19
- package/dist/services/Operations/service.d.ts.map +1 -1
- package/dist/services/Operations/service.js +23 -28
- package/dist/services/QueueMaker/errors.d.ts +5 -7
- package/dist/services/QueueMaker/errors.d.ts.map +1 -1
- package/dist/services/QueueMaker/errors.js +11 -11
- package/dist/services/QueueMaker/memQueue.d.ts +6 -9
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +37 -39
- package/dist/services/QueueMaker/sbqueue.d.ts +6 -9
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +41 -39
- package/dist/services/QueueMaker/service.d.ts +2 -4
- package/dist/services/QueueMaker/service.d.ts.map +1 -1
- package/dist/services/QueueMaker/service.js +8 -8
- package/dist/services/Repository/dsl.d.ts +8 -10
- package/dist/services/Repository/dsl.d.ts.map +1 -1
- package/dist/services/Repository/dsl.js +12 -13
- package/dist/services/Repository/ext.d.ts +34 -62
- package/dist/services/Repository/ext.d.ts.map +1 -1
- package/dist/services/Repository/ext.js +59 -70
- package/dist/services/RepositoryBase.d.ts +41 -47
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +182 -194
- package/dist/services/RequestContextContainer.d.ts +13 -21
- package/dist/services/RequestContextContainer.d.ts.map +1 -1
- package/dist/services/RequestContextContainer.js +21 -25
- package/dist/services/Store/ContextMapContainer.d.ts +11 -18
- package/dist/services/Store/ContextMapContainer.d.ts.map +1 -1
- package/dist/services/Store/ContextMapContainer.js +17 -18
- package/dist/services/Store/Cosmos/query.d.ts +3 -2
- package/dist/services/Store/Cosmos/query.d.ts.map +1 -1
- package/dist/services/Store/Cosmos/query.js +10 -11
- package/dist/services/Store/Cosmos.d.ts +2 -3
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +107 -90
- package/dist/services/Store/Disk.d.ts +4 -4
- package/dist/services/Store/Disk.d.ts.map +1 -1
- package/dist/services/Store/Disk.js +54 -50
- package/dist/services/Store/Memory.d.ts +6 -8
- package/dist/services/Store/Memory.d.ts.map +1 -1
- package/dist/services/Store/Memory.js +93 -89
- package/dist/services/Store/codeFilter.d.ts.map +1 -1
- package/dist/services/Store/codeFilter.js +3 -3
- package/dist/services/Store/codeFilter.test.d.ts.map +1 -1
- package/dist/services/Store/filterApi/query.d.ts +1 -1
- package/dist/services/Store/filterApi/query.d.ts.map +1 -1
- package/dist/services/Store/filterApi/query.js +3 -3
- package/dist/services/Store/index.d.ts +1 -2
- package/dist/services/Store/index.d.ts.map +1 -1
- package/dist/services/Store/index.js +7 -8
- package/dist/services/Store/service.d.ts +20 -23
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/Store/service.js +6 -6
- 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 +26 -28
- package/dist/services/query.d.ts +6 -6
- package/dist/services/query.d.ts.map +1 -1
- package/dist/services/query.js +5 -4
- package/dist/test.arbs.d.ts +0 -2
- package/dist/test.arbs.d.ts.map +1 -1
- package/dist/test.arbs.js +3 -4
- package/package.json +28 -168
- package/src/RequestContext.ts +1 -0
- package/src/_ext/Array.ts +5 -2
- package/src/api/reportError.ts +14 -10
- package/src/api/routing/base.ts +77 -110
- package/src/api/routing/defaultErrorHandler.ts +64 -54
- package/src/api/routing/makeRequestHandler.ts +165 -135
- package/src/api/routing/match.ts +14 -8
- package/src/api/{express → routing}/schema/jwt.ts +6 -5
- package/src/api/{express → routing}/schema/routing.ts +2 -1
- package/src/api/setupRequest.ts +30 -24
- package/src/errorReporter.ts +12 -11
- package/src/errors.ts +1 -0
- package/src/filter/types/path/index.ts +2 -2
- package/src/logger/jsonLogger.ts +6 -5
- package/src/logger/logFmtLogger.ts +4 -5
- package/src/logger/shared.ts +4 -3
- package/src/rateLimit.ts +37 -34
- package/src/services/Emailer/Sendgrid.ts +12 -10
- package/src/services/Emailer/fake.ts +7 -4
- package/src/services/Emailer/service.ts +4 -1
- package/src/services/Operations/live.ts +66 -59
- package/src/services/Operations/service.ts +41 -34
- package/src/services/QueueMaker/errors.ts +15 -11
- package/src/services/QueueMaker/memQueue.ts +59 -40
- package/src/services/QueueMaker/sbqueue.ts +54 -33
- package/src/services/QueueMaker/service.ts +7 -6
- package/src/services/Repository/dsl.ts +12 -8
- package/src/services/Repository/ext.ts +52 -44
- package/src/services/RepositoryBase.ts +278 -240
- package/src/services/RequestContextContainer.ts +30 -18
- package/src/services/Store/ContextMapContainer.ts +26 -13
- package/src/services/Store/Cosmos/query.ts +17 -11
- package/src/services/Store/Cosmos.ts +209 -168
- package/src/services/Store/Disk.ts +69 -53
- package/src/services/Store/Memory.ts +138 -97
- package/src/services/Store/{Redis.ts → Redis.ts.bak} +7 -5
- package/src/services/Store/codeFilter.test.ts +61 -36
- package/src/services/Store/codeFilter.ts +1 -0
- package/src/services/Store/filterApi/query.ts +1 -0
- package/src/services/Store/index.ts +7 -6
- package/src/services/Store/service.ts +4 -1
- package/src/services/Store/utils.ts +25 -23
- package/src/services/query.ts +3 -3
- package/src/services/simpledb/{cosmosdb.ts → cosmosdb.ts.bak} +1 -0
- package/src/services/simpledb/{diskdb.ts → diskdb.ts.bak} +2 -1
- package/src/services/simpledb/{memdb.ts → memdb.ts.bak} +3 -2
- package/src/services/simpledb/{mongodb.ts → mongodb.ts.bak} +1 -0
- package/src/services/simpledb/{redisdb.ts → redisdb.ts.bak} +17 -14
- package/src/services/simpledb/{shared.ts → shared.ts.bak} +2 -1
- package/src/services/simpledb/{simpledb.ts → simpledb.ts.bak} +6 -2
- package/tsconfig.json +4 -21
- package/tsconfig.json.bak +0 -4
- package/_cjs/_global.cjs +0 -6
- package/_cjs/_global.cjs.map +0 -1
- package/_cjs/_global.ext.cjs +0 -5
- package/_cjs/_global.ext.cjs.map +0 -1
- package/_cjs/_global.schema.cjs +0 -5
- package/_cjs/_global.schema.cjs.map +0 -1
- package/_cjs/api/defaultErrorHandler.cjs +0 -37
- package/_cjs/api/defaultErrorHandler.cjs.map +0 -1
- package/_cjs/api/express/schema/jwt.cjs.map +0 -1
- package/_cjs/api/express/schema/routing.cjs +0 -23
- package/_cjs/api/express/schema/routing.cjs.map +0 -1
- package/_cjs/api/http.cjs +0 -42
- package/_cjs/api/http.cjs.map +0 -1
- package/_cjs/services/Store/Redis.cjs +0 -73
- package/_cjs/services/Store/Redis.cjs.map +0 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +0 -109
- package/_cjs/services/simpledb/cosmosdb.cjs.map +0 -1
- package/_cjs/services/simpledb/diskdb.cjs +0 -125
- package/_cjs/services/simpledb/diskdb.cjs.map +0 -1
- package/_cjs/services/simpledb/index.cjs +0 -38
- package/_cjs/services/simpledb/index.cjs.map +0 -1
- package/_cjs/services/simpledb/memdb.cjs +0 -72
- package/_cjs/services/simpledb/memdb.cjs.map +0 -1
- package/_cjs/services/simpledb/mongodb.cjs +0 -99
- package/_cjs/services/simpledb/mongodb.cjs.map +0 -1
- package/_cjs/services/simpledb/redisdb.cjs +0 -135
- package/_cjs/services/simpledb/redisdb.cjs.map +0 -1
- package/_cjs/services/simpledb/shared.cjs +0 -79
- package/_cjs/services/simpledb/shared.cjs.map +0 -1
- package/_cjs/services/simpledb/simpledb.cjs +0 -85
- package/_cjs/services/simpledb/simpledb.cjs.map +0 -1
- package/dist/_global.d.ts +0 -10
- package/dist/_global.d.ts.map +0 -1
- package/dist/_global.ext.d.ts +0 -34
- package/dist/_global.ext.d.ts.map +0 -1
- package/dist/_global.ext.js +0 -6
- package/dist/_global.js +0 -12
- package/dist/_global.schema.d.ts +0 -6
- package/dist/_global.schema.d.ts.map +0 -1
- package/dist/_global.schema.js +0 -9
- package/dist/api/defaultErrorHandler.d.ts +0 -6
- package/dist/api/defaultErrorHandler.d.ts.map +0 -1
- package/dist/api/defaultErrorHandler.js +0 -34
- package/dist/api/express/schema/jwt.d.ts +0 -6
- package/dist/api/express/schema/jwt.d.ts.map +0 -1
- package/dist/api/express/schema/jwt.js +0 -11
- package/dist/api/express/schema/routing.d.ts.map +0 -1
- package/dist/api/express/schema/routing.js +0 -10
- package/dist/api/http.d.ts +0 -16
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/http.js +0 -12
- package/dist/services/Store/Redis.d.ts +0 -6
- package/dist/services/Store/Redis.d.ts.map +0 -1
- package/dist/services/Store/Redis.js +0 -76
- package/dist/services/simpledb/cosmosdb.d.ts +0 -14
- package/dist/services/simpledb/cosmosdb.d.ts.map +0 -1
- package/dist/services/simpledb/cosmosdb.js +0 -103
- package/dist/services/simpledb/diskdb.d.ts +0 -12
- package/dist/services/simpledb/diskdb.d.ts.map +0 -1
- package/dist/services/simpledb/diskdb.js +0 -109
- package/dist/services/simpledb/index.d.ts +0 -7
- package/dist/services/simpledb/index.d.ts.map +0 -1
- package/dist/services/simpledb/index.js +0 -7
- package/dist/services/simpledb/memdb.d.ts +0 -11
- package/dist/services/simpledb/memdb.d.ts.map +0 -1
- package/dist/services/simpledb/memdb.js +0 -58
- package/dist/services/simpledb/mongodb.d.ts +0 -13
- package/dist/services/simpledb/mongodb.d.ts.map +0 -1
- package/dist/services/simpledb/mongodb.js +0 -68
- package/dist/services/simpledb/redisdb.d.ts +0 -35
- package/dist/services/simpledb/redisdb.d.ts.map +0 -1
- package/dist/services/simpledb/redisdb.js +0 -126
- package/dist/services/simpledb/shared.d.ts +0 -87
- package/dist/services/simpledb/shared.d.ts.map +0 -1
- package/dist/services/simpledb/shared.js +0 -52
- package/dist/services/simpledb/simpledb.d.ts +0 -23
- package/dist/services/simpledb/simpledb.d.ts.map +0 -1
- package/dist/services/simpledb/simpledb.js +0 -69
- package/src/_global.ext.ts +0 -36
- package/src/_global.schema.ts +0 -10
- package/src/_global.ts +0 -14
- package/src/api/defaultErrorHandler.ts +0 -59
- package/src/api/express/makeJsonSchema.test.ts.bak +0 -76
- package/src/api/express/makeJsonSchema.ts.bak +0 -166
- package/src/api/express/makeOpenApiSpecs.ts.bak +0 -62
- package/src/api/http.ts +0 -26
- package/tsplus.config.json +0 -9
- /package/src/services/simpledb/{index.ts → index.ts.bak} +0 -0
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/Secret";
|
|
2
|
-
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Layer";
|
|
4
|
-
import * as tsplus_module_4 from "effect/Equivalence";
|
|
5
|
-
import * as tsplus_module_5 from "effect/ReadonlyArray";
|
|
6
|
-
import * as tsplus_module_6 from "@effect-app/core/_ext/Iterable";
|
|
7
1
|
import { dropUndefinedT } from "@effect-app/core/utils";
|
|
8
2
|
import sgMail from "@sendgrid/mail";
|
|
3
|
+
import { Effect, Equivalence, ReadonlyArray, Secret } from "effect-app";
|
|
9
4
|
import { inspect } from "util";
|
|
10
5
|
import { Emailer } from "./service.js";
|
|
11
|
-
const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPrefix }) =>
|
|
12
|
-
sgMail.setApiKey(
|
|
6
|
+
const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPrefix }) => Effect.sync(() => {
|
|
7
|
+
sgMail.setApiKey(Secret.value(apiKey));
|
|
13
8
|
return new Emailer({
|
|
14
9
|
sendMail(msg_) {
|
|
15
|
-
return
|
|
10
|
+
return Effect.gen(function* ($) {
|
|
16
11
|
const msg = dropUndefinedT({
|
|
17
12
|
...msg_,
|
|
18
13
|
from: msg_.from ?? defaultFrom,
|
|
@@ -21,10 +16,10 @@ const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPr
|
|
|
21
16
|
const render = renderMessage(!realMail);
|
|
22
17
|
const renderedMsg_ = render(msg);
|
|
23
18
|
const renderedMsg = { ...renderedMsg_, subject: `${subjectPrefix}${renderedMsg_.subject}` };
|
|
24
|
-
yield* $(
|
|
25
|
-
const ret = yield* $(
|
|
26
|
-
? cb(
|
|
27
|
-
: cb(
|
|
19
|
+
yield* $(Effect.logDebug("Sending email").pipe(Effect.annotateLogs("msg", inspect(renderedMsg, false, 5))));
|
|
20
|
+
const ret = yield* $(Effect.async((cb) => void sgMail.send(renderedMsg, false, (err, result) => err
|
|
21
|
+
? cb(Effect.fail(err))
|
|
22
|
+
: cb(Effect.sync(() => result)))));
|
|
28
23
|
// const event = {
|
|
29
24
|
// name: "EmailSent",
|
|
30
25
|
// properties: {
|
|
@@ -43,7 +38,7 @@ const makeSendgrid = ({ apiKey, defaultFrom, defaultReplyTo, realMail, subjectPr
|
|
|
43
38
|
* @tsplus static Emailer.Ops SendgridLayer
|
|
44
39
|
*/
|
|
45
40
|
export function Sendgrid(config) {
|
|
46
|
-
return
|
|
41
|
+
return Emailer.toLayer(makeSendgrid(config));
|
|
47
42
|
}
|
|
48
43
|
/**
|
|
49
44
|
* @hidden
|
|
@@ -80,15 +75,16 @@ function renderFake(addr, makeId) {
|
|
|
80
75
|
email: `test+${makeId()}@nomizz.com`
|
|
81
76
|
};
|
|
82
77
|
}
|
|
83
|
-
const eq =
|
|
78
|
+
const eq = Equivalence.mapInput(Equivalence.string, (to) => typeof to === "string" ? to.toLowerCase() : to.email.toLowerCase());
|
|
84
79
|
// TODO: should just not add any already added email address
|
|
85
80
|
// https://stackoverflow.com/a/53603076/11595834
|
|
86
81
|
function renderFakeIfTest(addr, makeId) {
|
|
87
82
|
return Array.isArray(addr)
|
|
88
|
-
?
|
|
89
|
-
.map((x) => (isTestAddress(x) ? renderFake(x, makeId) : x)), eq)
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
? ReadonlyArray.dedupeWith(addr
|
|
84
|
+
.map((x) => (isTestAddress(x) ? renderFake(x, makeId) : x)), eq)
|
|
85
|
+
: isTestAddress(addr)
|
|
86
|
+
? renderFake(addr, makeId)
|
|
87
|
+
: addr;
|
|
92
88
|
}
|
|
93
89
|
function renderMailData(md) {
|
|
94
90
|
if (Array.isArray(md)) {
|
|
@@ -99,4 +95,4 @@ function renderMailData(md) {
|
|
|
99
95
|
}
|
|
100
96
|
return md.email;
|
|
101
97
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZGdyaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvRW1haWxlci9TZW5kZ3JpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFdkQsT0FBTyxNQUFNLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFHdEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQWtCLEVBQUUsRUFBRSxDQUN4RyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUNmLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBRXRDLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFDakIsUUFBUSxDQUFDLElBQTBCO1lBQ2pDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO2dCQUMzQixNQUFNLEdBQUcsR0FBYSxjQUFjLENBQUM7b0JBQ25DLEdBQUcsSUFBSTtvQkFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxXQUFXO29CQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO2lCQUNsRSxDQUFDLENBQUE7Z0JBQ0YsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUMsUUFBUSxD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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Layer } from "effect-app";
|
|
1
2
|
import { Emailer } from "./service.js";
|
|
2
3
|
/**
|
|
3
4
|
* @tsplus static Emailer.Ops Fake
|
|
4
|
-
* @tsplus location "@effect-app/infra/services/Emailer/fake"
|
|
5
5
|
*/
|
|
6
|
-
export declare const FakeSendgrid:
|
|
6
|
+
export declare const FakeSendgrid: Layer.Layer<Emailer, never, never>;
|
|
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":"
|
|
1
|
+
{"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../../src/services/Emailer/fake.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,YAAY,CAAA;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AActC;;GAEG;AACH,eAAO,MAAM,YAAY,oCAAkC,CAAA"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as tsplus_module_2 from "effect/Layer";
|
|
1
|
+
import { Effect, Layer } from "effect-app";
|
|
3
2
|
import { pretty } from "effect-app/utils";
|
|
4
3
|
import { Emailer } from "./service.js";
|
|
5
|
-
const makeFake =
|
|
6
|
-
.
|
|
4
|
+
const makeFake = Effect
|
|
5
|
+
.logDebug("FAKE Emailer Service enabled")
|
|
6
|
+
.pipe(Effect.map(() => new Emailer({
|
|
7
7
|
sendMail(msg) {
|
|
8
|
-
return
|
|
8
|
+
return Effect
|
|
9
|
+
.logDebug(`Fake send mail`)
|
|
10
|
+
.pipe(Effect.annotateLogs("msg", pretty(msg)));
|
|
9
11
|
}
|
|
10
|
-
}));
|
|
12
|
+
})));
|
|
11
13
|
/**
|
|
12
14
|
* @tsplus static Emailer.Ops Fake
|
|
13
15
|
*/
|
|
14
|
-
export const FakeSendgrid =
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
export const FakeSendgrid = Layer.effect(Emailer, makeFake);
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9FbWFpbGVyL2Zha2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFdEMsTUFBTSxRQUFRLEdBQUcsTUFBTTtLQUNwQixRQUFRLENBQUMsOEJBQThCLENBQUM7S0FDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQ3BCLElBQUksT0FBTyxDQUFDO0lBQ1YsUUFBUSxDQUFDLEdBQUc7UUFDVixPQUFPLE1BQU07YUFDVixRQUFRLENBQUMsZ0JBQWdCLENBQUM7YUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbEQsQ0FBQztDQUNGLENBQUMsQ0FDSCxDQUFDLENBQUE7QUFFSjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQSJ9
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Effect } from "effect/Effect";
|
|
3
|
-
import { Email, NonEmptyString255 } from "effect-app/schema";
|
|
4
|
-
import { Secret } from "effect/Secret";
|
|
5
|
-
import { NonEmptyReadonlyArray } from "effect/ReadonlyArray";
|
|
1
|
+
import type { Email, NonEmptyString255 } from "@effect-app/schema";
|
|
6
2
|
import type { MailContent, MailData } from "@sendgrid/helpers/classes/mail.js";
|
|
7
3
|
import type { ResponseError } from "@sendgrid/mail";
|
|
8
4
|
import type sgMail from "@sendgrid/mail";
|
|
5
|
+
import type { Effect, NonEmptyReadonlyArray, Secret } from "effect-app";
|
|
9
6
|
declare const Emailer_base: {
|
|
10
7
|
new (service: {
|
|
11
8
|
sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>;
|
|
@@ -14,12 +11,12 @@ declare const Emailer_base: {
|
|
|
14
11
|
}> & import("effect/Context").TagClassShape<"effect-app/Emailer", {
|
|
15
12
|
sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>;
|
|
16
13
|
}>;
|
|
17
|
-
toLayer: <E, R>(eff:
|
|
14
|
+
toLayer: <E, R>(eff: Effect<{
|
|
18
15
|
sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>;
|
|
19
|
-
}, E, R>) => import("effect
|
|
20
|
-
toLayerScoped: <E_1, R_1>(eff:
|
|
16
|
+
}, E, R>) => import("effect-app").Layer<Emailer, E, R>;
|
|
17
|
+
toLayerScoped: <E_1, R_1>(eff: Effect<{
|
|
21
18
|
sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>;
|
|
22
|
-
}, E_1, R_1>) => import("effect
|
|
19
|
+
}, E_1, R_1>) => import("effect-app").Layer<Emailer, E_1, Exclude<R_1, import("effect/Scope").Scope>>;
|
|
23
20
|
wrap: (service: {
|
|
24
21
|
sendMail: (msg: EmailMsgOptionalFrom) => Effect<void, Error | ResponseError>;
|
|
25
22
|
}) => Emailer;
|
|
@@ -41,7 +38,7 @@ export interface SendgridConfig {
|
|
|
41
38
|
name?: NonEmptyString255;
|
|
42
39
|
email: Email;
|
|
43
40
|
};
|
|
44
|
-
apiKey: Secret;
|
|
41
|
+
apiKey: Secret.Secret;
|
|
45
42
|
}
|
|
46
43
|
export type EmailMsg = sgMail.MailDataRequired;
|
|
47
44
|
export type EmailTemplateMsg = MailData & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Emailer/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Emailer/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AAC9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;;;wBAQrD,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;wBAA5D,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;wBAA5D,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;;wBAA5D,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;;wBAA5D,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;;wBAA5D,oBAAoB,KAAK,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;;;AAL9E;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAEzB;CAAG;AAEP,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAA;IACnE,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAA;IAC/D,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CACtB;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAA;AAC9C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAA;AAEhE,MAAM,MAAM,oBAAoB,GAC5B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GACtB,CACA;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAA;CAAE,CAC/G,GACC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { TagClassId } from "effect-app/service";
|
|
2
2
|
/**
|
|
3
3
|
* @tsplus type Emailer
|
|
4
4
|
* @tsplus companion Emailer.Ops
|
|
5
5
|
*/
|
|
6
|
-
export class Emailer extends
|
|
6
|
+
export class Emailer extends TagClassId("effect-app/Emailer")() {
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9FbWFpbGVyL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRS9DOzs7R0FHRztBQUNILE1BQU0sT0FBTyxPQUFRLFNBQVEsVUFBVSxDQUFDLG9CQUFvQixDQUFDLEVBRXpEO0NBQUcifQ==
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Layer } from "effect-app";
|
|
2
2
|
import { Operations } from "./service.js";
|
|
3
3
|
/**
|
|
4
4
|
* @tsplus static Operations.Ops Live
|
|
5
|
-
* @tsplus location "@effect-app/infra/services/Operations/live"
|
|
6
5
|
*/
|
|
7
|
-
export declare const Live:
|
|
6
|
+
export declare const Live: Layer.Layer<Operations, never, never>;
|
|
8
7
|
//# sourceMappingURL=live.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/services/Operations/live.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"live.d.ts","sourceRoot":"","sources":["../../../src/services/Operations/live.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,EAAuB,MAAM,YAAY,CAAA;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAuGzC;;GAEG;AACH,eAAO,MAAM,IAAI,uCAId,CAAA"}
|
|
@@ -1,93 +1,86 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as tsplus_module_2 from "effect-app/_ext/date";
|
|
3
|
-
import * as tsplus_module_3 from "effect/Option";
|
|
4
|
-
import * as tsplus_module_4 from "@effect-app/core/Chunk";
|
|
5
|
-
import * as tsplus_module_5 from "effect/Chunk";
|
|
6
|
-
import * as tsplus_module_6 from "effect/Exit";
|
|
7
|
-
import * as tsplus_module_7 from "effect/Cause";
|
|
8
|
-
import * as tsplus_module_8 from "effect-app/schema";
|
|
9
|
-
import * as tsplus_module_9 from "@effect/schema/Parser";
|
|
10
|
-
import * as tsplus_module_10 from "effect-app/_ext/misc";
|
|
11
|
-
import * as tsplus_module_11 from "effect/Duration";
|
|
12
|
-
import * as tsplus_module_12 from "effect/Schedule";
|
|
13
|
-
import * as tsplus_module_13 from "effect/Layer";
|
|
1
|
+
import { annotateLogscoped } from "@effect-app/core/Effect";
|
|
14
2
|
import { reportError } from "@effect-app/infra/errorReporter";
|
|
3
|
+
import { NonEmptyString2k } from "@effect-app/schema";
|
|
4
|
+
import { subHours } from "date-fns";
|
|
5
|
+
import { Cause, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app";
|
|
15
6
|
import { Failure, Operation, OperationId, Success } from "effect-app/Operations";
|
|
16
7
|
import { Operations } from "./service.js";
|
|
17
8
|
const reportAppError = reportError("Operations.Cleanup");
|
|
18
|
-
const make =
|
|
9
|
+
const make = Effect.sync(() => {
|
|
19
10
|
const ops = new Map();
|
|
20
|
-
const makeOp =
|
|
21
|
-
const cleanup =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
const makeOp = Effect.sync(() => OperationId.make());
|
|
12
|
+
const cleanup = Effect
|
|
13
|
+
.sync(() => {
|
|
14
|
+
const before = subHours(new Date(), 1);
|
|
15
|
+
[...ops
|
|
16
|
+
.entries()]
|
|
17
|
+
.forEach(([id, op]) => {
|
|
18
|
+
const lastChanged = Option.fromNullable(op.updatedAt).pipe(Option.getOrElse(() => op.createdAt));
|
|
26
19
|
if (lastChanged < before) {
|
|
27
20
|
ops.delete(id);
|
|
28
21
|
}
|
|
29
22
|
});
|
|
30
|
-
})
|
|
23
|
+
})
|
|
24
|
+
.pipe(Effect.withSpan("Operations.cleanup"));
|
|
31
25
|
function addOp(id) {
|
|
32
|
-
return
|
|
26
|
+
return Effect.sync(() => {
|
|
33
27
|
ops.set(id, new Operation({ id }));
|
|
34
28
|
});
|
|
35
29
|
}
|
|
36
30
|
function findOp(id) {
|
|
37
|
-
return
|
|
31
|
+
return Effect.sync(() => Option.fromNullable(ops.get(id)));
|
|
38
32
|
}
|
|
39
33
|
function finishOp(id, exit) {
|
|
40
|
-
return findOp(id)
|
|
41
|
-
if (
|
|
34
|
+
return Effect.flatMap(findOp(id), (_) => Effect.sync(() => {
|
|
35
|
+
if (Option.isNone(_)) {
|
|
42
36
|
throw new Error("Not found");
|
|
43
37
|
}
|
|
44
|
-
ops.set(id, {
|
|
45
|
-
..._.value,
|
|
38
|
+
ops.set(id, copy(_.value, {
|
|
46
39
|
updatedAt: new Date(),
|
|
47
|
-
result:
|
|
40
|
+
result: Exit.isSuccess(exit)
|
|
48
41
|
? new Success()
|
|
49
42
|
: new Failure({
|
|
50
|
-
message:
|
|
51
|
-
?
|
|
52
|
-
:
|
|
53
|
-
?
|
|
54
|
-
:
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
.
|
|
43
|
+
message: Cause.isInterrupted(exit.cause)
|
|
44
|
+
? NonEmptyString2k("Interrupted")
|
|
45
|
+
: Cause.isDie(exit.cause)
|
|
46
|
+
? NonEmptyString2k("Unknown error")
|
|
47
|
+
: Cause
|
|
48
|
+
.failureOption(exit.cause)
|
|
49
|
+
.pipe(Option.flatMap((_) => typeof _ === "object" && _ !== null && "message" in _ && S.is(NonEmptyString2k)(_.message)
|
|
50
|
+
? Option.some(_.message)
|
|
51
|
+
: Option.none()), Option.getOrNull)
|
|
59
52
|
})
|
|
60
|
-
});
|
|
53
|
+
}));
|
|
61
54
|
}));
|
|
62
55
|
}
|
|
63
56
|
function update(id, progress) {
|
|
64
|
-
return findOp(id)
|
|
65
|
-
if (
|
|
57
|
+
return Effect.flatMap(findOp(id), (_) => Effect.sync(() => {
|
|
58
|
+
if (Option.isNone(_)) {
|
|
66
59
|
throw new Error("Not found");
|
|
67
60
|
}
|
|
68
|
-
ops.set(id,
|
|
61
|
+
ops.set(id, copy(_.value, { updatedAt: new Date(), progress }));
|
|
69
62
|
}));
|
|
70
63
|
}
|
|
71
64
|
return new Operations({
|
|
72
65
|
cleanup,
|
|
73
|
-
register: makeOp
|
|
74
|
-
.tap((id) => tsplus_module_10.annotateLogscoped("operationId", id)
|
|
75
|
-
.andThen(tsplus_module_1.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))),
|
|
66
|
+
register: Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))),
|
|
76
67
|
find: findOp,
|
|
77
68
|
update
|
|
78
69
|
});
|
|
79
70
|
});
|
|
80
|
-
const cleanupLoop =
|
|
81
|
-
.flatMap((_) => _.cleanup)
|
|
82
|
-
|
|
83
|
-
|
|
71
|
+
const cleanupLoop = Operations
|
|
72
|
+
.pipe(Effect.flatMap((_) => _.cleanup), Effect.exit, Effect
|
|
73
|
+
.flatMap((_) => {
|
|
74
|
+
if (Exit.isSuccess(_)) {
|
|
75
|
+
return Effect.unit;
|
|
84
76
|
}
|
|
85
77
|
else {
|
|
86
78
|
return reportAppError(_.cause);
|
|
87
79
|
}
|
|
88
|
-
}),
|
|
80
|
+
}), Effect.schedule(Schedule.fixed(Duration.minutes(1))), Effect.forkScoped);
|
|
89
81
|
/**
|
|
90
82
|
* @tsplus static Operations.Ops Live
|
|
91
83
|
*/
|
|
92
|
-
export const Live =
|
|
93
|
-
|
|
84
|
+
export const Live = cleanupLoop
|
|
85
|
+
.pipe(Layer.scopedDiscard, Layer.provideMerge(Layer.effect(Operations, make)));
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25zL2xpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRTVGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO0FBRXhELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQzVCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUEwQixDQUFBO0lBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7SUFFcEQsTUFBTSxPQUFPLEdBQUcsTUFBTTtTQUNuQixJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ3JDO1FBQUEsQ0FBQyxHQUFHLEdBQUc7aUJBQ0wsT0FBTyxFQUFFLENBQUM7YUFDVixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1lBQ2hHLElBQUksV0FBVyxHQUFHLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2hCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQTtJQUU5QyxTQUFTLEtBQUssQ0FBQyxFQUFlO1FBQzVCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDcEMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQ0QsU0FBUyxNQUFNLENBQUMsRUFBZTtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lBQ0QsU0FBUyxRQUFRLENBQUMsRUFBZSxFQUFFLElBQTRCO1FBQzdELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzlCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUNMLEVBQUUsRUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDWixTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUU7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLElBQUksT0FBTyxFQUFFO29CQUNmLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQzt3QkFDWixPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDOzRCQUN0QyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDOzRCQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dDQUN6QixDQUFDLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDO2dDQUNuQyxDQUFDLENBQUMsS0FBSztxQ0FDSixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztxQ0FDekIsSUFBSSxDQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuQixPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29DQUN4RixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29DQUN4QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUNsQixFQUNELE1BQU0sQ0FBQyxTQUFTLENBQ2pCO3FCQUNOLENBQUM7YUFDTCxDQUFDLENBQ0gsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDUCxDQUFDO0lBQ0QsU0FBUyxNQUFNLENBQUMsRUFBZSxFQUFFLFFBQTJCO1FBQzFELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzlCLENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNqRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ1AsQ0FBQztJQUNELE9BQU8sSUFBSSxVQUFVLENBQUM7UUFDcEIsT0FBTztRQUNQLFFBQVEsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUNsQixNQUFNLEVBQ04sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUNMLE1BQU0sQ0FBQyxPQUFPLENBQ1osaUJBQWlCLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxFQUNwQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDbEUsQ0FDSjtRQUVELElBQUksRUFBRSxNQUFNO1FBQ1osTUFBTTtLQUNQLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxXQUFXLEdBQUcsVUFBVTtLQUMzQixJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUNoQyxNQUFNLENBQUMsSUFBSSxFQUNYLE1BQU07S0FDSCxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNiLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQTtJQUNwQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDLEVBQ0osTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwRCxNQUFNLENBQUMsVUFBVSxDQUNsQixDQUFBO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsV0FBVztLQUM1QixJQUFJLENBQ0gsS0FBSyxDQUFDLGFBQWEsRUFDbkIsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUNuRCxDQUFBIn0=
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Effect } from "effect
|
|
3
|
-
import { Option } from "@effect-app/core/Option";
|
|
1
|
+
import type { Option } from "effect-app";
|
|
2
|
+
import { Effect } from "effect-app";
|
|
4
3
|
import type { Operation, OperationId, OperationProgress } from "effect-app/Operations";
|
|
5
4
|
import * as Scope from "effect/Scope";
|
|
6
5
|
declare const Operations_base: {
|
|
@@ -20,18 +19,18 @@ declare const Operations_base: {
|
|
|
20
19
|
find: (id: OperationId) => Effect<Option<Operation>>;
|
|
21
20
|
cleanup: Effect<void>;
|
|
22
21
|
}>;
|
|
23
|
-
toLayer: <E, R>(eff:
|
|
22
|
+
toLayer: <E, R>(eff: Effect<{
|
|
24
23
|
register: Effect<OperationId, never, Scope.Scope>;
|
|
25
24
|
update: (id: OperationId, progress: OperationProgress) => Effect<void>;
|
|
26
25
|
find: (id: OperationId) => Effect<Option<Operation>>;
|
|
27
26
|
cleanup: Effect<void>;
|
|
28
|
-
}, E, R>) => import("effect
|
|
29
|
-
toLayerScoped: <E_1, R_1>(eff:
|
|
27
|
+
}, E, R>) => import("effect-app").Layer<Operations, E, R>;
|
|
28
|
+
toLayerScoped: <E_1, R_1>(eff: Effect<{
|
|
30
29
|
register: Effect<OperationId, never, Scope.Scope>;
|
|
31
30
|
update: (id: OperationId, progress: OperationProgress) => Effect<void>;
|
|
32
31
|
find: (id: OperationId) => Effect<Option<Operation>>;
|
|
33
32
|
cleanup: Effect<void>;
|
|
34
|
-
}, E_1, R_1>) => import("effect
|
|
33
|
+
}, E_1, R_1>) => import("effect-app").Layer<Operations, E_1, Exclude<R_1, Scope.Scope>>;
|
|
35
34
|
wrap: (service: {
|
|
36
35
|
register: Effect<OperationId, never, Scope.Scope>;
|
|
37
36
|
update: (id: OperationId, progress: OperationProgress) => Effect<void>;
|
|
@@ -44,30 +43,26 @@ declare const Operations_base: {
|
|
|
44
43
|
* @tsplus companion Operations.Ops
|
|
45
44
|
*/
|
|
46
45
|
export declare class Operations extends Operations_base {
|
|
47
|
-
static readonly find: (id: import("
|
|
48
|
-
static readonly update: (id: import("
|
|
49
|
-
static readonly register:
|
|
50
|
-
static readonly cleanup:
|
|
46
|
+
static readonly find: (id: import("packages/schema/dist/moreStrings.js").StringId) => Effect.Effect<Option<Operation>, never, Operations>;
|
|
47
|
+
static readonly update: (id: import("packages/schema/dist/moreStrings.js").StringId, progress: OperationProgress) => Effect.Effect<void, never, Operations>;
|
|
48
|
+
static readonly register: Effect.Effect<import("packages/schema/dist/moreStrings.js").StringId, never, Scope.Scope | Operations>;
|
|
49
|
+
static readonly cleanup: Effect.Effect<void, never, Operations>;
|
|
51
50
|
}
|
|
52
51
|
/**
|
|
53
52
|
* @tsplus getter effect/io/Effect forkOperation
|
|
54
|
-
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
55
53
|
*/
|
|
56
|
-
export declare function forkOperation<R, E, A>(self: Effect<A, E, R>):
|
|
54
|
+
export declare function forkOperation<R, E, A>(self: Effect<A, E, R>): Effect.Effect<string & import("packages/schema/dist/moreStrings.js").StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
57
55
|
/**
|
|
58
56
|
* @tsplus getter function forkOperation
|
|
59
|
-
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
60
57
|
*/
|
|
61
|
-
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>): (inp: Inp) =>
|
|
58
|
+
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>): (inp: Inp) => Effect.Effect<string & import("packages/schema/dist/moreStrings.js").StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
62
59
|
/**
|
|
63
60
|
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
64
|
-
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
65
61
|
*/
|
|
66
|
-
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>):
|
|
62
|
+
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>): Effect.Effect<string & import("packages/schema/dist/moreStrings.js").StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
67
63
|
/**
|
|
68
64
|
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
69
|
-
* @tsplus location "@effect-app/infra/services/Operations/service"
|
|
70
65
|
*/
|
|
71
|
-
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>):
|
|
66
|
+
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>): Effect.Effect<string & import("packages/schema/dist/moreStrings.js").StringIdBrand, never, Operations | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
72
67
|
export {};
|
|
73
68
|
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Operations/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/services/Operations/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;;kBAQzB,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;kBAHX,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;kBAHX,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;;kBAHX,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;;kBAHX,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;;kBAHX,OAAO,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC;qBACpC,WAAW,YAAY,iBAAiB,KAAK,OAAO,IAAI,CAAC;mBAC3D,WAAW,KAAK,OAAO,OAAO,SAAS,CAAC,CAAC;iBAC3C,OAAO,IAAI,CAAC;;;AARvB;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAK5B;IACF,MAAM,CAAC,QAAQ,CAAC,IAAI,sHAAqC;IACzD,MAAM,CAAC,QAAQ,CAAC,MAAM,sIAAuC;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,yGAAyC;IACjE,MAAM,CAAC,QAAQ,CAAC,OAAO,yCAAwC;CAChE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oIAa3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SACvE,GAAG,sIACjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oIAanF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EACzD,IAAI,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC1C,GAAG,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,+JAe7C"}
|
|
@@ -1,53 +1,48 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import * as tsplus_module_3 from "@effect-app/infra/api/reportError";
|
|
4
|
-
export const forkOperation = forkOperation_1;
|
|
1
|
+
import { Effect } from "effect-app";
|
|
2
|
+
import { TagClassId } from "effect-app/service";
|
|
5
3
|
import * as Scope from "effect/Scope";
|
|
4
|
+
import { forkDaemonReportRequestUnexpected } from "../../api/reportError.js";
|
|
6
5
|
/**
|
|
7
6
|
* @tsplus type Operations
|
|
8
7
|
* @tsplus companion Operations.Ops
|
|
9
8
|
*/
|
|
10
|
-
export class Operations extends
|
|
11
|
-
static find =
|
|
12
|
-
static update =
|
|
13
|
-
static register =
|
|
14
|
-
static cleanup =
|
|
9
|
+
export class Operations extends TagClassId("effect-app/Operations")() {
|
|
10
|
+
static find = Effect.serviceFunctions(this).find;
|
|
11
|
+
static update = Effect.serviceFunctions(this).update;
|
|
12
|
+
static register = Effect.serviceConstants(this).register;
|
|
13
|
+
static cleanup = Effect.serviceConstants(this).cleanup;
|
|
15
14
|
}
|
|
16
15
|
/**
|
|
17
16
|
* @tsplus getter effect/io/Effect forkOperation
|
|
18
17
|
*/
|
|
19
|
-
function
|
|
20
|
-
return
|
|
21
|
-
.
|
|
22
|
-
.
|
|
23
|
-
.
|
|
24
|
-
.tap(() => tsplus_module_3.forkDaemonReportRequestUnexpected(Scope.use(self, scope)))));
|
|
18
|
+
export function forkOperation(self) {
|
|
19
|
+
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
|
|
20
|
+
.register
|
|
21
|
+
.pipe(Scope.extend(scope), Effect
|
|
22
|
+
.tap(() => forkDaemonReportRequestUnexpected(Scope.use(self, scope))))));
|
|
25
23
|
}
|
|
26
24
|
/**
|
|
27
25
|
* @tsplus getter function forkOperation
|
|
28
26
|
*/
|
|
29
27
|
export function forkOperationFunction(fnc) {
|
|
30
|
-
return (inp) =>
|
|
28
|
+
return (inp) => fnc(inp).pipe(forkOperation);
|
|
31
29
|
}
|
|
32
30
|
/**
|
|
33
31
|
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
34
32
|
*/
|
|
35
33
|
export function forkOperation2(self) {
|
|
36
|
-
return
|
|
37
|
-
.
|
|
38
|
-
.
|
|
39
|
-
.
|
|
40
|
-
.tap((id) => tsplus_module_3.forkDaemonReportRequestUnexpected(Scope.use(self(id), scope)))));
|
|
34
|
+
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
|
|
35
|
+
.register
|
|
36
|
+
.pipe(Scope.extend(scope), Effect
|
|
37
|
+
.tap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id), scope))))));
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
40
|
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
44
41
|
*/
|
|
45
42
|
export function forkOperationWithEffect(self, fnc) {
|
|
46
|
-
return
|
|
47
|
-
.make()
|
|
48
|
-
.
|
|
49
|
-
.
|
|
50
|
-
.tap((opId) => tsplus_module_3.forkDaemonReportRequestUnexpected(Scope.use(self(opId), scope)))
|
|
51
|
-
.tap((opId) => Scope.extend(tsplus_module_2.forkScoped(tsplus_module_2.interruptible(fnc(opId))), scope))));
|
|
43
|
+
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope
|
|
44
|
+
.make(), (scope) => Operations
|
|
45
|
+
.register
|
|
46
|
+
.pipe(Scope.extend(scope), Effect.tap((opId) => forkDaemonReportRequestUnexpected(Scope.use(self(opId), scope))), Effect.tap((opId) => Effect.interruptible(fnc(opId)).pipe(Effect.forkScoped, Scope.extend(scope))))));
|
|
52
47
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25zL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDL0MsT0FBTyxLQUFLLEtBQUssTUFBTSxjQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFFNUU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFVBQVcsU0FBUSxVQUFVLENBQUMsdUJBQXVCLENBQUMsRUFLL0Q7SUFDRixNQUFNLENBQVUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDekQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQzdELE1BQU0sQ0FBVSxRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQTtJQUNqRSxNQUFNLENBQVUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUE7O0FBR2pFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBVSxJQUFxQjtJQUMxRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDL0MsTUFBTSxDQUFDLE9BQU8sQ0FDWixLQUFLLENBQUMsSUFBSSxFQUFFLEVBQ1osQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNSLFVBQVU7U0FDUCxRQUFRO1NBQ1IsSUFBSSxDQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQ25CLE1BQU07U0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQWlDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUN4RSxDQUNOLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBZSxHQUFrQztJQUNwRixPQUFPLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ25ELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQVUsSUFBNEM7SUFDbEYsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQy9DLE1BQU0sQ0FBQyxPQUFPLENBQ1osS0FBSyxDQUFDLElBQUksRUFBRSxFQUNaLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixVQUFVO1NBQ1AsUUFBUTtTQUNSLElBQUksQ0FDSCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUNuQixNQUFNO1NBQ0gsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQzlFLENBQ04sQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxJQUEwQyxFQUMxQyxHQUE0QztJQUU1QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FDL0MsTUFBTSxDQUFDLE9BQU8sQ0FDWixLQUFLO1NBQ0YsSUFBSSxFQUFFLEVBQ1QsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNSLFVBQVU7U0FDUCxRQUFRO1NBQ1IsSUFBSSxDQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQ25CLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDckYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDbkcsQ0FDTixDQUFDLENBQUE7QUFDTixDQUFDIn0=
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { Cause } from "effect
|
|
2
|
-
|
|
3
|
-
import { Exit } from "effect/Exit";
|
|
4
|
-
export declare const reportQueueError: <E>(cause: Cause<E>, extras?: Record<string, unknown> | undefined) => import("effect/Effect").Effect<void, never, never>;
|
|
1
|
+
import { Cause, Effect, Exit } from "effect-app";
|
|
2
|
+
export declare const reportQueueError: <E>(cause: Cause<E>, extras?: Record<string, unknown> | undefined) => Effect.Effect<void, never, never>;
|
|
5
3
|
/**
|
|
6
4
|
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
7
5
|
* new fiber is attached to the global scope, when the fiber executing the
|
|
8
6
|
* returned effect terminates, the forked fiber will continue running.
|
|
9
7
|
*
|
|
10
8
|
* Reports errors.
|
|
9
|
+
*
|
|
11
10
|
* @tsplus getter effect/io/Effect forkDaemonReportQueue
|
|
12
|
-
* @tsplus location "@effect-app/infra/services/QueueMaker/errors"
|
|
13
11
|
*/
|
|
14
|
-
export declare function forkDaemonReportQueue<R, E, A>(self: Effect<A, E, R>):
|
|
15
|
-
export declare const reportFatalQueueError: (cause:
|
|
12
|
+
export declare function forkDaemonReportQueue<R, E, A>(self: Effect<A, E, R>): Effect.Effect<import("effect/Fiber").RuntimeFiber<A, E>, never, R>;
|
|
13
|
+
export declare const reportFatalQueueError: (cause: Cause<unknown>, extras?: Record<string, unknown> | undefined) => Effect.Effect<void, never, never>;
|
|
16
14
|
export declare function reportNonInterruptedFailure(context?: Record<string, unknown>): <R, E, A>(inp: Effect<A, E, R>) => Effect<Exit<A, E>, never, R>;
|
|
17
15
|
export declare function reportNonInterruptedFailureCause(context?: Record<string, unknown>): <E>(cause: Cause<E>) => Effect<void>;
|
|
18
16
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/services/QueueMaker/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/services/QueueMaker/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAIhD,eAAO,MAAM,gBAAgB,gCAAiC,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,sCAC/D,CAAA;AAElC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sEAEnE;AAED,eAAO,MAAM,qBAAqB,4GAEjC,CAAA;AAED,wBAAgB,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,mEAc5E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,2BACnD,OAAO,IAAI,CAAC,CAM1C"}
|