effect-app 0.180.5 → 0.180.7
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 +12 -0
- package/_cjs/services/FiberBag.cjs +7 -9
- package/_cjs/services/FiberBag.cjs.map +1 -1
- package/dist/services/FiberBag.d.ts +27 -34
- package/dist/services/FiberBag.d.ts.map +1 -1
- package/dist/services/FiberBag.js +9 -11
- package/package.json +3 -3
- package/src/services/FiberBag.ts +13 -11
package/CHANGELOG.md
CHANGED
|
@@ -7,16 +7,14 @@ exports.FiberBag = void 0;
|
|
|
7
7
|
var _core = require("@effect-app/core");
|
|
8
8
|
var _service = require("../service.cjs");
|
|
9
9
|
const make = _core.Effect.gen(function* ($) {
|
|
10
|
-
const
|
|
11
|
-
const join =
|
|
12
|
-
const add = (...fibers) =>
|
|
13
|
-
const addAll = fibers =>
|
|
14
|
-
const
|
|
15
|
-
const forkScoped = effect => effect.pipe(_core.Effect.forkScoped, _core.Effect.andThen(add));
|
|
10
|
+
const set = yield* $(_core.FiberSet.make());
|
|
11
|
+
const join = _core.Effect.sync(() => [...set]).pipe(_core.Effect.tap(bag => _core.Effect.logDebug("[FiberBag] Joining " + bag.length + " fibers")), _core.Effect.andThen(_core.Fiber.joinAll));
|
|
12
|
+
const add = (...fibers) => _core.Effect.sync(() => fibers.forEach(_ => _core.FiberSet.unsafeAdd(set, _)));
|
|
13
|
+
const addAll = fibers => _core.Effect.sync(() => fibers.forEach(_ => _core.FiberSet.unsafeAdd(set, _)));
|
|
14
|
+
const run = _core.FiberSet.run(set);
|
|
16
15
|
return {
|
|
17
16
|
join,
|
|
18
|
-
|
|
19
|
-
forkScoped,
|
|
17
|
+
run,
|
|
20
18
|
add,
|
|
21
19
|
addAll
|
|
22
20
|
};
|
|
@@ -27,7 +25,7 @@ const make = _core.Effect.gen(function* ($) {
|
|
|
27
25
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
28
26
|
*/
|
|
29
27
|
class FiberBag extends (0, _service.TagClassMakeId)("FiberBag", make)() {
|
|
30
|
-
static Live = this.
|
|
28
|
+
static Live = this.toLayerScoped();
|
|
31
29
|
static JoinLive = this.pipe(_core.Effect.andThen(_ => _.join), _core.Layer.effectDiscard, _core.Layer.provide(this.Live));
|
|
32
30
|
}
|
|
33
31
|
exports.FiberBag = FiberBag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiberBag.cjs","names":["_core","require","_service","make","Effect","gen","$","
|
|
1
|
+
{"version":3,"file":"FiberBag.cjs","names":["_core","require","_service","make","Effect","gen","$","set","FiberSet","join","sync","pipe","tap","bag","logDebug","length","andThen","Fiber","joinAll","add","fibers","forEach","_","unsafeAdd","addAll","run","FiberBag","TagClassMakeId","Live","toLayerScoped","JoinLive","Layer","effectDiscard","provide"],"sources":["../../src/services/FiberBag.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,MAAME,IAAI,GAAGC,YAAM,CAACC,GAAG,CAAC,WAAUC,CAAC;EACjC,MAAMC,GAAG,GAAG,OAAOD,CAAC,CAACE,cAAQ,CAACL,IAAI,EAAgB,CAAC;EACnD,MAAMM,IAAI,GAAGL,YAAM,CAACM,IAAI,CAAC,MAAM,CAAC,GAAGH,GAAG,CAAC,CAAC,CAACI,IAAI,CAC3CP,YAAM,CAACQ,GAAG,CAAEC,GAAG,IAAKT,YAAM,CAACU,QAAQ,CAAC,qBAAqB,GAAGD,GAAG,CAACE,MAAM,GAAG,SAAS,CAAC,CAAC,EACpFX,YAAM,CAACY,OAAO,CAACC,WAAK,CAACC,OAAO,CAAC,CAC9B;EACD,MAAMC,GAAG,GAAGA,CAAC,GAAGC,MAA0C,KACxDhB,YAAM,CAACM,IAAI,CAAC,MAAMU,MAAM,CAACC,OAAO,CAAEC,CAAC,IAAKd,cAAQ,CAACe,SAAS,CAAChB,GAAG,EAAEe,CAAC,CAAC,CAAC,CAAC;EACtE,MAAME,MAAM,GAAIJ,MAAmD,IACjEhB,YAAM,CAACM,IAAI,CAAC,MAAMU,MAAM,CAACC,OAAO,CAAEC,CAAC,IAAKd,cAAQ,CAACe,SAAS,CAAChB,GAAG,EAAEe,CAAC,CAAC,CAAC,CAAC;EAEtE,MAAMG,GAAG,GAAGjB,cAAQ,CAACiB,GAAG,CAAClB,GAAG,CAAC;EAE7B,OAAO;IACLE,IAAI;IACJgB,GAAG;IACHN,GAAG;IACHK;GACD;AACH,CAAC,CAAC;AAEF;;;;;AAKM,MAAOE,QAAS,SAAQ,IAAAC,uBAAc,EAAC,UAAU,EAAExB,IAAI,CAAC,EAAY;EACxE,OAAgByB,IAAI,GAAG,IAAI,CAACC,aAAa,EAAE;EAC3C,OAAgBC,QAAQ,GAAG,IAAI,CAACnB,IAAI,CAACP,YAAM,CAACY,OAAO,CAAEM,CAAC,IAAKA,CAAC,CAACb,IAAI,CAAC,EAAEsB,WAAK,CAACC,aAAa,EAAED,WAAK,CAACE,OAAO,CAAC,IAAI,CAACL,IAAI,CAAC,CAAC"}
|
|
@@ -2,60 +2,53 @@ import { Effect, Fiber, Layer } from "@effect-app/core";
|
|
|
2
2
|
declare const FiberBag_base: {
|
|
3
3
|
new (service: {
|
|
4
4
|
join: Effect.Effect<void, never, never>;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
addAll: (fibers: readonly Fiber.Fiber<void, never>[]) => Effect.Effect<void, never, never>;
|
|
5
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
6
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
7
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
9
8
|
}): Readonly<{
|
|
10
9
|
join: Effect.Effect<void, never, never>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
addAll: (fibers: readonly Fiber.Fiber<void, never>[]) => Effect.Effect<void, never, never>;
|
|
10
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
11
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
12
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
15
13
|
}> & import("effect/Context").TagClassShape<"FiberBag", {
|
|
16
14
|
join: Effect.Effect<void, never, never>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
addAll: (fibers: readonly Fiber.Fiber<void, never>[]) => Effect.Effect<void, never, never>;
|
|
15
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
16
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
17
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
21
18
|
}>;
|
|
22
19
|
toLayer: {
|
|
23
|
-
(): Layer<FiberBag, never,
|
|
24
|
-
<E,
|
|
20
|
+
(): Layer<FiberBag, never, import("effect/Scope").Scope>;
|
|
21
|
+
<E, R_1>(eff: Effect<{
|
|
25
22
|
join: Effect.Effect<void, never, never>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}, E, R_2>): Layer<FiberBag, E, R_2>;
|
|
23
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
24
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
25
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
26
|
+
}, E, R_1>): Layer<FiberBag, E, R_1>;
|
|
31
27
|
};
|
|
32
28
|
toLayerScoped: {
|
|
33
29
|
(): Layer<FiberBag, never, never>;
|
|
34
|
-
<E_1,
|
|
30
|
+
<E_1, R_2>(eff: Effect<{
|
|
35
31
|
join: Effect.Effect<void, never, never>;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}, E_1, R_3>): Layer<FiberBag, E_1, Exclude<R_3, import("effect/Scope").Scope>>;
|
|
32
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
33
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
34
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
35
|
+
}, E_1, R_2>): Layer<FiberBag, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
41
36
|
};
|
|
42
37
|
wrap: (service: {
|
|
43
38
|
join: Effect.Effect<void, never, never>;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
addAll: (fibers: readonly Fiber.Fiber<void, never>[]) => Effect.Effect<void, never, never>;
|
|
39
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
40
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
41
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
48
42
|
}) => FiberBag;
|
|
49
|
-
make: Effect<FiberBag, never,
|
|
43
|
+
make: Effect<FiberBag, never, import("effect/Scope").Scope>;
|
|
50
44
|
} & import("effect/Context").Tag<FiberBag, FiberBag> & {
|
|
51
45
|
$: {
|
|
52
46
|
join: Effect.Effect<void, never, FiberBag>;
|
|
53
47
|
};
|
|
54
48
|
} & {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
addAll: (fibers: readonly Fiber.Fiber<void, never>[]) => Effect.Effect<void, never, FiberBag>;
|
|
49
|
+
run: (effect: Effect.Effect<never, never, unknown>) => Effect.Effect<Fiber.RuntimeFiber<never, never>, never, unknown>;
|
|
50
|
+
add: (...args: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, FiberBag>;
|
|
51
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, FiberBag>;
|
|
59
52
|
};
|
|
60
53
|
/**
|
|
61
54
|
* Whenever you fork long running fibers e.g via `Effect.forkScoped` or `Effect.forkDaemon`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiberBag.d.ts","sourceRoot":"","sources":["../../src/services/FiberBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"FiberBag.d.ts","sourceRoot":"","sources":["../../src/services/FiberBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BjE;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,aAA4C;IACxE,MAAM,CAAC,QAAQ,CAAC,IAAI,gCAAuB;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,mCAA0F;CACnH"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { Effect, Fiber,
|
|
1
|
+
import { Effect, Fiber, FiberSet, Layer } from "@effect-app/core";
|
|
2
2
|
import { TagClassMakeId } from "../service.js";
|
|
3
3
|
const make = Effect.gen(function* ($) {
|
|
4
|
-
const
|
|
5
|
-
const join =
|
|
6
|
-
const add = (...fibers) =>
|
|
7
|
-
const addAll = (fibers) =>
|
|
8
|
-
const
|
|
9
|
-
const forkScoped = (effect) => effect.pipe(Effect.forkScoped, Effect.andThen(add));
|
|
4
|
+
const set = yield* $(FiberSet.make());
|
|
5
|
+
const join = Effect.sync(() => [...set]).pipe(Effect.tap((bag) => Effect.logDebug("[FiberBag] Joining " + bag.length + " fibers")), Effect.andThen(Fiber.joinAll));
|
|
6
|
+
const add = (...fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)));
|
|
7
|
+
const addAll = (fibers) => Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)));
|
|
8
|
+
const run = FiberSet.run(set);
|
|
10
9
|
return {
|
|
11
10
|
join,
|
|
12
|
-
|
|
13
|
-
forkScoped,
|
|
11
|
+
run,
|
|
14
12
|
add,
|
|
15
13
|
addAll
|
|
16
14
|
};
|
|
@@ -21,7 +19,7 @@ const make = Effect.gen(function* ($) {
|
|
|
21
19
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
22
20
|
*/
|
|
23
21
|
export class FiberBag extends TagClassMakeId("FiberBag", make)() {
|
|
24
|
-
static Live = this.
|
|
22
|
+
static Live = this.toLayerScoped();
|
|
25
23
|
static JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live));
|
|
26
24
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmliZXJCYWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvRmliZXJCYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUE7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUNwRixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUEwQyxFQUFFLEVBQUUsQ0FDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFtRCxFQUFFLEVBQUUsQ0FDckUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFdEUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUU3QixPQUFPO1FBQ0wsSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsTUFBTTtLQUNQLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQVk7SUFDeEUsTUFBTSxDQUFVLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDM0MsTUFBTSxDQUFVLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.180.
|
|
3
|
+
"version": "0.180.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"uuid": "^9.0.1",
|
|
15
15
|
"validator": "^13.11.0",
|
|
16
16
|
"@effect-app/core": "0.150.2",
|
|
17
|
-
"@effect-app/
|
|
18
|
-
"@effect-app/
|
|
17
|
+
"@effect-app/fluent-extensions": "0.143.1",
|
|
18
|
+
"@effect-app/schema": "0.202.2"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@babel/cli": "^7.23.9",
|
package/src/services/FiberBag.ts
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import { Effect, Fiber,
|
|
1
|
+
import { Effect, Fiber, FiberSet, Layer } from "@effect-app/core"
|
|
2
2
|
import { TagClassMakeId } from "../service.js"
|
|
3
3
|
|
|
4
|
+
import type {} from "effect/Scope"
|
|
5
|
+
import type {} from "effect/Context"
|
|
6
|
+
|
|
4
7
|
const make = Effect.gen(function*($) {
|
|
5
|
-
const
|
|
6
|
-
const join =
|
|
7
|
-
Ref.get,
|
|
8
|
+
const set = yield* $(FiberSet.make<never, never>())
|
|
9
|
+
const join = Effect.sync(() => [...set]).pipe(
|
|
8
10
|
Effect.tap((bag) => Effect.logDebug("[FiberBag] Joining " + bag.length + " fibers")),
|
|
9
11
|
Effect.andThen(Fiber.joinAll)
|
|
10
12
|
)
|
|
11
|
-
const add = (...fibers: Fiber.
|
|
12
|
-
|
|
13
|
+
const add = (...fibers: Fiber.RuntimeFiber<never, never>[]) =>
|
|
14
|
+
Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)))
|
|
15
|
+
const addAll = (fibers: readonly Fiber.RuntimeFiber<never, never>[]) =>
|
|
16
|
+
Effect.sync(() => fibers.forEach((_) => FiberSet.unsafeAdd(set, _)))
|
|
13
17
|
|
|
14
|
-
const
|
|
15
|
-
const forkScoped = <R>(effect: Effect<never, never, R>) => effect.pipe(Effect.forkScoped, Effect.andThen(add))
|
|
18
|
+
const run = FiberSet.run(set)
|
|
16
19
|
|
|
17
20
|
return {
|
|
18
21
|
join,
|
|
19
|
-
|
|
20
|
-
forkScoped,
|
|
22
|
+
run,
|
|
21
23
|
add,
|
|
22
24
|
addAll
|
|
23
25
|
}
|
|
@@ -29,6 +31,6 @@ const make = Effect.gen(function*($) {
|
|
|
29
31
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
30
32
|
*/
|
|
31
33
|
export class FiberBag extends TagClassMakeId("FiberBag", make)<FiberBag>() {
|
|
32
|
-
static readonly Live = this.
|
|
34
|
+
static readonly Live = this.toLayerScoped()
|
|
33
35
|
static readonly JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live))
|
|
34
36
|
}
|