effect-app 0.182.1 → 0.183.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 +6 -0
- package/_cjs/service.cjs +97 -76
- package/_cjs/service.cjs.map +1 -1
- package/dist/service.d.ts +8 -32
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +97 -73
- package/dist/services/FiberBag.d.ts +19 -35
- package/dist/services/FiberBag.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/service.ts +139 -128
- package/{dist → test/dist}/schema.test.d.ts.map +1 -1
- package/{src → test}/schema.test.ts +1 -0
- package/tsconfig.json +4 -16
- package/tsconfig.json.bak +9 -40
- package/tsconfig.src.json +47 -0
- package/tsconfig.test.json +32 -0
- package/.prettierignore +0 -6
- package/_cjs/schema.test.cjs +0 -7
- package/_cjs/schema.test.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
package/_cjs/service.cjs
CHANGED
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ServiceTagged = exports.ServiceTag = exports.PhantomTypeParameter = void 0;
|
|
7
|
-
exports.TagClass = TagClass;
|
|
8
7
|
exports.TagClassId = TagClassId;
|
|
9
|
-
exports.
|
|
8
|
+
exports.TagClassMakeId = void 0;
|
|
10
9
|
exports.assignTag = assignTag;
|
|
11
10
|
exports.make = make;
|
|
12
11
|
exports.makeService = makeService;
|
|
@@ -96,70 +95,92 @@ const proxify = TagClass => () => {
|
|
|
96
95
|
});
|
|
97
96
|
return done;
|
|
98
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
|
+
// }
|
|
99
183
|
exports.proxify = proxify;
|
|
100
|
-
const TagMake = (key, make) => () => {
|
|
101
|
-
const limit = Error.stackTraceLimit;
|
|
102
|
-
Error.stackTraceLimit = 2;
|
|
103
|
-
const creationError = new Error();
|
|
104
|
-
Error.stackTraceLimit = limit;
|
|
105
|
-
const c = class {
|
|
106
|
-
static toLayer = () => {
|
|
107
|
-
return _core.Layer.effect(this, make);
|
|
108
|
-
};
|
|
109
|
-
static toLayerScoped = () => {
|
|
110
|
-
return _core.Layer.scoped(this, make);
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
114
|
-
};
|
|
115
|
-
exports.TagMake = TagMake;
|
|
116
|
-
function TagClass(key) {
|
|
117
|
-
const limit = Error.stackTraceLimit;
|
|
118
|
-
Error.stackTraceLimit = 2;
|
|
119
|
-
const creationError = new Error();
|
|
120
|
-
Error.stackTraceLimit = limit;
|
|
121
|
-
const c = class {
|
|
122
|
-
constructor(service) {
|
|
123
|
-
Object.assign(this, service);
|
|
124
|
-
}
|
|
125
|
-
static _key;
|
|
126
|
-
static toLayer = eff => {
|
|
127
|
-
return _core.Layer.effect(this, _core.Effect.map(eff, _ => new this(_)));
|
|
128
|
-
};
|
|
129
|
-
static toLayerScoped = eff => {
|
|
130
|
-
return _core.Layer.scoped(this, _core.Effect.map(eff, _ => new this(_)));
|
|
131
|
-
};
|
|
132
|
-
static get key() {
|
|
133
|
-
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
137
|
-
}
|
|
138
|
-
const TagClassMake = (make, key) => () => {
|
|
139
|
-
const limit = Error.stackTraceLimit;
|
|
140
|
-
Error.stackTraceLimit = 2;
|
|
141
|
-
const creationError = new Error();
|
|
142
|
-
Error.stackTraceLimit = limit;
|
|
143
|
-
const c = class {
|
|
144
|
-
constructor(service) {
|
|
145
|
-
Object.assign(this, service);
|
|
146
|
-
}
|
|
147
|
-
static _key;
|
|
148
|
-
static make = _core.Effect.andThen(make, _ => new this(_));
|
|
149
|
-
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
150
|
-
static toLayer = () => {
|
|
151
|
-
return _core.Layer.effect(this, this.make);
|
|
152
|
-
};
|
|
153
|
-
static toLayerScoped = () => {
|
|
154
|
-
return _core.Layer.scoped(this, this.make);
|
|
155
|
-
};
|
|
156
|
-
static get key() {
|
|
157
|
-
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
158
|
-
}
|
|
159
|
-
};
|
|
160
|
-
return proxify(assignTag(key, creationError)(c))();
|
|
161
|
-
};
|
|
162
|
-
exports.TagClassMake = TagClassMake;
|
|
163
184
|
function TagClassId(key) {
|
|
164
185
|
return () => {
|
|
165
186
|
const limit = Error.stackTraceLimit;
|
|
@@ -168,15 +189,15 @@ function TagClassId(key) {
|
|
|
168
189
|
Error.stackTraceLimit = limit;
|
|
169
190
|
const c = class {
|
|
170
191
|
constructor(service) {
|
|
171
|
-
//
|
|
172
|
-
|
|
192
|
+
// TODO: instead, wrap the service, and direct calls?
|
|
193
|
+
Object.assign(this, service);
|
|
173
194
|
}
|
|
174
|
-
static
|
|
195
|
+
static of = service => service;
|
|
175
196
|
static toLayer = eff => {
|
|
176
|
-
return _core.Layer.effect(this,
|
|
197
|
+
return _core.Layer.effect(this, eff);
|
|
177
198
|
};
|
|
178
199
|
static toLayerScoped = eff => {
|
|
179
|
-
return _core.Layer.scoped(this,
|
|
200
|
+
return _core.Layer.scoped(this, eff);
|
|
180
201
|
};
|
|
181
202
|
};
|
|
182
203
|
return proxify(assignTag(key, creationError)(c))();
|
|
@@ -189,17 +210,17 @@ const TagClassMakeId = (key, make) => () => {
|
|
|
189
210
|
Error.stackTraceLimit = limit;
|
|
190
211
|
const c = class {
|
|
191
212
|
constructor(service) {
|
|
192
|
-
//
|
|
193
|
-
|
|
213
|
+
// TODO: instead, wrap the service, and direct calls?
|
|
214
|
+
Object.assign(this, service);
|
|
194
215
|
}
|
|
195
|
-
static
|
|
196
|
-
static make =
|
|
216
|
+
static of = service => service;
|
|
217
|
+
static make = make;
|
|
197
218
|
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
198
219
|
static toLayer = arg => {
|
|
199
|
-
return
|
|
220
|
+
return _core.Layer.effect(this, arg ?? this.make);
|
|
200
221
|
};
|
|
201
222
|
static toLayerScoped = arg => {
|
|
202
|
-
return
|
|
223
|
+
return _core.Layer.scoped(this, arg ?? this.make);
|
|
203
224
|
};
|
|
204
225
|
};
|
|
205
226
|
return proxify(assignTag(key, creationError)(c))();
|
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","cache","Map","done","Proxy","_target","prop","_receiver","body","Effect","andThen","has","fn","args","s","cn","setPrototypeOf","set","
|
|
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
CHANGED
|
@@ -33,47 +33,23 @@ export type ServiceAcessorShape<Self, Type> = (Type extends Record<PropertyKey,
|
|
|
33
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
34
|
};
|
|
35
35
|
export declare const proxify: <T extends object>(TagClass: T) => <Self, Shape>() => T & ServiceAcessorShape<Self, Shape>;
|
|
36
|
-
export declare
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
} & Context.Tag<Id, ServiceImpl> & (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_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>; } : {}) & {
|
|
41
|
-
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>;
|
|
42
|
-
};
|
|
43
|
-
export declare function TagClass<Id, ServiceImpl, Service = Id>(key?: string): {
|
|
44
|
-
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
45
|
-
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>;
|
|
46
|
-
toLayerScoped: <E_1, R_1>(eff: Effect<ServiceImpl, E_1, R_1>) => Layer<Id, E_1, Exclude<R_1, Scope.Scope>>;
|
|
47
|
-
} & Context.Tag<Id, Service> & (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>; } : {}) & {
|
|
48
|
-
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>;
|
|
49
|
-
};
|
|
50
|
-
export declare const TagClassMake: <ServiceImpl, R, E>(make: Effect<ServiceImpl, E, R>, key?: string) => <Id, Service = Id>() => {
|
|
51
|
-
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
52
|
-
toLayer: () => Layer<Id, E, R>;
|
|
53
|
-
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>;
|
|
54
|
-
make: Effect<Id, E, R>;
|
|
55
|
-
} & Context.Tag<Id, Service> & (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_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>; } : {}) & {
|
|
56
|
-
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>;
|
|
57
|
-
};
|
|
58
|
-
export declare function TagClassId<const Key extends string>(key: Key): <Id, ServiceImpl>() => {
|
|
59
|
-
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
60
|
-
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>;
|
|
61
|
-
toLayerScoped: <E_1, R_1>(eff: Effect<ServiceImpl, E_1, R_1>) => Layer<Id, E_1, Exclude<R_1, Scope.Scope>>;
|
|
62
|
-
wrap: (service: ServiceImpl) => Id;
|
|
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;
|
|
63
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>; } : {}) & {
|
|
64
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>;
|
|
65
42
|
};
|
|
66
|
-
export declare const TagClassMakeId: <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => <Id>() => {
|
|
67
|
-
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
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>) & {
|
|
68
44
|
toLayer: {
|
|
69
45
|
(): Layer<Id, E, R>;
|
|
70
|
-
<E_1, R_1>(eff: Effect<
|
|
46
|
+
<E_1, R_1>(eff: Effect<Omit<Id, keyof Context.TagClassShape<any, any>>, E_1, R_1>): Layer<Id, E_1, R_1>;
|
|
71
47
|
};
|
|
72
48
|
toLayerScoped: {
|
|
73
49
|
(): Layer<Id, E, Exclude<R, Scope>>;
|
|
74
|
-
<E_2, R_2>(eff: Effect<
|
|
50
|
+
<E_2, R_2>(eff: Effect<Context.TagClassShape<any, any>, E_2, R_2>): Layer<Id, E_2, Exclude<R_2, Scope.Scope>>;
|
|
75
51
|
};
|
|
76
|
-
|
|
52
|
+
of: (service: Context.TagClassShape<any, any>) => Id;
|
|
77
53
|
make: Effect<Id, E, R>;
|
|
78
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>; } : {}) & {
|
|
79
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>;
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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
|
|
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,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,CACxE,CAAC,EACD,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CACtC,CAAA;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,2BAC9C,CAAC,KAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAsBhE;AAED,MAAM,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,IACtC,CAAC,IAAI,SAAS,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG;KAErC,CAAC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,GAAG,CAAC,GACxE,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,GAC9D,CAAC,GACJ,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAC9E,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GACnD,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAC3G,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,GAC1E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;CACjC,GACC,EAAE,CAAC,GACL;IACA,GAAG,EAAE,CAAC,CAAC,EACL,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,KACjB,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACnG,CAAA;AAEH,eAAO,MAAM,OAAO,+BAAgC,CAAC,wBAEjD,CAAC,GACD,oBAAoB,IAAI,EAAE,KAAK,CA2BlC,CAAA;AAgGD,wBAAgB,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,GAAG,kDAQ5C,WAAW,KACjB,SAAS,WAAW,CAAC,GAAG,QAAQ,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;yBAE7C,OAAO,KAAK,EAAE,EAAE,MAAM,QAAQ,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;;kBAIxF,KAAK,EAAE,EAAE,MAAM,QAAQ,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE;;;EAiB3E;AAED,eAAO,MAAM,cAAc,qDACpB,GAAG,QACF,OAAO,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,uCASlB,WAAW,KACjB,SAAS,WAAW,CAAC,GAAG,QAAQ,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;;YAG5D,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;;;;YAIf,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;;;kBAGvB,QAAQ,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE;UAC9C,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;;;CAqB3B,CAAA"}
|
package/dist/service.js
CHANGED
|
@@ -79,67 +79,91 @@ export const proxify = (TagClass) => () => {
|
|
|
79
79
|
});
|
|
80
80
|
return done;
|
|
81
81
|
};
|
|
82
|
-
export const TagMake =
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
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
|
+
// }
|
|
143
167
|
export function TagClassId(key) {
|
|
144
168
|
return () => {
|
|
145
169
|
const limit = Error.stackTraceLimit;
|
|
@@ -148,15 +172,15 @@ export function TagClassId(key) {
|
|
|
148
172
|
Error.stackTraceLimit = limit;
|
|
149
173
|
const c = class {
|
|
150
174
|
constructor(service) {
|
|
151
|
-
//
|
|
152
|
-
|
|
175
|
+
// TODO: instead, wrap the service, and direct calls?
|
|
176
|
+
Object.assign(this, service);
|
|
153
177
|
}
|
|
154
|
-
static
|
|
178
|
+
static of = (service) => service;
|
|
155
179
|
static toLayer = (eff) => {
|
|
156
|
-
return Layer.effect(this,
|
|
180
|
+
return Layer.effect(this, eff);
|
|
157
181
|
};
|
|
158
182
|
static toLayerScoped = (eff) => {
|
|
159
|
-
return Layer.scoped(this,
|
|
183
|
+
return Layer.scoped(this, eff);
|
|
160
184
|
};
|
|
161
185
|
};
|
|
162
186
|
return proxify(assignTag(key, creationError)(c))();
|
|
@@ -169,19 +193,19 @@ export const TagClassMakeId = (key, make) => () => {
|
|
|
169
193
|
Error.stackTraceLimit = limit;
|
|
170
194
|
const c = class {
|
|
171
195
|
constructor(service) {
|
|
172
|
-
//
|
|
173
|
-
|
|
196
|
+
// TODO: instead, wrap the service, and direct calls?
|
|
197
|
+
Object.assign(this, service);
|
|
174
198
|
}
|
|
175
|
-
static
|
|
176
|
-
static make =
|
|
199
|
+
static of = (service) => service;
|
|
200
|
+
static make = make;
|
|
177
201
|
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
178
202
|
static toLayer = (arg) => {
|
|
179
|
-
return
|
|
203
|
+
return Layer.effect(this, arg ?? this.make);
|
|
180
204
|
};
|
|
181
205
|
static toLayerScoped = (arg) => {
|
|
182
|
-
return
|
|
206
|
+
return Layer.scoped(this, arg ?? this.make);
|
|
183
207
|
};
|
|
184
208
|
};
|
|
185
209
|
return proxify(assignTag(key, creationError)(c))();
|
|
186
210
|
};
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQ7Ozs7R0FJRztBQUdILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUdsQyxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQU9EOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUEwQixTQUFRLG9CQUF3QztDQUFHO0FBRW5HOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBK0IsQ0FBc0I7SUFDOUUsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFzQyxDQUFvQixFQUFFLENBQXNCO0lBQ3BHLE9BQU8sQ0FBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVksRUFBRSxhQUFxQjtJQUM3RSxPQUFPLENBQW1CLEdBQU0sRUFBZ0MsRUFBRTtRQUNoRSxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzlELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixN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
|
|
@@ -1,45 +1,29 @@
|
|
|
1
1
|
import { Effect, Fiber, Layer } from "@effect-app/core";
|
|
2
|
-
declare const FiberBag_base: {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}>;
|
|
2
|
+
declare const FiberBag_base: (abstract new (service: {
|
|
3
|
+
join: Effect.Effect<void, never, never>;
|
|
4
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
5
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
6
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
7
|
+
}) => Readonly<{
|
|
8
|
+
join: Effect.Effect<void, never, never>;
|
|
9
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
10
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
11
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
12
|
+
}> & import("effect/Context").TagClassShape<"FiberBag", {
|
|
13
|
+
join: Effect.Effect<void, never, never>;
|
|
14
|
+
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
15
|
+
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
16
|
+
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
17
|
+
}>) & {
|
|
19
18
|
toLayer: {
|
|
20
19
|
(): Layer<FiberBag, never, import("effect/Scope").Scope>;
|
|
21
|
-
<E, R_1>(eff: Effect<
|
|
22
|
-
join: Effect.Effect<void, never, never>;
|
|
23
|
-
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
24
|
-
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
25
|
-
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
26
|
-
}, E, R_1>): Layer<FiberBag, E, R_1>;
|
|
20
|
+
<E, R_1>(eff: Effect<Omit<FiberBag, keyof import("effect/Context").TagClassShape<any, any>>, E, R_1>): Layer<FiberBag, E, R_1>;
|
|
27
21
|
};
|
|
28
22
|
toLayerScoped: {
|
|
29
23
|
(): Layer<FiberBag, never, never>;
|
|
30
|
-
<E_1, R_2>(eff: Effect<
|
|
31
|
-
join: Effect.Effect<void, never, never>;
|
|
32
|
-
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
33
|
-
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
34
|
-
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
35
|
-
}, E_1, R_2>): Layer<FiberBag, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
24
|
+
<E_1, R_2>(eff: Effect<import("effect/Context").TagClassShape<any, any>, E_1, R_2>): Layer<FiberBag, E_1, Exclude<R_2, import("effect/Scope").Scope>>;
|
|
36
25
|
};
|
|
37
|
-
|
|
38
|
-
join: Effect.Effect<void, never, never>;
|
|
39
|
-
run: <R, XE extends never, XA extends never>(effect: Effect.Effect<XA, XE, R>) => Effect.Effect<Fiber.RuntimeFiber<XA, XE>, never, R>;
|
|
40
|
-
add: (...fibers: Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
41
|
-
addAll: (fibers: readonly Fiber.RuntimeFiber<never, never>[]) => Effect.Effect<void, never, never>;
|
|
42
|
-
}) => FiberBag;
|
|
26
|
+
of: (service: import("effect/Context").TagClassShape<any, any>) => FiberBag;
|
|
43
27
|
make: Effect<FiberBag, never, import("effect/Scope").Scope>;
|
|
44
28
|
} & import("effect/Context").Tag<FiberBag, FiberBag> & {
|
|
45
29
|
join: Effect<void, never, FiberBag>;
|
|
@@ -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,YAAa,OAAO,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,0EAAkD;CAC1G"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.183.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
"fast-check": "~3.16.0",
|
|
27
27
|
"ts-node": "^10.9.2",
|
|
28
28
|
"typescript": "^5.4.2",
|
|
29
|
-
"vitest": "^1.3.1"
|
|
30
|
-
"@effect-app/compiler": "0.72.0"
|
|
29
|
+
"vitest": "^1.3.1"
|
|
31
30
|
},
|
|
32
31
|
"peerDependencies": {
|
|
33
32
|
"@effect/platform": "^0.46.3",
|
package/src/service.ts
CHANGED
|
@@ -121,98 +121,99 @@ export const proxify = <T extends object>(TagClass: T) =>
|
|
|
121
121
|
return done
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
export const TagMake = <ServiceImpl, R, E, const Key extends string>(
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
) =>
|
|
128
|
-
<Id>() => {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
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
141
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
147
|
|
|
148
|
-
|
|
149
|
-
}
|
|
148
|
+
// return proxify(assignTag<Id, ServiceImpl>(key, creationError)(c))<Id, ServiceImpl>()
|
|
149
|
+
// }
|
|
150
150
|
|
|
151
|
-
export function TagClass<Id, ServiceImpl, Service = Id>(key?: string) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
} as any
|
|
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
|
|
175
174
|
|
|
176
|
-
|
|
177
|
-
}
|
|
175
|
+
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
176
|
+
// }
|
|
178
177
|
|
|
179
|
-
export const TagClassMake = <ServiceImpl, R, E>(
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
) =>
|
|
183
|
-
<Id, Service = Id>() => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
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
|
+
// }
|
|
203
204
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
// static toLayerScoped = (arg?: any) => {
|
|
206
|
+
// return Layer.scoped(this as any, arg ?? this.make)
|
|
207
|
+
// }
|
|
207
208
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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
|
|
213
214
|
|
|
214
|
-
|
|
215
|
-
}
|
|
215
|
+
// return proxify(assignTag<Id, Service>(key, creationError)(c))<Id, ServiceImpl>()
|
|
216
|
+
// }
|
|
216
217
|
|
|
217
218
|
export function TagClassId<const Key extends string>(key: Key) {
|
|
218
219
|
return <Id, ServiceImpl>() => {
|
|
@@ -220,24 +221,29 @@ export function TagClassId<const Key extends string>(key: Key) {
|
|
|
220
221
|
Error.stackTraceLimit = 2
|
|
221
222
|
const creationError = new Error()
|
|
222
223
|
Error.stackTraceLimit = limit
|
|
223
|
-
const c:
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
|
241
247
|
|
|
242
248
|
return proxify(assignTag<Id, Id>(key, creationError)(c))<Id, ServiceImpl>()
|
|
243
249
|
}
|
|
@@ -252,34 +258,39 @@ export const TagClassMakeId = <ServiceImpl, R, E, const Key extends string>(
|
|
|
252
258
|
Error.stackTraceLimit = 2
|
|
253
259
|
const creationError = new Error()
|
|
254
260
|
Error.stackTraceLimit = limit
|
|
255
|
-
const c:
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
+
}
|
|
270
281
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
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
|
+
}
|
|
277
288
|
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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
|
|
283
294
|
|
|
284
295
|
return proxify(assignTag<Id, Id>(key, creationError)(c))<Id, ServiceImpl>()
|
|
285
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../
|
|
1
|
+
{"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["../schema.test.ts"],"names":[],"mappings":""}
|
package/tsconfig.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"forceConsistentCasingInFileNames": true,
|
|
19
19
|
"module": "Node16",
|
|
20
20
|
"lib": [
|
|
21
|
-
"
|
|
21
|
+
"ES2023"
|
|
22
22
|
],
|
|
23
23
|
"baseUrl": "./",
|
|
24
24
|
"target": "es2022",
|
|
@@ -31,16 +31,14 @@
|
|
|
31
31
|
"noImplicitAny": true,
|
|
32
32
|
"useUnknownInCatchVariables": true,
|
|
33
33
|
"noImplicitThis": true,
|
|
34
|
-
"outDir": "
|
|
34
|
+
"outDir": "build/dist",
|
|
35
35
|
"resolveJsonModule": true,
|
|
36
36
|
"moduleResolution": "Node16",
|
|
37
37
|
"downlevelIteration": true,
|
|
38
38
|
"noErrorTruncation": true,
|
|
39
39
|
"types": [
|
|
40
40
|
"vitest/globals"
|
|
41
|
-
]
|
|
42
|
-
"rootDir": "./src",
|
|
43
|
-
"tsBuildInfoFile": "./dist/.tsbuildinfo"
|
|
41
|
+
]
|
|
44
42
|
},
|
|
45
43
|
"$schema": "https://json.schemastore.org/tsconfig",
|
|
46
44
|
"display": "Strictest",
|
|
@@ -64,22 +62,12 @@
|
|
|
64
62
|
"*.json"
|
|
65
63
|
]
|
|
66
64
|
},
|
|
67
|
-
"include": [
|
|
68
|
-
"./src/**/*.ts"
|
|
69
|
-
],
|
|
65
|
+
"include": [],
|
|
70
66
|
"exclude": [
|
|
71
67
|
"**/node_modules",
|
|
72
68
|
"**/build",
|
|
73
69
|
"**/dist",
|
|
74
70
|
"**/.*"
|
|
75
71
|
],
|
|
76
|
-
"ts-node": {
|
|
77
|
-
"require": [
|
|
78
|
-
"tsconfig-paths/register"
|
|
79
|
-
],
|
|
80
|
-
"compilerOptions": {
|
|
81
|
-
"module": "CommonJS"
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
72
|
"references": []
|
|
85
73
|
}
|
package/tsconfig.json.bak
CHANGED
|
@@ -1,43 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
"moduleResolution": "Node16",
|
|
8
|
-
"outDir": "./dist",
|
|
9
|
-
"rootDir": "./src",
|
|
10
|
-
"tsBuildInfoFile": "./dist/.tsbuildinfo",
|
|
11
|
-
// "paths": {
|
|
12
|
-
// "effect-app": [
|
|
13
|
-
// "./src"
|
|
14
|
-
// ],
|
|
15
|
-
// "effect-app/*": [
|
|
16
|
-
// "./src/*"
|
|
17
|
-
// ],
|
|
18
|
-
// },
|
|
2
|
+
"compilerOptions": {},
|
|
3
|
+
"extends": "../../tsconfig.base.json",
|
|
4
|
+
"references": [
|
|
5
|
+
{
|
|
6
|
+
"path": "./tsconfig.src.json"
|
|
19
7
|
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"ts-node": {
|
|
25
|
-
"require": [
|
|
26
|
-
"tsconfig-paths/register"
|
|
27
|
-
],
|
|
28
|
-
"compilerOptions": {
|
|
29
|
-
"module": "CommonJS"
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
"references": [
|
|
33
|
-
{
|
|
34
|
-
"path": "../fluent-extensions"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"path": "../schema"
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"path": "../core"
|
|
41
|
-
},
|
|
42
|
-
]
|
|
8
|
+
{
|
|
9
|
+
"path": "./tsconfig.test.json"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
43
12
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../tsconfig.base.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"lib": [
|
|
5
|
+
"esnext"
|
|
6
|
+
],
|
|
7
|
+
"tsBuildInfoFile": "./dist/.tsbuildinfo",
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"baseUrl": "./",
|
|
10
|
+
"rootDir": "./src",
|
|
11
|
+
// keep in here, cause madge can't detect it from extended tsconfig
|
|
12
|
+
"moduleResolution": "Node16",
|
|
13
|
+
"outDir": "./dist"
|
|
14
|
+
},
|
|
15
|
+
"include": [
|
|
16
|
+
"./src/**/*.ts"
|
|
17
|
+
],
|
|
18
|
+
"exclude": [
|
|
19
|
+
"./dist",
|
|
20
|
+
"*.test.ts",
|
|
21
|
+
"node_modules",
|
|
22
|
+
"build",
|
|
23
|
+
"lib",
|
|
24
|
+
"dist",
|
|
25
|
+
"**/*.d.ts.map",
|
|
26
|
+
".git",
|
|
27
|
+
".data",
|
|
28
|
+
"**/.*",
|
|
29
|
+
"**/*.tmp"
|
|
30
|
+
],
|
|
31
|
+
"ts-node": {
|
|
32
|
+
"require": [
|
|
33
|
+
"tsconfig-paths/register"
|
|
34
|
+
],
|
|
35
|
+
"compilerOptions": {
|
|
36
|
+
"module": "CommonJS"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"references": [
|
|
40
|
+
{
|
|
41
|
+
"path": "../schema"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"path": "../core"
|
|
45
|
+
},
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.src.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"rootDir": "./test",
|
|
5
|
+
"outDir": "./test/dist",
|
|
6
|
+
"tsBuildInfoFile": "./test/dist/.tsbuildinfo",
|
|
7
|
+
// "types": [
|
|
8
|
+
// "vitest/globals"
|
|
9
|
+
// ]
|
|
10
|
+
},
|
|
11
|
+
"include": [
|
|
12
|
+
"./test/**/*.ts"
|
|
13
|
+
],
|
|
14
|
+
"exclude": [
|
|
15
|
+
"./dist",
|
|
16
|
+
"./test/dist",
|
|
17
|
+
"node_modules",
|
|
18
|
+
"build",
|
|
19
|
+
"lib",
|
|
20
|
+
"dist",
|
|
21
|
+
"**/*.d.ts.map",
|
|
22
|
+
".git",
|
|
23
|
+
".data",
|
|
24
|
+
"**/.*",
|
|
25
|
+
"**/*.tmp"
|
|
26
|
+
],
|
|
27
|
+
"references": [
|
|
28
|
+
{
|
|
29
|
+
"path": "./tsconfig.src.json"
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
}
|
package/.prettierignore
DELETED
package/_cjs/schema.test.cjs
DELETED
package/_cjs/schema.test.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.test.cjs","names":["_schema","require","test","console","log","StringId","make"],"sources":["../src/schema.test.ts"],"sourcesContent":[null],"mappings":";;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEAC,IAAI,CAAC,OAAO,EAAE,MAAK;EACjBC,OAAO,CAACC,GAAG,CAACC,gBAAQ,CAACC,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|