effect-app 1.10.1 → 1.11.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,26 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 1.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 24f0c0f: feat: allow custom errors per endpoint.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [24f0c0f]
12
+ - @effect-app/schema@1.8.0
13
+
14
+ ## 1.10.2
15
+
16
+ ### Patch Changes
17
+
18
+ - 1ac74ec: cleanup tsconfig base
19
+ - 0b399ce: update packages
20
+ - Updated dependencies [0b399ce]
21
+ - @effect-app/schema@1.7.1
22
+ - @effect-app/core@1.7.1
23
+
3
24
  ## 1.10.1
4
25
 
5
26
  ### Patch Changes
@@ -81,14 +81,14 @@ function clientFor_(models) {
81
81
  .flatMap(x => x.ast.propertySignatures);
82
82
  // @ts-expect-error doc
83
83
  prev[cur] = Request.method === "GET" ? fields.length === 0 ? {
84
- handler: (0, _fetch.fetchApi)(Request.method, Request.path).pipe(_core.Effect.flatMap(parse), _core.Effect.withSpan("client.request " + requestName, {
84
+ handler: (0, _fetch.fetchApi)(Request.method, Request.path, undefined, Request.errors).pipe(_core.Effect.flatMap(parse), _core.Effect.withSpan("client.request " + requestName, {
85
85
  attributes: {
86
86
  "request.name": requestName
87
87
  }
88
88
  })),
89
89
  ...meta
90
90
  } : {
91
- handler: req => (0, _fetch.fetchApi)(Request.method, (0, _fetch.makePathWithQuery)(path, _lib.S.encodeSync(Request)(req))).pipe(_core.Effect.flatMap(parse), _core.Effect.withSpan("client.request " + requestName, {
91
+ handler: req => (0, _fetch.fetchApi)(Request.method, (0, _fetch.makePathWithQuery)(path, _lib.S.encodeSync(Request)(req)), undefined, Request.errors).pipe(_core.Effect.flatMap(parse), _core.Effect.withSpan("client.request " + requestName, {
92
92
  attributes: {
93
93
  "request.name": requestName
94
94
  }
@@ -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","filter","x","reduce","prev","cur","h","Request_","REST","extractRequest","Response","extractResponse","meta","Error","requestName","moduleName","replaceAll","Request","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","pipe","withSpan","attributes","req","makePathWithQuery","encodeSync","fetchApi3S","makePathWithBody","fetchApi3SE"],"sources":["../../src/client/clientFor.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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","filter","x","reduce","prev","cur","h","Request_","REST","extractRequest","Response","extractResponse","meta","Error","requestName","moduleName","replaceAll","Request","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":[]}
@@ -21,10 +21,10 @@ var _effect = require("effect");
21
21
  var _schema = require("effect-app/schema");
22
22
  var _pathParser = require("path-parser");
23
23
  var _queryString = _interopRequireDefault(require("query-string"));
24
- var _config = require("./config.cjs");
25
- var _errors = require("./errors.cjs");
26
24
  var _http = require("../http.cjs");
27
25
  var _lib = require("../lib.cjs");
26
+ var _config = require("./config.cjs");
27
+ var _errors = require("./errors.cjs");
28
28
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
29
  /* eslint-disable @typescript-eslint/no-explicit-any */
30
30
 
@@ -54,51 +54,52 @@ const getClient = _core.Effect.flatMap(_http.HttpClient.HttpClient, defaultClien
54
54
  status: _.status,
55
55
  body,
56
56
  headers: _.headers
57
- }))).pipe(_core.Effect.withSpan("client.response"))), _http.HttpClient.catchTag("ResponseError", err => {
58
- const toError = s => _core.Effect.flatMap(err.response.json, _ => _lib.S.decodeUnknown(s)(_).pipe(_core.Effect.catchAll(() => _core.Effect.fail(err)))).pipe(_core.Effect.flatMap(_core.Effect.fail));
59
- // opposite of api's `defaultErrorHandler`
60
- if (err.response.status === 404) {
61
- return toError(_errors.NotFoundError);
62
- }
63
- if (err.response.status === 400) {
64
- return toError(_errors.ValidationError);
65
- }
66
- if (err.response.status === 401) {
67
- return toError(_errors.NotLoggedInError);
68
- }
69
- if (err.response.status === 422) {
70
- return toError(_errors.InvalidStateError);
71
- }
72
- if (err.response.status === 503) {
73
- return toError(_errors.ServiceUnavailableError);
74
- }
75
- if (err.response.status === 403) {
76
- return toError(_errors.UnauthorizedError);
77
- }
78
- if (err.response.status === 412) {
79
- return toError(_errors.OptimisticConcurrencyException);
80
- }
81
- return _core.Effect.fail(err);
82
- }), _http.HttpClient.catchTags({
83
- "ResponseError": err => _core.Effect.orDie(err.response.text
84
- // TODO
85
- ).pipe(_core.Effect.flatMap(_ => _core.Effect.fail({
86
- _tag: "HttpErrorResponse",
87
- response: {
88
- body: _core.Option.fromNullable(_),
89
- status: err.response.status,
90
- headers: err.response.headers
57
+ }))).pipe(_core.Effect.withSpan("client.response"))))));
58
+ function fetchApi(method, path, body, responseError) {
59
+ return _core.Effect.flatMap(getClient, client => (method === "GET" ? client(_http.HttpClientRequest.make(method)(path)) : body === undefined ? client(_http.HttpClientRequest.make(method)(path)) : _http.HttpClientRequest.make(method)(path).pipe(_http.HttpClientRequest.jsonBody(body), _core.Effect.flatMap(client))).pipe(_core.Effect.catchTag("ResponseError", err => {
60
+ const toError = s => _core.Effect.flatMap(err.response.json, _ => _lib.S.decodeUnknown(s)(_).pipe(_core.Effect.catchAll(() => _core.Effect.fail(err)))).pipe(_core.Effect.flatMap(_core.Effect.fail));
61
+ // opposite of api's `defaultErrorHandler`
62
+ if (err.response.status === 404) {
63
+ return toError(_errors.NotFoundError);
64
+ }
65
+ if (err.response.status === 400) {
66
+ return toError(_errors.ValidationError);
67
+ }
68
+ if (err.response.status === 401) {
69
+ return toError(_errors.NotLoggedInError);
70
+ }
71
+ // TODO: DomainError
72
+ if (err.response.status === 422) {
73
+ return responseError ? toError(_lib.S.Union(responseError, _errors.InvalidStateError)) : toError(_errors.InvalidStateError);
74
+ }
75
+ if (err.response.status === 503) {
76
+ return toError(_errors.ServiceUnavailableError);
77
+ }
78
+ if (err.response.status === 403) {
79
+ return toError(_errors.UnauthorizedError);
80
+ }
81
+ if (err.response.status === 412) {
82
+ return toError(_errors.OptimisticConcurrencyException);
91
83
  }
92
- }))),
93
- "RequestError": err => _core.Effect.fail({
94
- _tag: "HttpErrorRequest",
95
- error: err.cause
96
- })
97
- }))));
98
- function fetchApi(method, path, body) {
99
- return _core.Effect.flatMap(getClient, client => (method === "GET" ? client(_http.HttpClientRequest.make(method)(path)) : body === undefined ? client(_http.HttpClientRequest.make(method)(path)) : _http.HttpClientRequest.make(method)(path).pipe(_http.HttpClientRequest.jsonBody(body), _core.Effect.flatMap(client))).pipe(_core.Effect.scoped));
84
+ return _core.Effect.fail(err);
85
+ }), _core.Effect.catchTags({
86
+ "ResponseError": err => _core.Effect.orDie(err.response.text
87
+ // TODO
88
+ ).pipe(_core.Effect.flatMap(_ => _core.Effect.fail({
89
+ _tag: "HttpErrorResponse",
90
+ response: {
91
+ body: _core.Option.fromNullable(_),
92
+ status: err.response.status,
93
+ headers: err.response.headers
94
+ }
95
+ }))),
96
+ "RequestError": err => _core.Effect.fail({
97
+ _tag: "HttpErrorRequest",
98
+ error: err.cause
99
+ })
100
+ }), _core.Effect.scoped));
100
101
  }
