effect-app 0.154.3 → 0.155.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 +14 -0
- package/_cjs/_global.cjs.map +1 -1
- package/_cjs/service.cjs +101 -25
- package/_cjs/service.cjs.map +1 -1
- package/_src/_global.ts +9 -1
- package/_src/service.ts +132 -30
- package/dist/_global.d.ts +1 -1
- package/dist/_global.d.ts.map +1 -1
- package/dist/_global.js +1 -1
- package/dist/service.d.ts +27 -13
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +95 -25
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 0.155.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 71dbfc3: update packages
|
|
8
|
+
- 1cc7ee7: cleanup service tags
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [71dbfc3]
|
|
13
|
+
- @effect-app/fluent-extensions@0.127.0
|
|
14
|
+
- @effect-app/schema@0.186.0
|
|
15
|
+
- @effect-app/core@0.132.0
|
|
16
|
+
|
|
3
17
|
## 0.154.3
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/_cjs/_global.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_global.cjs","names":["require"],"sources":["../_src/_global.ts"],"sourcesContent":[null],"mappings":";;AASAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAOAA,OAAA;AAKAA,OAAA;AAIAA,OAAA;AA+BAA,OAAA;
|
|
1
|
+
{"version":3,"file":"_global.cjs","names":["require"],"sources":["../_src/_global.ts"],"sourcesContent":[null],"mappings":";;AASAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAKAA,OAAA;AAOAA,OAAA;AAKAA,OAAA;AAIAA,OAAA;AA+BAA,OAAA;AAaAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA;AACAA,OAAA"}
|
package/_cjs/service.cjs
CHANGED
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ServiceTagged = exports.ServiceTag = exports.PhantomTypeParameter = void 0;
|
|
7
|
-
exports.ServiceTaggedClass = ServiceTaggedClass;
|
|
8
7
|
exports.TagClass = TagClass;
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
8
|
+
exports.TagClassId = TagClassId;
|
|
9
|
+
exports.TagMake = exports.TagClassMakeId = exports.TagClassMake = void 0;
|
|
11
10
|
exports.assignTag = assignTag;
|
|
12
11
|
exports.make = make;
|
|
13
12
|
exports.makeService = makeService;
|
|
14
13
|
var tsplus_module_1 = _interopRequireWildcard(require("effect/Context"));
|
|
15
14
|
var tsplus_module_2 = _interopRequireWildcard(require("effect/Layer"));
|
|
15
|
+
var tsplus_module_3 = _interopRequireWildcard(require("effect/Effect"));
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
const ServiceTag = exports.ServiceTag = Symbol();
|
|
@@ -35,40 +35,84 @@ function makeService(_) {
|
|
|
35
35
|
function make(_, t) {
|
|
36
36
|
return t;
|
|
37
37
|
}
|
|
38
|
-
const TagTypeId = exports.TagTypeId = Symbol.for("effect/Context/Tag");
|
|
39
38
|
let i = 0;
|
|
40
39
|
const randomId = () => "unknown-service-" + i++;
|
|
41
|
-
function assignTag(key) {
|
|
40
|
+
function assignTag(key, creationError) {
|
|
42
41
|
return cls => {
|
|
43
42
|
const tag = tsplus_module_1.GenericTag(key ?? randomId());
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
let fields = tag;
|
|
44
|
+
if (Reflect.ownKeys(cls).includes("key")) {
|
|
45
|
+
const {
|
|
46
|
+
key,
|
|
47
|
+
...rest
|
|
48
|
+
} = tag;
|
|
49
|
+
fields = rest;
|
|
50
|
+
}
|
|
51
|
+
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
52
|
+
if (!creationError) {
|
|
53
|
+
const limit = Error.stackTraceLimit;
|
|
54
|
+
Error.stackTraceLimit = 2;
|
|
55
|
+
creationError = new Error();
|
|
56
|
+
Error.stackTraceLimit = limit;
|
|
57
|
+
}
|
|
49
58
|
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
50
59
|
Object.defineProperty(t, "stack", {
|
|
51
60
|
get() {
|
|
52
|
-
|
|
53
|
-
return creationError.stack?.split("\n").slice(1).join("\n");
|
|
61
|
+
return creationError.stack;
|
|
54
62
|
}
|
|
55
63
|
});
|
|
56
64
|
return t;
|
|
57
65
|
};
|
|
58
66
|
}
|
|
67
|
+
const TagMake = () => (key, make) => {
|
|
68
|
+
const limit = Error.stackTraceLimit;
|
|
69
|
+
Error.stackTraceLimit = 2;
|
|
70
|
+
const creationError = new Error();
|
|
71
|
+
Error.stackTraceLimit = limit;
|
|
72
|
+
const c = class {
|
|
73
|
+
static toLayer() {
|
|
74
|
+
return tsplus_module_2.effect(this)(make);
|
|
75
|
+
}
|
|
76
|
+
static toLayerScoped() {
|
|
77
|
+
return tsplus_module_2.scoped(this)(make);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
return assignTag(key, creationError)(c);
|
|
81
|
+
};
|
|
82
|
+
exports.TagMake = TagMake;
|
|
59
83
|
function TagClass(key) {
|
|
84
|
+
const limit = Error.stackTraceLimit;
|
|
85
|
+
Error.stackTraceLimit = 2;
|
|
86
|
+
const creationError = new Error();
|
|
87
|
+
Error.stackTraceLimit = limit;
|
|
60
88
|
const c = class {
|
|
61
89
|
constructor(service) {
|
|
62
90
|
Object.assign(this, service);
|
|
63
91
|
}
|
|
92
|
+
static toLayer(eff) {
|
|
93
|
+
return tsplus_module_2.effect(this)(tsplus_module_3.map(eff, _ => new this(_)));
|
|
94
|
+
}
|
|
95
|
+
static toLayerScoped(eff) {
|
|
96
|
+
return tsplus_module_2.scoped(this)(tsplus_module_3.map(eff, _ => new this(_)));
|
|
97
|
+
}
|
|
98
|
+
static get key() {
|
|
99
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
100
|
+
}
|
|
64
101
|
};
|
|
65
|
-
return assignTag(key)(c);
|
|
102
|
+
return assignTag(key, creationError)(c);
|
|
66
103
|
}
|
|
67
104
|
const TagClassMake = () => (make, key) => {
|
|
105
|
+
const limit = Error.stackTraceLimit;
|
|
106
|
+
Error.stackTraceLimit = 2;
|
|
107
|
+
const creationError = new Error();
|
|
108
|
+
Error.stackTraceLimit = limit;
|
|
68
109
|
const c = class {
|
|
69
110
|
constructor(service) {
|
|
70
111
|
Object.assign(this, service);
|
|
71
112
|
}
|
|
113
|
+
static make() {
|
|
114
|
+
return make.andThen(_ => new this(_));
|
|
115
|
+
}
|
|
72
116
|
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
73
117
|
static toLayer() {
|
|
74
118
|
return tsplus_module_2.effect(this)(make);
|
|
@@ -76,22 +120,54 @@ const TagClassMake = () => (make, key) => {
|
|
|
76
120
|
static toLayerScoped() {
|
|
77
121
|
return tsplus_module_2.scoped(this)(make);
|
|
78
122
|
}
|
|
123
|
+
static get key() {
|
|
124
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
125
|
+
}
|
|
79
126
|
};
|
|
80
|
-
return assignTag(key)(c);
|
|
127
|
+
return assignTag(key, creationError)(c);
|
|
81
128
|
};
|
|
82
129
|
exports.TagClassMake = TagClassMake;
|
|
83
|
-
function
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
130
|
+
function TagClassId() {
|
|
131
|
+
return key => {
|
|
132
|
+
const limit = Error.stackTraceLimit;
|
|
133
|
+
Error.stackTraceLimit = 2;
|
|
134
|
+
const creationError = new Error();
|
|
135
|
+
Error.stackTraceLimit = limit;
|
|
136
|
+
const c = class {
|
|
137
|
+
constructor(service) {
|
|
138
|
+
Object.assign(this, service);
|
|
139
|
+
}
|
|
140
|
+
static toLayer(eff) {
|
|
141
|
+
return tsplus_module_2.effect(this)(tsplus_module_3.map(eff, _ => new this(_)));
|
|
142
|
+
}
|
|
143
|
+
static toLayerScoped(eff) {
|
|
144
|
+
return tsplus_module_2.scoped(this)(tsplus_module_3.map(eff, _ => new this(_)));
|
|
145
|
+
}
|
|
93
146
|
};
|
|
94
|
-
return assignTag()(
|
|
147
|
+
return assignTag(key, creationError)(c);
|
|
95
148
|
};
|
|
96
149
|
}
|
|
150
|
+
const TagClassMakeId = () => (key, make) => {
|
|
151
|
+
const limit = Error.stackTraceLimit;
|
|
152
|
+
Error.stackTraceLimit = 2;
|
|
153
|
+
const creationError = new Error();
|
|
154
|
+
Error.stackTraceLimit = limit;
|
|
155
|
+
const c = class {
|
|
156
|
+
constructor(service) {
|
|
157
|
+
Object.assign(this, service);
|
|
158
|
+
}
|
|
159
|
+
static make() {
|
|
160
|
+
return make.andThen(_ => new this(_));
|
|
161
|
+
}
|
|
162
|
+
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
163
|
+
static toLayer() {
|
|
164
|
+
return tsplus_module_2.effect(this)(make);
|
|
165
|
+
}
|
|
166
|
+
static toLayerScoped() {
|
|
167
|
+
return tsplus_module_2.scoped(this)(make);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return assignTag(key, creationError)(c);
|
|
171
|
+
};
|
|
172
|
+
exports.TagClassMakeId = TagClassMakeId;
|
|
97
173
|
//# sourceMappingURL=service.cjs.map
|
package/_cjs/service.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.cjs","names":["ServiceTag","exports","Symbol","PhantomTypeParameter","ServiceTagged","makeService","_","make","t","
|
|
1
|
+
{"version":3,"file":"service.cjs","names":["ServiceTag","exports","Symbol","PhantomTypeParameter","ServiceTagged","makeService","_","make","t","i","randomId","assignTag","key","creationError","cls","tag","tsplus_module_1","GenericTag","fields","Reflect","ownKeys","includes","rest","Object","assign","getPrototypeOf","limit","Error","stackTraceLimit","defineProperty","get","stack","TagMake","c","toLayer","tsplus_module_2","effect","toLayerScoped","scoped","TagClass","constructor","service","eff","tsplus_module_3","map","_key","split","name","TagClassMake","andThen","TagClassId","TagClassMakeId"],"sources":["../_src/service.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/_src/_global.ts
CHANGED
|
@@ -104,7 +104,15 @@ import {
|
|
|
104
104
|
/**
|
|
105
105
|
* @tsplus global
|
|
106
106
|
*/
|
|
107
|
-
import {
|
|
107
|
+
import {
|
|
108
|
+
assignTag,
|
|
109
|
+
ServiceTagged,
|
|
110
|
+
TagClass,
|
|
111
|
+
TagClassId,
|
|
112
|
+
TagClassMake,
|
|
113
|
+
TagClassMakeId,
|
|
114
|
+
TagMake
|
|
115
|
+
} from "effect-app/service"
|
|
108
116
|
|
|
109
117
|
/**
|
|
110
118
|
* @tsplus global
|
package/_src/service.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* https://github.com/microsoft/TypeScript/issues/52644
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import type {
|
|
9
|
+
import type { Context } from "effect"
|
|
10
10
|
|
|
11
11
|
export const ServiceTag = Symbol()
|
|
12
12
|
export type ServiceTag = typeof ServiceTag
|
|
@@ -36,40 +36,87 @@ export function make<T extends ServiceTagged<any>, I = T>(_: Tag<I, T>, t: Omit<
|
|
|
36
36
|
return t as T
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export const TagTypeId: TagTypeIdOriginal = Symbol.for("effect/Context/Tag") as unknown as TagTypeIdOriginal
|
|
40
|
-
export type TagTypeId = typeof TagTypeId
|
|
41
|
-
|
|
42
39
|
let i = 0
|
|
43
40
|
const randomId = () => "unknown-service-" + i++
|
|
44
41
|
|
|
45
|
-
export function assignTag<Id, Service = Id>(key?: string) {
|
|
42
|
+
export function assignTag<Id, Service = Id>(key?: string, creationError?: Error) {
|
|
46
43
|
return <S extends object>(cls: S): S & Tag<Id, Service> => {
|
|
47
44
|
const tag = GenericTag<Id, Service>(key ?? randomId())
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
let fields = tag
|
|
46
|
+
if (Reflect.ownKeys(cls).includes("key")) {
|
|
47
|
+
const { key, ...rest } = tag
|
|
48
|
+
fields = rest as any
|
|
49
|
+
}
|
|
50
|
+
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields)
|
|
51
|
+
if (!creationError) {
|
|
52
|
+
const limit = Error.stackTraceLimit
|
|
53
|
+
Error.stackTraceLimit = 2
|
|
54
|
+
creationError = new Error()
|
|
55
|
+
Error.stackTraceLimit = limit
|
|
56
|
+
}
|
|
53
57
|
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
54
58
|
Object.defineProperty(t, "stack", {
|
|
55
59
|
get() {
|
|
56
|
-
|
|
57
|
-
return creationError.stack?.split("\n").slice(1).join("\n")
|
|
60
|
+
return creationError!.stack
|
|
58
61
|
}
|
|
59
62
|
})
|
|
60
63
|
return t
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
|
|
67
|
+
export const TagMake = <Id>() =>
|
|
68
|
+
<ServiceImpl, R, E, const Key extends string>(
|
|
69
|
+
key: Key,
|
|
70
|
+
make: Effect<ServiceImpl, E, R>
|
|
71
|
+
) => {
|
|
72
|
+
const limit = Error.stackTraceLimit
|
|
73
|
+
Error.stackTraceLimit = 2
|
|
74
|
+
const creationError = new Error()
|
|
75
|
+
Error.stackTraceLimit = limit
|
|
76
|
+
const c: {
|
|
77
|
+
new(): Context.TagClassShape<Key, ServiceImpl>
|
|
78
|
+
toLayer: () => Layer<Id, E, R>
|
|
79
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
80
|
+
} = class {
|
|
81
|
+
static toLayer() {
|
|
82
|
+
return make.toLayer(this as any)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
static toLayerScoped() {
|
|
86
|
+
return make.toLayerScoped(this as any)
|
|
87
|
+
}
|
|
88
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
89
|
+
} as any
|
|
90
|
+
|
|
91
|
+
return assignTag<Id, ServiceImpl>(key, creationError)(c)
|
|
92
|
+
}
|
|
93
|
+
|
|
64
94
|
export function TagClass<Id, ServiceImpl, Service = Id>(key?: string) {
|
|
65
|
-
const
|
|
95
|
+
const limit = Error.stackTraceLimit
|
|
96
|
+
Error.stackTraceLimit = 2
|
|
97
|
+
const creationError = new Error()
|
|
98
|
+
Error.stackTraceLimit = limit
|
|
99
|
+
const c: {
|
|
100
|
+
new(service: ServiceImpl): Readonly<ServiceImpl>
|
|
101
|
+
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>
|
|
102
|
+
toLayerScoped: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, Exclude<R, Scope>>
|
|
103
|
+
} = class {
|
|
66
104
|
constructor(service: ServiceImpl) {
|
|
67
105
|
Object.assign(this, service)
|
|
68
106
|
}
|
|
69
|
-
|
|
107
|
+
static _key?: string
|
|
108
|
+
static toLayer<E, R>(eff: Effect<ServiceImpl, E, R>) {
|
|
109
|
+
return eff.map((_) => new this(_)).toLayer(this as any)
|
|
110
|
+
}
|
|
111
|
+
static toLayerScoped<E, R>(eff: Effect<ServiceImpl, E, R>) {
|
|
112
|
+
return eff.map((_) => new this(_)).toLayerScoped(this as any)
|
|
113
|
+
}
|
|
114
|
+
static get key() {
|
|
115
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
116
|
+
}
|
|
70
117
|
} as any
|
|
71
118
|
|
|
72
|
-
return assignTag<Id, Service>(key)(c)
|
|
119
|
+
return assignTag<Id, Service>(key, creationError)(c)
|
|
73
120
|
}
|
|
74
121
|
|
|
75
122
|
export const TagClassMake = <Id, Service = Id>() =>
|
|
@@ -77,14 +124,23 @@ export const TagClassMake = <Id, Service = Id>() =>
|
|
|
77
124
|
make: Effect<ServiceImpl, E, R>,
|
|
78
125
|
key?: string
|
|
79
126
|
) => {
|
|
127
|
+
const limit = Error.stackTraceLimit
|
|
128
|
+
Error.stackTraceLimit = 2
|
|
129
|
+
const creationError = new Error()
|
|
130
|
+
Error.stackTraceLimit = limit
|
|
80
131
|
const c: {
|
|
81
132
|
new(service: ServiceImpl): Readonly<ServiceImpl>
|
|
82
|
-
toLayer: () => Layer<
|
|
83
|
-
toLayerScoped: () => Layer<
|
|
133
|
+
toLayer: () => Layer<Id, E, R>
|
|
134
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
135
|
+
make: Effect<Id, E, R>
|
|
84
136
|
} = class {
|
|
85
137
|
constructor(service: ServiceImpl) {
|
|
86
138
|
Object.assign(this, service)
|
|
87
139
|
}
|
|
140
|
+
static _key: string
|
|
141
|
+
static make() {
|
|
142
|
+
return make.andThen((_) => new this(_))
|
|
143
|
+
}
|
|
88
144
|
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
89
145
|
static toLayer() {
|
|
90
146
|
return make.toLayer(this as any)
|
|
@@ -93,27 +149,73 @@ export const TagClassMake = <Id, Service = Id>() =>
|
|
|
93
149
|
static toLayerScoped() {
|
|
94
150
|
return make.toLayerScoped(this as any)
|
|
95
151
|
}
|
|
152
|
+
|
|
153
|
+
static get key() {
|
|
154
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
|
|
155
|
+
}
|
|
96
156
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
97
157
|
} as any
|
|
98
158
|
|
|
99
|
-
return assignTag<Id, Service>(key)(c)
|
|
159
|
+
return assignTag<Id, Service>(key, creationError)(c)
|
|
100
160
|
}
|
|
101
161
|
|
|
102
|
-
export function
|
|
103
|
-
|
|
162
|
+
export function TagClassId<Id, ServiceImpl>() {
|
|
163
|
+
return <const Key extends string>(key: Key) => {
|
|
164
|
+
const limit = Error.stackTraceLimit
|
|
165
|
+
Error.stackTraceLimit = 2
|
|
166
|
+
const creationError = new Error()
|
|
167
|
+
Error.stackTraceLimit = limit
|
|
168
|
+
const c: {
|
|
169
|
+
new(service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>
|
|
170
|
+
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>
|
|
171
|
+
toLayerScoped: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, Exclude<R, Scope>>
|
|
172
|
+
} = class {
|
|
173
|
+
constructor(service: ServiceImpl) {
|
|
174
|
+
Object.assign(this, service)
|
|
175
|
+
}
|
|
176
|
+
static toLayer<E, R>(eff: Effect<ServiceImpl, E, R>) {
|
|
177
|
+
return eff.map((_) => new this(_)).toLayer(this as any)
|
|
178
|
+
}
|
|
179
|
+
static toLayerScoped<E, R>(eff: Effect<ServiceImpl, E, R>) {
|
|
180
|
+
return eff.map((_) => new this(_)).toLayerScoped(this as any)
|
|
181
|
+
}
|
|
182
|
+
} as any
|
|
104
183
|
|
|
105
|
-
|
|
184
|
+
return assignTag<Id, Id>(key, creationError)(c)
|
|
185
|
+
}
|
|
106
186
|
}
|
|
107
187
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
188
|
+
export const TagClassMakeId = <Id>() =>
|
|
189
|
+
<ServiceImpl, R, E, const Key extends string>(
|
|
190
|
+
key: Key,
|
|
191
|
+
make: Effect<ServiceImpl, E, R>
|
|
192
|
+
) => {
|
|
193
|
+
const limit = Error.stackTraceLimit
|
|
194
|
+
Error.stackTraceLimit = 2
|
|
195
|
+
const creationError = new Error()
|
|
196
|
+
Error.stackTraceLimit = limit
|
|
197
|
+
const c: {
|
|
198
|
+
new(service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>
|
|
199
|
+
toLayer: () => Layer<Id, E, R>
|
|
200
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>
|
|
201
|
+
make: Effect<Id, E, R>
|
|
202
|
+
} = class {
|
|
203
|
+
constructor(service: ServiceImpl) {
|
|
204
|
+
Object.assign(this, service)
|
|
205
|
+
}
|
|
206
|
+
static make() {
|
|
207
|
+
return make.andThen((_) => new this(_))
|
|
208
|
+
}
|
|
209
|
+
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
210
|
+
static toLayer() {
|
|
211
|
+
return make.toLayer(this as any)
|
|
115
212
|
}
|
|
116
213
|
|
|
117
|
-
|
|
118
|
-
|
|
214
|
+
static toLayerScoped() {
|
|
215
|
+
return make.toLayerScoped(this as any)
|
|
216
|
+
}
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
|
+
} as any
|
|
219
|
+
|
|
220
|
+
return assignTag<Id, Id>(key, creationError)(c)
|
|
119
221
|
}
|
package/dist/_global.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ import { Fnc, NonEmptySet, ReadonlySet, Record, S, Utils } from "effect-app";
|
|
|
57
57
|
/**
|
|
58
58
|
* @tsplus global
|
|
59
59
|
*/
|
|
60
|
-
import { assignTag, ServiceTagged, TagClass, TagClassMake } from "effect-app/service";
|
|
60
|
+
import { assignTag, ServiceTagged, TagClass, TagClassId, TagClassMake, TagClassMakeId, TagMake } from "effect-app/service";
|
|
61
61
|
/**
|
|
62
62
|
* @tsplus global
|
|
63
63
|
*/
|
package/dist/_global.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_global.d.ts","sourceRoot":"","sources":["../_src/_global.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACrF;;GAEG;AACH,OAAO,EASL,GAAG,EAMH,WAAW,EAEX,WAAW,EAGX,MAAM,EAEN,CAAC,EAED,KAAK,EAEN,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"_global.d.ts","sourceRoot":"","sources":["../_src/_global.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACrF;;GAEG;AACH,OAAO,EASL,GAAG,EAMH,WAAW,EAEX,WAAW,EAGX,MAAM,EAEN,CAAC,EAED,KAAK,EAEN,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,OAAO,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,cAAc,EACd,OAAO,EACR,MAAM,oBAAoB,CAAA;AAE3B;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,0BAA0B,CAAA;AACjC,OAAO,0BAA0B,CAAA;AACjC,OAAO,4BAA4B,CAAA;AAEnC,OAAO,kBAAkB,CAAA;AACzB,OAAO,kBAAkB,CAAA"}
|
package/dist/_global.js
CHANGED
|
@@ -73,4 +73,4 @@ import "@effect-app/core/Prelude";
|
|
|
73
73
|
import "@effect-app/schema/_global";
|
|
74
74
|
import "./_global.ext.js";
|
|
75
75
|
import "./refinements.js";
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvX2dsb2JhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsTUFBTTtBQUNOLG9CQUFvQjtBQUNwQixNQUFNO0FBQ04sd0RBQXdEO0FBRXhEOztHQUVHO0FBQ0gsT0FBd0IsZ0JBQWdCLENBQUE7QUFFeEM7O0dBRUc7QUFDSCxPQUF1QixlQUFlLENBQUE7QUFFdEM7O0dBRUc7QUFDSCxPQUEwQiw2QkFBNkIsQ0FBQTtBQUV2RDs7R0FFRztBQUNILE9BQXVCLGVBQWUsQ0FBQTtBQUV0Qzs7R0FFRztBQUNILE9BQTRCLG9CQUFvQixDQUFBO0FBRWhEOztHQUVHO0FBQ0gsT0FBK0IsdUJBQXVCLENBQUE7QUFFdEQ7O0dBRUc7QUFDSCxPQUE2RCxjQUFjLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUF3QixnQkFBZ0IsQ0FBQTtBQUV4Qzs7R0FFRztBQUNILE9BQThCLHFDQUFxQyxDQUFBO0FBRW5FOztHQUVHO0FBQ0gsT0FBdUQsb0JBQW9CLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUFnQyx3QkFBd0IsQ0FBQTtBQUV4RCxxREFBcUQ7QUFFckQ7O0dBRUc7QUFDSCxPQUEwQyxpQkFBaUIsQ0FBQTtBQUUzRDs7R0FFRztBQUNILE9BQW1FLGtCQUFrQixDQUFBO0FBQ3JGOztHQUVHO0FBQ0gsT0EwQk8sWUFBWSxDQUFBO0FBRW5COztHQUVHO0FBQ0gsT0FRTyxvQkFBb0IsQ0FBQTtBQUUzQjs7R0FFRztBQUNILE9BQStCLFlBQVksQ0FBQTtBQUUzQyxPQUFPLDBCQUEwQixDQUFBO0FBQ2pDLE9BQU8sMEJBQTBCLENBQUE7QUFDakMsT0FBTyw0QkFBNEIsQ0FBQTtBQUVuQyxPQUFPLGtCQUFrQixDQUFBO0FBQ3pCLE9BQU8sa0JBQWtCLENBQUEifQ==
|
package/dist/service.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { Tag } from "effect/Context";
|
|
|
7
7
|
import { Effect } from "effect/Effect";
|
|
8
8
|
import { Layer } from "effect/Layer";
|
|
9
9
|
import { Scope } from "effect/Scope";
|
|
10
|
-
import type {
|
|
10
|
+
import type { Context } from "effect";
|
|
11
11
|
export declare const ServiceTag: unique symbol;
|
|
12
12
|
export type ServiceTag = typeof ServiceTag;
|
|
13
13
|
export declare abstract class PhantomTypeParameter<Identifier extends keyof any, InstantiatedType> {
|
|
@@ -30,18 +30,32 @@ export declare function makeService<T extends ServiceTagged<any>>(_: Omit<T, Ser
|
|
|
30
30
|
* @tsplus location "effect-app/service"
|
|
31
31
|
*/
|
|
32
32
|
export declare function make<T extends ServiceTagged<any>, I = T>(_: Tag<I, T>, t: Omit<T, ServiceTag>): T;
|
|
33
|
-
export declare
|
|
34
|
-
export
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
export declare function assignTag<Id, Service = Id>(key?: string, creationError?: Error): <S extends object>(cls: S) => S & Tag<Id, Service>;
|
|
34
|
+
export declare const TagMake: <Id>() => <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => {
|
|
35
|
+
new (): Context.TagClassShape<Key, ServiceImpl>;
|
|
36
|
+
toLayer: () => Layer<Id, E, R>;
|
|
37
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>;
|
|
38
|
+
} & Context.Tag<Id, ServiceImpl>;
|
|
39
|
+
export declare function TagClass<Id, ServiceImpl, Service = Id>(key?: string): {
|
|
40
|
+
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
41
|
+
toLayer: <E, R>(eff: Effect<ServiceImpl, E, R>) => Layer<Id, E, R>;
|
|
42
|
+
toLayerScoped: <E_1, R_1>(eff: import("effect/Effect").Effect<ServiceImpl, E_1, R_1>) => import("effect/Layer").Layer<Id, E_1, Exclude<R_1, import("effect/Scope").Scope>>;
|
|
43
|
+
} & Context.Tag<Id, Service>;
|
|
37
44
|
export declare const TagClassMake: <Id, Service = Id>() => <ServiceImpl, R, E>(make: Effect<ServiceImpl, E, R>, key?: string) => {
|
|
38
45
|
new (service: ServiceImpl): Readonly<ServiceImpl>;
|
|
39
|
-
toLayer: () => Layer<
|
|
40
|
-
toLayerScoped: () => Layer<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
toLayer: () => Layer<Id, E, R>;
|
|
47
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>;
|
|
48
|
+
make: Effect<Id, E, R>;
|
|
49
|
+
} & Context.Tag<Id, Service>;
|
|
50
|
+
export declare function TagClassId<Id, ServiceImpl>(): <const Key extends string>(key: Key) => {
|
|
51
|
+
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
52
|
+
toLayer: <E, R>(eff: import("effect/Effect").Effect<ServiceImpl, E, R>) => import("effect/Layer").Layer<Id, E, R>;
|
|
53
|
+
toLayerScoped: <E_1, R_1>(eff: import("effect/Effect").Effect<ServiceImpl, E_1, R_1>) => import("effect/Layer").Layer<Id, E_1, Exclude<R_1, import("effect/Scope").Scope>>;
|
|
54
|
+
} & Context.Tag<Id, Id>;
|
|
55
|
+
export declare const TagClassMakeId: <Id>() => <ServiceImpl, R, E, const Key extends string>(key: Key, make: Effect<ServiceImpl, E, R>) => {
|
|
56
|
+
new (service: ServiceImpl): Readonly<ServiceImpl> & Context.TagClassShape<Key, ServiceImpl>;
|
|
57
|
+
toLayer: () => Layer<Id, E, R>;
|
|
58
|
+
toLayerScoped: () => Layer<Id, E, Exclude<R, Scope>>;
|
|
59
|
+
make: Effect<Id, E, R>;
|
|
60
|
+
} & Context.Tag<Id, Id>;
|
|
47
61
|
//# 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,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../_src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/service.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "effect/Context";
|
|
2
2
|
import * as tsplus_module_2 from "effect/Layer";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect";
|
|
3
4
|
export const ServiceTag = Symbol();
|
|
4
5
|
export class PhantomTypeParameter {
|
|
5
6
|
}
|
|
@@ -20,40 +21,80 @@ export function makeService(_) {
|
|
|
20
21
|
export function make(_, t) {
|
|
21
22
|
return t;
|
|
22
23
|
}
|
|
23
|
-
export const TagTypeId = Symbol.for("effect/Context/Tag");
|
|
24
24
|
let i = 0;
|
|
25
25
|
const randomId = () => "unknown-service-" + i++;
|
|
26
|
-
export function assignTag(key) {
|
|
26
|
+
export function assignTag(key, creationError) {
|
|
27
27
|
return (cls) => {
|
|
28
28
|
const tag = tsplus_module_1.GenericTag(key ?? randomId());
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
let fields = tag;
|
|
30
|
+
if (Reflect.ownKeys(cls).includes("key")) {
|
|
31
|
+
const { key, ...rest } = tag;
|
|
32
|
+
fields = rest;
|
|
33
|
+
}
|
|
34
|
+
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
35
|
+
if (!creationError) {
|
|
36
|
+
const limit = Error.stackTraceLimit;
|
|
37
|
+
Error.stackTraceLimit = 2;
|
|
38
|
+
creationError = new Error();
|
|
39
|
+
Error.stackTraceLimit = limit;
|
|
40
|
+
}
|
|
34
41
|
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
35
42
|
Object.defineProperty(t, "stack", {
|
|
36
43
|
get() {
|
|
37
|
-
|
|
38
|
-
return creationError.stack?.split("\n").slice(1).join("\n");
|
|
44
|
+
return creationError.stack;
|
|
39
45
|
}
|
|
40
46
|
});
|
|
41
47
|
return t;
|
|
42
48
|
};
|
|
43
49
|
}
|
|
50
|
+
export const TagMake = () => (key, make) => {
|
|
51
|
+
const limit = Error.stackTraceLimit;
|
|
52
|
+
Error.stackTraceLimit = 2;
|
|
53
|
+
const creationError = new Error();
|
|
54
|
+
Error.stackTraceLimit = limit;
|
|
55
|
+
const c = class {
|
|
56
|
+
static toLayer() {
|
|
57
|
+
return tsplus_module_2.effect(this)(make);
|
|
58
|
+
}
|
|
59
|
+
static toLayerScoped() {
|
|
60
|
+
return tsplus_module_2.scoped(this)(make);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
return assignTag(key, creationError)(c);
|
|
64
|
+
};
|
|
44
65
|
export function TagClass(key) {
|
|
66
|
+
const limit = Error.stackTraceLimit;
|
|
67
|
+
Error.stackTraceLimit = 2;
|
|
68
|
+
const creationError = new Error();
|
|
69
|
+
Error.stackTraceLimit = limit;
|
|
45
70
|
const c = class {
|
|
46
71
|
constructor(service) {
|
|
47
72
|
Object.assign(this, service);
|
|
48
73
|
}
|
|
74
|
+
static toLayer(eff) {
|
|
75
|
+
return tsplus_module_2.effect(this)(tsplus_module_3.map(eff, (_) => new this(_)));
|
|
76
|
+
}
|
|
77
|
+
static toLayerScoped(eff) {
|
|
78
|
+
return tsplus_module_2.scoped(this)(tsplus_module_3.map(eff, (_) => new this(_)));
|
|
79
|
+
}
|
|
80
|
+
static get key() {
|
|
81
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
82
|
+
}
|
|
49
83
|
};
|
|
50
|
-
return assignTag(key)(c);
|
|
84
|
+
return assignTag(key, creationError)(c);
|
|
51
85
|
}
|
|
52
86
|
export const TagClassMake = () => (make, key) => {
|
|
87
|
+
const limit = Error.stackTraceLimit;
|
|
88
|
+
Error.stackTraceLimit = 2;
|
|
89
|
+
const creationError = new Error();
|
|
90
|
+
Error.stackTraceLimit = limit;
|
|
53
91
|
const c = class {
|
|
54
92
|
constructor(service) {
|
|
55
93
|
Object.assign(this, service);
|
|
56
94
|
}
|
|
95
|
+
static make() {
|
|
96
|
+
return make.andThen((_) => new this(_));
|
|
97
|
+
}
|
|
57
98
|
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
58
99
|
static toLayer() {
|
|
59
100
|
return tsplus_module_2.effect(this)(make);
|
|
@@ -61,23 +102,52 @@ export const TagClassMake = () => (make, key) => {
|
|
|
61
102
|
static toLayerScoped() {
|
|
62
103
|
return tsplus_module_2.scoped(this)(make);
|
|
63
104
|
}
|
|
105
|
+
static get key() {
|
|
106
|
+
return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
|
|
107
|
+
}
|
|
64
108
|
};
|
|
65
|
-
return assignTag(key)(c);
|
|
109
|
+
return assignTag(key, creationError)(c);
|
|
66
110
|
};
|
|
67
|
-
export function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
111
|
+
export function TagClassId() {
|
|
112
|
+
return (key) => {
|
|
113
|
+
const limit = Error.stackTraceLimit;
|
|
114
|
+
Error.stackTraceLimit = 2;
|
|
115
|
+
const creationError = new Error();
|
|
116
|
+
Error.stackTraceLimit = limit;
|
|
117
|
+
const c = class {
|
|
118
|
+
constructor(service) {
|
|
119
|
+
Object.assign(this, service);
|
|
120
|
+
}
|
|
121
|
+
static toLayer(eff) {
|
|
122
|
+
return tsplus_module_2.effect(this)(tsplus_module_3.map(eff, (_) => new this(_)));
|
|
123
|
+
}
|
|
124
|
+
static toLayerScoped(eff) {
|
|
125
|
+
return tsplus_module_2.scoped(this)(tsplus_module_3.map(eff, (_) => new this(_)));
|
|
126
|
+
}
|
|
79
127
|
};
|
|
80
|
-
return assignTag()(
|
|
128
|
+
return assignTag(key, creationError)(c);
|
|
81
129
|
};
|
|
82
130
|
}
|
|
83
|
-
|
|
131
|
+
export const TagClassMakeId = () => (key, make) => {
|
|
132
|
+
const limit = Error.stackTraceLimit;
|
|
133
|
+
Error.stackTraceLimit = 2;
|
|
134
|
+
const creationError = new Error();
|
|
135
|
+
Error.stackTraceLimit = limit;
|
|
136
|
+
const c = class {
|
|
137
|
+
constructor(service) {
|
|
138
|
+
Object.assign(this, service);
|
|
139
|
+
}
|
|
140
|
+
static make() {
|
|
141
|
+
return make.andThen((_) => new this(_));
|
|
142
|
+
}
|
|
143
|
+
// works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
|
|
144
|
+
static toLayer() {
|
|
145
|
+
return tsplus_module_2.effect(this)(make);
|
|
146
|
+
}
|
|
147
|
+
static toLayerScoped() {
|
|
148
|
+
return tsplus_module_2.scoped(this)(make);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return assignTag(key, creationError)(c);
|
|
152
|
+
};
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFHbEMsTUFBTSxPQUFnQixvQkFBb0I7Q0FJekM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsYUFBMEIsU0FBUSxvQkFBd0M7Q0FBRztBQUVuRzs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQStCLENBQXNCO0lBQzlFLE9BQU8sQ0FBTSxDQUFBO0FBQ2YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBc0MsQ0FBWSxFQUFFLENBQXNCO0lBQzVGLE9BQU8sQ0FBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVksRUFBRSxhQUFxQjtJQUM3RSxPQUFPLENBQW1CLEdBQU0sRUFBd0IsRUFBRTtRQUN4RCxNQUFNLEdBQUcsR0FBRyxnQkFBQSxVQUFVLENBQWMsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUE7UUFDdEQsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFBO1FBQ2hCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFBO1lBQzVCLE1BQU0sR0FBRyxJQUFXLENBQUE7UUFDdEIsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FB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
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.155.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@effect/platform": "^0.44.
|
|
8
|
-
"@effect/schema": "^0.62.
|
|
7
|
+
"@effect/platform": "^0.44.3",
|
|
8
|
+
"@effect/schema": "^0.62.2",
|
|
9
9
|
"@fp-ts/optic": "^0.22.0",
|
|
10
10
|
"date-fns": "^3.3.1",
|
|
11
|
-
"effect": "^2.3.
|
|
11
|
+
"effect": "^2.3.2",
|
|
12
12
|
"lodash": "^4.17.21",
|
|
13
13
|
"nanoid": "^5.0.5",
|
|
14
14
|
"path-parser": "^6.1.0",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"ts-pattern": "^5.0.6",
|
|
17
17
|
"uuid": "^9.0.1",
|
|
18
18
|
"validator": "^13.11.0",
|
|
19
|
-
"@effect-app/
|
|
20
|
-
"@effect-app/
|
|
21
|
-
"@effect-app/
|
|
19
|
+
"@effect-app/fluent-extensions": "0.127.0",
|
|
20
|
+
"@effect-app/core": "0.132.0",
|
|
21
|
+
"@effect-app/schema": "0.186.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@babel/cli": "^7.23.9",
|