@effect-app/infra 0.230.3 → 0.231.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/_cjs/services/Operations.cjs +16 -26
- package/_cjs/services/Operations.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +1 -0
- package/_cjs/test.arbs.cjs.map +1 -1
- package/dist/services/Operations.d.ts +16 -22
- package/dist/services/Operations.d.ts.map +1 -1
- package/dist/services/Operations.js +18 -29
- package/dist/test.arbs.d.ts.map +1 -1
- package/dist/test.arbs.js +2 -1
- package/package.json +11 -11
- package/src/services/Operations.ts +36 -47
- package/src/test.arbs.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @effect-app/infra
|
|
2
2
|
|
|
3
|
+
## 0.231.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [564a95c]
|
|
8
|
+
- effect-app@0.200.0
|
|
9
|
+
- @effect-app/schema@0.219.0
|
|
10
|
+
- @effect-app/infra-adapters@0.152.1
|
|
11
|
+
|
|
12
|
+
## 0.231.0
|
|
13
|
+
|
|
14
|
+
### Minor Changes
|
|
15
|
+
|
|
16
|
+
- ecb05f6: update packages
|
|
17
|
+
- fbfa538: add title to Operations and expose all
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies [ecb05f6]
|
|
22
|
+
- Updated dependencies [fbfa538]
|
|
23
|
+
- @effect-app/infra-adapters@0.152.0
|
|
24
|
+
- effect-app@0.199.0
|
|
25
|
+
- @effect-app/schema@0.218.0
|
|
26
|
+
- @effect-app/core@0.168.0
|
|
27
|
+
|
|
3
28
|
## 0.230.3
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
|
@@ -8,15 +8,15 @@ exports.forkOperation = forkOperation;
|
|
|
8
8
|
exports.forkOperation2 = forkOperation2;
|
|
9
9
|
exports.forkOperationFunction = forkOperationFunction;
|
|
10
10
|
exports.forkOperationWithEffect = forkOperationWithEffect;
|
|
11
|
-
var _effectApp = require("effect-app");
|
|
12
|
-
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
13
|
-
var _reportError = require("../api/reportError.cjs");
|
|
14
11
|
var _Effect = require("@effect-app/core/Effect");
|
|
15
12
|
var _errorReporter = require("@effect-app/infra/errorReporter");
|
|
16
13
|
var _schema = require("@effect-app/schema");
|
|
17
14
|
var _dateFns = require("date-fns");
|
|
15
|
+
var _effectApp = require("effect-app");
|
|
18
16
|
var _Operations = require("effect-app/Operations");
|
|
19
17
|
var _FiberBag = require("effect-app/services/FiberBag");
|
|
18
|
+
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
19
|
+
var _reportError = require("../api/reportError.cjs");
|
|
20
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
22
|
const reportAppError = (0, _errorReporter.reportError)("Operations.Cleanup");
|
|
@@ -32,10 +32,11 @@ const make = _effectApp.Effect.sync(() => {
|
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
}).pipe(_effectApp.Effect.withSpan("Operations.cleanup"));
|
|
35
|
-
function addOp(id) {
|
|
35
|
+
function addOp(id, title) {
|
|
36
36
|
return _effectApp.Effect.sync(() => {
|
|
37
37
|
ops.set(id, new _Operations.Operation({
|
|
38
|
-
id
|
|
38
|
+
id,
|
|
39
|
+
title
|
|
39
40
|
}));
|
|
40
41
|
});
|
|
41
42
|
}
|
|
@@ -68,7 +69,8 @@ const make = _effectApp.Effect.sync(() => {
|
|
|
68
69
|
}
|
|
69
70
|
return {
|
|
70
71
|
cleanup,
|
|
71
|
-
register: _effectApp.Effect.tap(makeOp, id => _effectApp.Effect.andThen((0, _Effect.annotateLogscoped)("operationId", id), _effectApp.Effect.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))),
|
|
72
|
+
register: title => _effectApp.Effect.tap(makeOp, id => _effectApp.Effect.andThen((0, _Effect.annotateLogscoped)("operationId", id), _effectApp.Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit)))),
|
|
73
|
+
all: _effectApp.Effect.sync(() => [...ops.values()]),
|
|
72
74
|
find: findOp,
|
|
73
75
|
update
|
|
74
76
|
};
|
|
@@ -83,29 +85,17 @@ class Operations extends _effectApp.Context.TagMakeId("effect-app/Operations", m
|
|
|
83
85
|
}), _effectApp.Effect.schedule(_effectApp.Schedule.fixed(_effectApp.Duration.minutes(20))), _effectApp.Effect.map(_ => _), _FiberBag.FiberBag.run)).pipe(_effectApp.Layer.effectDiscard, _effectApp.Layer.provide(_FiberBag.FiberBag.Live));
|
|
84
86
|
static Live = this.CleanupLive.pipe(_effectApp.Layer.provideMerge(this.toLayer()));
|
|
85
87
|
}
|
|
86
|
-
/**
|
|
87
|
-
* @tsplus getter effect/io/Effect forkOperation
|
|
88
|
-
*/
|
|
89
88
|
exports.Operations = Operations;
|
|
90
|
-
function forkOperation(self) {
|
|
91
|
-
return _effectApp.Effect.flatMap(
|
|
89
|
+
function forkOperation(self, title) {
|
|
90
|
+
return _effectApp.Effect.flatMap(Scope.make(), scope => Operations.register(title).pipe(Scope.extend(scope), _effectApp.Effect.tap(() => (0, _reportError.forkDaemonReportRequestUnexpected)(Scope.use(self, scope)))));
|
|
92
91
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*/
|
|
96
|
-
function forkOperationFunction(fnc) {
|
|
97
|
-
return inp => fnc(inp).pipe(forkOperation);
|
|
92
|
+
function forkOperationFunction(fnc, title) {
|
|
93
|
+
return inp => fnc(inp).pipe(_ => forkOperation(_, title));
|
|
98
94
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
*/
|
|
102
|
-
function forkOperation2(self) {
|
|
103
|
-
return _effectApp.Effect.flatMap(Operations, Operations => _effectApp.Effect.flatMap(Scope.make(), scope => Operations.register.pipe(Scope.extend(scope), _effectApp.Effect.tap(id => (0, _reportError.forkDaemonReportRequestUnexpected)(Scope.use(self(id), scope))))));
|
|
95
|
+
function forkOperation2(self, title) {
|
|
96
|
+
return _effectApp.Effect.flatMap(Operations, Operations => _effectApp.Effect.flatMap(Scope.make(), scope => Operations.register(title).pipe(Scope.extend(scope), _effectApp.Effect.tap(id => (0, _reportError.forkDaemonReportRequestUnexpected)(Scope.use(self(id), scope))))));
|
|
104
97
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
*/
|
|
108
|
-
function forkOperationWithEffect(self, fnc) {
|
|
109
|
-
return _effectApp.Effect.flatMap(Operations, Operations => _effectApp.Effect.flatMap(Scope.make(), scope => Operations.register.pipe(Scope.extend(scope), _effectApp.Effect.tap(opId => (0, _reportError.forkDaemonReportRequestUnexpected)(Scope.use(self(opId), scope))), _effectApp.Effect.tap(opId => _effectApp.Effect.interruptible(fnc(opId)).pipe(_effectApp.Effect.forkScoped, Scope.extend(scope))))));
|
|
98
|
+
function forkOperationWithEffect(self, fnc, title) {
|
|
99
|
+
return _effectApp.Effect.flatMap(Operations, Operations => _effectApp.Effect.flatMap(Scope.make(), scope => Operations.register(title).pipe(Scope.extend(scope), _effectApp.Effect.tap(opId => (0, _reportError.forkDaemonReportRequestUnexpected)(Scope.use(self(opId), scope))), _effectApp.Effect.tap(opId => _effectApp.Effect.interruptible(fnc(opId)).pipe(_effectApp.Effect.forkScoped, Scope.extend(scope))))));
|
|
110
100
|
}
|
|
111
101
|
//# sourceMappingURL=Operations.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.cjs","names":["
|
|
1
|
+
{"version":3,"file":"Operations.cjs","names":["_Effect","require","_errorReporter","_schema","_dateFns","_effectApp","_Operations","_FiberBag","Scope","_interopRequireWildcard","_reportError","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","reportAppError","reportError","make","Effect","sync","ops","Map","makeOp","OperationId","cleanup","before","subHours","Date","entries","forEach","id","op","lastChanged","Option","fromNullable","updatedAt","pipe","getOrElse","createdAt","delete","withSpan","addOp","title","Operation","findOp","finishOp","exit","flatMap","_","isNone","Error","copy","value","result","Exit","isSuccess","Success","Failure","message","Cause","isInterrupted","cause","NonEmptyString2k","isDie","failureOption","S","is","some","none","getOrNull","update","progress","register","tap","andThen","annotateLogscoped","acquireRelease","all","values","find","Operations","Context","TagMakeId","CleanupLive","use","unit","schedule","Schedule","fixed","Duration","minutes","map","FiberBag","run","Layer","effectDiscard","provide","Live","provideMerge","toLayer","forkOperation","self","scope","extend","forkDaemonReportRequestUnexpected","forkOperationFunction","fnc","inp","forkOperation2","forkOperationWithEffect","opId","interruptible","forkScoped"],"sources":["../../src/services/Operations.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/test.arbs.cjs
CHANGED
|
@@ -26,6 +26,7 @@ function generate(arb) {
|
|
|
26
26
|
* @tsplus getter effect/schema/Arbitrary generate
|
|
27
27
|
*/
|
|
28
28
|
function generateFromArbitrary(arb) {
|
|
29
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
29
30
|
return generate(arb(fc));
|
|
30
31
|
}
|
|
31
32
|
//# sourceMappingURL=test.arbs.cjs.map
|
package/_cjs/test.arbs.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.arbs.cjs","names":["_faker","require","_faker2","_fastCheck","_interopRequireWildcard","fc","rand","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","rnd","Random","congruential32","setFaker","faker","generate","arb","undefined","generateFromArbitrary"],"sources":["../src/test.arbs.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAmC,IAAAI,EAAA,GAAAF,UAAA;AAEnC,IAAAG,IAAA,GAAAF,uBAAA,CAAAH,OAAA;AAAiC,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPjC;;AASA,MAAMW,GAAG,GAAG,IAAIC,iBAAM,CAACtB,IAAI,CAACuB,cAAc,CAAC,CAAC,CAAC,CAAC;AAE9C,IAAAC,gBAAQ,EAACC,YAAK,CAAC;AAEf;;;AAGM,SAAUC,QAAQA,CAAIC,GAAoB;EAC9C,OAAOA,GAAG,CAACD,QAAQ,CAACL,GAAG,EAAEO,SAAS,CAAC;AACrC;AAEA;;;AAGM,SAAUC,qBAAqBA,CAAIF,GAAmB;EAC1D,OAAOD,QAAQ,CAACC,GAAG,CAAC5B,
|
|
1
|
+
{"version":3,"file":"test.arbs.cjs","names":["_faker","require","_faker2","_fastCheck","_interopRequireWildcard","fc","rand","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","rnd","Random","congruential32","setFaker","faker","generate","arb","undefined","generateFromArbitrary"],"sources":["../src/test.arbs.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAmC,IAAAI,EAAA,GAAAF,UAAA;AAEnC,IAAAG,IAAA,GAAAF,uBAAA,CAAAH,OAAA;AAAiC,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPjC;;AASA,MAAMW,GAAG,GAAG,IAAIC,iBAAM,CAACtB,IAAI,CAACuB,cAAc,CAAC,CAAC,CAAC,CAAC;AAE9C,IAAAC,gBAAQ,EAACC,YAAK,CAAC;AAEf;;;AAGM,SAAUC,QAAQA,CAAIC,GAAoB;EAC9C,OAAOA,GAAG,CAACD,QAAQ,CAACL,GAAG,EAAEO,SAAS,CAAC;AACrC;AAEA;;;AAGM,SAAUC,qBAAqBA,CAAIF,GAAmB;EAC1D;EACA,OAAOD,QAAQ,CAACC,GAAG,CAAC5B,EAAS,CAAC,CAAC;AACjC","ignoreList":[]}
|
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import type { StringId } from "@effect-app/schema";
|
|
2
|
+
import { NonEmptyString2k } from "@effect-app/schema";
|
|
2
3
|
import { Context, Effect, Layer, Option, S } from "effect-app";
|
|
3
4
|
import type { OperationProgress } from "effect-app/Operations";
|
|
4
|
-
import * as Scope from "effect/Scope";
|
|
5
5
|
import { Operation, OperationId } from "effect-app/Operations";
|
|
6
|
+
import * as Scope from "effect/Scope";
|
|
6
7
|
declare const Operations_base: (abstract new (service: {
|
|
7
8
|
cleanup: Effect.Effect<void, never, never>;
|
|
8
|
-
register: Effect.Effect<StringId, never, Scope.Scope>;
|
|
9
|
+
register: (title: NonEmptyString2k) => Effect.Effect<StringId, never, Scope.Scope>;
|
|
10
|
+
all: Effect.Effect<Operation[], never, never>;
|
|
9
11
|
find: (id: StringId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
10
12
|
update: (id: StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
11
13
|
}) => Readonly<{
|
|
12
14
|
cleanup: Effect.Effect<void, never, never>;
|
|
13
|
-
register: Effect.Effect<StringId, never, Scope.Scope>;
|
|
15
|
+
register: (title: NonEmptyString2k) => Effect.Effect<StringId, never, Scope.Scope>;
|
|
16
|
+
all: Effect.Effect<Operation[], never, never>;
|
|
14
17
|
find: (id: StringId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
15
18
|
update: (id: StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
16
19
|
}> & Context.TagClassShape<"effect-app/Operations", {
|
|
17
20
|
cleanup: Effect.Effect<void, never, never>;
|
|
18
|
-
register: Effect.Effect<StringId, never, Scope.Scope>;
|
|
21
|
+
register: (title: NonEmptyString2k) => Effect.Effect<StringId, never, Scope.Scope>;
|
|
22
|
+
all: Effect.Effect<Operation[], never, never>;
|
|
19
23
|
find: (id: StringId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
20
24
|
update: (id: StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
21
25
|
}>) & {
|
|
@@ -31,13 +35,15 @@ declare const Operations_base: (abstract new (service: {
|
|
|
31
35
|
make: Effect<Operations, never, never>;
|
|
32
36
|
} & Context.Tag<Operations, Operations> & {
|
|
33
37
|
cleanup: Effect<void, never, Operations>;
|
|
34
|
-
register: Effect<StringId, never, Scope.Scope | Operations>;
|
|
38
|
+
register: (title: NonEmptyString2k) => Effect<StringId, never, Scope.Scope | Operations>;
|
|
39
|
+
all: Effect<Operation[], never, Operations>;
|
|
35
40
|
find: (id: StringId) => Effect<Option.Option<Operation>, never, Operations>;
|
|
36
41
|
update: (id: StringId, progress: OperationProgress) => Effect<void, never, Operations>;
|
|
37
42
|
} & {
|
|
38
43
|
use: <X>(body: (_: {
|
|
39
44
|
cleanup: Effect.Effect<void, never, never>;
|
|
40
|
-
register: Effect.Effect<StringId, never, Scope.Scope>;
|
|
45
|
+
register: (title: NonEmptyString2k) => Effect.Effect<StringId, never, Scope.Scope>;
|
|
46
|
+
all: Effect.Effect<Operation[], never, never>;
|
|
41
47
|
find: (id: StringId) => Effect.Effect<Option.Option<Operation>, never, never>;
|
|
42
48
|
update: (id: StringId, progress: OperationProgress) => Effect.Effect<void, never, never>;
|
|
43
49
|
}) => X) => X extends Effect<infer A_3, infer E_5, infer R_5> ? Effect<A_3, E_5, R_5 | Operations> : Effect<X, never, Operations>;
|
|
@@ -46,21 +52,9 @@ export declare class Operations extends Operations_base {
|
|
|
46
52
|
private static readonly CleanupLive;
|
|
47
53
|
static readonly Live: Layer.Layer<Operations, never, never>;
|
|
48
54
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
export declare function
|
|
53
|
-
/**
|
|
54
|
-
* @tsplus getter function forkOperation
|
|
55
|
-
*/
|
|
56
|
-
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>): (inp: Inp) => Effect.Effect<string & S.StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
57
|
-
/**
|
|
58
|
-
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
59
|
-
*/
|
|
60
|
-
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>): Effect.Effect<string & S.StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
61
|
-
/**
|
|
62
|
-
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
63
|
-
*/
|
|
64
|
-
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<StringId, never, Operations | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
55
|
+
export declare function forkOperation<R, E, A>(self: Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<string & S.StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
56
|
+
export declare function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>, title: NonEmptyString2k): (inp: Inp) => Effect.Effect<string & S.StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
57
|
+
export declare function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k): Effect.Effect<string & S.StringIdBrand, never, Operations | Exclude<R, Scope.Scope>>;
|
|
58
|
+
export declare function forkOperationWithEffect<R, R2, E, E2, A, A2>(self: (id: OperationId) => Effect<A, E, R>, fnc: (id: OperationId) => Effect<A2, E2, R2>, title: NonEmptyString2k): Effect<StringId, never, Operations | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>>;
|
|
65
59
|
export {};
|
|
66
60
|
//# sourceMappingURL=Operations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/services/Operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Operations.d.ts","sourceRoot":"","sources":["../../src/services/Operations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAS,OAAO,EAAkB,MAAM,EAAQ,KAAK,EAAE,MAAM,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AACrG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAW,SAAS,EAAE,WAAW,EAAW,MAAM,uBAAuB,CAAA;AAEhF,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FrC,qBAAa,UAAW,SAAQ,eAA8D;IAC5F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAiBuB;IAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,wCAA4D;CACjF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,wFAYpF;AAED,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,EAAE,KAAK,EAAE,gBAAgB,SAChG,GAAG,0FACjB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,wFAa5G;AAED,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,EAC5C,KAAK,EAAE,gBAAgB,GACtB,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAc1F"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app";
|
|
2
|
-
import * as Scope from "effect/Scope";
|
|
3
|
-
import { forkDaemonReportRequestUnexpected } from "../api/reportError.js";
|
|
4
1
|
import { annotateLogscoped } from "@effect-app/core/Effect";
|
|
5
2
|
import { reportError } from "@effect-app/infra/errorReporter";
|
|
6
3
|
import { NonEmptyString2k } from "@effect-app/schema";
|
|
7
4
|
import { subHours } from "date-fns";
|
|
5
|
+
import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app";
|
|
8
6
|
import { Failure, Operation, OperationId, Success } from "effect-app/Operations";
|
|
9
7
|
import { FiberBag } from "effect-app/services/FiberBag";
|
|
8
|
+
import * as Scope from "effect/Scope";
|
|
9
|
+
import { forkDaemonReportRequestUnexpected } from "../api/reportError.js";
|
|
10
10
|
const reportAppError = reportError("Operations.Cleanup");
|
|
11
11
|
const make = Effect.sync(() => {
|
|
12
12
|
const ops = new Map();
|
|
@@ -24,9 +24,9 @@ const make = Effect.sync(() => {
|
|
|
24
24
|
});
|
|
25
25
|
})
|
|
26
26
|
.pipe(Effect.withSpan("Operations.cleanup"));
|
|
27
|
-
function addOp(id) {
|
|
27
|
+
function addOp(id, title) {
|
|
28
28
|
return Effect.sync(() => {
|
|
29
|
-
ops.set(id, new Operation({ id }));
|
|
29
|
+
ops.set(id, new Operation({ id, title }));
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
function findOp(id) {
|
|
@@ -65,7 +65,8 @@ const make = Effect.sync(() => {
|
|
|
65
65
|
}
|
|
66
66
|
return {
|
|
67
67
|
cleanup,
|
|
68
|
-
register: Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id), (_, exit) => finishOp(id, exit)))),
|
|
68
|
+
register: (title) => Effect.tap(makeOp, (id) => Effect.andThen(annotateLogscoped("operationId", id), Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit)))),
|
|
69
|
+
all: Effect.sync(() => [...ops.values()]),
|
|
69
70
|
find: findOp,
|
|
70
71
|
update
|
|
71
72
|
};
|
|
@@ -84,37 +85,25 @@ export class Operations extends Context.TagMakeId("effect-app/Operations", make)
|
|
|
84
85
|
.pipe(Layer.effectDiscard, Layer.provide(FiberBag.Live));
|
|
85
86
|
static Live = this.CleanupLive.pipe(Layer.provideMerge(this.toLayer()));
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
export function forkOperation(self) {
|
|
91
|
-
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
|
|
92
|
-
.register
|
|
88
|
+
export function forkOperation(self, title) {
|
|
89
|
+
return Effect.flatMap(Scope.make(), (scope) => Operations
|
|
90
|
+
.register(title)
|
|
93
91
|
.pipe(Scope.extend(scope), Effect
|
|
94
|
-
.tap(() => forkDaemonReportRequestUnexpected(Scope.use(self, scope)))))
|
|
92
|
+
.tap(() => forkDaemonReportRequestUnexpected(Scope.use(self, scope)))));
|
|
95
93
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
*/
|
|
99
|
-
export function forkOperationFunction(fnc) {
|
|
100
|
-
return (inp) => fnc(inp).pipe(forkOperation);
|
|
94
|
+
export function forkOperationFunction(fnc, title) {
|
|
95
|
+
return (inp) => fnc(inp).pipe((_) => forkOperation(_, title));
|
|
101
96
|
}
|
|
102
|
-
|
|
103
|
-
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
104
|
-
*/
|
|
105
|
-
export function forkOperation2(self) {
|
|
97
|
+
export function forkOperation2(self, title) {
|
|
106
98
|
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope.make(), (scope) => Operations
|
|
107
|
-
.register
|
|
99
|
+
.register(title)
|
|
108
100
|
.pipe(Scope.extend(scope), Effect
|
|
109
101
|
.tap((id) => forkDaemonReportRequestUnexpected(Scope.use(self(id), scope))))));
|
|
110
102
|
}
|
|
111
|
-
|
|
112
|
-
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
113
|
-
*/
|
|
114
|
-
export function forkOperationWithEffect(self, fnc) {
|
|
103
|
+
export function forkOperationWithEffect(self, fnc, title) {
|
|
115
104
|
return Effect.flatMap(Operations, (Operations) => Effect.flatMap(Scope
|
|
116
105
|
.make(), (scope) => Operations
|
|
117
|
-
.register
|
|
106
|
+
.register(title)
|
|
118
107
|
.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))))));
|
|
119
108
|
}
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlcmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9PcGVyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RCxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUV6RSxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUV4RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtJQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQTtJQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBRXBELE1BQU0sT0FBTyxHQUFHLE1BQU07U0FDbkIsSUFBSSxDQUFDLEdBQUcsRUFB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
|
package/dist/test.arbs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.arbs.d.ts","sourceRoot":"","sources":["../src/test.arbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAOhC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAE/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"test.arbs.d.ts","sourceRoot":"","sources":["../src/test.arbs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,YAAY,CAAA;AAOhC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAE/C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAG3D"}
|
package/dist/test.arbs.js
CHANGED
|
@@ -16,6 +16,7 @@ export function generate(arb) {
|
|
|
16
16
|
* @tsplus getter effect/schema/Arbitrary generate
|
|
17
17
|
*/
|
|
18
18
|
export function generateFromArbitrary(arb) {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
19
20
|
return generate(arb(fc));
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5hcmJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3QuYXJicy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEI7QUFFNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ2hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBRWpDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUU5QyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7QUFFZjs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUksR0FBb0I7SUFDOUMsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUksR0FBbUI7SUFDMUQscUdBQXFHO0lBQ3JHLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFTLENBQUMsQ0FBQyxDQUFBO0FBQ2pDLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.231.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -9,25 +9,25 @@
|
|
|
9
9
|
"express-oauth2-jwt-bearer": "^1.6.0",
|
|
10
10
|
"@faker-js/faker": "^8.4.1",
|
|
11
11
|
"@sendgrid/helpers": "^8.0.0",
|
|
12
|
-
"@sendgrid/mail": "^8.1.
|
|
12
|
+
"@sendgrid/mail": "^8.1.3",
|
|
13
13
|
"change-case": "^5.4.3",
|
|
14
14
|
"cross-fetch": "^4.0.0",
|
|
15
|
-
"fast-check": "~3.17.
|
|
15
|
+
"fast-check": "~3.17.1",
|
|
16
16
|
"object-hash": "^3.0.0",
|
|
17
17
|
"path-parser": "^6.1.0",
|
|
18
18
|
"proper-lockfile": "^4.1.2",
|
|
19
19
|
"pure-rand": "6.1.0",
|
|
20
20
|
"redlock": "^4.2.0",
|
|
21
|
-
"@effect-app/
|
|
22
|
-
"effect-app": "0.
|
|
23
|
-
"@effect-app/schema": "0.
|
|
24
|
-
"
|
|
21
|
+
"@effect-app/core": "0.168.0",
|
|
22
|
+
"@effect-app/infra-adapters": "0.152.1",
|
|
23
|
+
"@effect-app/schema": "0.219.0",
|
|
24
|
+
"effect-app": "0.200.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/cli": "^7.24.1",
|
|
28
|
-
"@sentry/node": "^7.
|
|
28
|
+
"@sentry/node": "^7.109.0",
|
|
29
29
|
"@types/express": "^4.17.21",
|
|
30
|
-
"@types/node": "~20.
|
|
30
|
+
"@types/node": "~20.12.2",
|
|
31
31
|
"@types/proper-lockfile": "^4.1.4",
|
|
32
32
|
"@types/redis": "^2.8.32",
|
|
33
33
|
"@types/redlock": "^4.0.7",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"express": "^4.19.2",
|
|
45
|
-
"@effect/platform": "^0.48.
|
|
46
|
-
"@effect/schema": "^0.64.
|
|
45
|
+
"@effect/platform": "^0.48.22",
|
|
46
|
+
"@effect/schema": "^0.64.16",
|
|
47
47
|
"effect": "^2.4.15"
|
|
48
48
|
},
|
|
49
49
|
"typesVersions": {
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type { StringId } from "@effect-app/schema"
|
|
2
|
-
import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app"
|
|
3
|
-
import type { OperationProgress } from "effect-app/Operations"
|
|
4
|
-
import * as Scope from "effect/Scope"
|
|
5
|
-
import { forkDaemonReportRequestUnexpected } from "../api/reportError.js"
|
|
6
|
-
|
|
7
1
|
import { annotateLogscoped } from "@effect-app/core/Effect"
|
|
8
2
|
import { reportError } from "@effect-app/infra/errorReporter"
|
|
3
|
+
import type { StringId } from "@effect-app/schema"
|
|
9
4
|
import { NonEmptyString2k } from "@effect-app/schema"
|
|
10
5
|
import { subHours } from "date-fns"
|
|
6
|
+
import { Cause, Context, copy, Duration, Effect, Exit, Layer, Option, S, Schedule } from "effect-app"
|
|
7
|
+
import type { OperationProgress } from "effect-app/Operations"
|
|
11
8
|
import { Failure, Operation, OperationId, Success } from "effect-app/Operations"
|
|
12
9
|
import { FiberBag } from "effect-app/services/FiberBag"
|
|
10
|
+
import * as Scope from "effect/Scope"
|
|
11
|
+
import { forkDaemonReportRequestUnexpected } from "../api/reportError.js"
|
|
13
12
|
|
|
14
13
|
const reportAppError = reportError("Operations.Cleanup")
|
|
15
14
|
|
|
@@ -31,9 +30,9 @@ const make = Effect.sync(() => {
|
|
|
31
30
|
})
|
|
32
31
|
.pipe(Effect.withSpan("Operations.cleanup"))
|
|
33
32
|
|
|
34
|
-
function addOp(id: OperationId) {
|
|
33
|
+
function addOp(id: OperationId, title: NonEmptyString2k) {
|
|
35
34
|
return Effect.sync(() => {
|
|
36
|
-
ops.set(id, new Operation({ id }))
|
|
35
|
+
ops.set(id, new Operation({ id, title }))
|
|
37
36
|
})
|
|
38
37
|
}
|
|
39
38
|
function findOp(id: OperationId) {
|
|
@@ -82,15 +81,17 @@ const make = Effect.sync(() => {
|
|
|
82
81
|
}
|
|
83
82
|
return {
|
|
84
83
|
cleanup,
|
|
85
|
-
register:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
84
|
+
register: (title: NonEmptyString2k) =>
|
|
85
|
+
Effect.tap(
|
|
86
|
+
makeOp,
|
|
87
|
+
(id) =>
|
|
88
|
+
Effect.andThen(
|
|
89
|
+
annotateLogscoped("operationId", id),
|
|
90
|
+
Effect.acquireRelease(addOp(id, title), (_, exit) => finishOp(id, exit))
|
|
91
|
+
)
|
|
92
|
+
),
|
|
93
93
|
|
|
94
|
+
all: Effect.sync(() => [...ops.values()]),
|
|
94
95
|
find: findOp,
|
|
95
96
|
update
|
|
96
97
|
}
|
|
@@ -119,41 +120,31 @@ export class Operations extends Context.TagMakeId("effect-app/Operations", make)
|
|
|
119
120
|
static readonly Live = this.CleanupLive.pipe(Layer.provideMerge(this.toLayer()))
|
|
120
121
|
}
|
|
121
122
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
Effect
|
|
135
|
-
.tap(() => forkDaemonReportRequestUnexpected(Scope.use(self, scope)))
|
|
136
|
-
)
|
|
137
|
-
))
|
|
123
|
+
export function forkOperation<R, E, A>(self: Effect<A, E, R>, title: NonEmptyString2k) {
|
|
124
|
+
return Effect.flatMap(
|
|
125
|
+
Scope.make(),
|
|
126
|
+
(scope) =>
|
|
127
|
+
Operations
|
|
128
|
+
.register(title)
|
|
129
|
+
.pipe(
|
|
130
|
+
Scope.extend(scope),
|
|
131
|
+
Effect
|
|
132
|
+
.tap(() => forkDaemonReportRequestUnexpected(Scope.use(self, scope)))
|
|
133
|
+
)
|
|
134
|
+
)
|
|
138
135
|
}
|
|
139
136
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
*/
|
|
143
|
-
export function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>) {
|
|
144
|
-
return (inp: Inp) => fnc(inp).pipe(forkOperation)
|
|
137
|
+
export function forkOperationFunction<R, E, A, Inp>(fnc: (inp: Inp) => Effect<A, E, R>, title: NonEmptyString2k) {
|
|
138
|
+
return (inp: Inp) => fnc(inp).pipe((_) => forkOperation(_, title))
|
|
145
139
|
}
|
|
146
140
|
|
|
147
|
-
|
|
148
|
-
* @tsplus static effect/io/Effect.Ops forkOperation
|
|
149
|
-
*/
|
|
150
|
-
export function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>) {
|
|
141
|
+
export function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E, R>, title: NonEmptyString2k) {
|
|
151
142
|
return Effect.flatMap(Operations, (Operations) =>
|
|
152
143
|
Effect.flatMap(
|
|
153
144
|
Scope.make(),
|
|
154
145
|
(scope) =>
|
|
155
146
|
Operations
|
|
156
|
-
.register
|
|
147
|
+
.register(title)
|
|
157
148
|
.pipe(
|
|
158
149
|
Scope.extend(scope),
|
|
159
150
|
Effect
|
|
@@ -162,12 +153,10 @@ export function forkOperation2<R, E, A>(self: (opId: OperationId) => Effect<A, E
|
|
|
162
153
|
))
|
|
163
154
|
}
|
|
164
155
|
|
|
165
|
-
/**
|
|
166
|
-
* @tsplus static effect/io/Effect.Ops forkOperationWithEffect
|
|
167
|
-
*/
|
|
168
156
|
export function forkOperationWithEffect<R, R2, E, E2, A, A2>(
|
|
169
157
|
self: (id: OperationId) => Effect<A, E, R>,
|
|
170
|
-
fnc: (id: OperationId) => Effect<A2, E2, R2
|
|
158
|
+
fnc: (id: OperationId) => Effect<A2, E2, R2>,
|
|
159
|
+
title: NonEmptyString2k
|
|
171
160
|
): Effect<StringId, never, Operations | Exclude<R, Scope.Scope> | Exclude<R2, Scope.Scope>> {
|
|
172
161
|
return Effect.flatMap(Operations, (Operations) =>
|
|
173
162
|
Effect.flatMap(
|
|
@@ -175,7 +164,7 @@ export function forkOperationWithEffect<R, R2, E, E2, A, A2>(
|
|
|
175
164
|
.make(),
|
|
176
165
|
(scope) =>
|
|
177
166
|
Operations
|
|
178
|
-
.register
|
|
167
|
+
.register(title)
|
|
179
168
|
.pipe(
|
|
180
169
|
Scope.extend(scope),
|
|
181
170
|
Effect.tap((opId) => forkDaemonReportRequestUnexpected(Scope.use(self(opId), scope))),
|
package/src/test.arbs.ts
CHANGED
|
@@ -22,5 +22,6 @@ export function generate<T>(arb: fc.Arbitrary<T>) {
|
|
|
22
22
|
* @tsplus getter effect/schema/Arbitrary generate
|
|
23
23
|
*/
|
|
24
24
|
export function generateFromArbitrary<T>(arb: A.Arbitrary<T>) {
|
|
25
|
-
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
26
|
+
return generate(arb(fc as any))
|
|
26
27
|
}
|