effect-app 1.30.4 → 1.31.0

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,23 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 1.31.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 3872061: migrate to effect/Schema
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [3872061]
12
+ - @effect-app/schema@1.20.0
13
+ - @effect-app/core@1.18.0
14
+
15
+ ## 1.30.5
16
+
17
+ ### Patch Changes
18
+
19
+ - e836dcc: cleanup
20
+
3
21
  ## 1.30.4
4
22
 
5
23
  ### Patch Changes
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.makeClientFor = makeClientFor;
7
7
  exports.makePathWithBody = makePathWithBody;
8
8
  exports.makePathWithQuery = makePathWithQuery;
9
- var _core = require("@effect-app/core");
10
9
  var _rpc = require("@effect/rpc");
11
10
  var _rpcHttp = require("@effect/rpc-http");
12
11
  var _effect = require("effect");
@@ -15,6 +14,7 @@ var _client = require("effect-app/client");
15
14
  var _http = require("effect-app/http");
16
15
  var _utils = require("effect-app/utils");
17
16
  var _queryString = _interopRequireDefault(require("query-string"));
17
+ var _lib = require("../lib.cjs");
18
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
19
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
20
20
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -33,10 +33,10 @@ function makePathWithBody(path, pars) {
33
33
  ignoreConstraints: true
34
34
  });
35
35
  }
36
- const apiClient = _core.Effect.gen(function* () {
36
+ const apiClient = _lib.Effect.gen(function* () {
37
37
  const client = yield* _http.HttpClient.HttpClient;
38
38
  const config = yield* _client.ApiConfig.Tag;
39
- return client.pipe(_http.HttpClient.mapRequest(_http.HttpClientRequest.prependUrl(config.apiUrl + "/rpc")), _http.HttpClient.mapRequest(_http.HttpClientRequest.setHeaders(config.headers.pipe(_core.Option.getOrElse(() => _core.HashMap.empty())))));
39
+ return client.pipe(_http.HttpClient.mapRequest(_http.HttpClientRequest.prependUrl(config.apiUrl + "/rpc")), _http.HttpClient.mapRequest(_http.HttpClientRequest.setHeaders(config.headers.pipe(_lib.Option.getOrElse(() => _lib.HashMap.empty())))));
40
40
  });
41
41
  function makeClientFor(layers) {
42
42
  const cache = new Map();
@@ -50,17 +50,17 @@ function makeClientFor(layers) {
50
50
  return m;
51
51
  };
52
52
  }
53
- function clientFor_(models, layers = _core.Layer.empty) {
53
+ function clientFor_(models, layers = _lib.Layer.empty) {
54
54
  const filtered = (0, _utils.typedKeysOf)(models).reduce((acc, cur) => {
55
- if (_core.Predicate.isObject(models[cur]) && models[cur].success) {
55
+ if (_lib.Predicate.isObject(models[cur]) && models[cur].success) {
56
56
  acc[cur] = models[cur];
57
57
  }
58
58
  return acc;
59
59
  }, {});
60
60
  const meta = models.meta;
61
61
  if (!meta) throw new Error("No meta defined in Resource!");
62
- const resolver = (0, _core.flow)(_rpcHttp.HttpRpcResolver.make, _ => _rpc.RpcResolver.toClient(_));
63
- const baseClient = apiClient.pipe(_core.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrl("/" + meta.moduleName))));
62
+ const resolver = (0, _lib.flow)(_rpcHttp.HttpRpcResolver.make, _ => _rpc.RpcResolver.toClient(_));
63
+ const baseClient = apiClient.pipe(_lib.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrl("/" + meta.moduleName))));
64
64
  return (0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
65
65
  const h = filtered[cur];
66
66
  const Request = h;
@@ -70,45 +70,45 @@ function clientFor_(models, layers = _core.Layer.empty) {
70
70
  Request,
71
71
  name: requestName
72
72
  };
73
- const client = baseClient.pipe(_core.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrlParam("action", cur))), _core.Effect.andThen(resolver));
74
- const fields = _core.Struct.omit(Request.fields, "_tag");
73
+ const client = baseClient.pipe(_lib.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrlParam("action", cur))), _lib.Effect.andThen(resolver));
74
+ const fields = _lib.Struct.omit(Request.fields, "_tag");
75
75
  // @ts-expect-error doc
