effect-app 4.0.0-beta.169 → 4.0.0-beta.170
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/clientFor.d.ts +15 -17
- package/dist/client/clientFor.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/clientFor.ts +21 -20
package/CHANGELOG.md
CHANGED
|
@@ -28,7 +28,7 @@ export interface RequestHandler<A, E, R, Request extends Req, Id extends string>
|
|
|
28
28
|
Request: Request;
|
|
29
29
|
}
|
|
30
30
|
export interface RequestHandlerWithInput<I, A, E, R, Request extends Req, Id extends string> {
|
|
31
|
-
handler:
|
|
31
|
+
handler: undefined extends I ? (i?: Exclude<I, undefined>) => Effect.Effect<A, E, R> : (i: I) => Effect.Effect<A, E, R>;
|
|
32
32
|
id: Id;
|
|
33
33
|
options?: ClientForOptions;
|
|
34
34
|
Request: Request;
|
|
@@ -36,27 +36,25 @@ export interface RequestHandlerWithInput<I, A, E, R, Request extends Req, Id ext
|
|
|
36
36
|
type ReqDecodingServices<M> = M extends {
|
|
37
37
|
readonly "~decodingServices": infer DS;
|
|
38
38
|
} ? DS : never;
|
|
39
|
-
export type RequestInputFromMake<I extends {
|
|
40
|
-
readonly make: (...args: any[]) => any;
|
|
41
|
-
}> = Parameters<I["make"]> extends [
|
|
42
|
-
infer A,
|
|
43
|
-
...ReadonlyArray<any>
|
|
44
|
-
] ? A : void;
|
|
45
|
-
type UntagRequestInput<I> = I extends {
|
|
46
|
-
_tag: any;
|
|
47
|
-
} ? Omit<I, "_tag"> : I extends {
|
|
48
|
-
readonly _tag: any;
|
|
49
|
-
} ? Omit<I, "_tag"> : I;
|
|
50
39
|
type RequestFields<I> = I extends {
|
|
51
40
|
readonly fields: infer F extends S.Struct.Fields;
|
|
52
41
|
} ? F : never;
|
|
53
|
-
type RequestInputFromFields<I> = RequestFields<I> extends
|
|
42
|
+
type RequestInputFromFields<I> = [RequestFields<I>] extends [never] ? never : keyof RequestFields<I> extends never ? void : S.Schema.Type<S.Struct<RequestFields<I>>>;
|
|
43
|
+
type RequestInputFromOverloadedMake<I extends {
|
|
44
|
+
readonly make: (...args: any[]) => any;
|
|
45
|
+
}> = Parameters<I["make"]> extends [] ? void : Parameters<I["make"]>[0];
|
|
46
|
+
export type RequestInputFromMake<I extends {
|
|
47
|
+
readonly make: (...args: any[]) => any;
|
|
48
|
+
}> = [
|
|
49
|
+
RequestInputFromFields<I>
|
|
50
|
+
] extends [never] ? RequestInputFromOverloadedMake<I> : RequestInputFromFields<I>;
|
|
51
|
+
type NormalizedRequestInput<T> = Omit<Exclude<T, undefined>, "_tag">;
|
|
52
|
+
type IsTagOnly<T> = [Exclude<T, undefined>] extends [never] ? true : [keyof NormalizedRequestInput<T>] extends [never] ? true : false;
|
|
54
53
|
type RequestInput<I extends {
|
|
55
54
|
readonly make: (...args: any[]) => any;
|
|
56
|
-
}> =
|
|
57
|
-
type IsVoidOnly<T> = [Exclude<T, void>] extends [never] ? true : false;
|
|
55
|
+
}> = NormalizedRequestInput<RequestInputFromMake<I>>;
|
|
58
56
|
export type RequestHandlers<R, E, M extends RequestsAny, ModuleName extends string> = {
|
|
59
|
-
[K in keyof M as M[K] extends Req ? K : never]:
|
|
57
|
+
[K in keyof M as M[K] extends Req ? K : never]: IsTagOnly<RequestInputFromMake<M[K]>> extends true ? RequestHandler<S.Schema.Type<M[K]["success"]>, S.Schema.Type<M[K]["error"]> | E, R | ReqDecodingServices<M[K]>, M[K], `${ModuleName}.${K & string}`> : RequestHandlerWithInput<RequestInput<M[K]>, S.Schema.Type<M[K]["success"]>, S.Schema.Type<M[K]["error"]> | E, R | ReqDecodingServices<M[K]>, M[K], `${ModuleName}.${K & string}`>;
|
|
60
58
|
};
|
|
61
59
|
export {};
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2NsaWVudEZvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdkMsT0FBTyxLQUFLLEtBQUssTUFBTSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEtBQUssS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBRWhELHdCQUFnQixpQkFBaUIsQ0FDL0IsSUFBSSxFQUFFLElBQUksRUFDVixJQUFJLEVBQUUsTUFBTSxDQUNWLE1BQU0sRUFDSixNQUFNLEdBQ04sTUFBTSxHQUNOLE9BQU8sR0FDUCxTQUFTLE1BQU0sRUFBRSxHQUNqQixTQUFTLE1BQU0sRUFBRSxHQUNqQixTQUFTLE9BQU8sRUFBRSxHQUNsQixJQUFJLENBQ1AsVUFVRjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FDOUIsSUFBSSxFQUFFLElBQUksRUFDVixJQUFJLEVBQUUsTUFBTSxDQUNWLE1BQU0sRUFDSixNQUFNLEdBQ04sTUFBTSxHQUNOLE9BQU8sR0FDUCxTQUFTLE1BQU0sRUFBRSxHQUNqQixTQUFTLE1BQU0sRUFBRSxHQUNqQixTQUFTLE9BQU8sRUFBRSxHQUNsQixJQUFJLENBQ1AsVUFHRjtBQUVELE1BQU0sTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFBO0FBQ2xDLE1BQU0sTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUU3QyxNQUFNLE1BQU0saUJBQWlCLENBQUMsQ0FBQyxTQUFTLFdBQVcsSUFDakQ7S0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLE1BQU0sQ0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,KAAK,CAAC,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAEhD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CACV,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,MAAM,EAAE,GACjB,SAAS,MAAM,EAAE,GACjB,SAAS,OAAO,EAAE,GAClB,IAAI,CACP,UAUF;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CACV,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,MAAM,EAAE,GACjB,SAAS,MAAM,EAAE,GACjB,SAAS,OAAO,EAAE,GAClB,IAAI,CACP,UAGF;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAA;AAClC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAE7C,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,IACjD;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QAAE,UAAU,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,SAC1F,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,GACxB,MAAM,CAAA;AAEZ,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,SAAS,MAAM,IAAI,eAAe,CACpF,KAAK,EACL,KAAK,EACL,CAAC,EACD,UAAU,CACX,CAAA;AAED,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GACtE,CAAC,SAAS,OAAO,GAAG,IAAI,GACxB,KAAK,CAAA;AAET,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GACzE,CAAC,SAAS,OAAO,GAAG,IAAI,GACxB,KAAK,CAAA;AAET,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC1C;AAID,eAAO,MAAM,YAAY,oBAAqB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAE,0BAMzE,CAAA;AAEf,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,EAAE,SAAS,MAAM;IAC7E,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,EAAE,EAAE,EAAE,CAAA;IACN,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,SAAS,GAAG,EAAE,EAAE,SAAS,MAAM;
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client/clientFor.ts
CHANGED
|
@@ -92,10 +92,8 @@ export interface RequestHandler<A, E, R, Request extends Req, Id extends string>
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
export interface RequestHandlerWithInput<I, A, E, R, Request extends Req, Id extends string> {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
? (i: Exclude<I, void> | UntagRequestInput<Exclude<I, void>>) => Effect.Effect<A, E, R>
|
|
98
|
-
: (i?: Exclude<I, void> | UntagRequestInput<Exclude<I, void>>) => Effect.Effect<A, E, R>
|
|
95
|
+
handler: undefined extends I ? (i?: Exclude<I, undefined>) => Effect.Effect<A, E, R>
|
|
96
|
+
: (i: I) => Effect.Effect<A, E, R>
|
|
99
97
|
id: Id
|
|
100
98
|
options?: ClientForOptions
|
|
101
99
|
Request: Request
|
|
@@ -104,30 +102,33 @@ export interface RequestHandlerWithInput<I, A, E, R, Request extends Req, Id ext
|
|
|
104
102
|
// make sure this is exported or d.ts of apiClientFactory breaks?!
|
|
105
103
|
type ReqDecodingServices<M> = M extends { readonly "~decodingServices": infer DS } ? DS : never
|
|
106
104
|
|
|
107
|
-
|
|
108
|
-
[infer A, ...ReadonlyArray<any>] ? A : void
|
|
105
|
+
type RequestFields<I> = I extends { readonly fields: infer F extends S.Struct.Fields } ? F : never
|
|
109
106
|
|
|
110
|
-
type
|
|
111
|
-
: I extends
|
|
112
|
-
: I
|
|
107
|
+
type RequestInputFromFields<I> = [RequestFields<I>] extends [never] ? never
|
|
108
|
+
: keyof RequestFields<I> extends never ? void
|
|
109
|
+
: S.Schema.Type<S.Struct<RequestFields<I>>>
|
|
113
110
|
|
|
114
|
-
type
|
|
111
|
+
type RequestInputFromOverloadedMake<I extends { readonly make: (...args: any[]) => any }> =
|
|
112
|
+
Parameters<I["make"]> extends [] ? void
|
|
113
|
+
: Parameters<I["make"]>[0]
|
|
115
114
|
|
|
116
|
-
type
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
: never
|
|
115
|
+
export type RequestInputFromMake<I extends { readonly make: (...args: any[]) => any }> =
|
|
116
|
+
[RequestInputFromFields<I>] extends [never] ? RequestInputFromOverloadedMake<I>
|
|
117
|
+
: RequestInputFromFields<I>
|
|
120
118
|
|
|
121
|
-
type
|
|
122
|
-
| UntagRequestInput<RequestInputFromMake<I>>
|
|
123
|
-
| RequestInputFromFields<I>
|
|
124
|
-
| void
|
|
119
|
+
type NormalizedRequestInput<T> = Omit<Exclude<T, undefined>, "_tag">
|
|
125
120
|
|
|
126
|
-
|
|
121
|
+
// If make's first param has only an optional _tag property, treat as no-input handler.
|
|
122
|
+
type IsTagOnly<T> = [Exclude<T, undefined>] extends [never] ? true
|
|
123
|
+
: [keyof NormalizedRequestInput<T>] extends [never] ? true
|
|
127
124
|
: false
|
|
128
125
|
|
|
126
|
+
type RequestInput<I extends { readonly make: (...args: any[]) => any }> = NormalizedRequestInput<
|
|
127
|
+
RequestInputFromMake<I>
|
|
128
|
+
>
|
|
129
|
+
|
|
129
130
|
export type RequestHandlers<R, E, M extends RequestsAny, ModuleName extends string> = {
|
|
130
|
-
[K in keyof M as M[K] extends Req ? K : never]:
|
|
131
|
+
[K in keyof M as M[K] extends Req ? K : never]: IsTagOnly<RequestInputFromMake<M[K]>> extends true ? RequestHandler<
|
|
131
132
|
S.Schema.Type<M[K]["success"]>,
|
|
132
133
|
S.Schema.Type<M[K]["error"]> | E,
|
|
133
134
|
R | ReqDecodingServices<M[K]>,
|