effect-app 0.185.3 → 0.185.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
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Effect } from "@effect-app/core";
|
|
2
|
-
import type { Schema } from "effect-app/schema";
|
|
2
|
+
import type { Schema, Struct } from "effect-app/schema";
|
|
3
3
|
import { REST } from "effect-app/schema";
|
|
4
4
|
import type { HttpClient } from "../http.js";
|
|
5
5
|
import { S } from "../lib.js";
|
|
@@ -15,7 +15,7 @@ export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T
|
|
|
15
15
|
export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encoded<T> : T extends unknown ? void : never;
|
|
16
16
|
type HasEmptyTo<T extends Schema<any, any, any>> = T extends {
|
|
17
17
|
fields: S.Struct.Fields;
|
|
18
|
-
} ?
|
|
18
|
+
} ? Struct.Type<T["fields"]> extends Record<any, never> ? true : Schema.Type<T> extends Record<any, never> ? true : false : false;
|
|
19
19
|
type RequestHandlers<R, E, M extends Requests> = {
|
|
20
20
|
[K in keyof M]: HasEmptyTo<REST.GetRequest<M[K]>> extends true ? {
|
|
21
21
|
handler: Effect<FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAQ,MAAM,kBAAkB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
package/dist/client/fetch.d.ts
CHANGED
|
@@ -16,12 +16,12 @@ export declare function fetchApi(method: Method, path: string, body?: unknown):
|
|
|
16
16
|
status: number;
|
|
17
17
|
body: unknown;
|
|
18
18
|
headers: import("@effect/platform/Http/Headers").Headers;
|
|
19
|
-
} | FetchResponse<unknown>, NotFoundError<ItemType> | InvalidStateError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | HttpResponseError<unknown> | import("@effect/platform/Http/Body").BodyError,
|
|
19
|
+
} | FetchResponse<unknown>, NotFoundError<ItemType> | InvalidStateError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | HttpResponseError<unknown> | import("@effect/platform/Http/Body").BodyError, HttpClient.Client.Default | ApiConfig>;
|
|
20
20
|
export declare function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, ResponseFrom, ResponseTo>(request: Schema<RequestTo, RequestFrom, RequestR>, response: Schema<ResponseTo, ResponseFrom, ResponseR>): (method: Method, path: Path) => (req: RequestTo) => Effect.Effect<{
|
|
21
21
|
body: ResponseTo;
|
|
22
22
|
headers: Headers;
|
|
23
23
|
status: number;
|
|
24
|
-
}, S.ParseResult.ParseError | NotFoundError<ItemType> | InvalidStateError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | ResError | HttpResponseError<unknown> | import("@effect/platform/Http/Body").BodyError,
|
|
24
|
+
}, S.ParseResult.ParseError | NotFoundError<ItemType> | InvalidStateError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | ResError | HttpResponseError<unknown> | import("@effect/platform/Http/Body").BodyError, HttpClient.Client.Default | ApiConfig | RequestR | ResponseR>;
|
|
25
25
|
export declare function fetchApi3S<RequestA, RequestE, ResponseE = unknown, ResponseA = void>({ Request, Response }: {
|
|
26
26
|
Request: REST.RequestSchemed<RequestA, RequestE>;
|
|
27
27
|
Response: REST.ReqRes<ResponseA, ResponseE, any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "0.185.
|
|
3
|
+
"version": "0.185.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"validator": "^13.11.0",
|
|
16
16
|
"@effect-app/core": "0.152.1",
|
|
17
17
|
"@effect-app/fluent-extensions": "0.146.0",
|
|
18
|
-
"@effect-app/schema": "0.206.
|
|
18
|
+
"@effect-app/schema": "0.206.4"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@babel/cli": "^7.23.9",
|
package/src/client/clientFor.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
|
|
4
4
|
import { Effect, flow } from "@effect-app/core"
|
|
5
|
-
import type { Schema } from "effect-app/schema"
|
|
5
|
+
import type { Schema, Struct } from "effect-app/schema"
|
|
6
6
|
import { REST } from "effect-app/schema"
|
|
7
7
|
import { Path } from "path-parser"
|
|
8
8
|
import type { HttpClient } from "../http.js"
|
|
@@ -225,7 +225,7 @@ export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encod
|
|
|
225
225
|
: never
|
|
226
226
|
|
|
227
227
|
type HasEmptyTo<T extends Schema<any, any, any>> = T extends { fields: S.Struct.Fields }
|
|
228
|
-
?
|
|
228
|
+
? Struct.Type<T["fields"]> extends Record<any, never> ? true
|
|
229
229
|
: Schema.Type<T> extends Record<any, never> ? true
|
|
230
230
|
: false
|
|
231
231
|
: false
|