76
76
  prev[cur] = Object.keys(fields).length === 0 ? {
77
- handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.withSpan("client.request " + requestName, {
77
+ handler: client.pipe(_lib.Effect.andThen(cl => cl(new Request())), _lib.Effect.withSpan("client.request " + requestName, {
78
78
  captureStackTrace: false,
79
79
  attributes: {
80
80
  "request.name": requestName
81
81
  }
82
- }), _core.Effect.provide(layers)),
82
+ }), _lib.Effect.provide(layers)),
83
83
  ...requestMeta,
84
84
  raw: {
85
- handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
85
+ handler: client.pipe(_lib.Effect.andThen(cl => cl(new Request())), _lib.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
86
86
  // TODO,
87
- _core.Effect.withSpan("client.request " + requestName, {
87
+ _lib.Effect.withSpan("client.request " + requestName, {
88
88
  captureStackTrace: false,
89
89
  attributes: {
90
90
  "request.name": requestName
91
91
  }
92
- }), _core.Effect.provide(layers)),
92
+ }), _lib.Effect.provide(layers)),
93
93
  ...requestMeta
94
94
  }
95
95
  } : {
96
- handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.withSpan("client.request " + requestName, {
96
+ handler: req => client.pipe(_lib.Effect.andThen(cl => cl(new Request(req))), _lib.Effect.withSpan("client.request " + requestName, {
97
97
  captureStackTrace: false,
98
98
  attributes: {
99
99
  "request.name": requestName
100
100
  }
101
- }), _core.Effect.provide(layers)),
101
+ }), _lib.Effect.provide(layers)),
102
102
  ...requestMeta,
103
103
  raw: {
104
- handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
104
+ handler: req => client.pipe(_lib.Effect.andThen(cl => cl(new Request(req))), _lib.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
105
105
  // TODO,
106
- _core.Effect.withSpan("client.request " + requestName, {
106
+ _lib.Effect.withSpan("client.request " + requestName, {
107
107
  captureStackTrace: false,
108
108
  attributes: {
109
109
  "request.name": requestName
110
110
  }
111
- }), _core.Effect.provide(layers)),
111
+ }), _lib.Effect.provide(layers)),
112
112
  ...requestMeta
113
113
  }
114
114
  };