101
- function fetchApi2S(request, response) {
102
+ function fetchApi2S(request, response, responseError) {
102
103
  const encodeRequest = _lib.S.encode(request);
103
104
  const decRes = _lib.S.decodeUnknown(response);
104
105
  const decodeRes = u => _core.Effect.mapError(decRes(u), err => new ResError(err));
@@ -106,14 +107,14 @@ function fetchApi2S(request, response) {
106
107
  return (method, path) => req => {
107
108
  return _core.Effect.andThen(encodeRequest(req), encoded => fetchApi(method, method === "DELETE"
108
109
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
109
- ? makePathWithQuery(path, encoded) : makePathWithBody(path, encoded), encoded).pipe(_core.Effect.flatMap(parse)));
110
+ ? makePathWithQuery(path, encoded) : makePathWithBody(path, encoded), encoded, responseError).pipe(_core.Effect.flatMap(parse)));
110
111
  };
111
112
  }
112
113
  function fetchApi3S({
113
114
  Request,
114
115
  Response
115
116
  }) {
116
- return fetchApi2S(Request, Response)(Request.method, new _pathParser.Path(Request.path));
117
+ return fetchApi2S(Request, Response, Request.errors)(Request.method, new _pathParser.Path(Request.path));
117
118
  }
118
119
  function fetchApi3SE({
119
120
  Request,
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.cjs","names":["_core","require","_Function","_effect","_schema","_pathParser","_queryString","_interopRequireDefault","_config","_errors","_http","_lib","e","__esModule","default","ResError","error","_tag","constructor","exports","getClient","Effect","flatMap","HttpClient","defaultClient","map","ApiConfig","Tag","apiUrl","headers","pipe","filterStatusOk","mapRequest","_","HttpClientRequest","acceptJson","prependUrl","setHeaders","Option","getOrUndefined","HashMap","get","StringId","make","Object","fromEntries","tapRequest","r","logDebug","method","annotateLogs","url","body","TextDecoder","decode","mapEffect","status","sync","json","withSpan","catchTag","err","toError","s","response","S","decodeUnknown","catchAll","fail","NotFoundError","ValidationError","NotLoggedInError","InvalidStateError","ServiceUnavailableError","UnauthorizedError","OptimisticConcurrencyException","catchTags","orDie","text","fromNullable","cause","fetchApi","path","client","undefined","jsonBody","scoped","fetchApi2S","request","encodeRequest","encode","decRes","decodeRes","u","mapError","parse","mapResponseM","req","andThen","encoded","makePathWithQuery","makePathWithBody","fetchApi3S","Request","Response","Path","fetchApi3SE","a","pars","forQs","Record","filter","k","params","includes","q","build","ignoreSearch","ignoreConstraints","keys","length","qs","stringify","mapResponse","all","EmptyResponse","freeze","EmptyResponseM","EmptyResponseMThunk_","constant","EmptyResponseMThunk","getBody","eff","die"],"sources":["../../src/client/fetch.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"fetch.cjs","names":["_core","require","_Function","_effect","_schema","_pathParser","_queryString","_interopRequireDefault","_http","_lib","_config","_errors","e","__esModule","default","ResError","error","_tag","constructor","exports","getClient","Effect","flatMap","HttpClient","defaultClient","map","ApiConfig","Tag","apiUrl","headers","pipe","filterStatusOk","mapRequest","_","HttpClientRequest","acceptJson","prependUrl","setHeaders","Option","getOrUndefined","HashMap","get","StringId","make","Object","fromEntries","tapRequest","r","logDebug","method","annotateLogs","url","body","TextDecoder","decode","mapEffect","status","sync","json","withSpan","fetchApi","path","responseError","client","undefined","jsonBody","catchTag","err","toError","s","response","S","decodeUnknown","catchAll","fail","NotFoundError","ValidationError","NotLoggedInError","Union","InvalidStateError","ServiceUnavailableError","UnauthorizedError","OptimisticConcurrencyException","catchTags","orDie","text","fromNullable","cause","scoped","fetchApi2S","request","encodeRequest","encode","decRes","decodeRes","u","mapError","parse","mapResponseM","req","andThen","encoded","makePathWithQuery","makePathWithBody","fetchApi3S","Request","Response","errors","Path","fetchApi3SE","a","pars","forQs","Record","filter","k","params","includes","q","build","ignoreSearch","ignoreConstraints","keys","length","qs","stringify","mapResponse","all","EmptyResponse","freeze","EmptyResponseM","EmptyResponseMThunk_","constant","EmptyResponseMThunk","getBody","eff","die"],"sources":["../../src/client/fetch.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -65,7 +65,7 @@ function clientFor_(models) {
65
65
  prev[cur] = Request.method === "GET"
66
66
  ? fields.length === 0
67
67
  ? {
68
- handler: fetchApi(Request.method, Request.path)
68
+ handler: fetchApi(Request.method, Request.path, undefined, Request.errors)
69
69
  .pipe(Effect.flatMap(parse), Effect
70
70
  .withSpan("client.request " + requestName, {
71
71
  attributes: { "request.name": requestName }
@@ -73,7 +73,7 @@ function clientFor_(models) {
73
73
  ...meta
74
74
  }
75
75
  : {
76
- handler: (req) => fetchApi(Request.method, makePathWithQuery(path, S.encodeSync(Request)(req)))
76
+ handler: (req) => fetchApi(Request.method, makePathWithQuery(path, S.encodeSync(Request)(req)), undefined, Request.errors)
77
77
  .pipe(Effect.flatMap(parse), Effect
78
78
  .withSpan("client.request " + requestName, {
79
79
  attributes: { "request.name": requestName }
@@ -142,4 +142,4 @@ function clientFor_(models) {
142
142
  return prev;
143
143
  }, {}));
144
144
  }
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUl6QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osUUFBUSxFQUNULE1BQU0sWUFBWSxDQUFBO0FBRW5CLGNBQWMsYUFBYSxDQUFBO0FBVTNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO0FBY3pDLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQVM7SUFFVCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQXFCLE1BQVM7SUFDL0MsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDekIseURBQXlEO1NBQ3hELE1BQU0sQ0FBQyxDQUFDLENB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
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUl6QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osUUFBUSxFQUNULE1BQU0sWUFBWSxDQUFBO0FBRW5CLGNBQWMsYUFBYSxDQUFBO0FBVTNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO0FBY3pDLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQVM7SUFFVCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQXFCLE1BQVM7SUFDL0MsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDekIseURBQXlEO1NBQ3hELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDO1NBQzlDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNwQixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQWUsQ0FBQTtRQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXhDLE1BQU0sQ0FBQyxHQUFJLE1BQWMsQ0FBQyxJQUE4QixDQUFBO1FBQ3hELElBQUksQ0FBQyxDQUFDO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFBO1FBQ3ZELE1BQU0sV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsSUFBSSxHQUFhLEVBQUU7YUFDbkQsVUFBVSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUV4QixNQUFNLE9BQU8sR0FBRyxLQUFNLFNBQVMsUUFBZ0I7WUFDN0MsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsV0FBVyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzlFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQStCLEtBQUssTUFBTTtnQkFDakUsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBYSxFQUFFLFFBQVEsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7U0FDSyxDQUFBO1FBRTFCLElBQUssUUFBZ0IsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUcsUUFBZ0IsQ0FBQyxJQUFJO2FBQ3JHLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUVyRCxNQUFNLElBQUksR0FBRztZQUNYLE9BQU87WUFDUCxRQUFRO1lBQ1IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3JCLElBQUksRUFBRSxXQUFXO1NBQ2xCLENBQUE7UUFFRCxNQUFNLEdBQUcsR0FBRyxRQUF1QixDQUFBO1FBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZHLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FDekIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3JDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FDdEQsQ0FBQTtRQUVELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNuQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDekMsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBRTNDLHlEQUF5RDtRQUN6RCwwQkFBMEI7UUFDMUIsK0RBQStEO1FBQy9ELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakIsc0VBQXNFO2FBQ3JFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQzNDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLO1lBQ2xDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQ25CLENBQUMsQ0FBQztvQkFDQSxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQzt5QkFDdkUsSUFBSSxDQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQ3JCLE1BQU07eUJBQ0gsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsRUFBRTt3QkFDekMsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTtxQkFDNUMsQ0FBQyxDQUNMO29CQUNILEdBQUcsSUFBSTtpQkFDUjtnQkFDRCxDQUFDLENBQUM7b0JBQ0EsT0FBTyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDcEIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQzt5QkFDckcsSUFBSSxDQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQ3JCLE1BQU07eUJBQ0gsUUFBUSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsRUFBRTt3QkFDekMsVUFBVSxFQUFFLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRTtxQkFDNUMsQ0FBQyxDQUNMO29CQUNMLEdBQUcsSUFBSTtvQkFDUCxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUk7aUJBQ2hHO1lBQ0gsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUMvRSxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQUM7b0JBQ0gsR0FBRyxJQUFJO2lCQUNSO2dCQUNELENBQUMsQ0FBQztvQkFDQSxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUNwQixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUN2RSxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQUM7b0JBRUwsR0FBRyxJQUFJO29CQUNQLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ3BCLEdBQUc7d0JBQ0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUTs0QkFDM0IsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNyRCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ3RELENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDbkIsQ0FBQTtRQUVILG1CQUFtQjtRQUVuQix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxLQUFLLEtBQUs7WUFDeEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDbkIsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO3lCQUM1QyxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDdEIsTUFBTTt5QkFDSCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUN6QyxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQ0w7b0JBQ0gsR0FBRyxJQUFJO2lCQUNSO2dCQUNELENBQUMsQ0FBQztvQkFDQSxPQUFPLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO3lCQUMxRSxJQUFJLENBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDdEIsTUFBTTt5QkFDSCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxFQUFFO3dCQUN6QyxVQUFVLEVBQUUsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFO3FCQUM1QyxDQUFDLENBQ0w7b0JBRUwsR0FBRyxJQUFJO29CQUNQLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSTtpQkFDaEc7WUFDSCxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNyQixDQUFDLENBQUM7b0JBQ0EsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQ2hGLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FBQztvQkFDSCxHQUFHLElBQUk7aUJBQ1I7Z0JBQ0QsQ0FBQyxDQUFDO29CQUNBLE9BQU8sRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQ3BCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxXQUFXLEVBQUU7d0JBQ3hFLFVBQVUsRUFBRSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUU7cUJBQzVDLENBQUMsQ0FBQztvQkFFTCxHQUFHLElBQUk7b0JBQ1AsT0FBTyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FDcEIsR0FBRzt3QkFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFROzRCQUMzQixDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ3JELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDdEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUNuQixDQUFBO1FBQ0gsbUJBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUFFLEVBQWUsQ0FBQyxDQUFDLENBQUE7QUFDeEIsQ0FBQyJ9
@@ -2,30 +2,32 @@ import { Effect } from "@effect-app/core";
2
2
  import type { Headers, HttpError, HttpRequestError, HttpResponseError, Method } from "@effect-app/core/http/http-client";
3
3
  import type { REST, Schema } from "effect-app/schema";
4
4
  import { Path } from "path-parser";
5
- import { ApiConfig } from "./config.js";
6
- import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, ServiceUnavailableError, UnauthorizedError, ValidationError } from "./errors.js";
7
5
  import { HttpClient } from "../http.js";
8
6
  import { S } from "../lib.js";
7
+ import { ApiConfig } from "./config.js";
8
+ import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, ServiceUnavailableError, UnauthorizedError, ValidationError } from "./errors.js";
9
9
  export type FetchError = HttpError<string>;
10
10
  export declare class ResError {
11
11
  readonly error: unknown;
12
12
  readonly _tag = "ResponseError";
13
13
  constructor(error: unknown);
14
14
  }
15
- export declare function fetchApi(method: Method, path: string, body?: unknown): Effect.Effect<{
15
+ export declare function fetchApi(method: Method, path: string, body?: unknown, responseError?: S.Schema.AnyNoContext): Effect.Effect<{
16
16
  status: number;
17
17
  body: unknown;
18
18
  headers: import("@effect/platform/Headers").Headers;
19
- } | FetchResponse<unknown>, NotFoundError<ItemType> | InvalidStateError | ServiceUnavailableError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | HttpResponseError<unknown> | import("@effect/platform/HttpBody").HttpBodyError, HttpClient.HttpClient.Default | ApiConfig>;
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<FetchResponse<ResponseTo>, S.ParseResult.ParseError | NotFoundError<ItemType> | InvalidStateError | ServiceUnavailableError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | ResError | HttpResponseError<unknown> | import("@effect/platform/HttpBody").HttpBodyError, HttpClient.HttpClient.Default | ApiConfig | RequestR | ResponseR>;
19
+ } | FetchResponse<unknown>, import("@effect/platform/HttpBody").HttpBodyError | InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | ValidationError | ServiceUnavailableError | HttpResponseError<unknown> | HttpRequestError, HttpClient.HttpClient.Default | ApiConfig>;
20
+ export declare function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, ResponseFrom, ResponseTo, ResponseErrorFrom = never, ResponseErrorTo extends {
21
+ _tag: string;
22
+ } = never>(request: Schema<RequestTo, RequestFrom, RequestR>, response: Schema<ResponseTo, ResponseFrom, ResponseR>, responseError?: Schema<ResponseErrorTo, ResponseErrorFrom, never>): (method: Method, path: Path) => (req: RequestTo) => Effect.Effect<FetchResponse<ResponseTo>, ResError | import("@effect/platform/HttpBody").HttpBodyError | InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | ValidationError | ServiceUnavailableError | HttpResponseError<unknown> | HttpRequestError | S.ParseResult.ParseError, HttpClient.HttpClient.Default | ApiConfig | RequestR | ResponseR>;
21
23
  export declare function fetchApi3S<RequestA, RequestE, ResponseE = unknown, ResponseA = void>({ Request, Response }: {
22
24
  Request: REST.RequestSchemed<RequestA, RequestE>;
23
25
  Response: REST.ReqRes<ResponseA, ResponseE, any>;
24
- }): (req: RequestA) => Effect.Effect<FetchResponse<ResponseA>, S.ParseResult.ParseError | NotFoundError<ItemType> | InvalidStateError | ServiceUnavailableError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | ResError | HttpResponseError<unknown> | import("@effect/platform/HttpBody").HttpBodyError, any>;
26
+ }): (req: RequestA) => Effect.Effect<FetchResponse<ResponseA>, ResError | import("@effect/platform/HttpBody").HttpBodyError | InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | ValidationError | ServiceUnavailableError | HttpResponseError<unknown> | HttpRequestError | S.ParseResult.ParseError, any>;
25
27
  export declare function fetchApi3SE<RequestA, RequestE, ResponseE = unknown, ResponseA = void>({ Request, Response }: {
26
28
  Request: REST.RequestSchemed<RequestA, RequestE>;
27
29
  Response: REST.ReqRes<ResponseA, ResponseE, any>;
28
- }): (req: RequestA) => Effect.Effect<FetchResponse<ResponseE>, S.ParseResult.ParseError | NotFoundError<ItemType> | InvalidStateError | ServiceUnavailableError | ValidationError | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | OptimisticConcurrencyException | HttpRequestError | ResError | HttpResponseError<unknown> | import("@effect/platform/HttpBody").HttpBodyError, any>;
30
+ }): (req: RequestA) => Effect.Effect<FetchResponse<ResponseE>, ResError | import("@effect/platform/HttpBody").HttpBodyError | InvalidStateError | OptimisticConcurrencyException | NotFoundError<ItemType> | NotLoggedInError | import("./errors.js").LoginError | UnauthorizedError | ValidationError | ServiceUnavailableError | HttpResponseError<unknown> | HttpRequestError | S.ParseResult.ParseError, any>;
29
31
  export declare function makePathWithQuery(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
30
32
  export declare function makePathWithBody(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
31
33
  export declare function mapResponse<T, A>(map: (t: T) => A): (r: FetchResponse<T>) => FetchResponse<A>;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/client/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/client/fetch.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ import { Record } from "effect";
5
5
  import { StringId } from "effect-app/schema";
6
6
  import { Path } from "path-parser";
7
7
  import qs from "query-string";
8
- import { ApiConfig } from "./config.js";
9
- import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, ServiceUnavailableError, UnauthorizedError, ValidationError } from "./errors.js";
10
8
  import { HttpClient, HttpClientRequest } from "../http.js";
11
9
  import { S } from "../lib.js";
10
+ import { ApiConfig } from "./config.js";
11
+ import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, ServiceUnavailableError, UnauthorizedError, ValidationError } from "./errors.js";
12
12
  export class ResError {
13
13
  error;
14
14
  _tag = "ResponseError";
@@ -36,55 +36,8 @@ const getClient = Effect.flatMap(HttpClient.HttpClient, (defaultClient) => Effec
36
36
  .mapEffect((_) => (_.status === 204
37
37
  ? Effect.sync(() => ({ status: _.status, body: void 0, headers: _.headers }))
38
38
  : Effect.map(_.json, (body) => ({ status: _.status, body, headers: _.headers })))
39
- .pipe(Effect.withSpan("client.response"))), HttpClient
40
- .catchTag("ResponseError", (err) => {
41
- const toError = (s) => Effect
42
- .flatMap(err
43
- .response
44
- .json, (_) => S.decodeUnknown(s)(_).pipe(Effect.catchAll(() => Effect.fail(err))))
45
- .pipe(Effect.flatMap(Effect.fail));
46
- // opposite of api's `defaultErrorHandler`
47
- if (err.response.status === 404) {
48
- return toError(NotFoundError);
49
- }
50
- if (err.response.status === 400) {
51
- return toError(ValidationError);
52
- }
53
- if (err.response.status === 401) {
54
- return toError(NotLoggedInError);
55
- }
56
- if (err.response.status === 422) {
57
- return toError(InvalidStateError);
58
- }
59
- if (err.response.status === 503) {
60
- return toError(ServiceUnavailableError);
61
- }
62
- if (err.response.status === 403) {
63
- return toError(UnauthorizedError);
64
- }
65
- if (err.response.status === 412) {
66
- return toError(OptimisticConcurrencyException);
67
- }
68
- return Effect.fail(err);
69
- }), HttpClient.catchTags({
70
- "ResponseError": (err) => Effect
71
- .orDie(err
72
- .response
73
- .text
74
- // TODO
75
- )
76
- .pipe(Effect
77
- .flatMap((_) => Effect.fail({
78
- _tag: "HttpErrorResponse",
79
- response: {
80
- body: Option.fromNullable(_),
81
- status: err.response.status,
82
- headers: err.response.headers
83
- }
84
- }))),
85
- "RequestError": (err) => Effect.fail({ _tag: "HttpErrorRequest", error: err.cause })
86
- }))));
87
- export function fetchApi(method, path, body) {
39
+ .pipe(Effect.withSpan("client.response"))))));
40
+ export function fetchApi(method, path, body, responseError) {
88
41
  return Effect.flatMap(getClient, (client) => (method === "GET"
89
42
  ? client(HttpClientRequest.make(method)(path))
90
43
  : body === undefined
@@ -92,9 +45,59 @@ export function fetchApi(method, path, body) {
92
45
  : HttpClientRequest
93
46
  .make(method)(path)
94
47
  .pipe(HttpClientRequest.jsonBody(body), Effect.flatMap(client)))
95
- .pipe(Effect.scoped));
48
+ .pipe(Effect
49
+ .catchTag("ResponseError", (err) => {
50
+ const toError = (s) => Effect
51
+ .flatMap(err
52
+ .response
53
+ .json, (_) => S.decodeUnknown(s)(_).pipe(Effect.catchAll(() => Effect.fail(err))))
54
+ .pipe(Effect.flatMap(Effect.fail));
55
+ // opposite of api's `defaultErrorHandler`
56
+ if (err.response.status === 404) {
57
+ return toError(NotFoundError);
58
+ }
59
+ if (err.response.status === 400) {
60
+ return toError(ValidationError);
61
+ }
62
+ if (err.response.status === 401) {
63
+ return toError(NotLoggedInError);
64
+ }
65
+ // TODO: DomainError
66
+ if (err.response.status === 422) {
67
+ return responseError
68
+ ? toError(S.Union(responseError, InvalidStateError))
69
+ : toError(InvalidStateError);
70
+ }
71
+ if (err.response.status === 503) {
72
+ return toError(ServiceUnavailableError);
73
+ }
74
+ if (err.response.status === 403) {
75
+ return toError(UnauthorizedError);
76
+ }
77
+ if (err.response.status === 412) {
78
+ return toError(OptimisticConcurrencyException);
79
+ }
80
+ return Effect.fail(err);
81
+ }), Effect.catchTags({
82
+ "ResponseError": (err) => Effect
83
+ .orDie(err
84
+ .response
85
+ .text
86
+ // TODO
87
+ )
88
+ .pipe(Effect
89
+ .flatMap((_) => Effect.fail({
90
+ _tag: "HttpErrorResponse",
91
+ response: {
92
+ body: Option.fromNullable(_),
93
+ status: err.response.status,
94
+ headers: err.response.headers
95
+ }
96
+ }))),
97
+ "RequestError": (err) => Effect.fail({ _tag: "HttpErrorRequest", error: err.cause })
98
+ }), Effect.scoped));
96
99
  }
