effect-app 1.15.2 → 1.15.4
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/router.cjs +1 -1
- package/_cjs/client/router.cjs.map +1 -1
- package/dist/client/clientFor.d.ts +5 -4
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/router.d.ts +16 -6
- package/dist/client/router.d.ts.map +1 -1
- package/dist/client/router.js +4 -4
- package/package.json +1 -1
- package/src/client/clientFor.ts +4 -4
- package/src/client/router.ts +15 -17
package/CHANGELOG.md
CHANGED
package/_cjs/client/router.cjs
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.makeClientRouter = void 0;
|
|
7
7
|
var _REST = require("@effect-app/schema/REST");
|
|
8
8
|
var _lib = require("../lib.cjs");
|
|
9
|
-
// TODO: get rid of Request in Request
|
|
9
|
+
// TODO: get rid of Request in Request and Response in C
|
|
10
10
|
const makeClientRouter = () => {
|
|
11
11
|
function Req() {
|
|
12
12
|
return (fields, config) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs","names":["_REST","require","_lib","makeClientRouter","Req","fields","config","req","success","Req_","Response","S","Void","req2","Object","assign","Request","exports"],"sources":["../../src/client/router.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"router.cjs","names":["_REST","require","_lib","makeClientRouter","Req","fields","config","req","success","Req_","Response","S","Void","req2","Object","assign","Request","exports"],"sources":["../../src/client/router.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA;AACO,MAAME,gBAAgB,GAAGA,CAAA,KAAmC;EAGjE,SAASC,GAAGA,CAAA;IAgEV,OAAQ,CACNC,MAAc,EACdC,MAAU,KACR;MACF;MACA,MAAMC,GAAG,GAAGD,MAAM,EAAEE,OAAO,GACvB,IAAAC,SAAI,EAAI;QAAE,GAAGH,MAAM;QAAEI,QAAQ,EAAEJ,MAAM,CAACE;MAAO,CAAE,CAAC,EAAK,CAASH,MAAM,CAAC,GACrE,IAAAI,SAAI,EAAC;QAAE,GAAGH,MAAM;QAAEE,OAAO,EAAEG,MAAC,CAACC,IAAI;QAAEF,QAAQ,EAAEC,MAAC,CAACC;MAAI,CAAE,CAAC,EAAK,CAASP,MAAM,CAAC;MAC/E,MAAMQ,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACR,GAAG,EAAE;QAAES,OAAO,EAAET;MAAG,CAAE,CAAC,EAAC;MAClD,OAAOM,IAAI;IACb,CAAC;EACH;EAEA,OAAOT,GAAG;AACZ,CAAC;AAAAa,OAAA,CAAAd,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { Effect } from "@effect-app/core";
|
|
|
2
2
|
import type { Schema } from "effect-app/schema";
|
|
3
3
|
import { REST } from "effect-app/schema";
|
|
4
4
|
import type { HttpClient } from "../http.js";
|
|
5
|
+
import { S } from "../lib.js";
|
|
5
6
|
import type { ApiConfig } from "./config.js";
|
|
6
7
|
import type { SupportedErrors } from "./errors.js";
|
|
7
8
|
import type { FetchError, FetchResponse } from "./fetch.js";
|
|
@@ -21,10 +22,10 @@ type RequestHandlers<R, E, M extends Requests> = {
|
|
|
21
22
|
mapPath: string;
|
|
22
23
|
name: string;
|
|
23
24
|
} : {
|
|
24
|
-
handler: (req:
|
|
25
|
+
handler: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => Effect<FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
25
26
|
Request: REST.GetRequest<M[K]>;
|
|
26
27
|
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
27
|
-
mapPath: (req:
|
|
28
|
+
mapPath: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => string;
|
|
28
29
|
name: string;
|
|
29
30
|
};
|
|
30
31
|
};
|
|
@@ -36,10 +37,10 @@ type RequestHandlersE<R, E, M extends Requests> = {
|
|
|
36
37
|
mapPath: string;
|
|
37
38
|
name: string;
|
|
38
39
|
} : {
|
|
39
|
-
handler: (req:
|
|
40
|
+
handler: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => Effect<FetchResponse<ExtractEResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
40
41
|
Request: REST.GetRequest<M[K]>;
|
|
41
42
|
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
42
|
-
mapPath: (req:
|
|
43
|
+
mapPath: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => string;
|
|
43
44
|
name: string;
|
|
44
45
|
};
|
|
45
46
|
};
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
package/dist/client/router.d.ts
CHANGED
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import type { BuildRequest } from "@effect-app/schema/REST";
|
|
2
2
|
import { S } from "../lib.js";
|
|
3
3
|
export declare const makeClientRouter: <RequestConfig extends object>() => <M>() => {
|
|
4
|
-
<Fields extends S.Struct.Fields, C extends
|
|
4
|
+
<Fields extends S.Struct.Fields, C extends {
|
|
5
5
|
success: S.Schema.Any;
|
|
6
|
-
}>(fields: Fields, config: C): BuildRequest<Fields, "/", "AUTO", M, C & {
|
|
6
|
+
}>(fields: Fields, config: RequestConfig & C): BuildRequest<Fields, "/", "AUTO", M, C & {
|
|
7
7
|
Response: C["success"];
|
|
8
8
|
}> & {
|
|
9
|
-
Request: BuildRequest<Fields, "/", "AUTO", M, C
|
|
9
|
+
Request: BuildRequest<Fields, "/", "AUTO", M, C & {
|
|
10
|
+
Response: C["success"];
|
|
11
|
+
}>;
|
|
10
12
|
};
|
|
11
|
-
<Fields extends S.Struct.Fields
|
|
13
|
+
<Fields extends S.Struct.Fields>(fields: Fields, config: RequestConfig): BuildRequest<Fields, "/", "AUTO", M, {
|
|
14
|
+
success: typeof S.Void;
|
|
12
15
|
Response: typeof S.Void;
|
|
13
16
|
}> & {
|
|
14
|
-
Request: BuildRequest<Fields, "/", "AUTO", M,
|
|
17
|
+
Request: BuildRequest<Fields, "/", "AUTO", M, {
|
|
18
|
+
success: typeof S.Void;
|
|
19
|
+
Response: typeof S.Void;
|
|
20
|
+
}>;
|
|
15
21
|
};
|
|
16
22
|
<Fields extends S.Struct.Fields>(fields: Fields): BuildRequest<Fields, "/", "AUTO", M, {
|
|
23
|
+
success: typeof S.Void;
|
|
17
24
|
Response: typeof S.Void;
|
|
18
25
|
}> & {
|
|
19
|
-
Request: BuildRequest<Fields, "/", "AUTO", M,
|
|
26
|
+
Request: BuildRequest<Fields, "/", "AUTO", M, {
|
|
27
|
+
success: typeof S.Void;
|
|
28
|
+
Response: typeof S.Void;
|
|
29
|
+
}>;
|
|
20
30
|
};
|
|
21
31
|
};
|
|
22
32
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/client/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/client/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAG7B,eAAO,MAAM,gBAAgB,GAAI,aAAa,SAAS,MAAM,QAG9C,CAAC,OAAK;IACjB,CAAC,MAA8B,SAAf,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAiB;iBAF1B,CAAC,CAAC,MAAM,CAAC,GAAG;KAEc,EAChD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GAAG,CAAC,GAEvB,YAAY,CACZ,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD,CAAC,GAAG;QAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;KAAE,CAC/B,GACC;QACA,OAAO,EAAE,YAAY,CACnB,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD,CAAC,GAAG;YAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;SAAE,CAC/B,CAAA;KACF,CAAA;IACH,CAAC,MAA8B,SAAf,CAAC,CAAC,MAAM,CAAC,MAAM,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GAEnB,YAAY,CACZ,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD;QAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;KAAE,CACpD,GACC;QACA,OAAO,EAAE,YAAY,CACnB,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD;YAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;SAAE,CACpD,CAAA;KACF,CAAA;IACH,CAAC,MAA8B,SAAf,CAAC,CAAC,MAAM,CAAC,MAAM,EAC7B,MAAM,EAAE,MAAM,GAEZ,YAAY,CACZ,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD;QACE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;QACtB,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;KACxB,CACF,GACC;QACA,OAAO,EAAE,YAAY,CACnB,MAAM,EACN,GAAG,EACH,MAAM,EACN,CAAC,EACD;YAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;SAAE,CACpD,CAAA;KACF,CAAA;CAgBN,CAAA"}
|
package/dist/client/router.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Req as Req_ } from "@effect-app/schema/REST";
|
|
2
2
|
import { S } from "../lib.js";
|
|
3
|
-
// TODO: get rid of Request in Request
|
|
3
|
+
// TODO: get rid of Request in Request and Response in C
|
|
4
4
|
export const makeClientRouter = () => {
|
|
5
5
|
function Req() {
|
|
6
|
-
return (fields, config) => {
|
|
6
|
+
return ((fields, config) => {
|
|
7
7
|
// TODO: get rid of Response, just use success (only all legacy migrated)
|
|
8
8
|
const req = config?.success
|
|
9
9
|
? Req_({ ...config, Response: config.success })()(fields)
|
|
10
10
|
: Req_({ ...config, success: S.Void, Response: S.Void })()(fields);
|
|
11
11
|
const req2 = Object.assign(req, { Request: req }); // bwc
|
|
12
12
|
return req2;
|
|
13
|
-
};
|
|
13
|
+
});
|
|
14
14
|
}
|
|
15
15
|
return Req;
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9yb3V0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBRTdCLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFpQyxFQUFFO0lBR2pFLFNBQVMsR0FBRztRQWdFVixPQUFPLENBQUMsQ0FDTixNQUFjLEVBQ2QsTUFBVSxFQUNWLEVBQUU7WUFDRix5RUFBeUU7WUFDekUsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLE9BQU87Z0JBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUksRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUssQ0FBUyxNQUFNLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUssQ0FBUyxNQUFNLENBQUMsQ0FBQTtZQUMvRSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBLENBQUMsTUFBTTtZQUN4RCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUMsQ0FBUSxDQUFBO0lBQ1gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyxDQUFBIn0=
|
package/package.json
CHANGED
package/src/client/clientFor.ts
CHANGED
|
@@ -262,7 +262,7 @@ type RequestHandlers<R, E, M extends Requests> = {
|
|
|
262
262
|
}
|
|
263
263
|
: {
|
|
264
264
|
handler: (
|
|
265
|
-
req:
|
|
265
|
+
req: S.Schema.Type<REST.GetRequest<M[K]>>
|
|
266
266
|
) => Effect<
|
|
267
267
|
FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>,
|
|
268
268
|
E,
|
|
@@ -270,7 +270,7 @@ type RequestHandlers<R, E, M extends Requests> = {
|
|
|
270
270
|
>
|
|
271
271
|
Request: REST.GetRequest<M[K]>
|
|
272
272
|
Reponse: ExtractResponse<REST.GetResponse<M[K]>>
|
|
273
|
-
mapPath: (req:
|
|
273
|
+
mapPath: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => string
|
|
274
274
|
name: string
|
|
275
275
|
}
|
|
276
276
|
}
|
|
@@ -289,7 +289,7 @@ type RequestHandlersE<R, E, M extends Requests> = {
|
|
|
289
289
|
}
|
|
290
290
|
: {
|
|
291
291
|
handler: (
|
|
292
|
-
req:
|
|
292
|
+
req: S.Schema.Type<REST.GetRequest<M[K]>>
|
|
293
293
|
) => Effect<
|
|
294
294
|
FetchResponse<ExtractEResponse<REST.GetResponse<M[K]>>>,
|
|
295
295
|
E,
|
|
@@ -297,7 +297,7 @@ type RequestHandlersE<R, E, M extends Requests> = {
|
|
|
297
297
|
>
|
|
298
298
|
Request: REST.GetRequest<M[K]>
|
|
299
299
|
Reponse: ExtractResponse<REST.GetResponse<M[K]>>
|
|
300
|
-
mapPath: (req:
|
|
300
|
+
mapPath: (req: S.Schema.Type<REST.GetRequest<M[K]>>) => string
|
|
301
301
|
name: string
|
|
302
302
|
}
|
|
303
303
|
}
|
package/src/client/router.ts
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import type { BuildRequest } from "@effect-app/schema/REST"
|
|
2
2
|
import { Req as Req_ } from "@effect-app/schema/REST"
|
|
3
|
-
import type { C } from "vitest/dist/chunks/environment.C5eAp3K6.js"
|
|
4
3
|
import { S } from "../lib.js"
|
|
5
4
|
|
|
6
|
-
// TODO: get rid of Request in Request
|
|
5
|
+
// TODO: get rid of Request in Request and Response in C
|
|
7
6
|
export const makeClientRouter = <RequestConfig extends object>() => {
|
|
7
|
+
// Long way around Context/C extends etc to support actual jsdoc from passed in RequestConfig etc...
|
|
8
|
+
type Context = { success: S.Schema.Any }
|
|
8
9
|
function Req<M>(): {
|
|
9
|
-
<Fields extends S.Struct.Fields, C extends
|
|
10
|
+
<Fields extends S.Struct.Fields, C extends Context>(
|
|
10
11
|
fields: Fields,
|
|
11
|
-
config: C
|
|
12
|
+
config: RequestConfig & C
|
|
12
13
|
):
|
|
13
14
|
& BuildRequest<
|
|
14
15
|
Fields,
|
|
15
16
|
"/",
|
|
16
17
|
"AUTO",
|
|
17
18
|
M,
|
|
18
|
-
C & {
|
|
19
|
-
Response: C["success"]
|
|
20
|
-
}
|
|
19
|
+
C & { Response: C["success"] }
|
|
21
20
|
>
|
|
22
21
|
& {
|
|
23
22
|
Request: BuildRequest<
|
|
@@ -25,21 +24,19 @@ export const makeClientRouter = <RequestConfig extends object>() => {
|
|
|
25
24
|
"/",
|
|
26
25
|
"AUTO",
|
|
27
26
|
M,
|
|
28
|
-
C
|
|
27
|
+
C & { Response: C["success"] }
|
|
29
28
|
>
|
|
30
29
|
}
|
|
31
|
-
<Fields extends S.Struct.Fields
|
|
30
|
+
<Fields extends S.Struct.Fields>(
|
|
32
31
|
fields: Fields,
|
|
33
|
-
config:
|
|
32
|
+
config: RequestConfig
|
|
34
33
|
):
|
|
35
34
|
& BuildRequest<
|
|
36
35
|
Fields,
|
|
37
36
|
"/",
|
|
38
37
|
"AUTO",
|
|
39
38
|
M,
|
|
40
|
-
|
|
41
|
-
Response: typeof S.Void
|
|
42
|
-
}
|
|
39
|
+
{ success: typeof S.Void; Response: typeof S.Void }
|
|
43
40
|
>
|
|
44
41
|
& {
|
|
45
42
|
Request: BuildRequest<
|
|
@@ -47,7 +44,7 @@ export const makeClientRouter = <RequestConfig extends object>() => {
|
|
|
47
44
|
"/",
|
|
48
45
|
"AUTO",
|
|
49
46
|
M,
|
|
50
|
-
|
|
47
|
+
{ success: typeof S.Void; Response: typeof S.Void }
|
|
51
48
|
>
|
|
52
49
|
}
|
|
53
50
|
<Fields extends S.Struct.Fields>(
|
|
@@ -59,6 +56,7 @@ export const makeClientRouter = <RequestConfig extends object>() => {
|
|
|
59
56
|
"AUTO",
|
|
60
57
|
M,
|
|
61
58
|
{
|
|
59
|
+
success: typeof S.Void
|
|
62
60
|
Response: typeof S.Void
|
|
63
61
|
}
|
|
64
62
|
>
|
|
@@ -68,11 +66,11 @@ export const makeClientRouter = <RequestConfig extends object>() => {
|
|
|
68
66
|
"/",
|
|
69
67
|
"AUTO",
|
|
70
68
|
M,
|
|
71
|
-
|
|
69
|
+
{ success: typeof S.Void; Response: typeof S.Void }
|
|
72
70
|
>
|
|
73
71
|
}
|
|
74
72
|
} {
|
|
75
|
-
return <Fields extends S.Struct.Fields, C extends
|
|
73
|
+
return (<Fields extends S.Struct.Fields, C extends Context>(
|
|
76
74
|
fields: Fields,
|
|
77
75
|
config?: C
|
|
78
76
|
) => {
|
|
@@ -82,7 +80,7 @@ export const makeClientRouter = <RequestConfig extends object>() => {
|
|
|
82
80
|
: Req_({ ...config, success: S.Void, Response: S.Void })<M>()<Fields>(fields)
|
|
83
81
|
const req2 = Object.assign(req, { Request: req }) // bwc
|
|
84
82
|
return req2
|
|
85
|
-
}
|
|
83
|
+
}) as any
|
|
86
84
|
}
|
|
87
85
|
|
|
88
86
|
return Req
|