@@ -1 +1 @@
1
- {"version":3,"file":"clientFor.cjs","names":["_core","require","_rpc","_rpcHttp","_effect","_effectApp","_client","_http","_utils","_queryString","_interopRequireDefault","e","__esModule","default","makePathWithQuery","path","pars","forQs","Record","filter","_","k","params","includes","q","build","ignoreSearch","ignoreConstraints","Object","keys","length","qs","stringify","makePathWithBody","apiClient","Effect","gen","client","HttpClient","config","ApiConfig","Tag","pipe","mapRequest","HttpClientRequest","prependUrl","apiUrl","setHeaders","headers","Option","getOrElse","HashMap","empty","makeClientFor","layers","cache","Map","models","found","get","m","clientFor_","set","Layer","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","success","meta","Error","resolver","flow","HttpRpcResolver","make","RpcResolver","toClient","baseClient","andThen","appendUrl","moduleName","prev","h","Request","Response","requestName","replaceAll","requestMeta","name","appendUrlParam","fields","Struct","omit","handler","cl","withSpan","captureStackTrace","attributes","provide","raw","flatMap","res","S","encode","req"],"sources":["../../src/client/clientFor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"clientFor.cjs","names":["_rpc","require","_rpcHttp","_effect","_effectApp","_client","_http","_utils","_queryString","_interopRequireDefault","_lib","e","__esModule","default","makePathWithQuery","path","pars","forQs","Record","filter","_","k","params","includes","q","build","ignoreSearch","ignoreConstraints","Object","keys","length","qs","stringify","makePathWithBody","apiClient","Effect","gen","client","HttpClient","config","ApiConfig","Tag","pipe","mapRequest","HttpClientRequest","prependUrl","apiUrl","setHeaders","headers","Option","getOrElse","HashMap","empty","makeClientFor","layers","cache","Map","models","found","get","m","clientFor_","set","Layer","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","success","meta","Error","resolver","flow","HttpRpcResolver","make","RpcResolver","toClient","baseClient","andThen","appendUrl","moduleName","prev","h","Request","Response","requestName","replaceAll","requestMeta","name","appendUrlParam","fields","Struct","omit","handler","cl","withSpan","captureStackTrace","attributes","provide","raw","flatMap","res","S","encode","req"],"sources":["../../src/client/clientFor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,10 @@
1
- import { Effect, Layer } from "@effect-app/core";
2
- import type * as Serializable from "@effect/schema/Serializable";
3
1
  import { S } from "effect-app";
4
2
  import { ApiConfig } from "effect-app/client";
5
3
  import { HttpClient } from "effect-app/http";
6
- import type { Schema } from "effect-app/schema";
7
4
  import type * as Request from "effect/Request";
8
5
  import type { Path } from "path-parser";
6
+ import type { Schema } from "../lib.js";
7
+ import { Effect, Layer } from "../lib.js";
9
8
  export declare function makePathWithQuery(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
10
9
  export declare function makePathWithBody(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
11
10
  type Requests = Record<string, any>;
@@ -15,21 +14,27 @@ export declare function makeClientFor(layers: Layer.Layer<never, never, never>):
15
14
  export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T> : T extends unknown ? void : never;
16
15
  export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encoded<T> : T extends unknown ? void : never;
17
16
  type IsEmpty<T> = keyof T extends never ? true : false;
18
- type Cruft = "_tag" | Request.RequestTypeId | typeof Serializable.symbol | typeof Serializable.symbolResult;
17
+ type Cruft = "_tag" | Request.RequestTypeId | typeof Schema.symbolSerializable | typeof Schema.symbolWithResult;
18
+ export type TaggedRequestClassAny = S.Schema.Any & {
19
+ readonly _tag: string;
20
+ readonly success: any;
21
+ readonly failure: any;
22
+ };
23
+ export interface RequestHandler<A, E, R, Request extends TaggedRequestClassAny> {
24
+ handler: Effect<A, E, R>;
25
+ name: string;
26
+ Request: Request;
27
+ }
28
+ export interface RequestHandlerWithInput<I, A, E, R, Request extends TaggedRequestClassAny> {
29
+ handler: (i: I) => Effect<A, E, R>;
30
+ name: string;
31
+ Request: Request;
32
+ }
19
33
  type RequestHandlers<R, E, M extends Requests> = {
20
- [K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? {
21
- handler: Effect<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R>;
22
- Request: M[K];
23
- name: string;
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
- };
34
+ [K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? RequestHandler<Schema.Type<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
35
+ raw: RequestHandler<Schema.Type<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]>;
36
+ } : RequestHandlerWithInput<Omit<S.Schema.Type<M[K]>, Cruft>, Schema.Schema.Type<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
37
+ raw: RequestHandlerWithInput<Omit<S.Schema.Type<M[K]>, Cruft>, Schema.Schema.Encoded<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]>;
33
38
  };
34
39
  };
35
40
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { Effect, flow, HashMap, Layer, Option, Predicate, Struct } from "@effect-app/core";
4
3
  import { RpcResolver } from "@effect/rpc";
5
4
  import { HttpRpcResolver } from "@effect/rpc-http";
6
5
  import { Record } from "effect";
@@ -9,6 +8,7 @@ import { ApiConfig } from "effect-app/client";
9
8
  import { HttpClient, HttpClientRequest } from "effect-app/http";
10
9
  import { typedKeysOf } from "effect-app/utils";
11
10
  import qs from "query-string";
11
+ import { Effect, flow, HashMap, Layer, Option, Predicate, Struct } from "../lib.js";
12
12
  export function makePathWithQuery(path, pars) {
13
13
  const forQs = Record.filter(pars, (_, k) => !path.params.includes(k));
14
14
  const q = forQs; // { ...forQs, _: JSON.stringify(forQs) } // TODO: drop completely individual keys from query?, sticking to json only
@@ -102,4 +102,4 @@ function clientFor_(models, layers = Layer.empty) {
102
102
  return prev;
103
103
  }, {}));
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDMUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRzlDLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUU3QixNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQVUsRUFDVixJQVNDO0lBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckUsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFBLENBQUMscUhBQXFIO0lBQ3JJLE9BQU8sQ0FDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxF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
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFHOUMsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFFbkYsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixJQUFVLEVBQ1YsSUFTQztJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3JFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQSxDQUFDLHFIQUFxSDtJQUNySSxPQUFPLENBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFB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
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "1.30.4",
3
+ "version": "1.31.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@effect/rpc": "^0.43.5",
8
- "@effect/rpc-http": "^0.41.5",
7
+ "@effect/rpc": "^0.44.2",
8
+ "@effect/rpc-http": "^0.42.2",
9
9
  "@tsconfig/strictest": "^2.0.5",
10
10
  "date-fns": "^4.1.0",
11
11
  "nanoid": "^5.0.7",
@@ -14,13 +14,13 @@
14
14
  "ts-pattern": "^5.5.0",
15
15
  "uuid": "^10.0.0",
16
16
  "validator": "^13.12.0",
17
- "@effect-app/core": "1.17.1",
18
- "@effect-app/schema": "1.19.1"
17
+ "@effect-app/core": "1.18.0",
18
+ "@effect-app/schema": "1.20.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@babel/cli": "^7.25.7",
22
22
  "@faker-js/faker": "^8.4.1",
23
- "@types/node": "~22.7.6",
23
+ "@types/node": "~22.7.8",
24
24
  "@types/uuid": "^10.0.0",
25
25
  "@types/validator": "^13.12.2",
26
26
  "fast-check": "~3.22.0",
@@ -28,9 +28,8 @@
28
28
  "vitest": "^2.1.3"
29
29
  },
