effect-app 2.51.0 → 2.52.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/dist/client/req.d.ts +18 -6
- package/dist/client/req.d.ts.map +1 -1
- package/dist/client/req.js +1 -1
- package/package.json +1 -1
- package/src/client/req.ts +25 -6
package/CHANGELOG.md
CHANGED
package/dist/client/req.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Tag } from "../Context.js";
|
|
2
|
+
import { type Context, type NonEmptyReadonlyArray, S } from "../internal/lib.js";
|
|
2
3
|
import { type Values } from "../utils.js";
|
|
3
4
|
/**
|
|
4
5
|
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
@@ -9,8 +10,19 @@ export type RPCContextMap<Service, E> = {
|
|
|
9
10
|
error: E;
|
|
10
11
|
contextActivation: true;
|
|
11
12
|
};
|
|
13
|
+
export type ContextRepr = NonEmptyReadonlyArray<Context.Tag<any, any>>;
|
|
14
|
+
export declare namespace ContextRepr {
|
|
15
|
+
type Identifier<A> = A extends ContextRepr ? Tag.Identifier<A[number]> : never;
|
|
16
|
+
type Service<A> = A extends ContextRepr ? Tag.Service<A[number]> : never;
|
|
17
|
+
}
|
|
18
|
+
export type AnyService = Context.Tag<any, any> | ContextRepr;
|
|
19
|
+
export declare namespace AnyService {
|
|
20
|
+
type Bla<A> = A extends ContextRepr ? Context.Context<ContextRepr.Identifier<A>> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
|
|
21
|
+
type Identifier<A> = A extends ContextRepr ? ContextRepr.Identifier<A> : A extends Context.Tag<any, any> ? Tag.Identifier<A> : never;
|
|
22
|
+
type Service<A> = A extends ContextRepr ? ContextRepr.Service<A> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
|
|
23
|
+
}
|
|
12
24
|
export declare namespace RPCContextMap {
|
|
13
|
-
type Custom<Service, E, Custom> = {
|
|
25
|
+
type Custom<Service extends AnyService, E, Custom> = {
|
|
14
26
|
service: Service;
|
|
15
27
|
error: E;
|
|
16
28
|
contextActivation: Custom;
|
|
@@ -19,21 +31,21 @@ export declare namespace RPCContextMap {
|
|
|
19
31
|
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
20
32
|
* Unless explicitly omitted.
|
|
21
33
|
*/
|
|
22
|
-
type Inverted<Service, E> = {
|
|
34
|
+
type Inverted<Service extends AnyService, E> = {
|
|
23
35
|
service: Service;
|
|
24
36
|
error: E;
|
|
25
37
|
contextActivation: false;
|
|
26
38
|
};
|
|
27
39
|
type Any = {
|
|
28
|
-
service:
|
|
40
|
+
service: AnyService;
|
|
29
41
|
error: S.Schema.All;
|
|
30
42
|
contextActivation: any;
|
|
31
43
|
};
|
|
32
44
|
}
|
|
33
45
|
export type GetEffectContext<RequestContextMap extends Record<string, RPCContextMap.Any>, T> = Values<{
|
|
34
|
-
[key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: RequestContextMap[key]["service"]
|
|
46
|
+
[key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: AnyService.Identifier<RequestContextMap[key]["service"]>;
|
|
35
47
|
} & {
|
|
36
|
-
[key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: RequestContextMap[key]["service"]
|
|
48
|
+
[key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends false ? never : key extends keyof T ? T[key] extends true ? key : never : never]: AnyService.Identifier<RequestContextMap[key]["service"]>;
|
|
37
49
|
}>;
|
|
38
50
|
export type GetEffectError<RequestContextMap extends Record<string, RPCContextMap.Any>, T> = Values<{
|
|
39
51
|
[key in keyof RequestContextMap as RequestContextMap[key]["contextActivation"] extends true ? never : key extends keyof T ? T[key] extends true ? never : key : key]: RequestContextMap[key]["error"];
|
package/dist/client/req.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"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"}
|
package/dist/client/req.js
CHANGED
|
@@ -35,4 +35,4 @@ export const makeRpcClient = (errors, generalErrors) => {
|
|
|
35
35
|
TaggedRequest
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZXEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFHdkQsT0FBTyxFQUE0QyxDQUFDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQW9HaEYsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFNLEVBQUUsQ0FBYSxFQUFFLEVBQUUsQ0FDdEMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQWtCM0c7O0dBRUc7QUFDSCxNQUFNLFNBQVMsR0FBbUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUU1RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FLM0IsTUFBeUUsRUFDekUsYUFBNkIsRUFDN0IsRUFBRTtJQU9GLFNBQVMsYUFBYTtRQXVFcEIsK0RBQStEO1FBQy9ELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUMsT0FBTyxDQUFDLENBQ04sR0FBUSxFQUNSLE1BQWMsRUFDZCxNQUFVLEVBQ1YsRUFBRTtZQUNGLDJFQUEyRTtZQUMzRSxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFRLENBQUMsR0FBRyxFQUFFO2dCQUN2QyxPQUFPLEVBQUUsTUFBTTtnQkFDZiw4Q0FBOEM7Z0JBQzlDLE9BQU8sRUFBRSxLQUFLLENBQ1osTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3BHLENBQUMsR0FBRyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUNqRDtnQkFDRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU87b0JBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7d0JBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO3dCQUN0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO29CQUM1QixDQUFDLENBQUMsU0FBUzthQUNkLENBQUMsQ0FBQTtZQUNGLE9BQU8sS0FBTSxTQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQVM7Z0JBQzFELFlBQVksT0FBWSxFQUFFLG9CQUF5QixJQUFJO29CQUNyRCw2REFBNkQ7b0JBQzdELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtnQkFDbkMsQ0FBQzthQUNGLENBQUE7UUFDSCxDQUFDLENBQVEsQ0FBQTtJQUNYLENBQUM7SUFFRCxPQUFPO1FBQ0wsYUFBYTtLQUNkLENBQUE7QUFDSCxDQUFDLENBQUEifQ==
|
package/package.json
CHANGED
package/src/client/req.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { type Tag } from "../Context.js"
|
|
6
|
+
import { type Context, type NonEmptyReadonlyArray, S } from "../internal/lib.js"
|
|
6
7
|
import { type Values } from "../utils.js"
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -15,8 +16,26 @@ export type RPCContextMap<Service, E> = {
|
|
|
15
16
|
contextActivation: true
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
export type ContextRepr = NonEmptyReadonlyArray<Context.Tag<any, any>>
|
|
20
|
+
export namespace ContextRepr {
|
|
21
|
+
export type Identifier<A> = A extends ContextRepr ? Tag.Identifier<A[number]> : never
|
|
22
|
+
export type Service<A> = A extends ContextRepr ? Tag.Service<A[number]> : never
|
|
23
|
+
}
|
|
24
|
+
export type AnyService = Context.Tag<any, any> | ContextRepr
|
|
25
|
+
export namespace AnyService {
|
|
26
|
+
export type Bla<A> = A extends ContextRepr ? Context.Context<ContextRepr.Identifier<A>>
|
|
27
|
+
: A extends Context.Tag<any, any> ? Tag.Service<A>
|
|
28
|
+
: never
|
|
29
|
+
export type Identifier<A> = A extends ContextRepr ? ContextRepr.Identifier<A>
|
|
30
|
+
: A extends Context.Tag<any, any> ? Tag.Identifier<A>
|
|
31
|
+
: never
|
|
32
|
+
export type Service<A> = A extends ContextRepr ? ContextRepr.Service<A>
|
|
33
|
+
: A extends Context.Tag<any, any> ? Tag.Service<A>
|
|
34
|
+
: never
|
|
35
|
+
}
|
|
36
|
+
|
|
18
37
|
export declare namespace RPCContextMap {
|
|
19
|
-
export type Custom<Service, E, Custom> = {
|
|
38
|
+
export type Custom<Service extends AnyService, E, Custom> = {
|
|
20
39
|
service: Service
|
|
21
40
|
error: E
|
|
22
41
|
contextActivation: Custom
|
|
@@ -26,14 +45,14 @@ export declare namespace RPCContextMap {
|
|
|
26
45
|
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
27
46
|
* Unless explicitly omitted.
|
|
28
47
|
*/
|
|
29
|
-
export type Inverted<Service, E> = {
|
|
48
|
+
export type Inverted<Service extends AnyService, E> = {
|
|
30
49
|
service: Service
|
|
31
50
|
error: E
|
|
32
51
|
contextActivation: false
|
|
33
52
|
}
|
|
34
53
|
|
|
35
54
|
export type Any = {
|
|
36
|
-
service:
|
|
55
|
+
service: AnyService
|
|
37
56
|
error: S.Schema.All
|
|
38
57
|
contextActivation: any
|
|
39
58
|
}
|
|
@@ -47,7 +66,7 @@ export type GetEffectContext<RequestContextMap extends Record<string, RPCContext
|
|
|
47
66
|
: key extends keyof T ? T[key] extends true ? never : key
|
|
48
67
|
: key
|
|
49
68
|
]: // TODO: or as an Optional available?
|
|
50
|
-
RequestContextMap[key]["service"]
|
|
69
|
+
AnyService.Identifier<RequestContextMap[key]["service"]>
|
|
51
70
|
}
|
|
52
71
|
// normal: contextActivation is true => add if explicitly set to true
|
|
53
72
|
& {
|
|
@@ -56,7 +75,7 @@ export type GetEffectContext<RequestContextMap extends Record<string, RPCContext
|
|
|
56
75
|
: key extends keyof T ? T[key] extends true ? key : never
|
|
57
76
|
: never
|
|
58
77
|
]: // TODO: or as an Optional available?
|
|
59
|
-
RequestContextMap[key]["service"]
|
|
78
|
+
AnyService.Identifier<RequestContextMap[key]["service"]>
|
|
60
79
|
}
|
|
61
80
|
>
|
|
62
81
|
|