effect-app 2.52.0 → 2.53.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 +12 -0
- package/dist/client/req.d.ts +25 -19
- package/dist/client/req.d.ts.map +1 -1
- package/dist/client/req.js +19 -1
- package/package.json +1 -1
- package/src/client/req.ts +53 -21
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 2.53.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 5c51597: refactor Middleware to run as RPC middleware
|
|
8
|
+
|
|
9
|
+
## 2.52.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 244f84d: various improvements, documentation
|
|
14
|
+
|
|
3
15
|
## 2.52.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/client/req.d.ts
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
import { type Tag } from "../Context.js";
|
|
2
2
|
import { type Context, type NonEmptyReadonlyArray, S } from "../internal/lib.js";
|
|
3
3
|
import { type Values } from "../utils.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export type RPCContextMap<Service, E> = {
|
|
9
|
-
service: Service;
|
|
10
|
-
error: E;
|
|
11
|
-
contextActivation: true;
|
|
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;
|
|
4
|
+
export type ContextTagArray = NonEmptyReadonlyArray<Context.Tag<any, any>>;
|
|
5
|
+
export declare namespace ContextTagArray {
|
|
6
|
+
type Identifier<A> = A extends ContextTagArray ? Tag.Identifier<A[number]> : never;
|
|
7
|
+
type Service<A> = A extends ContextTagArray ? Tag.Service<A[number]> : never;
|
|
17
8
|
}
|
|
18
|
-
export type AnyService = Context.Tag<any, any> |
|
|
9
|
+
export type AnyService = Context.Tag<any, any> | ContextTagArray;
|
|
19
10
|
export declare namespace AnyService {
|
|
20
|
-
type Bla<A> = A extends
|
|
21
|
-
type Identifier<A> = A extends
|
|
22
|
-
type Service<A> = A extends
|
|
11
|
+
type Bla<A> = A extends ContextTagArray ? Context.Context<ContextTagArray.Identifier<A>> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
|
|
12
|
+
type Identifier<A> = A extends ContextTagArray ? ContextTagArray.Identifier<A> : A extends Context.Tag<any, any> ? Tag.Identifier<A> : never;
|
|
13
|
+
type Service<A> = A extends ContextTagArray ? ContextTagArray.Service<A> : A extends Context.Tag<any, any> ? Tag.Service<A> : never;
|
|
23
14
|
}
|
|
24
15
|
export declare namespace RPCContextMap {
|
|
25
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
18
|
+
* Unless explicitly configured as `true`.
|
|
19
|
+
*/
|
|
20
|
+
type RPCContextMap<Service, E> = {
|
|
26
21
|
service: Service;
|
|
27
22
|
error: E;
|
|
28
|
-
contextActivation:
|
|
23
|
+
contextActivation: true;
|
|
29
24
|
};
|
|
30
25
|
/**
|
|
31
26
|
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
@@ -36,12 +31,23 @@ export declare namespace RPCContextMap {
|
|
|
36
31
|
error: E;
|
|
37
32
|
contextActivation: false;
|
|
38
33
|
};
|
|
34
|
+
type Custom<Service extends AnyService, E, C> = {
|
|
35
|
+
service: Service;
|
|
36
|
+
error: E;
|
|
37
|
+
contextActivation: C;
|
|
38
|
+
};
|
|
39
39
|
type Any = {
|
|
40
40
|
service: AnyService;
|
|
41
41
|
error: S.Schema.All;
|
|
42
42
|
contextActivation: any;
|
|
43
43
|
};
|
|
44
|
+
const make: <Service extends AnyService, E>(service: Service, error: E) => RPCContextMap<Service, E>;
|
|
45
|
+
const makeInverted: <Service extends AnyService, E>(service: Service, error: E) => Inverted<Service, E>;
|
|
46
|
+
const makeCustom: <Service extends AnyService, E, C>(service: Service, error: E, contextActivation: C) => Custom<Service, E, C>;
|
|
44
47
|
}
|
|
48
|
+
export type GetContextConfig<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
|
|
49
|
+
[K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"];
|
|
50
|
+
};
|
|
45
51
|
export type GetEffectContext<RequestContextMap extends Record<string, RPCContextMap.Any>, T> = Values<{
|
|
46
52
|
[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"]>;
|
|
47
53
|
} & {
|
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,KAAK,GAAG,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,qBAAqB,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAA;AAChF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC
|
|
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
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
import { S } from "../internal/lib.js";
|
|
5
|
+
export var RPCContextMap;
|
|
6
|
+
(function (RPCContextMap) {
|
|
7
|
+
RPCContextMap.make = (service, error) => ({
|
|
8
|
+
service,
|
|
9
|
+
error,
|
|
10
|
+
contextActivation: true
|
|
11
|
+
});
|
|
12
|
+
RPCContextMap.makeInverted = (service, error) => ({
|
|
13
|
+
service,
|
|
14
|
+
error,
|
|
15
|
+
contextActivation: false
|
|
16
|
+
});
|
|
17
|
+
RPCContextMap.makeCustom = (service, error, contextActivation) => ({
|
|
18
|
+
service,
|
|
19
|
+
error,
|
|
20
|
+
contextActivation
|
|
21
|
+
});
|
|
22
|
+
})(RPCContextMap || (RPCContextMap = {}));
|
|
5
23
|
const merge = (a, b) => a !== undefined && b.length ? S.Union(a, ...b) : a !== undefined ? a : b.length ? S.Union(...b) : S.Never;
|
|
6
24
|
/**
|
|
7
25
|
* Whatever the input, we will only decode or encode to void
|
|
@@ -35,4 +53,4 @@ export const makeRpcClient = (errors, generalErrors) => {
|
|
|
35
53
|
TaggedRequest
|
|
36
54
|
};
|
|
37
55
|
};
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yZXEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFHdkQsT0FBTyxFQUE0QyxDQUFDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQXFCaEYsTUFBTSxLQUFXLGFBQWEsQ0E0RDdCO0FBNURELFdBQWlCLGFBQWE7SUFpQ2Ysa0JBQUksR0FBRyxDQUNsQixPQUFnQixFQUNoQixLQUFRLEVBQ21CLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE9BQU87UUFDUCxLQUFLO1FBQ0wsaUJBQWlCLEVBQUUsSUFBSTtLQUN4QixDQUFDLENBQUE7SUFFVywwQkFBWSxHQUFHLENBQzFCLE9BQWdCLEVBQ2hCLEtBQVEsRUFDYyxFQUFFLENBQUMsQ0FBQztRQUMxQixPQUFPO1FBQ1AsS0FBSztRQUNMLGlCQUFpQixFQUFFLEtBQUs7S0FDekIsQ0FBQyxDQUFBO0lBRVcsd0JBQVUsR0FBRyxDQUN4QixPQUFnQixFQUNoQixLQUFRLEVBQ1IsaUJBQW9CLEVBQ0csRUFBRSxDQUFDLENBQUM7UUFDM0IsT0FBTztRQUNQLEtBQUs7UUFDTCxpQkFBaUI7S0FDbEIsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxFQTVEZ0IsYUFBYSxLQUFiLGFBQWEsUUE0RDdCO0FBbURELE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBTSxFQUFFLENBQWEsRUFBRSxFQUFFLENBQ3RDLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFrQjNHOztHQUVHO0FBQ0gsTUFBTSxTQUFTLEdBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7QUFFNUcsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBSzNCLE1BQXlFLEVBQ3pFLGFBQTZCLEVBQzdCLEVBQUU7SUFPRixTQUFTLGFBQWE7UUF1RXBCLCtEQUErRDtRQUMvRCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFDLE9BQU8sQ0FBQyxDQUNOLEdBQVEsRUFDUixNQUFjLEVBQ2QsTUFBVSxFQUNWLEVBQUU7WUFDRiwyRUFBMkU7WUFDM0UsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBUSxDQUFDLEdBQUcsRUFBRTtnQkFDdkMsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsOENBQThDO2dCQUM5QyxPQUFPLEVBQUUsS0FBSyxDQUNaLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUNwRyxDQUFDLEdBQUcsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FDakQ7Z0JBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPO29CQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO3dCQUMxQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTzt3QkFDdEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDNUIsQ0FBQyxDQUFDLFNBQVM7YUFDZCxDQUFDLENBQUE7WUFDRixPQUFPLEtBQU0sU0FBUyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFTO2dCQUMxRCxZQUFZLE9BQVksRUFBRSxvQkFBeUIsSUFBSTtvQkFDckQsNkRBQTZEO29CQUM3RCxLQUFLLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUE7Z0JBQ25DLENBQUM7YUFDRixDQUFBO1FBQ0gsQ0FBQyxDQUFRLENBQUE7SUFDWCxDQUFDO0lBRUQsT0FBTztRQUNMLGFBQWE7S0FDZCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
package/src/client/req.ts
CHANGED
|
@@ -6,39 +6,33 @@ import { type Tag } from "../Context.js"
|
|
|
6
6
|
import { type Context, type NonEmptyReadonlyArray, S } from "../internal/lib.js"
|
|
7
7
|
import { type Values } from "../utils.js"
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export type RPCContextMap<Service, E> = {
|
|
14
|
-
service: Service
|
|
15
|
-
error: E
|
|
16
|
-
contextActivation: true
|
|
9
|
+
export type ContextTagArray = NonEmptyReadonlyArray<Context.Tag<any, any>>
|
|
10
|
+
export namespace ContextTagArray {
|
|
11
|
+
export type Identifier<A> = A extends ContextTagArray ? Tag.Identifier<A[number]> : never
|
|
12
|
+
export type Service<A> = A extends ContextTagArray ? Tag.Service<A[number]> : never
|
|
17
13
|
}
|
|
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
|
|
14
|
+
export type AnyService = Context.Tag<any, any> | ContextTagArray
|
|
25
15
|
export namespace AnyService {
|
|
26
|
-
export type Bla<A> = A extends
|
|
16
|
+
export type Bla<A> = A extends ContextTagArray ? Context.Context<ContextTagArray.Identifier<A>>
|
|
27
17
|
: A extends Context.Tag<any, any> ? Tag.Service<A>
|
|
28
18
|
: never
|
|
29
|
-
export type Identifier<A> = A extends
|
|
19
|
+
export type Identifier<A> = A extends ContextTagArray ? ContextTagArray.Identifier<A>
|
|
30
20
|
: A extends Context.Tag<any, any> ? Tag.Identifier<A>
|
|
31
21
|
: never
|
|
32
|
-
export type Service<A> = A extends
|
|
22
|
+
export type Service<A> = A extends ContextTagArray ? ContextTagArray.Service<A>
|
|
33
23
|
: A extends Context.Tag<any, any> ? Tag.Service<A>
|
|
34
24
|
: never
|
|
35
25
|
}
|
|
36
26
|
|
|
37
|
-
export
|
|
38
|
-
|
|
27
|
+
export namespace RPCContextMap {
|
|
28
|
+
/**
|
|
29
|
+
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
30
|
+
* Unless explicitly configured as `true`.
|
|
31
|
+
*/
|
|
32
|
+
export type RPCContextMap<Service, E> = {
|
|
39
33
|
service: Service
|
|
40
34
|
error: E
|
|
41
|
-
contextActivation:
|
|
35
|
+
contextActivation: true
|
|
42
36
|
}
|
|
43
37
|
|
|
44
38
|
/**
|
|
@@ -51,11 +45,49 @@ export declare namespace RPCContextMap {
|
|
|
51
45
|
contextActivation: false
|
|
52
46
|
}
|
|
53
47
|
|
|
48
|
+
export type Custom<Service extends AnyService, E, C> = {
|
|
49
|
+
service: Service
|
|
50
|
+
error: E
|
|
51
|
+
contextActivation: C
|
|
52
|
+
}
|
|
53
|
+
|
|
54
54
|
export type Any = {
|
|
55
55
|
service: AnyService
|
|
56
56
|
error: S.Schema.All
|
|
57
57
|
contextActivation: any
|
|
58
58
|
}
|
|
59
|
+
|
|
60
|
+
export const make = <Service extends AnyService, E>(
|
|
61
|
+
service: Service,
|
|
62
|
+
error: E
|
|
63
|
+
): RPCContextMap<Service, E> => ({
|
|
64
|
+
service,
|
|
65
|
+
error,
|
|
66
|
+
contextActivation: true
|
|
67
|
+
})
|
|
68
|
+
|
|
69
|
+
export const makeInverted = <Service extends AnyService, E>(
|
|
70
|
+
service: Service,
|
|
71
|
+
error: E
|
|
72
|
+
): Inverted<Service, E> => ({
|
|
73
|
+
service,
|
|
74
|
+
error,
|
|
75
|
+
contextActivation: false
|
|
76
|
+
})
|
|
77
|
+
|
|
78
|
+
export const makeCustom = <Service extends AnyService, E, C>(
|
|
79
|
+
service: Service,
|
|
80
|
+
error: E,
|
|
81
|
+
contextActivation: C
|
|
82
|
+
): Custom<Service, E, C> => ({
|
|
83
|
+
service,
|
|
84
|
+
error,
|
|
85
|
+
contextActivation
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type GetContextConfig<RequestContextMap extends Record<string, RPCContextMap.Any>> = {
|
|
90
|
+
[K in keyof RequestContextMap]?: RequestContextMap[K]["contextActivation"]
|
|
59
91
|
}
|
|
60
92
|
|
|
61
93
|
export type GetEffectContext<RequestContextMap extends Record<string, RPCContextMap.Any>, T> = Values<
|