30
30
  "peerDependencies": {
31
- "@effect/platform": "^0.68.6",
32
- "effect": "^3.9.2",
33
- "@effect/schema": "^0.75.5"
31
+ "@effect/platform": "^0.69.2",
32
+ "effect": "^3.10.0"
34
33
  },
35
34
  "typesVersions": {
36
35
  "*": {
@@ -1,20 +1,19 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
 
4
- import { Effect, flow, HashMap, Layer, Option, Predicate, Struct } from "@effect-app/core"
5
4
  import { RpcResolver } from "@effect/rpc"
6
5
  import { HttpRpcResolver } from "@effect/rpc-http"
7
6
  import type { RpcRouter } from "@effect/rpc/RpcRouter"
8
- import type * as Serializable from "@effect/schema/Serializable"
9
7
  import { Record } from "effect"
10
8
  import { S } from "effect-app"
11
9
  import { ApiConfig } from "effect-app/client"
12
10
  import { HttpClient, HttpClientRequest } from "effect-app/http"
13
- import type { Schema } from "effect-app/schema"
14
11
  import { typedKeysOf } from "effect-app/utils"
15
12
  import type * as Request from "effect/Request"
16
13
  import type { Path } from "path-parser"
17
14
  import qs from "query-string"
15
+ import type { Schema } from "../lib.js"
16
+ import { Effect, flow, HashMap, Layer, Option, Predicate, Struct } from "../lib.js"
18
17
 
19
18
  export function makePathWithQuery(
20
19
  path: Path,
@@ -218,39 +217,48 @@ export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encod
218
217
  type IsEmpty<T> = keyof T extends never ? true
219
218
  : false
220
219
 
221
- type Cruft = "_tag" | Request.RequestTypeId | typeof Serializable.symbol | typeof Serializable.symbolResult
220
+ type Cruft = "_tag" | Request.RequestTypeId | typeof Schema.symbolSerializable | typeof Schema.symbolWithResult
221
+
222
+ export type TaggedRequestClassAny = S.Schema.Any & {
223
+ readonly _tag: string
224
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
225
+ readonly success: any
226
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
227
+ readonly failure: any
228
+ }
229
+
230
+ export interface RequestHandler<A, E, R, Request extends TaggedRequestClassAny> {
231
+ handler: Effect<A, E, R>
232
+ name: string
233
+ Request: Request
234
+ }
235
+
236
+ export interface RequestHandlerWithInput<I, A, E, R, Request extends TaggedRequestClassAny> {
237
+ handler: (i: I) => Effect<A, E, R>
238
+ name: string
239
+ Request: Request
240
+ }
222
241
 
223
- // TODO: refactor to new Request pattern, then filter out non-requests similar to the runtime changes in clientFor, and matchFor (boilerplate)
224
242
  type RequestHandlers<R, E, M extends Requests> = {
225
- [K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? {
226
- handler: Effect<Schema.Type<M[K]["success"]>, Schema.Type<M[K]["failure"]> | E, R>
227
- Request: M[K]
228
- name: string
243
+ [K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true
244
+ ? RequestHandler<Schema.Type<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]> & {
245
+ raw: RequestHandler<Schema.Type<M[K]["success"]>, Schema.Schema.Type<M[K]["failure"]> | E, R, M[K]>
229
246
  }
230
- : {
231
- handler: (
232
- req: Omit<S.Schema.Type<M[K]>, Cruft>
233
- ) => Effect<
234
- Schema.Type<M[K]["success"]>,
235
- Schema.Type<M[K]["failure"]> | E,
236
- R
247
+ :
248
+ & RequestHandlerWithInput<
249
+ Omit<S.Schema.Type<M[K]>, Cruft>,
250
+ Schema.Schema.Type<M[K]["success"]>,
251
+ Schema.Schema.Type<M[K]["failure"]> | E,
252
+ R,
253
+ M[K]
237
254
  >
238
- Request: M[K]
239
- name: string
240
-
241
- raw: {
242
- handler: (
243
- req: Omit<
244
- S.Schema.Type<M[K]>,
245
- Cruft
246
- >
247
- ) => Effect<
248
- Schema.Encoded<M[K]["success"]>,
249
- Schema.Type<M[K]["failure"]> | E,
250
- R
255
+ & {
256
+ raw: RequestHandlerWithInput<
257
+ Omit<S.Schema.Type<M[K]>, Cruft>,
258
+ Schema.Schema.Encoded<M[K]["success"]>,
259
+ Schema.Schema.Type<M[K]["failure"]> | E,
260
+ R,
261
+ M[K]
251
262
  >
252
- Request: M[K]
253
- name: string
254
263
  }
255
- }
256
264
  }
@@ -1,6 +1,5 @@
1
1
  // import { generateFromArbitrary } from "@effect-app/infra/test"
2
- import { JSONSchema } from "@effect/schema"
3
- import { Array, S } from "effect-app"
2
+ import { Array, JSONSchema, S } from "effect-app"
4
3
  import { test } from "vitest"
5
4
 
6
5
  const A = S.Struct({ a: S.NonEmptyString255, email: S.NullOr(S.Email) })