effect-app 1.13.0 → 1.13.2
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/_cjs/client/clientFor.cjs +8 -2
- package/_cjs/client/clientFor.cjs.map +1 -1
- package/dist/client/clientFor.d.ts +1 -1
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +11 -4
- package/package.json +1 -1
- package/src/client/clientFor.ts +20 -5
package/CHANGELOG.md
CHANGED
|
@@ -39,10 +39,16 @@ function clientFor(models) {
|
|
|
39
39
|
return m;
|
|
40
40
|
}
|
|
41
41
|
function clientFor_(models) {
|
|
42
|
-
|
|
42
|
+
const filtered = (0, _utils.typedKeysOf)(models).reduce((acc, cur) => {
|
|
43
|
+
if (_core.Predicate.isObject(models[cur]) && (models[cur].Request || Object.keys(models[cur]).some(_ => _.endsWith("Request")) /* bwc */)) {
|
|
44
|
+
acc[cur] = models[cur];
|
|
45
|
+
}
|
|
46
|
+
return acc;
|
|
47
|
+
}, {});
|
|
48
|
+
return (0, _utils.typedKeysOf)(filtered)
|
|
43
49
|
// ignore module interop with automatic default exports..
|
|
44
50
|
.filter(x => x !== "default" && x !== "meta").reduce((prev, cur) => {
|
|
45
|
-
const h =
|
|
51
|
+
const h = filtered[cur];
|
|
46
52
|
const Request_ = _schema.REST.extractRequest(h);
|
|
47
53
|
const Response = _schema.REST.extractResponse(h);
|
|
48
54
|
const m = models.meta;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.cjs","names":["_core","require","_schema","_pathParser","_lib","_utils","_fetch","_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","cache","Map","clientFor","models","found","m","clientFor_","set","typedKeysOf","
|
|
1
|
+
{"version":3,"file":"clientFor.cjs","names":["_core","require","_schema","_pathParser","_lib","_utils","_fetch","_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","cache","Map","clientFor","models","found","m","clientFor_","set","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","Request","some","_","endsWith","filter","x","prev","h","Request_","REST","extractRequest","Response","extractResponse","meta","Error","requestName","moduleName","replaceAll","path","method","determineMethod","assign","Auto","b","mapPath","name","res","parseResponse","flow","S","decodeUnknown","Effect","mapError","err","ResError","parseResponseE","encodedSchema","Path","parse","mapResponseM","parseE","fields","Body","Query","flatMap","ast","propertySignatures","length","handler","fetchApi","undefined","errors","pipe","withSpan","attributes","req","makePathWithQuery","encodeSync","fetchApi3S","makePathWithBody","fetchApi3SE"],"sources":["../../src/client/clientFor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import type { FetchError, FetchResponse } from "./fetch.js";
|
|
|
8
8
|
import { ResError } from "./fetch.js";
|
|
9
9
|
export * from "./config.js";
|
|
10
10
|
type Requests = Record<string, any>;
|
|
11
|
-
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.HttpClient, SupportedErrors | FetchError | ResError, M> & RequestHandlersE<ApiConfig | HttpClient.HttpClient, SupportedErrors | FetchError | ResError, M>;
|
|
11
|
+
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.HttpClient.Service, SupportedErrors | FetchError | ResError, M> & RequestHandlersE<ApiConfig | HttpClient.HttpClient.Service, SupportedErrors | FetchError | ResError, M>;
|
|
12
12
|
export declare function clientFor<M extends Requests>(models: M): Client<Omit<M, "meta">>;
|
|
13
13
|
export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T> : T extends unknown ? void : never;
|
|
14
14
|
export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encoded<T> : T extends unknown ? void : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAOL,QAAQ,EACT,MAAM,YAAY,CAAA;AAEnB,cAAc,aAAa,CAAA;AAE3B,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAUnC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IACjC,eAAe,CACf,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,EACzC,eAAe,GAAG,UAAU,GAAG,QAAQ,EACvC,CAAC,CACF,GACC,gBAAgB,CAChB,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,EACzC,eAAe,GAAG,UAAU,GAAG,QAAQ,EACvC,CAAC,CACF,CAAA;AAEH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAC1C,MAAM,EAAE,CAAC,GACR,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAQzB;AAiLD,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,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,GACxF,KAAK,CAAA;AAGT,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI;KAC9C,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;QAC7D,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7E,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,GACC;QACA,OAAO,EAAE,CACP,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KACrC,MAAM,CACT,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtD,CAAC,EACD,CAAC,CACF,CAAA;QACD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;QAC7D,IAAI,EAAE,MAAM,CAAA;KACb;CACJ,CAAA;AAED,KAAK,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,QAAQ,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;QACjF,OAAO,EAAE,MAAM,CACb,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC,EACD,CAAC,CACF,CAAA;QACD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,GACC;QACA,OAAO,EAAE,CACP,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KACrC,MAAM,CACT,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,CAAC,EACD,CAAC,CACF,CAAA;QACD,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;QAC7D,IAAI,EAAE,MAAM,CAAA;KACb;CACJ,CAAA"}
|
package/dist/client/clientFor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
import { Effect, flow } from "@effect-app/core";
|
|
3
|
+
import { Effect, flow, Predicate } from "@effect-app/core";
|
|
4
4
|
import { REST } from "effect-app/schema";
|
|
5
5
|
import { Path } from "path-parser";
|
|
6
6
|
import { S } from "../lib.js";
|
|
@@ -18,11 +18,18 @@ export function clientFor(models) {
|
|
|
18
18
|
return m;
|
|
19
19
|
}
|
|
20
20
|
function clientFor_(models) {
|
|
21
|
-
|
|
21
|
+
const filtered = typedKeysOf(models).reduce((acc, cur) => {
|
|
22
|
+
if (Predicate.isObject(models[cur])
|
|
23
|
+
&& (models[cur].Request || Object.keys(models[cur]).some((_) => _.endsWith("Request")) /* bwc */)) {
|
|
24
|
+
acc[cur] = models[cur];
|
|
25
|
+
}
|
|
26
|
+
return acc;
|
|
27
|
+
}, {});
|
|
28
|
+
return (typedKeysOf(filtered)
|
|
22
29
|
// ignore module interop with automatic default exports..
|
|
23
30
|
.filter((x) => x !== "default" && x !== "meta")
|
|
24
31
|
.reduce((prev, cur) => {
|
|
25
|
-
const h =
|
|
32
|
+
const h = filtered[cur];
|
|
26
33
|
const Request_ = REST.extractRequest(h);
|
|
27
34
|
const Response = REST.extractResponse(h);
|
|
28
35
|
const m = models.meta;
|
|
@@ -142,4 +149,4 @@ function clientFor_(models) {
|
|
|
142
149
|
return prev;
|
|
143
150
|
}, {}));
|
|
144
151
|
}
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVsQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFJekMsT0FBTyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFFBQVEsRUFDVCxNQUFNLFlBQVksQ0FBQTtBQUVuQixjQUFjLGFBQWEsQ0FBQTtBQVUzQixNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBb0IsQ0FBQTtBQWN6QyxNQUFNLFVBQVUsU0FBUyxDQUN2QixNQUFTO0lBRVQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1YsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BCLE9BQU8sQ0FBQyxDQUFBO0FBQ1YsQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFxQixNQUFTO0lBTS9DLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDdkQsSUFDRSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztlQUM1QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFDakcsQ0FBQztZQUNELEdBQUcsQ0FBQyxHQUFxQixDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzFDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUMsRUFBRSxFQUFjLENBQUMsQ0FBQTtJQUNsQixPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUMzQix5REFBeUQ7U0FDeEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUM7U0FDOUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQ3BCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUV2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBZSxDQUFBO1FBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFeEMsTUFBTSxDQUFDLEdBQUksTUFBYyxDQUFDLElBQThCLENBQUE7UUFDeEQsSUFBSSxDQUFDLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUE7UUFDdkQsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLENBQUMsVUFBVSxJQUFJLEdBQWEsRUFBRTthQUNuRCxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRXhCLE1BQU0sT0FBTyxHQUFHLEtBQU0sU0FBUyxRQUFnQjtZQUM3QyxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxXQUFXLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDOUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBK0IsS0FBSyxNQUFNO2dCQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFhLEVBQUUsUUFBUSxDQUFDO2dCQUMvQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQTtTQUNLLENBQUE7UUFFMUIsSUFBSyxRQUFnQixDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtnQkFDckIsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRyxRQUFnQixDQUFDLElBQUk7YUFDckcsQ0FBQyxDQUFBO1FBQ0osQ0FBQztRQUVELE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBRXJELE1BQU0sSUFBSSxHQUFHO1lBQ1gsT0FBTztZQUNQLFFBQVE7WUFDUixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDckIsSUFBSSxFQUFFLFdBQVc7U0FDbEIsQ0FBQTtRQUVELE1BQU0sR0FBRyxHQUFHLFFBQXVCLENBQUE7UUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDdkcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUN6QixDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDckMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUN0RCxDQUFBO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ25DLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUN6QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFM0MseURBQXlEO1FBQ3pELDBCQUEwQjtRQUMxQiwrREFBK0Q7UUFDL0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQzthQUN2RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqQixzRUFBc0U7YUFDckUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUE7UUFDM0MsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUs7WUFDbEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDbkIsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO3lCQUN2RSxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDckIsTUFBTTt5QkFDSCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUN6QyxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQ0w7b0JBQ0gsR0FBRyxJQUFJO2lCQUNSO2dCQUNELENBQUMsQ0FBQztvQkFDQSxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO3lCQUNyRyxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFDckIsTUFBTTt5QkFDSCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUN6QyxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQ0w7b0JBQ0wsR0FBRyxJQUFJO29CQUNQLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDaEc7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNyQixDQUFDLENBQUM7b0JBQ0EsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQy9FLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FBQztvQkFDSCxHQUFHLElBQUk7aUJBQ1I7Z0JBQ0QsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ3BCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQ3ZFLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FBQztvQkFFTCxHQUFHLElBQUk7b0JBQ1AsT0FBTyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDcEIsR0FBRzt3QkFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFROzRCQUMzQixDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ3JELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDdEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUNuQixDQUFBO1FBRUgsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSztZQUN4QyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNuQixDQUFDLENBQUM7b0JBQ0EsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7eUJBQzVDLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN0QixNQUFNO3lCQUNILFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQ3pDLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FDTDtvQkFDSCxHQUFHLElBQUk7aUJBQ1I7Z0JBQ0QsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ3BCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7eUJBQzFFLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN0QixNQUFNO3lCQUNILFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQ3pDLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FDTDtvQkFFTCxHQUFHLElBQUk7b0JBQ1AsT0FBTyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUNoRztZQUNILENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ3JCLENBQUMsQ0FBQztvQkFDQSxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsRUFBRTt3QkFDaEYsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTtxQkFDNUMsQ0FBQyxDQUFDO29CQUNILEdBQUcsSUFBSTtpQkFDUjtnQkFDRCxDQUFDLENBQUM7b0JBQ0EsT0FBTyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDcEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsRUFBRTt3QkFDeEUsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTtxQkFDNUMsQ0FBQyxDQUFDO29CQUVMLEdBQUcsSUFBSTtvQkFDUCxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUNwQixHQUFHO3dCQUNELENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFFBQVE7NEJBQzNCLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDckQsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUN0RCxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7aUJBQ25CLENBQUE7UUFDSCxtQkFBbUI7UUFFbkIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDLEVBQUUsRUFBZSxDQUFDLENBQUMsQ0FBQTtBQUN4QixDQUFDIn0=
|
package/package.json
CHANGED
package/src/client/clientFor.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
|
|
4
|
-
import { Effect, flow } from "@effect-app/core"
|
|
4
|
+
import { Effect, flow, Predicate } from "@effect-app/core"
|
|
5
5
|
import type { Schema } from "effect-app/schema"
|
|
6
6
|
import { REST } from "effect-app/schema"
|
|
7
7
|
import { Path } from "path-parser"
|
|
@@ -35,12 +35,12 @@ const cache = new Map<any, Client<any>>()
|
|
|
35
35
|
|
|
36
36
|
export type Client<M extends Requests> =
|
|
37
37
|
& RequestHandlers<
|
|
38
|
-
ApiConfig | HttpClient.HttpClient,
|
|
38
|
+
ApiConfig | HttpClient.HttpClient.Service,
|
|
39
39
|
SupportedErrors | FetchError | ResError,
|
|
40
40
|
M
|
|
41
41
|
>
|
|
42
42
|
& RequestHandlersE<
|
|
43
|
-
ApiConfig | HttpClient.HttpClient,
|
|
43
|
+
ApiConfig | HttpClient.HttpClient.Service,
|
|
44
44
|
SupportedErrors | FetchError | ResError,
|
|
45
45
|
M
|
|
46
46
|
>
|
|
@@ -58,11 +58,25 @@ export function clientFor<M extends Requests>(
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
function clientFor_<M extends Requests>(models: M) {
|
|
61
|
-
|
|
61
|
+
type Filtered = {
|
|
62
|
+
[K in keyof Requests as Requests[K] extends { Response: any } ? K : never]: Requests[K] extends { Response: any }
|
|
63
|
+
? Requests[K]
|
|
64
|
+
: never
|
|
65
|
+
}
|
|
66
|
+
const filtered = typedKeysOf(models).reduce((acc, cur) => {
|
|
67
|
+
if (
|
|
68
|
+
Predicate.isObject(models[cur])
|
|
69
|
+
&& (models[cur].Request || Object.keys(models[cur]).some((_) => _.endsWith("Request")) /* bwc */)
|
|
70
|
+
) {
|
|
71
|
+
acc[cur as keyof Filtered] = models[cur]
|
|
72
|
+
}
|
|
73
|
+
return acc
|
|
74
|
+
}, {} as Filtered)
|
|
75
|
+
return (typedKeysOf(filtered)
|
|
62
76
|
// ignore module interop with automatic default exports..
|
|
63
77
|
.filter((x) => x !== "default" && x !== "meta")
|
|
64
78
|
.reduce((prev, cur) => {
|
|
65
|
-
const h =
|
|
79
|
+
const h = filtered[cur]
|
|
66
80
|
|
|
67
81
|
const Request_ = REST.extractRequest(h) as AnyRequest
|
|
68
82
|
const Response = REST.extractResponse(h)
|
|
@@ -229,6 +243,7 @@ export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encod
|
|
|
229
243
|
type HasEmptyTo<T extends Schema<any, any, any>> = keyof Schema.Type<T> extends never ? true
|
|
230
244
|
: false
|
|
231
245
|
|
|
246
|
+
// TODO: refactor to new Request pattern, then filter out non-requests similar to the runtime changes in clientFor, and matchFor (boilerplate)
|
|
232
247
|
type RequestHandlers<R, E, M extends Requests> = {
|
|
233
248
|
[K in keyof M]: HasEmptyTo<REST.GetRequest<M[K]>> extends true ? {
|
|
234
249
|
handler: Effect<FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>, E, R>
|