effect-app 0.180.9 → 0.181.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 +12 -0
- package/_cjs/service.cjs +15 -8
- package/_cjs/service.cjs.map +1 -1
- package/_cjs/services/FiberBag.cjs.map +1 -1
- package/dist/service.d.ts +22 -23
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +16 -9
- package/dist/services/FiberBag.d.ts +9 -6
- package/dist/services/FiberBag.d.ts.map +1 -1
- package/dist/services/FiberBag.js +1 -1
- package/package.json +3 -3
- package/src/service.ts +33 -19
- package/src/services/FiberBag.ts +1 -1
package/CHANGELOG.md
CHANGED
package/_cjs/service.cjs
CHANGED
|
@@ -70,21 +70,28 @@ function assignTag(key, creationError) {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
const proxify = TagClass => () => {
|
|
73
|
-
|
|
74
|
-
TagClass["$"] = new Proxy({}, {
|
|
75
|
-
get(_target, prop, _receiver) {
|
|
76
|
-
// @ts-expect-error abc
|
|
77
|
-
return _core.Effect.andThen(TagClass, s => s[prop]);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
73
|
+
const cache = new Map();
|
|
80
74
|
const done = new Proxy(TagClass, {
|
|
81
75
|
get(_target, prop, _receiver) {
|
|
76
|
+
if (prop === "use") {
|
|
77
|
+
// @ts-expect-error abc
|
|
78
|
+
return body => core.andThen(TagClass, body);
|
|
79
|
+
}
|
|
82
80
|
if (prop in TagClass) {
|
|
83
81
|
// @ts-expect-error abc
|
|
84
82
|
return TagClass[prop];
|
|
85
83
|
}
|
|
84
|
+
if (cache.has(prop)) {
|
|
85
|
+
return cache.get(prop);
|
|
86
|
+
}
|
|
87
|
+
// @ts-expect-error abc
|
|
88
|
+
const fn = (...args) => core.andThen(TagClass, s => s[prop](...args));
|
|
86
89
|
// @ts-expect-error abc
|
|
87
|
-
|
|
90
|
+
const cn = core.andThen(TagClass, s => s[prop]);
|
|
91
|
+
Object.assign(fn, cn);
|
|
92
|
+
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn));
|
|
93
|
+
cache.set(prop, fn);
|
|
94
|
+
return fn;
|
|
88
95
|
}
|
|
89
96
|
});
|
|
90
97
|
return done;
|
package/_cjs/service.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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","Proxy","_target","prop","_receiver","
|
|
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","core","andThen","has","fn","args","s","cn","setPrototypeOf","set","TagMake","c","toLayer","Layer","effect","toLayerScoped","scoped","constructor","service","_key","eff","Effect","map","split","name","TagClassMake","TagClassId","create","wrap","TagClassMakeId","arg"],"sources":["../src/service.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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","self"],"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;EAClH,
|
|
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","self"],"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;EAClH,OAAgBH,GAAG,GAAOS,IAA6B,IAAK,IAAI,CAACvB,IAAI,CAACP,YAAM,CAACY,OAAO,CAAEM,CAAC,IAAKA,CAAC,CAACG,GAAG,CAACS,IAAI,CAAC,CAAC,CAAC"}
|
package/dist/service.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare abstract class PhantomTypeParameter<Identifier extends keyof any,
|
|
|
12
12
|
readonly [NameP in Identifier]: (_: InstantiatedType) => InstantiatedType;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
export type ServiceShape<T extends Context.TagClassShape<any, any>> = Omit<T, keyof Context.TagClassShape<any, any>>;
|
|
15
16
|
/**
|
|
16
17
|
* @tsplus type ServiceTagged
|
|
17
18
|
*/
|
|
@@ -26,46 +27,44 @@ export declare function makeService<T extends ServiceTagged<any>>(_: Omit<T, Ser
|
|
|
26
27
|
*/
|
|
27
28
|
export declare function make<T extends ServiceTagged<any>, I = T>(_: Context.Tag<I, T>, t: Omit<T, ServiceTag>): T;
|
|
28
29
|
export declare function assignTag<Id, Service = Id>(key?: string, creationError?: Error): <S extends object>(cls: S) => S & Context.Tag<Id, Service>;
|
|
29
|
-
export type ServiceAcessorShape<Self,
|
|
30
|
-
|
|
31
|
-
[k in keyof Shape as Shape[k] extends (...args: Array<any>) => any ? never : k]: Shape[k] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, Self | R> : Effect.Effect<Shape[k], never, Self>;
|
|
32
|
-
};
|
|
30
|
+
export type ServiceAcessorShape<Self, Type> = {
|
|
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>;
|
|
33
32
|
} & {
|
|
34
|
-
|
|
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 & { [k in keyof Shape as Shape[k] extends (...args_0: infer Args) => infer Ret ? ((...args: Readonly<Args>) => Ret) extends Shape[k] ? k : never : k]: Shape[k] extends (...args_0: infer Args_1) => Effect<infer A, infer E, infer R> ? (...args: Readonly<Args_1>) => Effect<A, E, R | Self> : Shape[k] extends (...args_0: infer Args_2) => infer A_1 ? (...args: Readonly<Args_2>) => Effect<A_1, never, Self> : Shape[k] extends Effect<infer A_2, infer E_1, infer R_1> ? Effect<A_2, E_1, R_1 | Self> : Effect<Shape[k], never, Self>; } & {
|
|
36
|
+
use: <X>(body: (_: Shape) => X) => X extends Effect<infer A_3, infer E_2, infer R_2> ? Effect<A_3, E_2, R_2 | Self> : Effect<X, never, Self>;
|
|
35
37
|
};
|
|
36
|
-
export declare const proxify: <T extends object>(TagClass: T) => <Self, Shape>() => T & {
|
|
37
|
-
$: { [k in keyof Shape as Shape[k] extends (...args: Array<any>) => any ? never : k]: Shape[k] extends Effect.Effect<infer A, infer E, infer R> ? Effect.Effect<A, E, R | Self> : Effect.Effect<Shape[k], never, Self>; };
|
|
38
|
-
} & { [k_1 in keyof Shape as Shape[k_1] extends (...args: Array<any>) => any ? k_1 : never]: Shape[k_1] extends (...args: infer Args) => Effect.Effect<infer A_1, infer E_1, infer R_1> ? (...args: Args) => Effect.Effect<A_1, E_1, R_1 | Self> : Shape[k_1] extends (...args: infer Args_1) => infer A_2 ? (...args: Args_1) => Effect.Effect<A_2, never, Self> : never; };
|
|
39
38
|
export declare const TagMake: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => <Id>() => {
|
|
40
39
|
new (): Context.TagClassShape<Key, ServiceImpl>;
|
|
41
40
|
toLayer: () => Layer<Id, E, R>;
|
|
42
41
|
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope.Scope>>;
|
|
43
|
-
} & Context.Tag<Id, ServiceImpl> & {
|
|
44
|
-
|
|
45
|
-
}
|
|
42
|
+
} & Context.Tag<Id, ServiceImpl> & { [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_1, infer R_1> ? (...args: Readonly<Args_1>) => Effect<A, E_1, R_1 | 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_2, infer R_2> ? Effect<A_2, E_2, R_2 | Id> : Effect<ServiceImpl[k], never, Id>; } & {
|
|
43
|
+
use: <X>(body: (_: ServiceImpl) => X) => X extends Effect<infer A_3, infer E_3, infer R_3> ? Effect<A_3, E_3, R_3 | Id> : Effect<X, never, Id>;
|
|
44
|
+
};
|
|
46
45
|
export declare function TagClass<Id, ServiceImpl, Service = Id>(key?: string): {
|
|
47
46
|
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
48
47
|
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>;
|
|
49
48
|
toLayerScoped: <E_1, R_1>(eff: Effect<ServiceImpl, E_1, R_1>) => Layer<Id, E_1, Exclude<R_1, Scope.Scope>>;
|
|
50
|
-
} & Context.Tag<Id, Service> & {
|
|
51
|
-
|
|
52
|
-
}
|
|
49
|
+
} & Context.Tag<Id, Service> & { [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>; } & {
|
|
50
|
+
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>;
|
|
51
|
+
};
|
|
53
52
|
export declare const TagClassMake: <ServiceImpl, R, E>(make: Effect<ServiceImpl, E, R>, key?: string) => <Id, Service = Id>() => {
|
|
54
53
|
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
55
54
|
toLayer: () => Layer<Id, E, R>;
|
|
56
55
|
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope.Scope>>;
|
|
57
56
|
make: Effect<Id, E, R>;
|
|
58
|
-
} & Context.Tag<Id, Service> & {
|
|
59
|
-
|
|
60
|
-
}
|
|
57
|
+
} & Context.Tag<Id, Service> & { [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_1, infer R_1> ? (...args: Readonly<Args_1>) => Effect<A, E_1, R_1 | 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_2, infer R_2> ? Effect<A_2, E_2, R_2 | Id> : Effect<ServiceImpl[k], never, Id>; } & {
|
|
58
|
+
use: <X>(body: (_: ServiceImpl) => X) => X extends Effect<infer A_3, infer E_3, infer R_3> ? Effect<A_3, E_3, R_3 | Id> : Effect<X, never, Id>;
|
|
59
|
+
};
|
|
61
60
|
export declare function TagClassId<const Key extends string>(key: Key): <Id, ServiceImpl>() => {
|
|
62
61
|
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
63
62
|
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>;
|
|
64
63
|
toLayerScoped: <E_1, R_1>(eff: Effect<ServiceImpl, E_1, R_1>) => Layer<Id, E_1, Exclude<R_1, Scope.Scope>>;
|
|
65
64
|
wrap: (service: ServiceImpl) => Id;
|
|
66
|
-
} & Context.Tag<Id, Id> & {
|
|
67
|
-
|
|
68
|
-
}
|
|
65
|
+
} & Context.Tag<Id, Id> & { [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>; } & {
|
|
66
|
+
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>;
|
|
67
|
+
};
|
|
69
68
|
export declare const TagClassMakeId: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => <Id>() => {
|
|
70
69
|
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
71
70
|
toLayer: {
|
|
@@ -78,7 +77,7 @@ export declare const TagClassMakeId: <ServiceImpl, R, E, const Key extends strin
|
|
|
78
77
|
};
|
|
79
78
|
wrap: (service: ServiceImpl) => Id;
|
|
80
79
|
make: Effect<Id, E, R>;
|
|
81
|
-
} & Context.Tag<Id, Id> & {
|
|
82
|
-
|
|
83
|
-
}
|
|
80
|
+
} & Context.Tag<Id, Id> & { [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>; } & {
|
|
81
|
+
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>;
|
|
82
|
+
};
|
|
84
83
|
//# sourceMappingURL=service.d.ts.map
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,UAAU,eAAW,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAA;AAE1C,8BAAsB,oBAAoB,CAAC,UAAU,SAAS,MAAM,GAAG,EAAE,gBAAgB;IACvF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE;QACxC,QAAQ,EAAE,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB;KAC1E,CAAA;CACF;AAED;;GAEG;AACH,8BAAsB,aAAa,CAAC,UAAU,CAAE,SAAQ,oBAAoB,CAAC,MAAM,EAAE,UAAU,CAAC;CAAG;AAEnG;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAE/E;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAErG;AAKD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK,8DAuB9E;AAED,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -53,21 +53,28 @@ export function assignTag(key, creationError) {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
export const proxify = (TagClass) => () => {
|
|
56
|
-
|
|
57
|
-
TagClass["$"] = new Proxy({}, {
|
|
58
|
-
get(_target, prop, _receiver) {
|
|
59
|
-
// @ts-expect-error abc
|
|
60
|
-
return Effect.andThen(TagClass, (s) => s[prop]);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
56
|
+
const cache = new Map();
|
|
63
57
|
const done = new Proxy(TagClass, {
|
|
64
58
|
get(_target, prop, _receiver) {
|
|
59
|
+
if (prop === "use") {
|
|
60
|
+
// @ts-expect-error abc
|
|
61
|
+
return (body) => core.andThen(TagClass, body);
|
|
62
|
+
}
|
|
65
63
|
if (prop in TagClass) {
|
|
66
64
|
// @ts-expect-error abc
|
|
67
65
|
return TagClass[prop];
|
|
68
66
|
}
|
|
67
|
+
if (cache.has(prop)) {
|
|
68
|
+
return cache.get(prop);
|
|
69
|
+
}
|
|
70
|
+
// @ts-expect-error abc
|
|
71
|
+
const fn = (...args) => core.andThen(TagClass, (s) => s[prop](...args));
|
|
69
72
|
// @ts-expect-error abc
|
|
70
|
-
|
|
73
|
+
const cn = core.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;
|
|
71
78
|
}
|
|
72
79
|
});
|
|
73
80
|
return done;
|
|
@@ -177,4 +184,4 @@ export const TagClassMakeId = (key, make) => () => {
|
|
|
177
184
|
};
|
|
178
185
|
return proxify(assignTag(key, creationError)(c))();
|
|
179
186
|
};
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQ7Ozs7R0FJRztBQUdILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUdsQyxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQU9EOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUEwQixTQUFRLG9CQUF3QztDQUFHO0FBRW5HOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBK0IsQ0FBc0I7SUFDOUUsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFzQyxDQUFvQixFQUFFLENBQXNCO0lBQ3BHLE9BQU8sQ0FBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVksRUFBRSxhQUFxQjtJQUM3RSxPQUFPLENBQW1CLEdBQU0sRUFBZ0MsRUFBRTtRQUNoRSxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzlELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixNQUFNLEdBQUcsSUFBVyxDQUFBO1FBQ3RCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1lBQ3pCLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1lBQzNCLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQy9CLENBQUM7UUFDRCx5R0FBeUc7UUFDekcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEdBQUc7Z0JBQ0QsT0FBTyxhQUFjLENBQUMsS0FBSyxDQUFBO1lBQzdCLENBQUM7U0FDRixDQUFDLENBQUE7UUFDRixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUMsQ0FBQTtBQUNILENBQUM7QUFvQkQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQW1CLFFBQVcsRUFBRSxFQUFFLENBQ3pELEdBRXFDLEVBQUU7SUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUN2QixNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDL0IsR0FBRyxDQUFDLE9BQVksRUFBRSxJQUFTLEVBQUUsU0FBUztZQUNwQyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDbkIsdUJBQXVCO2dCQUN2QixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUMvQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ3JCLHVCQUF1QjtnQkFDdkIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdkIsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwQixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDeEIsQ0FBQztZQUNELHVCQUF1QjtZQUN2QixNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDeEYsdUJBQXVCO1lBQ3ZCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtZQUNqRCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUNyQixNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDcEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkIsT0FBTyxFQUFFLENBQUE7UUFDWCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FDckIsR0FBUSxFQUNSLElBQStCLEVBQy9CLEVBQUUsQ0FDSixHQUFPLEVBQUU7SUFDUCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO0lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7SUFDakMsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7SUFDN0IsTUFBTSxDQUFDLEdBSUg7UUFDRixNQUFNLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBVyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3hDLENBQUMsQ0FBQTtRQUVELE1BQU0sQ0FBQyxhQUFhLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFXLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDeEMsQ0FBQyxDQUFBO0tBRUssQ0FBQTtJQUVSLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBa0IsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQW1CLENBQUE7QUFDdEYsQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBZ0MsR0FBWTtJQUNsRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO0lBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO0lBQ3pCLE1BQU0sYUFBYSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUE7SUFDakMsS0FBSyxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUE7SUFDN0IsTUFBTSxDQUFDLEdBSUg7UUFDRixZQUFZLE9BQW9CO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFTO1FBQ3BCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBTyxHQUE4QixFQUFFLEVBQUU7WUFDeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZFLENBQUMsQ0FBQTtRQUNELE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBTyxHQUE4QixFQUFFLEVBQUU7WUFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZFLENBQUMsQ0FBQTtRQUNELE1BQU0sS0FBSyxHQUFHO1lBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzNGLENBQUM7S0FDSyxDQUFBO0lBRVIsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFjLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFtQixDQUFBO0FBQ2xGLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FDMUIsSUFBK0IsRUFDL0IsR0FBWSxFQUNaLEVBQUUsQ0FDSixHQUFxQixFQUFFO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUE7SUFDbkMsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUE7SUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUNqQyxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtJQUM3QixNQUFNLENBQUMsR0FLSDtRQUNGLFlBQVksT0FBb0I7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQVE7UUFDbkIsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUN0RCxpSEFBaUg7UUFDakgsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDcEIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0MsQ0FBQyxDQUFBO1FBRUQsTUFBTSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0MsQ0FBQyxDQUFBO1FBRUQsTUFBTSxLQUFLLEdBQUc7WUFDWixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDM0YsQ0FBQztLQUVLLENBQUE7SUFFUixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQWMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQW1CLENBQUE7QUFDbEYsQ0FBQyxDQUFBO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBMkIsR0FBUTtJQUMzRCxPQUFPLEdBQW9CLEVBQUU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO1FBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sQ0FBQyxHQUtIO1lBQ0YsWUFBWSxPQUFvQjtnQkFDOUIsd0tBQXdLO2dCQUN4SyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUM5RCxDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE9BQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBTyxHQUE4QixFQUFFLEVBQUU7Z0JBQ3hELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFXLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUN2RSxDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsYUFBYSxHQUFHLENBQU8sR0FBOEIsRUFBRSxFQUFFO2dCQUM5RCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBVyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkUsQ0FBQyxDQUFBO1NBQ0ssQ0FBQTtRQUVSLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBUyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBbUIsQ0FBQTtJQUM3RSxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLEdBQVEsRUFDUixJQUErQixFQUMvQixFQUFFLENBQ0osR0FBTyxFQUFFO0lBQ1AsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtJQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtJQUN6QixNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQ2pDLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO0lBQzdCLE1BQU0sQ0FBQyxHQVVIO1FBQ0YsWUFBWSxPQUFvQjtZQUM5Qix3S0FBd0s7WUFDeEssT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUQsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6RCxNQUFNLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3RELGlIQUFpSDtRQUNqSCxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsR0FBUyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEYsQ0FBQyxDQUFBO1FBRUQsTUFBTSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQVMsRUFBRSxFQUFFO1lBQ25DLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BGLENBQUMsQ0FBQTtLQUVLLENBQUE7SUFFUixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQVMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQW1CLENBQUE7QUFDN0UsQ0FBQyxDQUFBIn0=
|
|
@@ -42,13 +42,16 @@ declare const FiberBag_base: {
|
|
|
42
42
|
}) => FiberBag;
|
|
43
43
|
make: Effect<FiberBag, never, import("effect/Scope").Scope>;
|
|
44
44
|
} & import("effect/Context").Tag<FiberBag, FiberBag> & {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
join: Effect<void, never, FiberBag>;
|
|
46
|
+
add: (...args: readonly Fiber.RuntimeFiber<never, never>[]) => Effect<void, never, FiberBag>;
|
|
47
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect<void, never, FiberBag>;
|
|
48
48
|
} & {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
use: <X>(body: (_: {
|
|
50
|
+
join: Effect.Effect<void, never, never>;
|
|
51
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
52
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
53
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
54
|
+
}) => X) => X extends Effect<infer A, infer E_2, infer R_3> ? Effect<A, E_2, R_3 | FiberBag> : Effect<X, never, FiberBag>;
|
|
52
55
|
};
|
|
53
56
|
/**
|
|
54
57
|
* 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,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;IAClH,MAAM,CAAC,QAAQ,CAAC,GAAG,6GAAsF;CAC1G"}
|
|
@@ -23,4 +23,4 @@ export class FiberBag extends TagClassMakeId("FiberBag", make)() {
|
|
|
23
23
|
static JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live));
|
|
24
24
|
static run = (self) => this.pipe(Effect.andThen((_) => _.run(self)));
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmliZXJCYWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvRmliZXJCYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFLOUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFnQixDQUFDLENBQUE7SUFDbkQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMscUJBQXFCLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUNwRixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDOUIsQ0FBQTtJQUNELE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxNQUEwQyxFQUFFLEVBQUUsQ0FDNUQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDdEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFtRCxFQUFFLEVBQUUsQ0FDckUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFdEUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUU3QixPQUFPO1FBQ0wsSUFBSTtRQUNKLEdBQUc7UUFDSCxHQUFHO1FBQ0gsTUFBTTtLQUNQLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sUUFBUyxTQUFRLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQVk7SUFDeEUsTUFBTSxDQUFVLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDM0MsTUFBTSxDQUFVLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDbEgsTUFBTSxDQUFVLEdBQUcsR0FBRyxDQUFJLElBQTZCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.181.0",
|
|
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.3",
|
|
17
|
-
"@effect-app/
|
|
18
|
-
"@effect-app/
|
|
17
|
+
"@effect-app/fluent-extensions": "0.143.2",
|
|
18
|
+
"@effect-app/schema": "0.202.3"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@babel/cli": "^7.23.9",
|
package/src/service.ts
CHANGED
|
@@ -18,6 +18,11 @@ export abstract class PhantomTypeParameter<Identifier extends keyof any, Instant
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
export type ServiceShape<T extends Context.TagClassShape<any, any>> = Omit<
|
|
22
|
+
T,
|
|
23
|
+
keyof Context.TagClassShape<any, any>
|
|
24
|
+
>
|
|
25
|
+
|
|
21
26
|
/**
|
|
22
27
|
* @tsplus type ServiceTagged
|
|
23
28
|
*/
|
|
@@ -65,20 +70,22 @@ export function assignTag<Id, Service = Id>(key?: string, creationError?: Error)
|
|
|
65
70
|
}
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
export type ServiceAcessorShape<Self,
|
|
73
|
+
export type ServiceAcessorShape<Self, Type> =
|
|
69
74
|
& {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
:
|
|
74
|
-
|
|
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>
|
|
75
84
|
}
|
|
76
85
|
& {
|
|
77
|
-
|
|
78
|
-
(
|
|
79
|
-
|
|
80
|
-
: Shape[k] extends (...args: infer Args) => infer A ? (...args: Args) => Effect.Effect<A, never, Self>
|
|
81
|
-
: never
|
|
86
|
+
use: <X>(
|
|
87
|
+
body: (_: Type) => X
|
|
88
|
+
) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self> : Effect<X, never, Self>
|
|
82
89
|
}
|
|
83
90
|
|
|
84
91
|
export const proxify = <T extends object>(TagClass: T) =>
|
|
@@ -86,21 +93,28 @@ export const proxify = <T extends object>(TagClass: T) =>
|
|
|
86
93
|
& T
|
|
87
94
|
& ServiceAcessorShape<Self, Shape> =>
|
|
88
95
|
{
|
|
89
|
-
|
|
90
|
-
TagClass["$"] = new Proxy({}, {
|
|
91
|
-
get(_target: any, prop: any, _receiver) {
|
|
92
|
-
// @ts-expect-error abc
|
|
93
|
-
return Effect.andThen(TagClass, (s) => s[prop])
|
|
94
|
-
}
|
|
95
|
-
})
|
|
96
|
+
const cache = new Map()
|
|
96
97
|
const done = new Proxy(TagClass, {
|
|
97
98
|
get(_target: any, prop: any, _receiver) {
|
|
99
|
+
if (prop === "use") {
|
|
100
|
+
// @ts-expect-error abc
|
|
101
|
+
return (body) => core.andThen(TagClass, body)
|
|
102
|
+
}
|
|
98
103
|
if (prop in TagClass) {
|
|
99
104
|
// @ts-expect-error abc
|
|
100
105
|
return TagClass[prop]
|
|
101
106
|
}
|
|
107
|
+
if (cache.has(prop)) {
|
|
108
|
+
return cache.get(prop)
|
|
109
|
+
}
|
|
110
|
+
// @ts-expect-error abc
|
|
111
|
+
const fn = (...args: Array<any>) => core.andThen(TagClass, (s: any) => s[prop](...args))
|
|
102
112
|
// @ts-expect-error abc
|
|
103
|
-
|
|
113
|
+
const cn = core.andThen(TagClass, (s) => s[prop])
|
|
114
|
+
Object.assign(fn, cn)
|
|
115
|
+
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn))
|
|
116
|
+
cache.set(prop, fn)
|
|
117
|
+
return fn
|
|
104
118
|
}
|
|
105
119
|
})
|
|
106
120
|
return done
|
package/src/services/FiberBag.ts
CHANGED
|
@@ -33,5 +33,5 @@ const make = Effect.gen(function*($) {
|
|
|
33
33
|
export class FiberBag extends TagClassMakeId("FiberBag", make)<FiberBag>() {
|
|
34
34
|
static readonly Live = this.toLayerScoped()
|
|
35
35
|
static readonly JoinLive = this.pipe(Effect.andThen((_) => _.join), Layer.effectDiscard, Layer.provide(this.Live))
|
|
36
|
-
static
|
|
36
|
+
static readonly run = <R>(self: Effect<never, never, R>) => this.pipe(Effect.andThen((_) => _.run(self)))
|
|
37
37
|
}
|