effect-app 4.0.0-beta.53 → 4.0.0-beta.55
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 +8 -0
- package/dist/{ServiceMap.d.ts → Context.d.ts} +6 -9
- package/dist/Context.d.ts.map +1 -0
- package/dist/Context.js +87 -0
- package/dist/Effect.d.ts +8 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1 -1
- package/dist/Layer.d.ts +5 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +1 -1
- package/dist/Pure.d.ts +2 -2
- package/dist/Pure.d.ts.map +1 -1
- package/dist/Pure.js +3 -3
- package/dist/Schema/ext.d.ts +4 -3
- package/dist/Schema/ext.d.ts.map +1 -1
- package/dist/Schema/ext.js +4 -3
- package/dist/client/apiClientFactory.d.ts +2 -2
- package/dist/client/apiClientFactory.d.ts.map +1 -1
- package/dist/client/apiClientFactory.js +5 -5
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +2 -1
- package/dist/index.d.ts +4 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -8
- package/dist/middleware.d.ts +2 -2
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +3 -3
- package/dist/rpc/MiddlewareMaker.d.ts +4 -3
- package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
- package/dist/rpc/MiddlewareMaker.js +6 -5
- package/dist/rpc/RpcContextMap.d.ts +2 -2
- package/dist/rpc/RpcContextMap.d.ts.map +1 -1
- package/dist/rpc/RpcContextMap.js +4 -4
- package/dist/rpc/RpcMiddleware.d.ts +4 -3
- package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/rpc/RpcMiddleware.js +1 -1
- package/dist/utils/gen.d.ts +1 -1
- package/dist/utils/gen.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +3 -3
- package/package.json +5 -5
- package/src/{ServiceMap.ts → Context.ts} +10 -12
- package/src/Effect.ts +8 -7
- package/src/Layer.ts +5 -4
- package/src/Pure.ts +5 -5
- package/src/Schema/ext.ts +8 -7
- package/src/client/apiClientFactory.ts +4 -4
- package/src/client/errors.ts +1 -0
- package/src/client/makeClient.ts +1 -1
- package/src/index.ts +4 -8
- package/src/middleware.ts +2 -2
- package/src/rpc/MiddlewareMaker.ts +7 -6
- package/src/rpc/RpcContextMap.ts +6 -5
- package/src/rpc/RpcMiddleware.ts +5 -4
- package/src/utils/gen.ts +1 -1
- package/src/utils/logger.ts +2 -2
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js +0 -91
package/dist/ServiceMap.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/**
|
|
3
|
-
* We're doing the long way around here with assignTag, TagBase & TagBaseTagged,
|
|
4
|
-
* because there's a typescript compiler issue where it will complain about Equal.symbol, and Hash.symbol not being accessible.
|
|
5
|
-
* https://github.com/microsoft/TypeScript/issues/52644
|
|
6
|
-
*/
|
|
7
|
-
import { Layer } from "effect";
|
|
8
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
9
|
-
export * from "effect/ServiceMap";
|
|
10
|
-
// export interface OpaqueMake<Self extends object, in out Shape extends object, E, R>
|
|
11
|
-
// extends ServiceMap.Service<Self, Self>
|
|
12
|
-
// {
|
|
13
|
-
// // temp while sorting out https://github.com/Effect-TS/effect-smol/pull/1534
|
|
14
|
-
// of(self: Shape): Self
|
|
15
|
-
// serviceMap2(self: Shape): ServiceMap.ServiceMap<Self>
|
|
16
|
-
// // a version that leverages the Shape -> Self conversion
|
|
17
|
-
// toLayer: {
|
|
18
|
-
// <E, R>(
|
|
19
|
-
// eff: Effect.Effect<Shape, E, R>
|
|
20
|
-
// ): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
21
|
-
// (): Layer.Layer<Self, E, Exclude<R, Scope.Scope>>
|
|
22
|
-
// }
|
|
23
|
-
// }
|
|
24
|
-
export function assignTag(key, creationError) {
|
|
25
|
-
return (cls) => {
|
|
26
|
-
const tag = ServiceMap.Service(key);
|
|
27
|
-
let fields = tag;
|
|
28
|
-
if (Reflect.ownKeys(cls).includes("key")) {
|
|
29
|
-
const { key, ...rest } = tag;
|
|
30
|
-
fields = rest;
|
|
31
|
-
}
|
|
32
|
-
const t = Object.assign(cls, Object.getPrototypeOf(tag), fields);
|
|
33
|
-
if (!creationError) {
|
|
34
|
-
const limit = Error.stackTraceLimit;
|
|
35
|
-
Error.stackTraceLimit = 2;
|
|
36
|
-
creationError = new Error();
|
|
37
|
-
Error.stackTraceLimit = limit;
|
|
38
|
-
}
|
|
39
|
-
// the stack is used to get the location of the tag definition, if a service is not found in the registry
|
|
40
|
-
Object.defineProperty(t, "stack", {
|
|
41
|
-
get() {
|
|
42
|
-
return creationError.stack;
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return t;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Only use this in very specific cases where using dependencies directly is prefered, like inside command handlers.
|
|
50
|
-
*/
|
|
51
|
-
export const proxify = (Tag) => () => {
|
|
52
|
-
const cache = new Map();
|
|
53
|
-
const done = new Proxy(Tag, {
|
|
54
|
-
get(_target, prop, _receiver) {
|
|
55
|
-
if (prop === "use") {
|
|
56
|
-
// @ts-expect-error abc
|
|
57
|
-
return (body) => Tag.use(body);
|
|
58
|
-
}
|
|
59
|
-
if (prop in Tag) {
|
|
60
|
-
return Tag[prop];
|
|
61
|
-
}
|
|
62
|
-
if (cache.has(prop)) {
|
|
63
|
-
return cache.get(prop);
|
|
64
|
-
}
|
|
65
|
-
const fn = (...args) => Tag.use((s) => s[prop](...args));
|
|
66
|
-
const cn = Tag.use((s) => s[prop]);
|
|
67
|
-
// @effect-diagnostics effect/floatingEffect:off
|
|
68
|
-
Object.assign(fn, cn);
|
|
69
|
-
Object.setPrototypeOf(fn, Object.getPrototypeOf(cn));
|
|
70
|
-
cache.set(prop, fn);
|
|
71
|
-
return fn;
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
return done;
|
|
75
|
-
};
|
|
76
|
-
export const TypeId = "~ServiceMap.Opaque";
|
|
77
|
-
// export interface OpaqueClassMake<Self extends object, in out Identifier extends string, Shape extends object, E, R>
|
|
78
|
-
// extends OpaqueMake<Self, Shape, E, R>
|
|
79
|
-
// {
|
|
80
|
-
// new(_: never): Shape & { readonly [TypeId]: Identifier }
|
|
81
|
-
// readonly key: Identifier
|
|
82
|
-
// }
|
|
83
|
-
export const Opaque = () => (id, options) => {
|
|
84
|
-
const svc = ServiceMap.Service()(id, options);
|
|
85
|
-
return Object.assign(svc, {
|
|
86
|
-
toLayer: (eff) => {
|
|
87
|
-
return Layer.effect(svc, eff);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZU1hcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TZXJ2aWNlTWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RDs7OztHQUlHO0FBRUgsT0FBTyxFQUFlLEtBQUssRUFBMEIsTUFBTSxRQUFRLENBQUE7QUFDbkUsT0FBTyxLQUFLLFVBQVUsTUFBTSxtQkFBbUIsQ0FBQTtBQUcvQyxjQUFjLG1CQUFtQixDQUFBO0FBZWpDLHNGQUFzRjtBQUN0RiwyQ0FBMkM7QUFDM0MsSUFBSTtBQUNKLGlGQUFpRjtBQUNqRiwwQkFBMEI7QUFDMUIsMERBQTBEO0FBQzFELDZEQUE2RDtBQUM3RCxlQUFlO0FBQ2YsY0FBYztBQUNkLHdDQUF3QztBQUN4Qyx1REFBdUQ7QUFDdkQsd0RBQXdEO0FBQ3hELE1BQU07QUFDTixJQUFJO0FBRUosTUFBTSxVQUFVLFNBQVMsQ0FDdkIsR0FBVyxFQUNYLGFBQXFCO0lBRXJCLE9BQU8sQ0FBbUIsR0FBTSxFQUFpQyxFQUFFO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQW9CLEdBQUcsQ0FBQyxDQUFBO1FBQ3RELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNoQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQTtZQUM1QixNQUFNLEdBQUcsSUFBVyxDQUFBO1FBQ3RCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMs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
|