effect-app 1.30.4 → 1.30.5
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 +19 -13
- package/dist/client/clientFor.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/clientFor.ts +33 -24
package/CHANGELOG.md
CHANGED
|
@@ -16,20 +16,26 @@ export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T
|
|
|
16
16
|
export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encoded<T> : T extends unknown ? void : never;
|
|
17
17
|
type IsEmpty<T> = keyof T extends never ? true : false;
|
|
18
18
|
type Cruft = "_tag" | Request.RequestTypeId | typeof Serializable.symbol | typeof Serializable.symbolResult;
|
|
19
|
+
export type TaggedRequestClassAny = S.Schema.Any & {
|
|
20
|
+
readonly _tag: string;
|
|
21
|
+
readonly success: any;
|
|
22
|
+
readonly failure: any;
|
|
23
|
+
};
|
|
24
|
+
export interface RequestHandler<A, E, R, Request extends TaggedRequestClassAny> {
|
|
25
|
+
handler: Effect<A, E, R>;
|
|
26
|
+
name: string;
|
|
27
|
+
Request: Request;
|
|
28
|
+
}
|
|
29
|
+
export interface RequestHandlerWithInput<I, A, E, R, Request extends TaggedRequestClassAny> {
|
|
30
|
+
handler: (i: I) => Effect<A, E, R>;
|
|
31
|
+
name: string;
|
|
32
|
+
Request: Request;
|
|
33
|
+
}
|
|
19
34
|
type RequestHandlers<R, E, M extends Requests> = {
|
|
20
|
-
[K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
} : {
|
|
25
|
-
handler: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => Effect<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
26
|
-
Request: M[K];
|
|
27
|
-
name: string;
|
|
28
|
-
raw: {
|
|
29
|
-
handler: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => Effect<Schema.Encoded<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
30
|
-
Request: M[K];
|
|
31
|
-
name: string;
|
|
32
|
-
};
|
|
35
|
+
[K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? RequestHandler<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
|
|
36
|
+
raw: RequestHandler<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]>;
|
|
37
|
+
} : RequestHandlerWithInput<Omit<S.Schema.Type<M[K]>, Cruft>, Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
|
|
38
|
+
raw: RequestHandlerWithInput<Omit<S.Schema.Type<M[K]>, Cruft>, Schema.Encoded<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]>;
|
|
33
39
|
};
|
|
34
40
|
};
|
|
35
41
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAiB,KAAK,EAA6B,MAAM,kBAAkB,CAAA;AAI1F,OAAO,KAAK,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAqB,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGvC,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,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAanC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,eAAe,CACtD,SAAS,GAAG,UAAU,CAAC,UAAU,EACjC,KAAK,EAAE,2CAA2C;AAClD,CAAC,CACF,CAAA;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,IAG5D,CAAC,SAAS,QAAQ,UAChB,CAAC,KACR,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAS3B;AAuHD,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAC7E,CAAC,SAAS,OAAO,GAAG,IAAI,GACxB,KAAK,CAAA;AAET,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GACjF,CAAC,SAAS,OAAO,GAAG,IAAI,GACxB,KAAK,CAAA;AAET,KAAK,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,GAAG,IAAI,GAC1C,KAAK,CAAA;AAET,KAAK,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,YAAY,CAAC,MAAM,GAAG,OAAO,YAAY,CAAC,YAAY,CAAA;
|
|
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
|
@@ -220,37 +220,46 @@ type IsEmpty<T> = keyof T extends never ? true
|
|
|
220
220
|
|
|
221
221
|
type Cruft = "_tag" | Request.RequestTypeId | typeof Serializable.symbol | typeof Serializable.symbolResult
|
|
222
222
|
|
|
223
|
-
|
|
223
|
+
export type TaggedRequestClassAny = S.Schema.Any & {
|
|
224
|
+
readonly _tag: string
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
226
|
+
readonly success: any
|
|
227
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
228
|
+
readonly failure: any
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
export interface RequestHandler<A, E, R, Request extends TaggedRequestClassAny> {
|
|
232
|
+
handler: Effect<A, E, R>
|
|
233
|
+
name: string
|
|
234
|
+
Request: Request
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export interface RequestHandlerWithInput<I, A, E, R, Request extends TaggedRequestClassAny> {
|
|
238
|
+
handler: (i: I) => Effect<A, E, R>
|
|
239
|
+
name: string
|
|
240
|
+
Request: Request
|
|
241
|
+
}
|
|
242
|
+
|
|
224
243
|
type RequestHandlers<R, E, M extends Requests> = {
|
|
225
|
-
[K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
name: string
|
|
244
|
+
[K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true
|
|
245
|
+
? RequestHandler<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
|
|
246
|
+
raw: RequestHandler<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R, M[K]>
|
|
229
247
|
}
|
|
230
|
-
:
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
) => Effect<
|
|
248
|
+
:
|
|
249
|
+
& RequestHandlerWithInput<
|
|
250
|
+
Omit<S.Schema.Type<M[K]>, Cruft>,
|
|
234
251
|
Schema.Type<M[K]["success"]>,
|
|
235
252
|
Schema.Type<M[K]["failure"]> | E,
|
|
236
|
-
R
|
|
253
|
+
R,
|
|
254
|
+
M[K]
|
|
237
255
|
>
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
raw: {
|
|
242
|
-
handler: (
|
|
243
|
-
req: Omit<
|
|
244
|
-
S.Schema.Type<M[K]>,
|
|
245
|
-
Cruft
|
|
246
|
-
>
|
|
247
|
-
) => Effect<
|
|
256
|
+
& {
|
|
257
|
+
raw: RequestHandlerWithInput<
|
|
258
|
+
Omit<S.Schema.Type<M[K]>, Cruft>,
|
|
248
259
|
Schema.Encoded<M[K]["success"]>,
|
|
249
260
|
Schema.Type<M[K]["failure"]> | E,
|
|
250
|
-
R
|
|
261
|
+
R,
|
|
262
|
+
M[K]
|
|
251
263
|
>
|
|
252
|
-
Request: M[K]
|
|
253
|
-
name: string
|
|
254
264
|
}
|
|
255
|
-
}
|
|
256
265
|
}
|