effect-app 0.154.3 → 0.155.1

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 CHANGED
@@ -1,5 +1,25 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 0.155.1
4
+
5
+ ### Patch Changes
6
+
7
+ - fix
8
+
9
+ ## 0.155.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 71dbfc3: update packages
14
+ - 1cc7ee7: cleanup service tags
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [71dbfc3]
19
+ - @effect-app/fluent-extensions@0.127.0
20
+ - @effect-app/schema@0.186.0
21
+ - @effect-app/core@0.132.0
22
+
3
23
  ## 0.154.3
4
24
 
5
25
  ### Patch Changes
@@ -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;AAKAA,OAAA;AAEAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEAA,OAAA;AACAA,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,17 +4,24 @@ 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.TagClassLegacy = TagClassLegacy;
10
- exports.TagTypeId = exports.TagClassMake = void 0;
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
+ var __setFunctionName = void 0 && (void 0).__setFunctionName || function (f, name, prefix) {
19
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
20
+ return Object.defineProperty(f, "name", {
21
+ configurable: true,
22
+ value: prefix ? "".concat(prefix, " ", name) : name
23
+ });
24
+ };
18
25
  const ServiceTag = exports.ServiceTag = Symbol();
19
26
  class PhantomTypeParameter {}
20
27
  /**
@@ -35,63 +42,133 @@ function makeService(_) {
35
42
  function make(_, t) {
36
43
  return t;
37
44
  }
38
- const TagTypeId = exports.TagTypeId = Symbol.for("effect/Context/Tag");
39
45
  let i = 0;
40
46
  const randomId = () => "unknown-service-" + i++;
41
- function assignTag(key) {
47
+ function assignTag(key, creationError) {
42
48
  return cls => {
43
49
  const tag = tsplus_module_1.GenericTag(key ?? randomId());
44
- const t = Object.assign(cls, Object.getPrototypeOf(tag), tag);
45
- const limit = Error.stackTraceLimit;
46
- Error.stackTraceLimit = 4; // TODO
47
- const creationError = new Error();
48
- Error.stackTraceLimit = limit;
50
+ let fields = tag;
51
+ if (Reflect.ownKeys(cls).includes("key")) {
52
+ const {
53
+ key,
54
+ ...rest
55
+ } = tag;
56
+ fields = rest;
57
+ }
58
+ const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
59
+ if (!creationError) {
60
+ const limit = Error.stackTraceLimit;
61
+ Error.stackTraceLimit = 2;
62
+ creationError = new Error();
63
+ Error.stackTraceLimit = limit;
64
+ }
49
65
  // the stack is used to get the location of the tag definition, if a service is not found in the registry
50
66
  Object.defineProperty(t, "stack", {
51
67
  get() {
52
- // remove one line as assignTag is generally used inside a class constructor function
53
- return creationError.stack?.split("\n").slice(1).join("\n");
68
+ return creationError.stack;
54
69
  }
55
70
  });
56
71
  return t;
57
72
  };
58
73
  }
74
+ const TagMake = () => (key, make) => {
75
+ var _a;
76
+ const limit = Error.stackTraceLimit;
77
+ Error.stackTraceLimit = 2;
78
+ const creationError = new Error();
79
+ Error.stackTraceLimit = limit;
80
+ const c = (_a = class {}, __setFunctionName(_a, "c"), _a.toLayer = () => {
81
+ return tsplus_module_2.effect(_a)(make);
82
+ }, _a.toLayerScoped = () => {
83
+ return tsplus_module_2.scoped(_a)(make);
84
+ }, _a);
85
+ return assignTag(key, creationError)(c);
86
+ };
87
+ exports.TagMake = TagMake;
59
88
  function TagClass(key) {
60
- const c = class {
89
+ var _a;
90
+ const limit = Error.stackTraceLimit;
91
+ Error.stackTraceLimit = 2;
92
+ const creationError = new Error();
93
+ Error.stackTraceLimit = limit;
94
+ const c = (_a = class {
61
95
  constructor(service) {
62
96
  Object.assign(this, service);
63
97
  }
64
- };
65
- return assignTag(key)(c);
98
+ static get key() {
99
+ return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
100
+ }
101
+ }, __setFunctionName(_a, "c"), _a.toLayer = eff => {
102
+ return tsplus_module_2.effect(_a)(tsplus_module_3.map(eff, _ => new _a(_)));
103
+ }, _a.toLayerScoped = eff => {
104
+ return tsplus_module_2.scoped(_a)(tsplus_module_3.map(eff, _ => new _a(_)));
105
+ }, _a);
106
+ return assignTag(key, creationError)(c);
66
107
  }
67
108
  const TagClassMake = () => (make, key) => {
68
- const c = class {
109
+ var _a;
110
+ const limit = Error.stackTraceLimit;
111
+ Error.stackTraceLimit = 2;
112
+ const creationError = new Error();
113
+ Error.stackTraceLimit = limit;
114
+ const c = (_a = class {
69
115
  constructor(service) {
70
116
  Object.assign(this, service);
71
117
  }
72
- // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
73
- static toLayer() {
74
- return tsplus_module_2.effect(this)(make);
75
- }
76
- static toLayerScoped() {
77
- return tsplus_module_2.scoped(this)(make);
118
+ static get key() {
119
+ return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
78
120
  }
79
- };
80
- return assignTag(key)(c);
121
+ }, __setFunctionName(_a, "c"), _a.make = () => {
122
+ return make.andThen(_ => new _a(_));
123
+ },
124
+ // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
125
+ _a.toLayer = () => {
126
+ return tsplus_module_2.effect(_a)(_a.make());
127
+ }, _a.toLayerScoped = () => {
128
+ return tsplus_module_2.scoped(_a)(_a.make());
129
+ }, _a);
130
+ return assignTag(key, creationError)(c);
81
131
  };
82
132
  exports.TagClassMake = TagClassMake;
83
- function TagClassLegacy(key) {
84
- class TagClassLegacy {}
85
- return assignTag(key)(TagClassLegacy);
86
- }
87
- /** @deprecated use `Id` of TagClass for unique id */
88
- function ServiceTaggedClass() {
89
- return _ => {
90
- class ServiceTaggedClassC {}
91
- ServiceTaggedClassC.make = t => {
92
- return t;
93
- };
94
- return assignTag()(ServiceTaggedClassC);
133
+ function TagClassId() {
134
+ return key => {
135
+ var _a;
136
+ const limit = Error.stackTraceLimit;
137
+ Error.stackTraceLimit = 2;
138
+ const creationError = new Error();
139
+ Error.stackTraceLimit = limit;
140
+ const c = (_a = class {
141
+ constructor(service) {
142
+ Object.assign(this, service);
143
+ }
144
+ }, __setFunctionName(_a, "c"), _a.toLayer = eff => {
145
+ return tsplus_module_2.effect(_a)(tsplus_module_3.map(eff, _ => new _a(_)));
146
+ }, _a.toLayerScoped = eff => {
147
+ return tsplus_module_2.scoped(_a)(tsplus_module_3.map(eff, _ => new _a(_)));
148
+ }, _a);
149
+ return assignTag(key, creationError)(c);
95
150
  };
96
151
  }
152
+ const TagClassMakeId = () => (key, make) => {
153
+ var _a;
154
+ const limit = Error.stackTraceLimit;
155
+ Error.stackTraceLimit = 2;
156
+ const creationError = new Error();
157
+ Error.stackTraceLimit = limit;
158
+ const c = (_a = class {
159
+ constructor(service) {
160
+ Object.assign(this, service);
161
+ }
162
+ }, __setFunctionName(_a, "c"), _a.make = () => {
163
+ return make.andThen(_ => new _a(_));
164
+ },
165
+ // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
166
+ _a.toLayer = () => {
167
+ return tsplus_module_2.effect(_a)(_a.make());
168
+ }, _a.toLayerScoped = () => {
169
+ return tsplus_module_2.scoped(_a)(_a.make());
170
+ }, _a);
171
+ return assignTag(key, creationError)(c);
172
+ };
173
+ exports.TagClassMakeId = TagClassMakeId;
97
174
  //# sourceMappingURL=service.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.cjs","names":["ServiceTag","exports","Symbol","PhantomTypeParameter","ServiceTagged","makeService","_","make","t","TagTypeId","for","i","randomId","assignTag","key","cls","tag","tsplus_module_1","GenericTag","Object","assign","getPrototypeOf","limit","Error","stackTraceLimit","creationError","defineProperty","get","stack","split","slice","join","TagClass","c","constructor","service","TagClassMake","toLayer","tsplus_module_2","effect","toLayerScoped","scoped","TagClassLegacy","ServiceTaggedClass","ServiceTaggedClassC"],"sources":["../_src/service.ts"],"sourcesContent":[null],"mappings":"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"}
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","_a","toLayer","tsplus_module_2","effect","toLayerScoped","scoped","TagClass","constructor","service","_key","split","name","eff","tsplus_module_3","map","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 { assignTag, ServiceTagged, TagClass, TagClassMake } from "effect-app/service"
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 { TagTypeId as TagTypeIdOriginal } from "effect/Context"
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
- const t = Object.assign(cls, Object.getPrototypeOf(tag), tag)
49
- const limit = Error.stackTraceLimit
50
- Error.stackTraceLimit = 4 // TODO
51
- const creationError = new Error()
52
- Error.stackTraceLimit = limit
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
- // remove one line as assignTag is generally used inside a class constructor function
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 c: { new(service: ServiceImpl): Readonly<ServiceImpl> } = class {
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
- // static readonly Id: Id
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,43 +124,98 @@ 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<Service, E, R>
83
- toLayerScoped: () => Layer<Service, E, Exclude<R, Scope>>
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
- static toLayer() {
90
- return make.toLayer(this as any)
145
+ static toLayer = () => {
146
+ return this.make().toLayer(this as any)
91
147
  }
92
148
 
93
- static toLayerScoped() {
94
- return make.toLayerScoped(this as any)
149
+ static toLayerScoped = () => {
150
+ return this.make().toLayerScoped(this as any)
151
+ }
152
+
153
+ static get key() {
154
+ return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name)
95
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 TagClassLegacy<Id, Service = Id>(key?: string) {
103
- abstract class TagClassLegacy {}
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
- return assignTag<Id, Service>(key)(TagClassLegacy)
184
+ return assignTag<Id, Id>(key, creationError)(c)
185
+ }
106
186
  }
107
187
 
108
- /** @deprecated use `Id` of TagClass for unique id */
109
- export function ServiceTaggedClass<Id, Service = Id>() {
110
- return <Key extends PropertyKey>(_: Key) => {
111
- abstract class ServiceTaggedClassC {
112
- static make = (t: Omit<Service, Key>) => {
113
- return t as Service
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 this.make().toLayer(this as any)
115
212
  }
116
213
 
117
- return assignTag<Id, Service>()(ServiceTaggedClassC)
118
- }
214
+ static toLayerScoped = () => {
215
+ return this.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
  */
@@ -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,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAErF;;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"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvX2dsb2JhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsTUFBTTtBQUNOLG9CQUFvQjtBQUNwQixNQUFNO0FBQ04sd0RBQXdEO0FBRXhEOztHQUVHO0FBQ0gsT0FBd0IsZ0JBQWdCLENBQUE7QUFFeEM7O0dBRUc7QUFDSCxPQUF1QixlQUFlLENBQUE7QUFFdEM7O0dBRUc7QUFDSCxPQUEwQiw2QkFBNkIsQ0FBQTtBQUV2RDs7R0FFRztBQUNILE9BQXVCLGVBQWUsQ0FBQTtBQUV0Qzs7R0FFRztBQUNILE9BQTRCLG9CQUFvQixDQUFBO0FBRWhEOztHQUVHO0FBQ0gsT0FBK0IsdUJBQXVCLENBQUE7QUFFdEQ7O0dBRUc7QUFDSCxPQUE2RCxjQUFjLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUF3QixnQkFBZ0IsQ0FBQTtBQUV4Qzs7R0FFRztBQUNILE9BQThCLHFDQUFxQyxDQUFBO0FBRW5FOztHQUVHO0FBQ0gsT0FBdUQsb0JBQW9CLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUFnQyx3QkFBd0IsQ0FBQTtBQUV4RCxxREFBcUQ7QUFFckQ7O0dBRUc7QUFDSCxPQUEwQyxpQkFBaUIsQ0FBQTtBQUUzRDs7R0FFRztBQUNILE9BQW1FLGtCQUFrQixDQUFBO0FBQ3JGOztHQUVHO0FBQ0gsT0EwQk8sWUFBWSxDQUFBO0FBRW5COztHQUVHO0FBQ0gsT0FBaUUsb0JBQW9CLENBQUE7QUFFckY7O0dBRUc7QUFDSCxPQUErQixZQUFZLENBQUE7QUFFM0MsT0FBTywwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLDBCQUEwQixDQUFBO0FBQ2pDLE9BQU8sNEJBQTRCLENBQUE7QUFFbkMsT0FBTyxrQkFBa0IsQ0FBQTtBQUN6QixPQUFPLGtCQUFrQixDQUFBIn0=
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 { TagTypeId as TagTypeIdOriginal } from "effect/Context";
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 const TagTypeId: TagTypeIdOriginal;
34
- export type TagTypeId = typeof TagTypeId;
35
- export declare function assignTag<Id, Service = Id>(key?: string): <S extends object>(cls: S) => S & Tag<Id, Service>;
36
- export declare function TagClass<Id, ServiceImpl, Service = Id>(key?: string): (new (service: ServiceImpl) => Readonly<ServiceImpl>) & import("effect/Context").Tag<Id, Service>;
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<Service, E, R>;
40
- toLayerScoped: () => Layer<Service, E, Exclude<R, Scope>>;
41
- } & import("effect/Context").Tag<Id, Service>;
42
- export declare function TagClassLegacy<Id, Service = Id>(key?: string): (abstract new () => {}) & import("effect/Context").Tag<Id, Service>;
43
- /** @deprecated use `Id` of TagClass for unique id */
44
- export declare function ServiceTaggedClass<Id, Service = Id>(): <Key extends PropertyKey>(_: Key) => ((abstract new () => {}) & {
45
- make: (t: Omit<Service, Key>) => Service;
46
- }) & import("effect/Context").Tag<Id, Service>;
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
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../_src/service.ts"],"names":[],"mappings":"AAEA;;;;GAIG;;;;;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEpE,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;;;;;AAKnG,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAE/E;;;;;AAKD,wBAAgB,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAE7F;AAED,eAAO,MAAM,SAAS,EAAE,iBAAoF,CAAA;AAC5G,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAKxC,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,2BACvB,CAAC,KAAG,CAAC,GAAG,IAAI,EAAE,EAAE,OAAO,CAAC,CAgBxD;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,kBAC1C,WAAW,KAAG,SAAS,WAAW,CAAC,8CAQ5D;AAED,eAAO,MAAM,YAAY,oDAEjB,OAAO,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,QACzB,MAAM;kBAGG,WAAW,GAAG,SAAS,WAAW,CAAC;aACvC,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;mBACpB,MAAM,MAAM,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;6CAiB5D,CAAA;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,uEAI5D;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,kCACb,GAAG;cAEjB,KAAK,OAAO,EAAE,GAAG,CAAC;+CAOzC"}
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,10 @@
1
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
2
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
3
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
4
+ };
1
5
  import * as tsplus_module_1 from "effect/Context";
2
6
  import * as tsplus_module_2 from "effect/Layer";
7
+ import * as tsplus_module_3 from "effect/Effect";
3
8
  export const ServiceTag = Symbol();
4
9
  export class PhantomTypeParameter {
5
10
  }
@@ -20,64 +25,148 @@ export function makeService(_) {
20
25
  export function make(_, t) {
21
26
  return t;
22
27
  }
23
- export const TagTypeId = Symbol.for("effect/Context/Tag");
24
28
  let i = 0;
25
29
  const randomId = () => "unknown-service-" + i++;
26
- export function assignTag(key) {
30
+ export function assignTag(key, creationError) {
27
31
  return (cls) => {
28
32
  const tag = tsplus_module_1.GenericTag(key ?? randomId());
29
- const t = Object.assign(cls, Object.getPrototypeOf(tag), tag);
30
- const limit = Error.stackTraceLimit;
31
- Error.stackTraceLimit = 4; // TODO
32
- const creationError = new Error();
33
- Error.stackTraceLimit = limit;
33
+ let fields = tag;
34
+ if (Reflect.ownKeys(cls).includes("key")) {
35
+ const { key, ...rest } = tag;
36
+ fields = rest;
37
+ }
38
+ const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
39
+ if (!creationError) {
40
+ const limit = Error.stackTraceLimit;
41
+ Error.stackTraceLimit = 2;
42
+ creationError = new Error();
43
+ Error.stackTraceLimit = limit;
44
+ }
34
45
  // the stack is used to get the location of the tag definition, if a service is not found in the registry
35
46
  Object.defineProperty(t, "stack", {
36
47
  get() {
37
- // remove one line as assignTag is generally used inside a class constructor function
38
- return creationError.stack?.split("\n").slice(1).join("\n");
48
+ return creationError.stack;
39
49
  }
40
50
  });
41
51
  return t;
42
52
  };
43
53
  }
54
+ export const TagMake = () => (key, make) => {
55
+ var _a;
56
+ const limit = Error.stackTraceLimit;
57
+ Error.stackTraceLimit = 2;
58
+ const creationError = new Error();
59
+ Error.stackTraceLimit = limit;
60
+ const c = (_a = class {
61
+ },
62
+ __setFunctionName(_a, "c"),
63
+ _a.toLayer = () => {
64
+ return tsplus_module_2.effect(_a)(make);
65
+ },
66
+ _a.toLayerScoped = () => {
67
+ return tsplus_module_2.scoped(_a)(make);
68
+ },
69
+ _a);
70
+ return assignTag(key, creationError)(c);
71
+ };
44
72
  export function TagClass(key) {
45
- const c = class {
46
- constructor(service) {
47
- Object.assign(this, service);
48
- }
49
- };
50
- return assignTag(key)(c);
73
+ var _a;
74
+ const limit = Error.stackTraceLimit;
75
+ Error.stackTraceLimit = 2;
76
+ const creationError = new Error();
77
+ Error.stackTraceLimit = limit;
78
+ const c = (_a = class {
79
+ constructor(service) {
80
+ Object.assign(this, service);
81
+ }
82
+ static get key() {
83
+ return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
84
+ }
85
+ },
86
+ __setFunctionName(_a, "c"),
87
+ _a.toLayer = (eff) => {
88
+ return tsplus_module_2.effect(_a)(tsplus_module_3.map(eff, (_) => new _a(_)));
89
+ },
90
+ _a.toLayerScoped = (eff) => {
91
+ return tsplus_module_2.scoped(_a)(tsplus_module_3.map(eff, (_) => new _a(_)));
92
+ },
93
+ _a);
94
+ return assignTag(key, creationError)(c);
51
95
  }
52
96
  export const TagClassMake = () => (make, key) => {
53
- const c = class {
54
- constructor(service) {
55
- Object.assign(this, service);
56
- }
97
+ var _a;
98
+ const limit = Error.stackTraceLimit;
99
+ Error.stackTraceLimit = 2;
100
+ const creationError = new Error();
101
+ Error.stackTraceLimit = limit;
102
+ const c = (_a = class {
103
+ constructor(service) {
104
+ Object.assign(this, service);
105
+ }
106
+ static get key() {
107
+ return this._key ?? (this._key = key ?? creationError.stack?.split("\n")[2] ?? this.name);
108
+ }
109
+ },
110
+ __setFunctionName(_a, "c"),
111
+ _a.make = () => {
112
+ return make.andThen((_) => new _a(_));
113
+ },
57
114
  // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
58
- static toLayer() {
59
- return tsplus_module_2.effect(this)(make);
60
- }
61
- static toLayerScoped() {
62
- return tsplus_module_2.scoped(this)(make);
63
- }
64
- };
65
- return assignTag(key)(c);
115
+ _a.toLayer = () => {
116
+ return tsplus_module_2.effect(_a)(_a.make());
117
+ },
118
+ _a.toLayerScoped = () => {
119
+ return tsplus_module_2.scoped(_a)(_a.make());
120
+ },
121
+ _a);
122
+ return assignTag(key, creationError)(c);
66
123
  };
67
- export function TagClassLegacy(key) {
68
- class TagClassLegacy {
69
- }
70
- return assignTag(key)(TagClassLegacy);
71
- }
72
- /** @deprecated use `Id` of TagClass for unique id */
73
- export function ServiceTaggedClass() {
74
- return (_) => {
75
- class ServiceTaggedClassC {
76
- }
77
- ServiceTaggedClassC.make = (t) => {
78
- return t;
79
- };
80
- return assignTag()(ServiceTaggedClassC);
124
+ export function TagClassId() {
125
+ return (key) => {
126
+ var _a;
127
+ const limit = Error.stackTraceLimit;
128
+ Error.stackTraceLimit = 2;
129
+ const creationError = new Error();
130
+ Error.stackTraceLimit = limit;
131
+ const c = (_a = class {
132
+ constructor(service) {
133
+ Object.assign(this, service);
134
+ }
135
+ },
136
+ __setFunctionName(_a, "c"),
137
+ _a.toLayer = (eff) => {
138
+ return tsplus_module_2.effect(_a)(tsplus_module_3.map(eff, (_) => new _a(_)));
139
+ },
140
+ _a.toLayerScoped = (eff) => {
141
+ return tsplus_module_2.scoped(_a)(tsplus_module_3.map(eff, (_) => new _a(_)));
142
+ },
143
+ _a);
144
+ return assignTag(key, creationError)(c);
81
145
  };
82
146
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVVBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQTtBQUdsQyxNQUFNLE9BQWdCLG9CQUFvQjtDQUl6QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUEwQixTQUFRLG9CQUF3QztDQUFHO0FBRW5HOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBK0IsQ0FBc0I7SUFDOUUsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsSUFBSSxDQUFzQyxDQUFZLEVBQUUsQ0FBc0I7SUFDNUYsT0FBTyxDQUFNLENBQUE7QUFDZixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFzQixNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFpQyxDQUFBO0FBRzVHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNULE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixHQUFHLENBQUMsRUFBRSxDQUFBO0FBRS9DLE1BQU0sVUFBVSxTQUFTLENBQW1CLEdBQVk7SUFDdEQsT0FBTyxDQUFtQixHQUFNLEVBQXdCLEVBQUU7UUFDeEQsTUFBTSxHQUFHLEdBQUcsZ0JBQUEsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDN0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQTtRQUNuQyxLQUFLLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQSxDQUFDLE9BQU87UUFDakMsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtRQUNqQyxLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtRQUM3Qix5R0FBeUc7UUFDekcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQ2hDLEdBQUc7Z0JBQ0QscUZBQXFGO2dCQUNyRixPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDN0QsQ0FBQztTQUNGLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQWdDLEdBQVk7SUFDbEUsTUFBTSxDQUFDLEdBQXlEO1FBQzlELFlBQVksT0FBb0I7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztLQUVLLENBQUE7SUFFUixPQUFPLFNBQVMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQXFCLEVBQUUsQ0FDbkQsQ0FDRSxJQUErQixFQUMvQixHQUFZLEVBQ1osRUFBRTtJQUNGLE1BQU0sQ0FBQyxHQUlIO1FBQ0YsWUFBWSxPQUFvQjtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBQ0QsaUhBQWlIO1FBQ2pILE1BQU0sQ0FBQyxPQUFPO1lBQ1osT0FBTyx1QkFBYSxJQUFXLEVBQXhCLElBQUksQ0FBcUIsQ0FBQTtRQUNsQyxDQUFDO1FBRUQsTUFBTSxDQUFDLGFBQWE7WUFDbEIsT0FBTyx1QkFBbUIsSUFBVyxFQUE5QixJQUFJLENBQTJCLENBQUE7UUFDeEMsQ0FBQztLQUVLLENBQUE7SUFFUixPQUFPLFNBQVMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN2QyxDQUFDLENBQUE7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFtQixHQUFZO0lBQzNELE1BQWUsY0FBYztLQUFHO0lBRWhDLE9BQU8sU0FBUyxDQUFjLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQ3BELENBQUM7QUFFRCxxREFBcUQ7QUFDckQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLENBQTBCLENBQU0sRUFBRSxFQUFFO1FBQ3pDLE1BQWUsbUJBQW1COztRQUN6Qix3QkFBSSxHQUFHLENBQUMsQ0FBcUIsRUFBRSxFQUFFO1lBQ3RDLE9BQU8sQ0FBWSxDQUFBO1FBQ3JCLENBQUMsQ0FBQTtRQUdILE9BQU8sU0FBUyxFQUFlLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUN0RCxDQUFDLENBQUE7QUFDSCxDQUFDIn0=
147
+ export const TagClassMakeId = () => (key, make) => {
148
+ var _a;
149
+ const limit = Error.stackTraceLimit;
150
+ Error.stackTraceLimit = 2;
151
+ const creationError = new Error();
152
+ Error.stackTraceLimit = limit;
153
+ const c = (_a = class {
154
+ constructor(service) {
155
+ Object.assign(this, service);
156
+ }
157
+ },
158
+ __setFunctionName(_a, "c"),
159
+ _a.make = () => {
160
+ return make.andThen((_) => new _a(_));
161
+ },
162
+ // works around an issue where defining layer on the class messes up and causes the Tag to infer to `any, any` :/
163
+ _a.toLayer = () => {
164
+ return tsplus_module_2.effect(_a)(_a.make());
165
+ },
166
+ _a.toLayerScoped = () => {
167
+ return tsplus_module_2.scoped(_a)(_a.make());
168
+ },
169
+ _a);
170
+ return assignTag(key, creationError)(c);
171
+ };
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBVUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBR2xDLE1BQU0sT0FBZ0Isb0JBQW9CO0NBSXpDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGFBQTBCLFNBQVEsb0JBQXdDO0NBQUc7QUFFbkc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUErQixDQUFzQjtJQUM5RSxPQUFPLENBQU0sQ0FBQTtBQUNmLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxJQUFJLENBQXNDLENBQVksRUFBRSxDQUFzQjtJQUM1RixPQUFPLENBQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDVCxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEVBQUUsQ0FBQTtBQUUvQyxNQUFNLFVBQVUsU0FBUyxDQUFtQixHQUFZLEVBQUUsYUFBcUI7SUFDN0UsT0FBTyxDQUFtQixHQUFNLEVBQXdCLEVBQUU7UUFDeEQsTUFBTSxHQUFHLEdBQUcsZ0JBQUEsVUFBVSxDQUFjLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQ3RELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixNQUFNLEdBQUcsSUFBVyxDQUFBO1FBQ3RCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFD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
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "0.154.3",
3
+ "version": "0.155.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@effect/platform": "^0.44.2",
8
- "@effect/schema": "^0.62.1",
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.1",
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/core": "0.131.9",
20
- "@effect-app/schema": "0.185.2",
21
- "@effect-app/fluent-extensions": "0.126.10"
19
+ "@effect-app/core": "0.132.0",
20
+ "@effect-app/fluent-extensions": "0.127.0",
21
+ "@effect-app/schema": "0.186.0"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@babel/cli": "^7.23.9",