effect-app 0.190.0 → 0.192.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/Pure.cjs.map +1 -1
- package/_cjs/services/FiberBag.cjs +1 -2
- package/_cjs/services/FiberBag.cjs.map +1 -1
- package/dist/Pure.d.ts +2 -3
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +1 -1
- package/dist/services/FiberBag.d.ts +7 -7
- package/dist/services/FiberBag.d.ts.map +1 -1
- package/dist/services/FiberBag.js +3 -4
- package/package.json +4 -15
- package/src/Pure.ts +1 -2
- package/src/services/FiberBag.ts +2 -3
- package/_cjs/service.cjs +0 -229
- package/_cjs/service.cjs.map +0 -1
- package/dist/service.d.ts +0 -57
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -211
- package/src/service.ts +0 -296
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 0.192.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 215071f: cleanup TagClass
|
|
8
|
+
- af56c32: Integrate Service in Context
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [af56c32]
|
|
13
|
+
- @effect-app/core@0.159.0
|
|
14
|
+
- @effect-app/schema@0.211.1
|
|
15
|
+
|
|
16
|
+
## 0.191.0
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- cb84068: replace lodash with builtin and cleanup
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [cb84068]
|
|
25
|
+
- @effect-app/fluent-extensions@0.153.0
|
|
26
|
+
- @effect-app/schema@0.211.0
|
|
27
|
+
- @effect-app/core@0.158.0
|
|
28
|
+
|
|
3
29
|
## 0.190.0
|
|
4
30
|
|
|
5
31
|
### Minor Changes
|
package/_cjs/Pure.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pure.cjs","names":["_core","require","_Function","S1","Symbol","S2","W","PureEnvBase","state","log","constructor","s","Chunk","empty","makePureEnv","unifyPureEnv","self","GMUA_","get","modify","update","Effect","flatMap","pipe","a","map","GMUA","GMU_","GMU","tagg","Context","GenericTag","castTag","PureEnvEnv","exports","_","env","set","w","append","logMany","appendAll","fromIterable","runAll","x","sync","tuple","Either","right","catchAll","err","left","provide","Layer","succeed","runResult","r","runTerm","evts","s3","toArray","runTermDiscard","w3","runA","mod","modifyM","updateWith","upd","updateWithEffect","Pure"],"sources":["../src/Pure.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAFA;;
|
|
1
|
+
{"version":3,"file":"Pure.cjs","names":["_core","require","_Function","S1","Symbol","S2","W","PureEnvBase","state","log","constructor","s","Chunk","empty","makePureEnv","unifyPureEnv","self","GMUA_","get","modify","update","Effect","flatMap","pipe","a","map","GMUA","GMU_","GMU","tagg","Context","GenericTag","castTag","PureEnvEnv","exports","_","env","set","w","append","logMany","appendAll","fromIterable","runAll","x","sync","tuple","Either","right","catchAll","err","left","provide","Layer","succeed","runResult","r","runTerm","evts","s3","toArray","runTermDiscard","w3","runA","mod","modifyM","updateWith","upd","updateWithEffect","Pure"],"sources":["../src/Pure.ts"],"sourcesContent":[null],"mappings":"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CAAEgB,CAAK,IAAI;IACtB,MAAMqB,CAAC,GAAGW,GAAG,CAAChC,CAAC,CAAC;IAChB,OAAO,IAAAW,eAAK,EAACU,CAAC,EAAEA,CAAC,CAAC;EACpB,CAAC,CAAC;AACJ;AAEA;;;AAGM,SAAUY,gBAAgBA,CAC9BD,GAAiF;EAEjF,OAAOF,OAAO,CAAE9B,CAAK,IAAKd,YAAM,CAACI,GAAG,CAAC0C,GAAG,CAAChC,CAAC,EAAE1B,GAAG,CAAC,EAAG0B,CAAC,IAAK,IAAAW,eAAK,EAACX,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC;AACxE;AAqCA;AACA;AACA;AAEA;AACO,MAAMkC,IAAI,GAAAnC,OAAA,CAAAmC,IAAA,GAAY;EAC3B;AAAA,CACD;AAED;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.FiberBag = void 0;
|
|
7
7
|
var _core = require("@effect-app/core");
|
|
8
|
-
var _service = require("../service.cjs");
|
|
9
8
|
const make = _core.Effect.gen(function* ($) {
|
|
10
9
|
const set = yield* $(_core.FiberSet.make());
|
|
11
10
|
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));
|
|
@@ -24,7 +23,7 @@ const make = _core.Effect.gen(function* ($) {
|
|
|
24
23
|
* you should register these long running fibers in a `FiberBag`, and join them at the end of your main program.
|
|
25
24
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
26
25
|
*/
|
|
27
|
-
class FiberBag extends
|
|
26
|
+
class FiberBag extends _core.Context.TagMakeId("FiberBag", make)() {
|
|
28
27
|
static Live = this.toLayerScoped();
|
|
29
28
|
static JoinLive = this.pipe(_core.Effect.andThen(_ => _.join), _core.Layer.effectDiscard, _core.Layer.provide(this.Live));
|
|
30
29
|
static run = self => this.use(_ => _.run(self));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiberBag.cjs","names":["_core","require","
|
|
1
|
+
{"version":3,"file":"FiberBag.cjs","names":["_core","require","make","Effect","gen","$","set","FiberSet","join","sync","pipe","tap","bag","logDebug","length","andThen","Fiber","joinAll","add","fibers","forEach","_","unsafeAdd","addAll","run","FiberBag","Context","TagMakeId","Live","toLayerScoped","JoinLive","Layer","effectDiscard","provide","self","use"],"sources":["../../src/services/FiberBag.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAKA,MAAMC,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,SAAQC,aAAO,CAACC,SAAS,CAAC,UAAU,EAAEzB,IAAI,CAAC,EAAY;EAC3E,OAAgB0B,IAAI,GAAG,IAAI,CAACC,aAAa,EAAE;EAC3C,OAAgBC,QAAQ,GAAG,IAAI,CAACpB,IAAI,CAACP,YAAM,CAACY,OAAO,CAAEM,CAAC,IAAKA,CAAC,CAACb,IAAI,CAAC,EAAEuB,WAAK,CAACC,aAAa,EAAED,WAAK,CAACE,OAAO,CAAC,IAAI,CAACL,IAAI,CAAC,CAAC;EAClH,OAAgBJ,GAAG,GAAOU,IAA6B,IAAK,IAAI,CAACC,GAAG,CAAEd,CAAC,IAAKA,CAAC,CAACG,GAAG,CAACU,IAAI,CAAC,CAAC"}
|
package/dist/Pure.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Chunk, Effect, Either } from "@effect-app/core";
|
|
2
|
-
import type { ServiceTagged } from "./service.js";
|
|
1
|
+
import { Chunk, Context, Effect, Either } from "@effect-app/core";
|
|
3
2
|
declare const S1: unique symbol;
|
|
4
3
|
declare const S2: unique symbol;
|
|
5
4
|
declare const W: unique symbol;
|
|
@@ -63,7 +62,7 @@ export declare function GMU_<W, S, S2, GR, GE, GA, MR, ME, UR, UE, UA>(get: Pure
|
|
|
63
62
|
*/
|
|
64
63
|
export declare function GMU<W, S, S2, GA, MR, ME>(modify: (i: GA) => Pure<W, S, S2, MR, ME, GA>): <GR, GE, UR, UE, UA>(get: Pure<W, S, S2, GR, GE, GA>, update: (i: GA) => Pure<W, S, S2, UR, UE, UA>) => Pure<W, S, S2, MR | GR | UR, ME | GE | UE, UA>;
|
|
65
64
|
export declare const PureEnvEnv: unique symbol;
|
|
66
|
-
export interface PureEnvEnv<W, S, S2> extends ServiceTagged<typeof PureEnvEnv> {
|
|
65
|
+
export interface PureEnvEnv<W, S, S2> extends Context.ServiceTagged<typeof PureEnvEnv> {
|
|
67
66
|
env: PureEnv<W, S, S2>;
|
|
68
67
|
}
|
|
69
68
|
/**
|
package/dist/Pure.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pure.d.ts","sourceRoot":"","sources":["../src/Pure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Pure.d.ts","sourceRoot":"","sources":["../src/Pure.ts"],"names":[],"mappings":"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"}
|
package/dist/Pure.js
CHANGED
|
@@ -333,4 +333,4 @@ export const Pure = {
|
|
|
333
333
|
// abc,
|
|
334
334
|
// { a: 1 }
|
|
335
335
|
// )
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QdXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUdqRCxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUNuQixNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUNuQixNQUFNLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQTJCbEIsTUFBTSxXQUFXO0lBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBVTtJQUNiLENBQUMsRUFBRSxDQUFDLENBQWlCO0lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQVc7SUFDZixLQUFLLENBQUk7SUFDVCxHQUFHLENBQVU7SUFFdEIsWUFBWSxDQUFLO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUssQ0FBQTtJQUM3QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFlLENBQUs7SUFDN0MsT0FBTyxJQUFJLFdBQVcsQ0FBVyxDQUFDLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBTztJQU1QLCtEQUErRDtJQUMvRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFPRCw0Q0FBNEM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNuQixHQUErQixFQUMvQixNQUE0RCxFQUM1RCxNQUE2QztJQUU3QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFD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
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QdXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVqRCxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUNuQixNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUNuQixNQUFNLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQTJCbEIsTUFBTSxXQUFXO0lBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBVTtJQUNiLENBQUMsRUFBRSxDQUFDLENBQWlCO0lBQ3JCLENBQUMsRUFBRSxDQUFDLENBQVc7SUFDZixLQUFLLENBQUk7SUFDVCxHQUFHLENBQVU7SUFFdEIsWUFBWSxDQUFLO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUssQ0FBQTtJQUM3QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFlLENBQUs7SUFDN0MsT0FBTyxJQUFJLFdBQVcsQ0FBVyxDQUFDLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBTztJQU1QLCtEQUErRDtJQUMvRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFPRCw0Q0FBNEM7QUFFNUM7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNuQixHQUErQixFQUMvQixNQUE0RCxFQUM1RCxNQUE2QztJQUU3QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNyRyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUEyQixNQUE0RDtJQUN6RyxPQUFPLENBQ0wsR0FBK0IsRUFDL0IsTUFBNkMsRUFDN0MsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFFRDs7R0FFRztBQUVILE1BQU0sVUFBVSxJQUFJLENBQ2xCLEdBQStCLEVBQy9CLE1BQTZDLEVBQzdDLE1BQTZDO0lBRTdDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtBQUNqRSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUF1QixNQUE2QztJQUNyRixPQUFPLENBQ0wsR0FBK0IsRUFDL0IsTUFBNkMsRUFDN0MsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0FBQ2hDLENBQUM7QUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUEwQyxTQUFTLENBQUMsQ0FBQTtBQUNuRixTQUFTLE9BQU87SUFDZCxPQUFPLElBQXNFLENBQUE7QUFDL0UsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUtsQzs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHO0lBQ2pCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUMvRCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFJLENBQUk7SUFDekIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNuRSxDQUFDO0FBSUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUFJLENBQUk7SUFDekIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBcUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2hHLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQUksQ0FBYztJQUN2QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFxQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3ZILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsTUFBTSxDQUNwQixJQUF5QyxFQUN6QyxDQUFLO0lBRUwsTUFBTSxDQUFDLEdBQUcsTUFBTTtTQUNiLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNuQixPQUFPLEVBQWM7U0FDbEIsSUFBSSxDQUNILE1BQU0sQ0FBQyxPQUFPLENBQ1osQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsNEZBQTRGO0tBQ2pLLEVBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FDUixDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlELENBQ0YsQ0FBQztTQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNsRyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBYSxDQUFDLENBQVEsRUFBRSxDQUFRLENBQUMsQ0FBQTtBQUNsRyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsSUFBeUMsRUFDekMsQ0FBSztJQUVMLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDekYsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxPQUFPLENBQ3JCLElBQXlDLEVBQ3pDLENBQUs7SUFFTCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3RILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUF5QyxFQUN6QyxDQUFLO0lBRUwsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ2xFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUNsQixJQUF5QyxFQUN6QyxDQUFLO0lBRUwsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQzNGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQVksR0FBZ0M7SUFDaEUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2hELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUN6RCxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFRLENBQUE7UUFDdEIsT0FBTyxDQUFDLENBQUE7SUFDVixDQUFDLENBQUMsQ0FBUSxDQUFBO0FBQ2QsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FDckIsR0FBaUU7SUFFakUsNERBQTREO0lBQzVELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FDbkIsT0FBTyxFQUFhLEVBQ3BCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN6RyxDQUFBO0FBQ1YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBUyxHQUFrQjtJQUNuRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFO1FBQ3RCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoQixPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQWlGO0lBRWpGLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3hFLENBQUM7QUFxQ0QsTUFBTTtBQUNOLDJCQUEyQjtBQUMzQixNQUFNO0FBRU4sa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBWTtBQUMzQixRQUFRO0NBQ1QsQ0FBQTtBQUVELE1BQU07QUFDTixxQ0FBcUM7QUFDckMsTUFBTTtBQUNOLHlFQUF5RTtBQUN6RSwrQkFBK0I7QUFDL0IsSUFBSTtBQUVKLHNDQUFzQztBQUN0Qyw2REFBNkQ7QUFDN0Qsb0VBQW9FO0FBQ3BFLDBGQUEwRjtBQUMxRixpRUFBaUU7QUFDakUsMEJBQTBCO0FBQzFCLG9FQUFvRTtBQUNwRSxNQUFNO0FBQ04sc0NBQXNDO0FBQ3RDLDBDQUEwQztBQUMxQyxvQkFBb0I7QUFDcEIsa0dBQWtHO0FBQ2xHLE1BQU07QUFFTixzQkFBc0I7QUFDdEIsV0FBVztBQUNYLFdBQVc7QUFDWCxVQUFVO0FBQ1YsTUFBTTtBQUVOLHVFQUF1RTtBQUN2RSw4QkFBOEI7QUFDOUIsaUJBQWlCO0FBQ2pCLGdEQUFnRDtBQUNoRCxzR0FBc0c7QUFDdEcsZUFBZTtBQUNmLE1BQU07QUFFTiw0RkFBNEY7QUFDNUYsOEJBQThCO0FBQzlCLGlCQUFpQjtBQUNqQixtRUFBbUU7QUFDbkUsZ0RBQWdEO0FBQ2hELDBIQUEwSDtBQUMxSCxlQUFlO0FBQ2YsTUFBTTtBQUVOLDhDQUE4QztBQUM5Qyx3REFBd0Q7QUFDeEQsTUFBTTtBQUVOLG1FQUFtRTtBQUNuRSxxRUFBcUU7QUFDckUsTUFBTTtBQUVOLHdFQUF3RTtBQUV4RSx5REFBeUQ7QUFDekQsaURBQWlEO0FBQ2pELFlBQVk7QUFDWiwwSEFBMEg7QUFDMUgsK0JBQStCO0FBQy9CLHNEQUFzRDtBQUN0RCw2REFBNkQ7QUFDN0QsdUdBQXVHO0FBQ3ZHLGVBQWU7QUFDZixZQUFZO0FBQ1osMkJBQTJCO0FBQzNCLCtGQUErRjtBQUMvRixVQUFVO0FBQ1Ysa0JBQWtCO0FBQ2xCLGVBQWU7QUFDZiwrQkFBK0I7QUFDL0IsK0VBQStFO0FBQy9FLFlBQVk7QUFDWiwrRUFBK0U7QUFDL0UsTUFBTTtBQUVOLDREQUE0RDtBQUM1RCxpREFBaUQ7QUFDakQsWUFBWTtBQUNaLFFBQVE7QUFDUiw4RUFBOEU7QUFDOUUsTUFBTTtBQUVOLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQsWUFBWTtBQUNaLFFBQVE7QUFDUixnRkFBZ0Y7QUFDaEYsTUFBTTtBQUVOLGFBQWE7QUFDYixrQkFBa0I7QUFFbEIsWUFBWTtBQUNaLFlBQVk7QUFDWixpQkFBaUI7QUFDakIsY0FBYztBQUNkLFlBQVk7QUFDWixpQkFBaUI7QUFFakIsY0FBYztBQUNkLGVBQWU7QUFDZixjQUFjO0FBQ2QsY0FBYztBQUNkLE1BQU07QUFDTixJQUFJO0FBRUosaUVBQWlFO0FBRWpFLE1BQU07QUFDTiwyQkFBMkI7QUFDM0IsTUFBTTtBQUNOLHVFQUF1RTtBQUV2RSxNQUFNO0FBQ04sOENBQThDO0FBQzlDLE1BQU07QUFDTiwwSUFBMEk7QUFDMUksMkNBQTJDO0FBQzNDLElBQUk7QUFFSixNQUFNO0FBQ04sd0NBQXdDO0FBQ3hDLE1BQU07QUFDTixxSEFBcUg7QUFDckgsMENBQTBDO0FBQzFDLElBQUk7QUFFSixNQUFNO0FBQ04sOENBQThDO0FBQzlDLE1BQU07QUFDTiwySUFBMkk7QUFDM0ksMkNBQTJDO0FBQzNDLElBQUk7QUFFSixNQUFNO0FBQ04sd0NBQXdDO0FBQ3hDLE1BQU07QUFDTixvR0FBb0c7QUFDcEcsMENBQTBDO0FBQzFDLElBQUk7QUFFSixzRUFBc0U7QUFFdEUsMEdBQTBHO0FBQzFHLGlDQUFpQztBQUNqQyxzQ0FBc0M7QUFDdEMsa0RBQWtEO0FBQ2xELHlDQUF5QztBQUN6QyxNQUFNO0FBRU4sZ0NBQWdDO0FBQ2hDLGdEQUFnRDtBQUNoRCxrREFBa0Q7QUFDbEQseUNBQXlDO0FBRXpDLE1BQU07QUFDTixJQUFJO0FBRUosd0ZBQXdGO0FBRXhGLGdJQUFnSTtBQUNoSSxJQUFJO0FBRUosK0VBQStFO0FBRS9FLHNCQUFzQjtBQUN0QixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLHVDQUF1QztBQUN2QywyQkFBMkI7QUFDM0IsNEJBQTRCO0FBRTVCLDJCQUEyQjtBQUMzQixJQUFJO0FBRUosd0JBQXdCO0FBQ3hCLHNDQUFzQztBQUN0QyxtQkFBbUI7QUFDbkIsc0NBQXNDO0FBQ3RDLGtDQUFrQztBQUNsQyxrQ0FBa0M7QUFDbEMsMENBQTBDO0FBQzFDLEtBQUs7QUFFTCwyQkFBMkI7QUFDM0IsUUFBUTtBQUNSLG1DQUFtQztBQUNuQyxhQUFhO0FBQ2IsU0FBUztBQUNULE1BQU07QUFDTiw2Q0FBNkM7QUFDN0MsOENBQThDO0FBQzlDLFdBQVc7QUFDWCxVQUFVO0FBQ1YsSUFBSTtBQUNKLHdCQUF3QjtBQUN4Qix5REFBeUQ7QUFFekQscUJBQXFCO0FBRXJCLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsSUFBSTtBQUNKLDRCQUE0QjtBQUM1QixTQUFTO0FBQ1QsYUFBYTtBQUNiLElBQUkifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Fiber, Layer } from "@effect-app/core";
|
|
1
|
+
import { Context, Effect, Fiber, Layer } from "@effect-app/core";
|
|
2
2
|
declare const FiberBag_base: (abstract new (service: {
|
|
3
3
|
join: Effect.Effect<void, never, never>;
|
|
4
4
|
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
@@ -9,7 +9,7 @@ declare const FiberBag_base: (abstract new (service: {
|
|
|
9
9
|
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
10
10
|
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
11
11
|
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
12
|
-
}> &
|
|
12
|
+
}> & Context.TagClassShape<"FiberBag", {
|
|
13
13
|
join: Effect.Effect<void, never, never>;
|
|
14
14
|
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
15
15
|
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
@@ -17,15 +17,15 @@ declare const FiberBag_base: (abstract new (service: {
|
|
|
17
17
|
}>) & {
|
|
18
18
|
toLayer: {
|
|
19
19
|
(): Layer<FiberBag, never, import("effect/Scope").Scope>;
|
|
20
|
-
<
|
|
20
|
+
<E_1, R_1>(eff: Effect<Omit<FiberBag, keyof Context.TagClassShape<any, any>>, E_1, R_1>): Layer<FiberBag, E_1, R_1>;
|
|
21
21
|
};
|
|
22
22
|
toLayerScoped: {
|
|
23
23
|
(): Layer<FiberBag, never, never>;
|
|
24
|
-
<
|
|
24
|
+
<E_2, R_2>(eff: Effect<Context.TagClassShape<any, any>, E_2, R_2>): Layer<FiberBag, E_2, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
25
25
|
};
|
|
26
|
-
of: (service:
|
|
26
|
+
of: (service: Context.TagClassShape<any, any>) => FiberBag;
|
|
27
27
|
make: Effect<FiberBag, never, import("effect/Scope").Scope>;
|
|
28
|
-
} &
|
|
28
|
+
} & Context.Tag<FiberBag, FiberBag> & {
|
|
29
29
|
join: Effect<void, never, FiberBag>;
|
|
30
30
|
add: (...args: readonly Fiber.RuntimeFiber<never, never>[]) => Effect<void, never, FiberBag>;
|
|
31
31
|
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect<void, never, FiberBag>;
|
|
@@ -35,7 +35,7 @@ declare const FiberBag_base: (abstract new (service: {
|
|
|
35
35
|
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
36
36
|
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
37
37
|
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
38
|
-
}) => X) => X extends Effect<infer
|
|
38
|
+
}) => X) => X extends Effect<infer A_3, infer E_5, infer R_5> ? Effect<A_3, E_5, FiberBag | R_5> : Effect<X, never, FiberBag>;
|
|
39
39
|
};
|
|
40
40
|
/**
|
|
41
41
|
* 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,EAAY,KAAK,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"FiberBag.d.ts","sourceRoot":"","sources":["../../src/services/FiberBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0B1E;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,aAA+C;IAC3E,MAAM,CAAC,QAAQ,CAAC,IAAI,gCAAuB;IAC3C,MAAM,CAAC,QAAQ,CAAC,QAAQ,mCAA0F;IAClH,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAa,OAAO,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,mEAAiC;CACzF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Effect, Fiber, FiberSet, Layer } from "@effect-app/core";
|
|
2
|
-
import { TagClassMakeId } from "../service.js";
|
|
1
|
+
import { Context, Effect, Fiber, FiberSet, Layer } from "@effect-app/core";
|
|
3
2
|
const make = Effect.gen(function* ($) {
|
|
4
3
|
const set = yield* $(FiberSet.make());
|
|
5
4
|
const join = Effect.sync(() => [...set]).pipe(Effect.tap((bag) => Effect.logDebug("[FiberBag] Joining " + bag.length + " fibers")), Effect.andThen(Fiber.joinAll));
|
|
@@ -18,9 +17,9 @@ const make = Effect.gen(function* ($) {
|
|
|
18
17
|
* you should register these long running fibers in a `FiberBag`, and join them at the end of your main program.
|
|
19
18
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
20
19
|
*/
|
|
21
|
-
export class FiberBag extends
|
|
20
|
+
export class FiberBag extends Context.TagMakeId("FiberBag", make)() {
|
|
22
21
|
static Live = this.toLayerScoped();
|
|
23
22
|
static JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live));
|
|
24
23
|
static run = (self) => this.use((_) => _.run(self));
|
|
25
24
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmliZXJCYWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvRmliZXJCYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUsxRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUM7SUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQWdCLENBQUMsQ0FBQTtJQUNuRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0MsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsR0FBRyxHQUFHLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEVBQ3BGLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUM5QixDQUFBO0lBQ0QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQTBDLEVBQUUsRUFBRSxDQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN0RSxNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQW1ELEVBQUUsRUFBRSxDQUNyRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUV0RSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTdCLE9BQU87UUFDTCxJQUFJO1FBQ0osR0FBRztRQUNILEdBQUc7UUFDSCxNQUFNO0tBQ1AsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQVk7SUFDM0UsTUFBTSxDQUFVLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDM0MsTUFBTSxDQUFVLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEgsTUFBTSxDQUFVLEdBQUcsR0FBRyxDQUFJLElBQTZCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSJ9
|
package/package.json
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.192.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@tsconfig/strictest": "^2.0.3",
|
|
8
8
|
"date-fns": "^3.5.0",
|
|
9
|
-
"lodash": "^4.17.21",
|
|
10
9
|
"nanoid": "^5.0.6",
|
|
11
10
|
"path-parser": "^6.1.0",
|
|
12
11
|
"query-string": "^9.0.0",
|
|
13
12
|
"ts-pattern": "^5.0.8",
|
|
14
13
|
"uuid": "^9.0.1",
|
|
15
14
|
"validator": "^13.11.0",
|
|
16
|
-
"@effect-app/core": "0.
|
|
17
|
-
"@effect-app/
|
|
18
|
-
"@effect-app/
|
|
15
|
+
"@effect-app/core": "0.159.0",
|
|
16
|
+
"@effect-app/schema": "0.211.1",
|
|
17
|
+
"@effect-app/fluent-extensions": "0.153.0"
|
|
19
18
|
},
|
|
20
19
|
"devDependencies": {
|
|
21
20
|
"@babel/cli": "^7.23.9",
|
|
@@ -241,16 +240,6 @@
|
|
|
241
240
|
"default": "./_cjs/schema.cjs"
|
|
242
241
|
}
|
|
243
242
|
},
|
|
244
|
-
"./service": {
|
|
245
|
-
"import": {
|
|
246
|
-
"types": "./dist/service.d.ts",
|
|
247
|
-
"default": "./dist/service.js"
|
|
248
|
-
},
|
|
249
|
-
"require": {
|
|
250
|
-
"types": "./dist/service.d.ts",
|
|
251
|
-
"default": "./_cjs/service.cjs"
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
243
|
"./services/FiberBag": {
|
|
255
244
|
"import": {
|
|
256
245
|
"types": "./dist/services/FiberBag.d.ts",
|
package/src/Pure.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Chunk, Context, Effect, Either, Layer } from "@effect-app/core"
|
|
3
3
|
import { tuple } from "@effect-app/core/Function"
|
|
4
|
-
import type { ServiceTagged } from "./service.js"
|
|
5
4
|
|
|
6
5
|
const S1 = Symbol()
|
|
7
6
|
const S2 = Symbol()
|
|
@@ -120,7 +119,7 @@ function castTag<W, S, S2>() {
|
|
|
120
119
|
}
|
|
121
120
|
|
|
122
121
|
export const PureEnvEnv = Symbol()
|
|
123
|
-
export interface PureEnvEnv<W, S, S2> extends ServiceTagged<typeof PureEnvEnv> {
|
|
122
|
+
export interface PureEnvEnv<W, S, S2> extends Context.ServiceTagged<typeof PureEnvEnv> {
|
|
124
123
|
env: PureEnv<W, S, S2>
|
|
125
124
|
}
|
|
126
125
|
|
package/src/services/FiberBag.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Effect, Fiber, FiberSet, Layer } from "@effect-app/core"
|
|
2
|
-
import { TagClassMakeId } from "../service.js"
|
|
1
|
+
import { Context, Effect, Fiber, FiberSet, Layer } from "@effect-app/core"
|
|
3
2
|
|
|
4
3
|
import type {} from "effect/Scope"
|
|
5
4
|
import type {} from "effect/Context"
|
|
@@ -30,7 +29,7 @@ const make = Effect.gen(function*($) {
|
|
|
30
29
|
* you should register these long running fibers in a `FiberBag`, and join them at the end of your main program.
|
|
31
30
|
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
32
31
|
*/
|
|
33
|
-
export class FiberBag extends
|
|
32
|
+
export class FiberBag extends Context.TagMakeId("FiberBag", make)<FiberBag>() {
|
|
34
33
|
static readonly Live = this.toLayerScoped()
|
|
35
34
|
static readonly JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live))
|
|
36
35
|
static readonly run = <R>(self: Effect<never, never, R>) => this.use((_) => _.run(self))
|
package/_cjs/service.cjs
DELETED
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ServiceTagged = exports.ServiceTag = exports.PhantomTypeParameter = void 0;
|
|
7
|
-
exports.TagClassId = TagClassId;
|
|
8
|
-
exports.TagClassMakeId = void 0;
|
|
9
|
-
exports.assignTag = assignTag;
|
|
10
|
-
exports.make = make;
|
|
11
|
-
exports.makeService = makeService;
|
|
12
|
-
exports.proxify = void 0;
|
|
13
|
-
var _core = require("@effect-app/core");
|
|
14
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
15
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
16
|
-
/**
|
|
17
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
18
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
19
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
const ServiceTag = exports.ServiceTag = Symbol();
|
|
23
|
-
class PhantomTypeParameter {}
|
|
24
|
-
/**
|
|
25
|
-
* @tsplus type ServiceTagged
|
|
26
|
-
*/
|
|
27
|
-
exports.PhantomTypeParameter = PhantomTypeParameter;
|
|
28
|
-
class ServiceTagged extends PhantomTypeParameter {}
|
|
29
|
-
/**
|
|
30
|
-
* @tsplus static ServiceTagged make
|
|
31
|
-
*/
|
|
32
|
-
exports.ServiceTagged = ServiceTagged;
|
|
33
|
-
function makeService(_) {
|
|
34
|
-
return _;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* @tsplus fluent effect/data/Context/Tag make
|
|
38
|
-
*/
|
|
39
|
-
function make(_, t) {
|
|
40
|
-
return t;
|
|
41
|
-
}
|
|
42
|
-
let i = 0;
|
|
43
|
-
const randomId = () => "unknown-service-" + i++;
|
|
44
|
-
function assignTag(key, creationError) {
|
|
45
|
-
return cls => {
|
|
46
|
-
const tag = _core.Context.GenericTag(key ?? randomId());
|
|
47
|
-
let fields = tag;
|
|
48
|
-
if (Reflect.ownKeys(cls).includes("key")) {
|
|
49
|
-
const {
|
|
50
|
-
key,
|
|
51
|
-
...rest
|
|
52
|
-
} = tag;
|
|
53
|
-
fields = rest;
|
|
54
|
-
}
|
|
55
|
-
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
56
|
-
if (!creationError) {
|
|
57
|
-
const limit = Error.stackTraceLimit;
|
|
58
|
-
Error.stackTraceLimit = 2;
|
|
59
|
-
creationError = new Error();
|
|
60
|
-
Error.stackTraceLimit = limit;
|
|
61
|
-
}
|
|
62
|
-
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
63
|
-
Object.defineProperty(t, "stack", {
|
|
64
|
-
get() {
|
|
65
|
-
return creationError.stack;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
return t;
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
const proxify = TagClass => () => {
|
|
72
|
-
const cache = new Map();
|
|
73
|
-
const done = new Proxy(TagClass, {
|
|
74
|
-
get(_target, prop, _receiver) {
|
|
75
|
-
if (prop === "use") {
|
|
76
|
-
// @ts-expect-error abc
|
|
77
|
-
return body => _core.Effect.andThen(TagClass, body);
|
|
78
|
-
}
|
|
79
|
-
if (prop in TagClass) {
|
|
80
|
-
// @ts-expect-error abc
|
|
81
|
-
return TagClass[prop];
|
|
82
|
-
}
|
|
83
|
-
if (cache.has(prop)) {
|
|
84
|
-
return cache.get(prop);
|
|
85
|
-
}
|
|
86
|
-
// @ts-expect-error abc
|
|
87
|
-
const fn = (...args) => _core.Effect.andThen(TagClass, s => s[prop](...args));
|
|
88
|
-
// @ts-expect-error abc
|
|
89
|
-
const cn = _core.Effect.andThen(TagClass, s => s[prop]);
|
|
90
|
-
Object.assign(fn, cn);
|
|
91
|
-
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn));
|
|
92
|
-
cache.set(prop, fn);
|
|
93
|
-
return fn;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
return done;
|
|
97
|
-
};
|
|
98
|
-
// export const TagMake = <ServiceImpl, R, E, const Key extends string>(
|
|
99
|
-
// key: Key,
|
|
100
|
-
// make: Effect<ServiceImpl, E, R>
|
|
101
|
-
// ) =>
|
|
102
|
-
// <Id>() => {
|
|
103
|
-
// const limit = Error.stackTraceLimit
|
|
104
|
-
// Error.stackTraceLimit = 2
|
|
105
|
-
// const creationError = new Error()
|
|
106
|
-
// Error.stackTraceLimit = limit
|
|
107
|
-
// const c: {
|
|
108
|
-
// new(): Context.TagClassShape<Key, ServiceImpl>
|
|
109
|
-
// toLayer: () => Layer<Id, E, R>
|
|
110
|
-
// toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
111
|
-
// } = class {
|
|
112
|
-
// static toLayer = () => {
|
|
113
|
-
// return Layer.effect(this as any, make)
|
|
114
|
-
// }
|
|
115
|
-
// static toLayerScoped = () => {
|
|
116
|
-
// return Layer.scoped(this as any, make)
|
|
117
|
-
// }
|
|
118
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
119
|
-
// } as any
|
|
120
|
-
// return proxify(assignTag<Id, ServiceImpl>(key, creationError)(c))<Id, ServiceImpl>()
|
|
121
|
-
// }
|
|
122
|
-
// export function TagClass<Id, ServiceImpl, Service = Id>(key?: string) {
|
|
123
|
-
// const limit = Error.stackTraceLimit
|
|
124
|
-
// Error.stackTraceLimit = 2
|
|
125
|
-
// const creationError = new Error()
|
|
126
|
-
// Error.stackTraceLimit = limit
|
|
127
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
128
|
-
// toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>
|
|
129
|
-
// toLayerScoped: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, Exclude<R, Scope>>
|
|
130
|
-
// } = class {
|
|
131
|
-
// constructor(service: ServiceImpl) {
|
|
132
|
-
// Object.assign(this, service)
|
|
133
|
-
// }
|
|
134
|
-
// static _key?: string
|
|
135
|
-
// static toLayer = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
136
|
-
// return Layer.effect(this as any, eff)
|
|
137
|
-
// }
|
|
138
|
-
// static toLayerScoped = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
139
|
-
// return Layer.scoped(this as any, eff)
|
|
140
|
-
// }
|
|
141
|
-
// static get key() {
|
|
142
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
143
|
-
// }
|
|
144
|
-
// } as any
|
|
145
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
146
|
-
// }
|
|
147
|
-
// export const TagClassMake = <ServiceImpl, R, E>(
|
|
148
|
-
// make: Effect<ServiceImpl, E, R>,
|
|
149
|
-
// key?: string
|
|
150
|
-
// ) =>
|
|
151
|
-
// <Id, Service = Id>() => {
|
|
152
|
-
// const limit = Error.stackTraceLimit
|
|
153
|
-
// Error.stackTraceLimit = 2
|
|
154
|
-
// const creationError = new Error()
|
|
155
|
-
// Error.stackTraceLimit = limit
|
|
156
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
157
|
-
// toLayer: { (): Layer<Id, E, R>; <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, R> }
|
|
158
|
-
// toLayerScoped: {
|
|
159
|
-
// (): Layer<Id, E, Exclude<R, Scope>>
|
|
160
|
-
// <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, Exclude<R, Scope>>
|
|
161
|
-
// }
|
|
162
|
-
// make: Effect<Id, E, R>
|
|
163
|
-
// } = class {
|
|
164
|
-
// constructor(service: ServiceImpl) {
|
|
165
|
-
// Object.assign(this, service)
|
|
166
|
-
// }
|
|
167
|
-
// static _key: string
|
|
168
|
-
// static make = make
|
|
169
|
-
// // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
170
|
-
// static toLayer = (arg?: any) => {
|
|
171
|
-
// return Layer.effect(this as any, arg ?? this.make)
|
|
172
|
-
// }
|
|
173
|
-
// static toLayerScoped = (arg?: any) => {
|
|
174
|
-
// return Layer.scoped(this as any, arg ?? this.make)
|
|
175
|
-
// }
|
|
176
|
-
// static get key() {
|
|
177
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
178
|
-
// }
|
|
179
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
180
|
-
// } as any
|
|
181
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
182
|
-
// }
|
|
183
|
-
exports.proxify = proxify;
|
|
184
|
-
function TagClassId(key) {
|
|
185
|
-
return () => {
|
|
186
|
-
const limit = Error.stackTraceLimit;
|
|
187
|
-
Error.stackTraceLimit = 2;
|
|
188
|
-
const creationError = new Error();
|
|
189
|
-
Error.stackTraceLimit = limit;
|
|
190
|
-
const c = class {
|
|
191
|
-
constructor(service) {
|
|
192
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
193
|
-
Object.assign(this, service);
|
|
194
|
-
}
|
|
195
|
-
static of = service => service;
|
|
196
|
-
static toLayer = eff => {
|
|
197
|
-
return _core.Layer.effect(this, eff);
|
|
198
|
-
};
|
|
199
|
-
static toLayerScoped = eff => {
|
|
200
|
-
return _core.Layer.scoped(this, eff);
|
|
201
|
-
};
|
|
202
|
-
};
|
|
203
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
const TagClassMakeId = (key, make) => () => {
|
|
207
|
-
const limit = Error.stackTraceLimit;
|
|
208
|
-
Error.stackTraceLimit = 2;
|
|
209
|
-
const creationError = new Error();
|
|
210
|
-
Error.stackTraceLimit = limit;
|
|
211
|
-
const c = class {
|
|
212
|
-
constructor(service) {
|
|
213
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
214
|
-
Object.assign(this, service);
|
|
215
|
-
}
|
|
216
|
-
static of = service => service;
|
|
217
|
-
static make = make;
|
|
218
|
-
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
219
|
-
static toLayer = arg => {
|
|
220
|
-
return _core.Layer.effect(this, arg ?? this.make);
|
|
221
|
-
};
|
|
222
|
-
static toLayerScoped = arg => {
|
|
223
|
-
return _core.Layer.scoped(this, arg ?? this.make);
|
|
224
|
-
};
|
|
225
|
-
};
|
|
226
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
227
|
-
};
|
|
228
|
-
exports.TagClassMakeId = TagClassMakeId;
|
|
229
|
-
//# sourceMappingURL=service.cjs.map
|
package/_cjs/service.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.cjs","names":["_core","require","ServiceTag","exports","Symbol","PhantomTypeParameter","ServiceTagged","makeService","_","make","t","i","randomId","assignTag","key","creationError","cls","tag","Context","GenericTag","fields","Reflect","ownKeys","includes","rest","Object","assign","getPrototypeOf","limit","Error","stackTraceLimit","defineProperty","get","stack","proxify","TagClass","cache","Map","done","Proxy","_target","prop","_receiver","body","Effect","andThen","has","fn","args","s","cn","setPrototypeOf","set","TagClassId","c","constructor","service","of","toLayer","eff","Layer","effect","toLayerScoped","scoped","TagClassMakeId","arg"],"sources":["../src/service.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/dist/service.d.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
3
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
4
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
5
|
-
*/
|
|
6
|
-
import type { Scope } from "@effect-app/core";
|
|
7
|
-
import { Context, Effect, Layer } from "@effect-app/core";
|
|
8
|
-
export declare const ServiceTag: unique symbol;
|
|
9
|
-
export type ServiceTag = typeof ServiceTag;
|
|
10
|
-
export declare abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
|
|
11
|
-
protected abstract readonly [ServiceTag]: {
|
|
12
|
-
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export type ServiceShape<T extends Context.TagClassShape<any, any>> = Omit<T, keyof Context.TagClassShape<any, any>>;
|
|
16
|
-
/**
|
|
17
|
-
* @tsplus type ServiceTagged
|
|
18
|
-
*/
|
|
19
|
-
export declare abstract class ServiceTagged<ServiceKey> extends PhantomTypeParameter<string, ServiceKey> {
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @tsplus static ServiceTagged make
|
|
23
|
-
*/
|
|
24
|
-
export declare function makeService<T extends ServiceTagged<any>>(_: Omit<T, ServiceTag>): T;
|
|
25
|
-
/**
|
|
26
|
-
* @tsplus fluent effect/data/Context/Tag make
|
|
27
|
-
*/
|
|
28
|
-
export declare function make<T extends ServiceTagged<any>, I = T>(_: Context.Tag<I, T>, t: Omit<T, ServiceTag>): T;
|
|
29
|
-
export declare function assignTag<Id, Service = Id>(key?: string, creationError?: Error): <S extends object>(cls: S) => S & Context.Tag<Id, Service>;
|
|
30
|
-
export type ServiceAcessorShape<Self, Type> = (Type extends Record<PropertyKey, any> ? {
|
|
31
|
-
[k in keyof Type as Type[k] extends ((...args: [...infer Args]) => infer Ret) ? ((...args: Readonly<Args>) => Ret) extends Type[k] ? k : never : k]: Type[k] extends (...args: [...infer Args]) => Effect<infer A, infer E, infer R> ? (...args: Readonly<Args>) => Effect<A, E, Self | R> : Type[k] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect<A, never, Self> : Type[k] extends Effect<infer A, infer E, infer R> ? Effect<A, E, Self | R> : Effect<Type[k], never, Self>;
|
|
32
|
-
} : {}) & {
|
|
33
|
-
use: <X>(body: (_: Type) => X) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self> : Effect<X, never, Self>;
|
|
34
|
-
};
|
|
35
|
-
export declare const proxify: <T extends object>(TagClass: T) => <Self, Shape>() => T & ServiceAcessorShape<Self, Shape>;
|
|
36
|
-
export declare function TagClassId<const Key extends string>(key: Key): <Id, ServiceImpl>() => (abstract new (service: ServiceImpl) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>) & {
|
|
37
|
-
toLayer: <E, R>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>) => Layer<Id, E, R>;
|
|
38
|
-
toLayerScoped: <E_1, R_1>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E_1, R_1>) => Layer<Id, E_1, Exclude<R_1, Scope.Scope>>;
|
|
39
|
-
of: (service: Omit<Id, keyof Context.TagClassShape<any, any>>) => Id;
|
|
40
|
-
} & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args_0: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args_0: infer Args_1) => Effect<infer A, infer E_2, infer R_2> ? (...args: Readonly<Args_1>) => Effect<A, E_2, R_2 | Id> : ServiceImpl[k] extends (...args_0: infer Args_2) => infer A_1 ? (...args: Readonly<Args_2>) => Effect<A_1, never, Id> : ServiceImpl[k] extends Effect<infer A_2, infer E_3, infer R_3> ? Effect<A_2, E_3, R_3 | Id> : Effect<ServiceImpl[k], never, Id>; } : {}) & {
|
|
41
|
-
use: <X>(body: (_: ServiceImpl) => X) => X extends Effect<infer A_3, infer E_4, infer R_4> ? Effect<A_3, E_4, R_4 | Id> : Effect<X, never, Id>;
|
|
42
|
-
};
|
|
43
|
-
export declare const TagClassMakeId: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => <Id>() => (abstract new (service: ServiceImpl) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>) & {
|
|
44
|
-
toLayer: {
|
|
45
|
-
(): Layer<Id, E, R>;
|
|
46
|
-
<E_1, R_1>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E_1, R_1>): Layer<Id, E_1, R_1>;
|
|
47
|
-
};
|
|
48
|
-
toLayerScoped: {
|
|
49
|
-
(): Layer<Id, E, Exclude<R, Scope>>;
|
|
50
|
-
<E_2, R_2>(eff: Effect<Context.TagClassShape<any, any>, E_2, R_2>): Layer<Id, E_2, Exclude<R_2, Scope.Scope>>;
|
|
51
|
-
};
|
|
52
|
-
of: (service: Context.TagClassShape<any, any>) => Id;
|
|
53
|
-
make: Effect<Id, E, R>;
|
|
54
|
-
} & Context.Tag<Id, Id> & (ServiceImpl extends Record<PropertyKey, any> ? { [k in keyof ServiceImpl as ServiceImpl[k] extends (...args_0: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends ServiceImpl[k] ? k : never : k]: ServiceImpl[k] extends (...args_0: infer Args_1) => Effect<infer A, infer E_3, infer R_3> ? (...args: Readonly<Args_1>) => Effect<A, E_3, R_3 | Id> : ServiceImpl[k] extends (...args_0: infer Args_2) => infer A_1 ? (...args: Readonly<Args_2>) => Effect<A_1, never, Id> : ServiceImpl[k] extends Effect<infer A_2, infer E_4, infer R_4> ? Effect<A_2, E_4, R_4 | Id> : Effect<ServiceImpl[k], never, Id>; } : {}) & {
|
|
55
|
-
use: <X>(body: (_: ServiceImpl) => X) => X extends Effect<infer A_3, infer E_5, infer R_5> ? Effect<A_3, E_5, R_5 | Id> : Effect<X, never, Id>;
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=service.d.ts.map
|
package/dist/service.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
|
-
/**
|
|
4
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
5
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
6
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
7
|
-
*/
|
|
8
|
-
import { Context, Effect, Layer } from "@effect-app/core";
|
|
9
|
-
export const ServiceTag = Symbol();
|
|
10
|
-
export class PhantomTypeParameter {
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* @tsplus type ServiceTagged
|
|
14
|
-
*/
|
|
15
|
-
export class ServiceTagged extends PhantomTypeParameter {
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @tsplus static ServiceTagged make
|
|
19
|
-
*/
|
|
20
|
-
export function makeService(_) {
|
|
21
|
-
return _;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @tsplus fluent effect/data/Context/Tag make
|
|
25
|
-
*/
|
|
26
|
-
export function make(_, t) {
|
|
27
|
-
return t;
|
|
28
|
-
}
|
|
29
|
-
let i = 0;
|
|
30
|
-
const randomId = () => "unknown-service-" + i++;
|
|
31
|
-
export function assignTag(key, creationError) {
|
|
32
|
-
return (cls) => {
|
|
33
|
-
const tag = Context.GenericTag(key ?? randomId());
|
|
34
|
-
let fields = tag;
|
|
35
|
-
if (Reflect.ownKeys(cls).includes("key")) {
|
|
36
|
-
const { key, ...rest } = tag;
|
|
37
|
-
fields = rest;
|
|
38
|
-
}
|
|
39
|
-
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
40
|
-
if (!creationError) {
|
|
41
|
-
const limit = Error.stackTraceLimit;
|
|
42
|
-
Error.stackTraceLimit = 2;
|
|
43
|
-
creationError = new Error();
|
|
44
|
-
Error.stackTraceLimit = limit;
|
|
45
|
-
}
|
|
46
|
-
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
47
|
-
Object.defineProperty(t, "stack", {
|
|
48
|
-
get() {
|
|
49
|
-
return creationError.stack;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
return t;
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
export const proxify = (TagClass) => () => {
|
|
56
|
-
const cache = new Map();
|
|
57
|
-
const done = new Proxy(TagClass, {
|
|
58
|
-
get(_target, prop, _receiver) {
|
|
59
|
-
if (prop === "use") {
|
|
60
|
-
// @ts-expect-error abc
|
|
61
|
-
return (body) => Effect.andThen(TagClass, body);
|
|
62
|
-
}
|
|
63
|
-
if (prop in TagClass) {
|
|
64
|
-
// @ts-expect-error abc
|
|
65
|
-
return TagClass[prop];
|
|
66
|
-
}
|
|
67
|
-
if (cache.has(prop)) {
|
|
68
|
-
return cache.get(prop);
|
|
69
|
-
}
|
|
70
|
-
// @ts-expect-error abc
|
|
71
|
-
const fn = (...args) => Effect.andThen(TagClass, (s) => s[prop](...args));
|
|
72
|
-
// @ts-expect-error abc
|
|
73
|
-
const cn = Effect.andThen(TagClass, (s) => s[prop]);
|
|
74
|
-
Object.assign(fn, cn);
|
|
75
|
-
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn));
|
|
76
|
-
cache.set(prop, fn);
|
|
77
|
-
return fn;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
return done;
|
|
81
|
-
};
|
|
82
|
-
// export const TagMake = <ServiceImpl, R, E, const Key extends string>(
|
|
83
|
-
// key: Key,
|
|
84
|
-
// make: Effect<ServiceImpl, E, R>
|
|
85
|
-
// ) =>
|
|
86
|
-
// <Id>() => {
|
|
87
|
-
// const limit = Error.stackTraceLimit
|
|
88
|
-
// Error.stackTraceLimit = 2
|
|
89
|
-
// const creationError = new Error()
|
|
90
|
-
// Error.stackTraceLimit = limit
|
|
91
|
-
// const c: {
|
|
92
|
-
// new(): Context.TagClassShape<Key, ServiceImpl>
|
|
93
|
-
// toLayer: () => Layer<Id, E, R>
|
|
94
|
-
// toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
95
|
-
// } = class {
|
|
96
|
-
// static toLayer = () => {
|
|
97
|
-
// return Layer.effect(this as any, make)
|
|
98
|
-
// }
|
|
99
|
-
// static toLayerScoped = () => {
|
|
100
|
-
// return Layer.scoped(this as any, make)
|
|
101
|
-
// }
|
|
102
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
103
|
-
// } as any
|
|
104
|
-
// return proxify(assignTag<Id, ServiceImpl>(key, creationError)(c))<Id, ServiceImpl>()
|
|
105
|
-
// }
|
|
106
|
-
// export function TagClass<Id, ServiceImpl, Service = Id>(key?: string) {
|
|
107
|
-
// const limit = Error.stackTraceLimit
|
|
108
|
-
// Error.stackTraceLimit = 2
|
|
109
|
-
// const creationError = new Error()
|
|
110
|
-
// Error.stackTraceLimit = limit
|
|
111
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
112
|
-
// toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>
|
|
113
|
-
// toLayerScoped: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, Exclude<R, Scope>>
|
|
114
|
-
// } = class {
|
|
115
|
-
// constructor(service: ServiceImpl) {
|
|
116
|
-
// Object.assign(this, service)
|
|
117
|
-
// }
|
|
118
|
-
// static _key?: string
|
|
119
|
-
// static toLayer = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
120
|
-
// return Layer.effect(this as any, eff)
|
|
121
|
-
// }
|
|
122
|
-
// static toLayerScoped = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
123
|
-
// return Layer.scoped(this as any, eff)
|
|
124
|
-
// }
|
|
125
|
-
// static get key() {
|
|
126
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
127
|
-
// }
|
|
128
|
-
// } as any
|
|
129
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
130
|
-
// }
|
|
131
|
-
// export const TagClassMake = <ServiceImpl, R, E>(
|
|
132
|
-
// make: Effect<ServiceImpl, E, R>,
|
|
133
|
-
// key?: string
|
|
134
|
-
// ) =>
|
|
135
|
-
// <Id, Service = Id>() => {
|
|
136
|
-
// const limit = Error.stackTraceLimit
|
|
137
|
-
// Error.stackTraceLimit = 2
|
|
138
|
-
// const creationError = new Error()
|
|
139
|
-
// Error.stackTraceLimit = limit
|
|
140
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
141
|
-
// toLayer: { (): Layer<Id, E, R>; <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, R> }
|
|
142
|
-
// toLayerScoped: {
|
|
143
|
-
// (): Layer<Id, E, Exclude<R, Scope>>
|
|
144
|
-
// <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, Exclude<R, Scope>>
|
|
145
|
-
// }
|
|
146
|
-
// make: Effect<Id, E, R>
|
|
147
|
-
// } = class {
|
|
148
|
-
// constructor(service: ServiceImpl) {
|
|
149
|
-
// Object.assign(this, service)
|
|
150
|
-
// }
|
|
151
|
-
// static _key: string
|
|
152
|
-
// static make = make
|
|
153
|
-
// // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
154
|
-
// static toLayer = (arg?: any) => {
|
|
155
|
-
// return Layer.effect(this as any, arg ?? this.make)
|
|
156
|
-
// }
|
|
157
|
-
// static toLayerScoped = (arg?: any) => {
|
|
158
|
-
// return Layer.scoped(this as any, arg ?? this.make)
|
|
159
|
-
// }
|
|
160
|
-
// static get key() {
|
|
161
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
162
|
-
// }
|
|
163
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
164
|
-
// } as any
|
|
165
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
166
|
-
// }
|
|
167
|
-
export function TagClassId(key) {
|
|
168
|
-
return () => {
|
|
169
|
-
const limit = Error.stackTraceLimit;
|
|
170
|
-
Error.stackTraceLimit = 2;
|
|
171
|
-
const creationError = new Error();
|
|
172
|
-
Error.stackTraceLimit = limit;
|
|
173
|
-
const c = class {
|
|
174
|
-
constructor(service) {
|
|
175
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
176
|
-
Object.assign(this, service);
|
|
177
|
-
}
|
|
178
|
-
static of = (service) => service;
|
|
179
|
-
static toLayer = (eff) => {
|
|
180
|
-
return Layer.effect(this, eff);
|
|
181
|
-
};
|
|
182
|
-
static toLayerScoped = (eff) => {
|
|
183
|
-
return Layer.scoped(this, eff);
|
|
184
|
-
};
|
|
185
|
-
};
|
|
186
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
187
|
-
};
|
|
188
|
-
}
|
|
189
|
-
export const TagClassMakeId = (key, make) => () => {
|
|
190
|
-
const limit = Error.stackTraceLimit;
|
|
191
|
-
Error.stackTraceLimit = 2;
|
|
192
|
-
const creationError = new Error();
|
|
193
|
-
Error.stackTraceLimit = limit;
|
|
194
|
-
const c = class {
|
|
195
|
-
constructor(service) {
|
|
196
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
197
|
-
Object.assign(this, service);
|
|
198
|
-
}
|
|
199
|
-
static of = (service) => service;
|
|
200
|
-
static make = make;
|
|
201
|
-
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
202
|
-
static toLayer = (arg) => {
|
|
203
|
-
return Layer.effect(this, arg ?? this.make);
|
|
204
|
-
};
|
|
205
|
-
static toLayerScoped = (arg) => {
|
|
206
|
-
return Layer.scoped(this, arg ?? this.make);
|
|
207
|
-
};
|
|
208
|
-
};
|
|
209
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
210
|
-
};
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQ7Ozs7R0FJRztBQUdILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUdsQyxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQU9EOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUEwQixTQUFRLG9CQUF3QztDQUFHO0FBRW5HOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBK0IsQ0FBc0I7SUFDOUUsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFzQyxDQUFvQixFQUFFLENBQXNCO0lBQ3BHLE9BQU8sQ0FBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVksRUFBRSxhQUFxQjtJQUM3RSxPQUFPLENBQW1CLEdBQU0sRUFBZ0MsRUFBRTtRQUNoRSxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzlELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixNQUFNLEdBQUcsSUFBVyxDQUFBO1FBQ3RCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1lBQ3pCLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQzNCLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQy9CLENBQUM7UUFDRCx5R0FBeUc7UUFDekcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEdBQUc7Z0JBQ0QsT0FBTyxhQUFjLENBQUMsS0FBSyxDQUFBO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQTtBQUNILENBQUM7QUFxQkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQW1CLFFBQVcsRUFBRSxFQUFFLENBQ3pELEdBRXFDLEVBQUU7SUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDL0IsR0FBRyxDQUFDLE9BQVksRUFBRSxJQUFTLEVBQUUsU0FBUztZQUNwQyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDbkIsdUJBQXVCO2dCQUN2QixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUNqRCxDQUFDO1lBQ0QsSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3JCLHVCQUF1QjtnQkFDdkIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdkIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUNELHVCQUF1QjtZQUN2QixNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBZ0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDMUYsdUJBQXVCO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUNuRCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNyQixNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDcEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkIsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUE7QUFFRCx3RUFBd0U7QUFDeEUsY0FBYztBQUNkLG9DQUFvQztBQUNwQyxPQUFPO0FBQ1AsY0FBYztBQUNkLHdDQUF3QztBQUN4Qyw4QkFBOEI7QUFDOUIsc0NBQXNDO0FBQ3RDLGtDQUFrQztBQUNsQyxlQUFlO0FBQ2YscURBQXFEO0FBQ3JELHFDQUFxQztBQUNyQywyREFBMkQ7QUFDM0QsZ0JBQWdCO0FBQ2hCLCtCQUErQjtBQUMvQiwrQ0FBK0M7QUFDL0MsUUFBUTtBQUVSLHFDQUFxQztBQUNyQywrQ0FBK0M7QUFDL0MsUUFBUTtBQUNSLHFFQUFxRTtBQUNyRSxhQUFhO0FBRWIseUZBQXlGO0FBQ3pGLElBQUk7QUFFSiwwRUFBMEU7QUFDMUUsd0NBQXdDO0FBQ3hDLDhCQUE4QjtBQUM5QixzQ0FBc0M7QUFDdEMsa0NBQWtDO0FBQ2xDLDRFQUE0RTtBQUM1RSx5RUFBeUU7QUFDekUsK0ZBQStGO0FBQy9GLGdCQUFnQjtBQUNoQiwwQ0FBMEM7QUFDMUMscUNBQXFDO0FBQ3JDLFFBQVE7QUFDUiwyQkFBMkI7QUFDM0IsbUVBQW1FO0FBQ25FLDhDQUE4QztBQUM5QyxRQUFRO0FBQ1IseUVBQXlFO0FBQ3pFLDhDQUE4QztBQUM5QyxRQUFRO0FBQ1IseUJBQXlCO0FBQ3pCLGtHQUFrRztBQUNsRyxRQUFRO0FBQ1IsYUFBYTtBQUViLHFGQUFxRjtBQUNyRixJQUFJO0FBRUosbURBQW1EO0FBQ25ELHFDQUFxQztBQUNyQyxpQkFBaUI7QUFDakIsT0FBTztBQUNQLDRCQUE0QjtBQUM1Qix3Q0FBd0M7QUFDeEMsOEJBQThCO0FBQzlCLHNDQUFzQztBQUN0QyxrQ0FBa0M7QUFDbEMsNEVBQTRFO0FBQzVFLGdHQUFnRztBQUNoRyx1QkFBdUI7QUFDdkIsNENBQTRDO0FBQzVDLGdGQUFnRjtBQUNoRixRQUFRO0FBQ1IsNkJBQTZCO0FBQzdCLGdCQUFnQjtBQUNoQiwwQ0FBMEM7QUFDMUMscUNBQXFDO0FBQ3JDLFFBQVE7QUFDUiwwQkFBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLHdIQUF3SDtBQUN4SCx3Q0FBd0M7QUFDeEMsMkRBQTJEO0FBQzNELFFBQVE7QUFFUiw4Q0FBOEM7QUFDOUMsMkRBQTJEO0FBQzNELFFBQVE7QUFFUix5QkFBeUI7QUFDekIsa0dBQWtHO0FBQ2xHLFFBQVE7QUFDUixxRUFBcUU7QUFDckUsYUFBYTtBQUViLHFGQUFxRjtBQUNyRixJQUFJO0FBRUosTUFBTSxVQUFVLFVBQVUsQ0FBMkIsR0FBUTtJQUMzRCxPQUFPLEdBQW9CLEVBQUU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sQ0FBQyxHQVVEO1lBQ0YsWUFBWSxPQUFZO2dCQUN0QixxREFBcUQ7Z0JBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQzlCLENBQUM7WUFDRCxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFBO1lBQzdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBTyxHQUE4QixFQUFFLEVBQUU7Z0JBQ3hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFXLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDdkMsQ0FBQyxDQUFBO1lBQ0QsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFPLEdBQThCLEVBQUUsRUFBRTtnQkFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQTtZQUN2QyxDQUFDLENBQUE7U0FDSyxDQUFBO1FBRVYsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFTLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFtQixDQUFBO0lBQzdFLENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FDNUIsR0FBUSxFQUNSLElBQStCLEVBQy9CLEVBQUUsQ0FDSixHQUFPLEVBQUU7SUFDUCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO0lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7SUFDakMsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7SUFDN0IsTUFBTSxDQUFDLEdBZUQ7UUFDRixZQUFZLE9BQVk7WUFDdEIscURBQXFEO1lBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFFRCxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFBO1FBQzdDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2xCLGlIQUFpSDtRQUNqSCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBUyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BELENBQUMsQ0FBQTtRQUVELE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFTLEVBQUUsRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBVyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEQsQ0FBQyxDQUFBO0tBRUssQ0FBQTtJQUVWLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBUyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBbUIsQ0FBQTtBQUM3RSxDQUFDLENBQUEifQ==
|
package/src/service.ts
DELETED
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
|
-
/**
|
|
4
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
5
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
6
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { Scope } from "@effect-app/core"
|
|
10
|
-
import { Context, Effect, Layer } from "@effect-app/core"
|
|
11
|
-
|
|
12
|
-
export const ServiceTag = Symbol()
|
|
13
|
-
export type ServiceTag = typeof ServiceTag
|
|
14
|
-
|
|
15
|
-
export abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
|
|
16
|
-
protected abstract readonly [ServiceTag]: {
|
|
17
|
-
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type ServiceShape<T extends Context.TagClassShape<any, any>> = Omit<
|
|
22
|
-
T,
|
|
23
|
-
keyof Context.TagClassShape<any, any>
|
|
24
|
-
>
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* @tsplus type ServiceTagged
|
|
28
|
-
*/
|
|
29
|
-
export abstract class ServiceTagged<ServiceKey> extends PhantomTypeParameter<string, ServiceKey> {}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @tsplus static ServiceTagged make
|
|
33
|
-
*/
|
|
34
|
-
export function makeService<T extends ServiceTagged<any>>(_: Omit<T, ServiceTag>) {
|
|
35
|
-
return _ as T
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* @tsplus fluent effect/data/Context/Tag make
|
|
40
|
-
*/
|
|
41
|
-
export function make<T extends ServiceTagged<any>, I = T>(_: Context.Tag<I, T>, t: Omit<T, ServiceTag>) {
|
|
42
|
-
return t as T
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
let i = 0
|
|
46
|
-
const randomId = () => "unknown-service-" + i++
|
|
47
|
-
|
|
48
|
-
export function assignTag<Id, Service = Id>(key?: string, creationError?: Error) {
|
|
49
|
-
return <S extends object>(cls: S): S & Context.Tag<Id, Service> => {
|
|
50
|
-
const tag = Context.GenericTag<Id, Service>(key ?? randomId())
|
|
51
|
-
let fields = tag
|
|
52
|
-
if (Reflect.ownKeys(cls).includes("key")) {
|
|
53
|
-
const { key, ...rest } = tag
|
|
54
|
-
fields = rest as any
|
|
55
|
-
}
|
|
56
|
-
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields)
|
|
57
|
-
if (!creationError) {
|
|
58
|
-
const limit = Error.stackTraceLimit
|
|
59
|
-
Error.stackTraceLimit = 2
|
|
60
|
-
creationError = new Error()
|
|
61
|
-
Error.stackTraceLimit = limit
|
|
62
|
-
}
|
|
63
|
-
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
64
|
-
Object.defineProperty(t, "stack", {
|
|
65
|
-
get() {
|
|
66
|
-
return creationError!.stack
|
|
67
|
-
}
|
|
68
|
-
})
|
|
69
|
-
return t
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export type ServiceAcessorShape<Self, Type> =
|
|
74
|
-
& (Type extends Record<PropertyKey, any> ? {
|
|
75
|
-
[
|
|
76
|
-
k in keyof Type as Type[k] extends ((...args: [...infer Args]) => infer Ret)
|
|
77
|
-
? ((...args: Readonly<Args>) => Ret) extends Type[k] ? k : never
|
|
78
|
-
: k
|
|
79
|
-
]: Type[k] extends (...args: [...infer Args]) => Effect<infer A, infer E, infer R>
|
|
80
|
-
? (...args: Readonly<Args>) => Effect<A, E, Self | R>
|
|
81
|
-
: Type[k] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect<A, never, Self>
|
|
82
|
-
: Type[k] extends Effect<infer A, infer E, infer R> ? Effect<A, E, Self | R>
|
|
83
|
-
: Effect<Type[k], never, Self>
|
|
84
|
-
}
|
|
85
|
-
: {})
|
|
86
|
-
& {
|
|
87
|
-
use: <X>(
|
|
88
|
-
body: (_: Type) => X
|
|
89
|
-
) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self> : Effect<X, never, Self>
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
export const proxify = <T extends object>(TagClass: T) =>
|
|
93
|
-
<Self, Shape>():
|
|
94
|
-
& T
|
|
95
|
-
& ServiceAcessorShape<Self, Shape> =>
|
|
96
|
-
{
|
|
97
|
-
const cache = new Map()
|
|
98
|
-
const done = new Proxy(TagClass, {
|
|
99
|
-
get(_target: any, prop: any, _receiver) {
|
|
100
|
-
if (prop === "use") {
|
|
101
|
-
// @ts-expect-error abc
|
|
102
|
-
return (body) => Effect.andThen(TagClass, body)
|
|
103
|
-
}
|
|
104
|
-
if (prop in TagClass) {
|
|
105
|
-
// @ts-expect-error abc
|
|
106
|
-
return TagClass[prop]
|
|
107
|
-
}
|
|
108
|
-
if (cache.has(prop)) {
|
|
109
|
-
return cache.get(prop)
|
|
110
|
-
}
|
|
111
|
-
// @ts-expect-error abc
|
|
112
|
-
const fn = (...args: Array<any>) => Effect.andThen(TagClass, (s: any) => s[prop](...args))
|
|
113
|
-
// @ts-expect-error abc
|
|
114
|
-
const cn = Effect.andThen(TagClass, (s) => s[prop])
|
|
115
|
-
Object.assign(fn, cn)
|
|
116
|
-
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn))
|
|
117
|
-
cache.set(prop, fn)
|
|
118
|
-
return fn
|
|
119
|
-
}
|
|
120
|
-
})
|
|
121
|
-
return done
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// export const TagMake = <ServiceImpl, R, E, const Key extends string>(
|
|
125
|
-
// key: Key,
|
|
126
|
-
// make: Effect<ServiceImpl, E, R>
|
|
127
|
-
// ) =>
|
|
128
|
-
// <Id>() => {
|
|
129
|
-
// const limit = Error.stackTraceLimit
|
|
130
|
-
// Error.stackTraceLimit = 2
|
|
131
|
-
// const creationError = new Error()
|
|
132
|
-
// Error.stackTraceLimit = limit
|
|
133
|
-
// const c: {
|
|
134
|
-
// new(): Context.TagClassShape<Key, ServiceImpl>
|
|
135
|
-
// toLayer: () => Layer<Id, E, R>
|
|
136
|
-
// toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
137
|
-
// } = class {
|
|
138
|
-
// static toLayer = () => {
|
|
139
|
-
// return Layer.effect(this as any, make)
|
|
140
|
-
// }
|
|
141
|
-
|
|
142
|
-
// static toLayerScoped = () => {
|
|
143
|
-
// return Layer.scoped(this as any, make)
|
|
144
|
-
// }
|
|
145
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
|
-
// } as any
|
|
147
|
-
|
|
148
|
-
// return proxify(assignTag<Id, ServiceImpl>(key, creationError)(c))<Id, ServiceImpl>()
|
|
149
|
-
// }
|
|
150
|
-
|
|
151
|
-
// export function TagClass<Id, ServiceImpl, Service = Id>(key?: string) {
|
|
152
|
-
// const limit = Error.stackTraceLimit
|
|
153
|
-
// Error.stackTraceLimit = 2
|
|
154
|
-
// const creationError = new Error()
|
|
155
|
-
// Error.stackTraceLimit = limit
|
|
156
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
157
|
-
// toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>
|
|
158
|
-
// toLayerScoped: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, Exclude<R, Scope>>
|
|
159
|
-
// } = class {
|
|
160
|
-
// constructor(service: ServiceImpl) {
|
|
161
|
-
// Object.assign(this, service)
|
|
162
|
-
// }
|
|
163
|
-
// static _key?: string
|
|
164
|
-
// static toLayer = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
165
|
-
// return Layer.effect(this as any, eff)
|
|
166
|
-
// }
|
|
167
|
-
// static toLayerScoped = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
168
|
-
// return Layer.scoped(this as any, eff)
|
|
169
|
-
// }
|
|
170
|
-
// static get key() {
|
|
171
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
172
|
-
// }
|
|
173
|
-
// } as any
|
|
174
|
-
|
|
175
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
176
|
-
// }
|
|
177
|
-
|
|
178
|
-
// export const TagClassMake = <ServiceImpl, R, E>(
|
|
179
|
-
// make: Effect<ServiceImpl, E, R>,
|
|
180
|
-
// key?: string
|
|
181
|
-
// ) =>
|
|
182
|
-
// <Id, Service = Id>() => {
|
|
183
|
-
// const limit = Error.stackTraceLimit
|
|
184
|
-
// Error.stackTraceLimit = 2
|
|
185
|
-
// const creationError = new Error()
|
|
186
|
-
// Error.stackTraceLimit = limit
|
|
187
|
-
// const c: (abstract new(impl: ServiceImpl) => Readonly<ServiceImpl>) & {
|
|
188
|
-
// toLayer: { (): Layer<Id, E, R>; <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, R> }
|
|
189
|
-
// toLayerScoped: {
|
|
190
|
-
// (): Layer<Id, E, Exclude<R, Scope>>
|
|
191
|
-
// <E, R>(eff: Effect<ServiceImpl, E, R>): Layer<Id, E, Exclude<R, Scope>>
|
|
192
|
-
// }
|
|
193
|
-
// make: Effect<Id, E, R>
|
|
194
|
-
// } = class {
|
|
195
|
-
// constructor(service: ServiceImpl) {
|
|
196
|
-
// Object.assign(this, service)
|
|
197
|
-
// }
|
|
198
|
-
// static _key: string
|
|
199
|
-
// static make = make
|
|
200
|
-
// // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
201
|
-
// static toLayer = (arg?: any) => {
|
|
202
|
-
// return Layer.effect(this as any, arg ?? this.make)
|
|
203
|
-
// }
|
|
204
|
-
|
|
205
|
-
// static toLayerScoped = (arg?: any) => {
|
|
206
|
-
// return Layer.scoped(this as any, arg ?? this.make)
|
|
207
|
-
// }
|
|
208
|
-
|
|
209
|
-
// static get key() {
|
|
210
|
-
// return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
211
|
-
// }
|
|
212
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
213
|
-
// } as any
|
|
214
|
-
|
|
215
|
-
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
216
|
-
// }
|
|
217
|
-
|
|
218
|
-
export function TagClassId<const Key extends string>(key: Key) {
|
|
219
|
-
return <Id, ServiceImpl>() => {
|
|
220
|
-
const limit = Error.stackTraceLimit
|
|
221
|
-
Error.stackTraceLimit = 2
|
|
222
|
-
const creationError = new Error()
|
|
223
|
-
Error.stackTraceLimit = limit
|
|
224
|
-
const c:
|
|
225
|
-
& (abstract new(
|
|
226
|
-
service: ServiceImpl
|
|
227
|
-
) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>)
|
|
228
|
-
& {
|
|
229
|
-
toLayer: <E, R>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>) => Layer<Id, E, R>
|
|
230
|
-
toLayerScoped: <E, R>(
|
|
231
|
-
eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>
|
|
232
|
-
) => Layer<Id, E, Exclude<R, Scope>>
|
|
233
|
-
of: (service: Omit<Id, keyof Context.TagClassShape<any, any>>) => Id
|
|
234
|
-
} = class {
|
|
235
|
-
constructor(service: any) {
|
|
236
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
237
|
-
Object.assign(this, service)
|
|
238
|
-
}
|
|
239
|
-
static of = (service: ServiceImpl) => service
|
|
240
|
-
static toLayer = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
241
|
-
return Layer.effect(this as any, eff)
|
|
242
|
-
}
|
|
243
|
-
static toLayerScoped = <E, R>(eff: Effect<ServiceImpl, E, R>) => {
|
|
244
|
-
return Layer.scoped(this as any, eff)
|
|
245
|
-
}
|
|
246
|
-
} as any
|
|
247
|
-
|
|
248
|
-
return proxify(assignTag<Id, Id>(key, creationError)(c))<Id, ServiceImpl>()
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
export const TagClassMakeId = <ServiceImpl, R, E, const Key extends string>(
|
|
253
|
-
key: Key,
|
|
254
|
-
make: Effect<ServiceImpl, E, R>
|
|
255
|
-
) =>
|
|
256
|
-
<Id>() => {
|
|
257
|
-
const limit = Error.stackTraceLimit
|
|
258
|
-
Error.stackTraceLimit = 2
|
|
259
|
-
const creationError = new Error()
|
|
260
|
-
Error.stackTraceLimit = limit
|
|
261
|
-
const c:
|
|
262
|
-
& (abstract new(
|
|
263
|
-
service: ServiceImpl
|
|
264
|
-
) => Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>)
|
|
265
|
-
& {
|
|
266
|
-
toLayer: {
|
|
267
|
-
(): Layer<Id, E, R>
|
|
268
|
-
<E, R>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E, R>): Layer<Id, E, R>
|
|
269
|
-
}
|
|
270
|
-
toLayerScoped: {
|
|
271
|
-
(): Layer<Id, E, Exclude<R, Scope>>
|
|
272
|
-
<E, R>(eff: Effect<Context.TagClassShape<any, any>, E, R>): Layer<Id, E, Exclude<R, Scope>>
|
|
273
|
-
}
|
|
274
|
-
of: (service: Context.TagClassShape<any, any>) => Id
|
|
275
|
-
make: Effect<Id, E, R>
|
|
276
|
-
} = class {
|
|
277
|
-
constructor(service: any) {
|
|
278
|
-
// TODO: instead, wrap the service, and direct calls?
|
|
279
|
-
Object.assign(this, service)
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
static of = (service: ServiceImpl) => service
|
|
283
|
-
static make = make
|
|
284
|
-
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
285
|
-
static toLayer = (arg?: any) => {
|
|
286
|
-
return Layer.effect(this as any, arg ?? this.make)
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
static toLayerScoped = (arg?: any) => {
|
|
290
|
-
return Layer.scoped(this as any, arg ?? this.make)
|
|
291
|
-
}
|
|
292
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
293
|
-
} as any
|
|
294
|
-
|
|
295
|
-
return proxify(assignTag<Id, Id>(key, creationError)(c))<Id, ServiceImpl>()
|
|
296
|
-
}
|