97
- export function fetchApi2S(request, response) {
100
+ export function fetchApi2S(request, response, responseError) {
98
101
  const encodeRequest = S.encode(request);
99
102
  const decRes = S.decodeUnknown(response);
100
103
  const decodeRes = (u) => Effect.mapError(decRes(u), (err) => new ResError(err));
@@ -103,12 +106,12 @@ export function fetchApi2S(request, response) {
103
106
  return Effect.andThen(encodeRequest(req), (encoded) => fetchApi(method, method === "DELETE"
104
107
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
105
108
  ? makePathWithQuery(path, encoded)
106
- : makePathWithBody(path, encoded), encoded)
109
+ : makePathWithBody(path, encoded), encoded, responseError)
107
110
  .pipe(Effect.flatMap(parse)));
108
111
  };
109
112
  }
110
113
  export function fetchApi3S({ Request, Response }) {
111
- return fetchApi2S(Request, Response)(Request.method, new Path(Request.path));
114
+ return fetchApi2S(Request, Response, Request.errors)(Request.method, new Path(Request.path));
112
115
  }
113
116
  export function fetchApi3SE({ Request, Response }) {
114
117
  const a = fetchApi2S(Request, Response)(Request.method, new Path(Request.path));
@@ -151,4 +154,4 @@ export function EmptyResponseMThunk() {
151
154
  export function getBody(eff) {
152
155
  return Effect.flatMap(eff, (r) => r.body === null ? Effect.die("Not found") : Effect.sync(() => r.body));
153
156
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2ZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV2QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUNoQixNQUFNLGFBQWEsQ0FBQTtBQUdwQixPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQzFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFJN0IsTUFBTSxPQUFPLFFBQVE7SUFFUztJQURaLElBQUksR0FBRyxlQUFlLENBQUE7SUFDdEMsWUFBNEIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBQy9DO0FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDOUIsVUFBVSxDQUFDLFVBQVUsRUFDckIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUNoQixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVB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
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2ZldGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUUvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDNUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUMxRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzdCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFdkMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLDhCQUE4QixFQUM5Qix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDaEIsTUFBTSxhQUFhLENBQUE7QUFJcEIsTUFBTSxPQUFPLFFBQVE7SUFFUztJQURaLElBQUksR0FBRyxlQUFlLENBQUE7SUFDdEMsWUFBNEIsS0FBYztRQUFkLFVBQUssR0FBTCxLQUFLLENBQVM7SUFBRyxDQUFDO0NBQy9DO0FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDOUIsVUFBVSxDQUFDLFVBQVUsRUFDckIsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUNoQixNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "1.10.1",
3
+ "version": "1.11.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -12,13 +12,13 @@
12
12
  "ts-pattern": "^5.3.1",
13
13
  "uuid": "^10.0.0",
14
14
  "validator": "^13.12.0",
15
- "@effect-app/core": "1.7.0",
16
- "@effect-app/schema": "1.7.0"
15
+ "@effect-app/core": "1.7.1",
16
+ "@effect-app/schema": "1.8.0"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@babel/cli": "^7.25.6",
20
20
  "@faker-js/faker": "^8.4.1",
21
- "@types/node": "~22.5.3",
21
+ "@types/node": "~22.5.4",
22
22
  "@types/uuid": "^10.0.0",
23
23
  "@types/validator": "^13.12.1",
24
24
  "fast-check": "~3.22.0",
@@ -27,9 +27,9 @@
27
27
  "vitest": "^2.0.5"
28
28
  },
29
29
  "peerDependencies": {
30
- "@effect/platform": "^0.63.1",
31
- "effect": "^3.7.1",
32
- "@effect/schema": "^0.72.1"
30
+ "@effect/platform": "^0.63.3",
31
+ "effect": "^3.7.2",
32
+ "@effect/schema": "^0.72.2"
33
33
  },
34
34
  "typesVersions": {
35
35
  "*": {
@@ -116,7 +116,7 @@ function clientFor_<M extends Requests>(models: M) {
116
116
  prev[cur] = Request.method === "GET"
117
117
  ? fields.length === 0
118
118
  ? {
119
- handler: fetchApi(Request.method, Request.path)
119
+ handler: fetchApi(Request.method, Request.path, undefined, Request.errors)
120
120
  .pipe(
121
121
  Effect.flatMap(parse),
122
122
  Effect
@@ -128,7 +128,7 @@ function clientFor_<M extends Requests>(models: M) {
128
128
  }
129
129
  : {
130
130
  handler: (req: any) =>
131
- fetchApi(Request.method, makePathWithQuery(path, S.encodeSync(Request)(req)))
131
+ fetchApi(Request.method, makePathWithQuery(path, S.encodeSync(Request)(req)), undefined, Request.errors)
132
132
  .pipe(
133
133
  Effect.flatMap(parse),
134
134
  Effect
@@ -2,11 +2,14 @@
2
2
  import { Effect, HashMap, Option } from "@effect-app/core"
3
3
  import { constant } from "@effect-app/core/Function"
4
4
  import type { Headers, HttpError, HttpRequestError, HttpResponseError, Method } from "@effect-app/core/http/http-client"
5
+ import type { ResponseError } from "@effect/platform/HttpClientError"
5
6
  import { Record } from "effect"
6
7
  import type { REST, Schema } from "effect-app/schema"
7
8
  import { StringId } from "effect-app/schema"
8
9
  import { Path } from "path-parser"
9
10
  import qs from "query-string"
11
+ import { HttpClient, HttpClientRequest } from "../http.js"
12
+ import { S } from "../lib.js"
10
13
  import { ApiConfig } from "./config.js"
11
14
  import type { SupportedErrors } from "./errors.js"
12
15
  import {
@@ -19,10 +22,6 @@ import {
19
22
  ValidationError
20
23
  } from "./errors.js"
21
24
 
22
- import type { ResponseError } from "@effect/platform/HttpClientError"
23
- import { HttpClient, HttpClientRequest } from "../http.js"
24
- import { S } from "../lib.js"
25
-
26
25
  export type FetchError = HttpError<string>
27
26
 
28
27
  export class ResError {
@@ -68,75 +67,15 @@ const getClient = Effect.flatMap(
68
67
  ? Effect.sync(() => ({ status: _.status, body: void 0, headers: _.headers }))
69
68
  : Effect.map(_.json, (body) => ({ status: _.status, body, headers: _.headers })))
70
69
  .pipe(Effect.withSpan("client.response"))
71
- ),
72
- HttpClient
73
- .catchTag(
74
- "ResponseError",
75
- (err): Effect<FetchResponse<unknown>, ResponseError | SupportedErrors> => {
76
- const toError = <R, From, To>(s: Schema<To, From, R>) =>
77
- Effect
78
- .flatMap(
79
- err
80
- .response
81
- .json,
82
- (_) => S.decodeUnknown(s)(_).pipe(Effect.catchAll(() => Effect.fail(err)))
83
- )
84
- .pipe(Effect.flatMap(Effect.fail))
85
-
86
- // opposite of api's `defaultErrorHandler`
87
- if (err.response.status === 404) {
88
- return toError(NotFoundError)
89
- }
90
- if (err.response.status === 400) {
91
- return toError(ValidationError)
92
- }
93
- if (err.response.status === 401) {
94
- return toError(NotLoggedInError)
95
- }
96
- if (err.response.status === 422) {
97
- return toError(InvalidStateError)
98
- }
99
- if (err.response.status === 503) {
100
- return toError(ServiceUnavailableError)
101
- }
102
- if (err.response.status === 403) {
103
- return toError(UnauthorizedError)
104
- }
105
- if (err.response.status === 412) {
106
- return toError(OptimisticConcurrencyException)
107
- }
108
- return Effect.fail(err)
109
- }
110
- ),
111
- HttpClient.catchTags({
112
- "ResponseError": (err) =>
113
- Effect
114
- .orDie(
115
- err
116
- .response
117
- .text
118
- // TODO
119
- )
120
- .pipe(Effect
121
- .flatMap((_) =>
122
- Effect.fail({
123
- _tag: "HttpErrorResponse" as const,
124
- response: {
125
- body: Option.fromNullable(_),
126
- status: err.response.status,
127
- headers: err.response.headers
128
- }
129
- } as HttpResponseError<unknown>)
130
- )),
131
- "RequestError": (err) => Effect.fail({ _tag: "HttpErrorRequest", error: err.cause } as HttpRequestError)
132
- })
70
+ )
133
71
  ))
134
72
  )
135
73
 
136
74
  export function fetchApi(
137
75
  method: Method,
138
76
  path: string,
139
- body?: unknown
77
+ body?: unknown,
78
+ responseError?: S.Schema.AnyNoContext
140
79
  ) {
141
80
  return Effect.flatMap(getClient, (client) =>
142
81
  (method === "GET"
@@ -146,12 +85,88 @@ export function fetchApi(
146
85
  : HttpClientRequest
147
86
  .make(method)(path)
148
87
  .pipe(HttpClientRequest.jsonBody(body), Effect.flatMap(client)))
149
- .pipe(Effect.scoped))
88
+ .pipe(
89
+ Effect
90
+ .catchTag(
91
+ "ResponseError",
92
+ (err): Effect<FetchResponse<unknown>, ResponseError | SupportedErrors> => {
93
+ const toError = <R, From, To>(s: Schema<To, From, R>) =>
94
+ Effect
95
+ .flatMap(
96
+ err
97
+ .response
98
+ .json,
99
+ (_) => S.decodeUnknown(s)(_).pipe(Effect.catchAll(() => Effect.fail(err)))
100
+ )
101
+ .pipe(Effect.flatMap(Effect.fail))
102
+
103
+ // opposite of api's `defaultErrorHandler`
104
+ if (err.response.status === 404) {
105
+ return toError(NotFoundError)
106
+ }
107
+ if (err.response.status === 400) {
108
+ return toError(ValidationError)
109
+ }
110
+ if (err.response.status === 401) {
111
+ return toError(NotLoggedInError)
112
+ }
113
+ // TODO: DomainError
114
+ if (err.response.status === 422) {
115
+ return responseError
116
+ ? toError(S.Union(responseError, InvalidStateError) as any)
117
+ : toError(InvalidStateError)
118
+ }
119
+ if (err.response.status === 503) {
120
+ return toError(ServiceUnavailableError)
121
+ }
122
+ if (err.response.status === 403) {
123
+ return toError(UnauthorizedError)
124
+ }
125
+ if (err.response.status === 412) {
126
+ return toError(OptimisticConcurrencyException)
127
+ }
128
+ return Effect.fail(err)
129
+ }
130
+ ),
131
+ Effect.catchTags({
132
+ "ResponseError": (err) =>
133
+ Effect
134
+ .orDie(
135
+ err
136
+ .response
137
+ .text
138
+ // TODO
139
+ )
140
+ .pipe(Effect
141
+ .flatMap((_) =>
142
+ Effect.fail({
143
+ _tag: "HttpErrorResponse" as const,
144
+ response: {
145
+ body: Option.fromNullable(_),
146
+ status: err.response.status,
147
+ headers: err.response.headers
148
+ }
149
+ } as HttpResponseError<unknown>)
150
+ )),
151
+ "RequestError": (err) => Effect.fail({ _tag: "HttpErrorRequest", error: err.cause } as HttpRequestError)
152
+ }),
153
+ Effect.scoped
154
+ ))
150
155
  }
151
156
 
152
- export function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, ResponseFrom, ResponseTo>(
157
+ export function fetchApi2S<
158
+ RequestR,
159
+ RequestFrom,
160
+ RequestTo,
161
+ ResponseR,
162
+ ResponseFrom,
163
+ ResponseTo,
164
+ ResponseErrorFrom = never,
165
+ ResponseErrorTo extends { _tag: string } = never
166
+ >(
153
167
  request: Schema<RequestTo, RequestFrom, RequestR>,
154
- response: Schema<ResponseTo, ResponseFrom, ResponseR>
168
+ response: Schema<ResponseTo, ResponseFrom, ResponseR>,
169
+ responseError?: Schema<ResponseErrorTo, ResponseErrorFrom, never>
155
170
  ) {
156
171
  const encodeRequest = S.encode(request)
157
172
  const decRes = S.decodeUnknown(response)
@@ -165,7 +180,8 @@ export function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, Response
165
180
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
166
181
  ? makePathWithQuery(path, encoded as any)
167
182
  : makePathWithBody(path, encoded as any),
168
- encoded
183
+ encoded,
184
+ responseError
169
185
  )
170
186
  .pipe(Effect.flatMap(parse)))
171
187
  }
@@ -180,7 +196,7 @@ export function fetchApi3S<RequestA, RequestE, ResponseE = unknown, ResponseA =
180
196
  // eslint-disable-next-line @typescript-eslint/ban-types
181
197
  Response: REST.ReqRes<ResponseA, ResponseE, any>
182
198
  }) {
183
- return fetchApi2S(Request, Response)(
199
+ return fetchApi2S(Request, Response, Request.errors)(
184
200
  Request.method,
185
201
  new Path(Request.path)
186
202
  )
@@ -19,7 +19,6 @@
19
19
  // This is not desirable, as it's useful in generators.
20
20
  "noImplicitReturns": false,
21
21
  "noImplicitThis": true,
22
- "outDir": ".build/dist",
23
22
  "resolveJsonModule": true,
24
23
  "moduleResolution": "Node16",
25
24
  "downlevelIteration": true,