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 +21 -0
- package/_cjs/client/clientFor.cjs +2 -2
- package/_cjs/client/clientFor.cjs.map +1 -1
- package/_cjs/client/fetch.cjs +48 -47
- package/_cjs/client/fetch.cjs.map +1 -1
- package/dist/client/clientFor.js +3 -3
- package/dist/client/fetch.d.ts +9 -7
- package/dist/client/fetch.d.ts.map +1 -1
- package/dist/client/fetch.js +59 -56
- package/package.json +7 -7
- package/src/client/clientFor.ts +2 -2
- package/src/client/fetch.ts +88 -72
- package/tsconfig.base.json +0 -1
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":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAIA,IAAAK,MAAA,GAAAL,OAAA;AAUA,IAAAM,OAAA,GAAAN,OAAA;AAAAO,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAvBA;AACA;;AAgCA,MAAMS,KAAK,GAAG,IAAIC,GAAG,EAAoB;AAcnC,SAAUC,SAASA,CACvBC,MAAS;EAET,MAAMC,KAAK,GAAGJ,KAAK,CAACD,GAAG,CAACI,MAAM,CAAC;EAC/B,IAAIC,KAAK,EAAE;IACT,OAAOA,KAAK;EACd;EACA,MAAMC,CAAC,GAAGC,UAAU,CAACH,MAAM,CAAC;EAC5BH,KAAK,CAACO,GAAG,CAACJ,MAAM,EAAEE,CAAC,CAAC;EACpB,OAAOA,CAAC;AACV;AAEA,SAASC,UAAUA,CAAqBH,MAAS;EAC/C,OAAQ,IAAAK,kBAAW,EAACL,MAAM;EACxB;EAAA,CACCM,MAAM,CAAEC,CAAC,IAAKA,CAAC,KAAK,SAAS,IAAIA,CAAC,KAAK,MAAM,CAAC,CAC9CC,MAAM,CAAC,CAACC,IAAI,EAAEC,GAAG,KAAI;IACpB,MAAMC,CAAC,GAAGX,MAAM,CAACU,GAAG,CAAC;IAErB,MAAME,QAAQ,GAAGC,YAAI,CAACC,cAAc,CAACH,CAAC,CAAe;IACrD,MAAMI,QAAQ,GAAGF,YAAI,CAACG,eAAe,CAACL,CAAC,CAAC;IAExC,MAAMT,CAAC,GAAIF,MAAc,CAACiB,IAA8B;IACxD,IAAI,CAACf,CAAC,EAAE,MAAM,IAAIgB,KAAK,CAAC,8BAA8B,CAAC;IACvD,MAAMC,WAAW,GAAG,GAAGjB,CAAC,CAACkB,UAAU,IAAIV,GAAa,EAAE,CACnDW,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IAExB,MAAMC,OAAO,GAAG,cAAeV,QAAgB;MAC7C,OAAOW,IAAI,GAAG,GAAG,GAAGJ,WAAW,IAAIP,QAAQ,CAACW,IAAI,KAAK,GAAG,GAAG,EAAE,GAAGX,QAAQ,CAACW,IAAI,CAAC;MAC9E,OAAOC,MAAM,GAAGZ,QAAQ,CAACY,MAA+B,KAAK,MAAM,GAC/DX,YAAI,CAACY,eAAe,CAACf,GAAa,EAAEE,QAAQ,CAAC,GAC7CA,QAAQ,CAACY,MAAM;KACK;IAE1B,IAAKZ,QAAgB,CAACY,MAAM,KAAK,MAAM,EAAE;MACvCvC,MAAM,CAACyC,MAAM,CAACJ,OAAO,EAAE;QACrB,CAACA,OAAO,CAACE,MAAM,KAAK,KAAK,IAAIF,OAAO,CAACE,MAAM,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAIZ,QAAgB,CAACe;OACjG,CAAC;IACJ;IAEA,MAAMC,CAAC,GAAG3C,MAAM,CAACyC,MAAM,CAAC,EAAE,EAAEf,CAAC,EAAE;MAAEW,OAAO;MAAEP;IAAQ,CAAE,CAAC;IAErD,MAAME,IAAI,GAAG;MACXK,OAAO;MACPP,QAAQ;MACRc,OAAO,EAAEP,OAAO,CAACC,IAAI;MACrBO,IAAI,EAAEX;KACP;IAED,MAAMY,GAAG,GAAGhB,QAAuB;IACnC,MAAMiB,aAAa,GAAG,IAAAC,UAAI,EAACC,MAAC,CAACC,aAAa,CAACJ,GAAG,CAAC,EAAGK,CAAC,IAAKC,YAAM,CAACC,QAAQ,CAACF,CAAC,EAAGG,GAAG,IAAK,IAAIC,eAAQ,CAACD,GAAG,CAAC,CAAC,CAAC;IACvG,MAAME,cAAc,GAAG,IAAAR,UAAI,EACzBC,MAAC,CAACC,aAAa,CAACD,MAAC,CAACQ,aAAa,CAACX,GAAG,CAAC,CAAC,EACpCK,CAAC,IAAKC,YAAM,CAACC,QAAQ,CAACF,CAAC,EAAGG,GAAG,IAAK,IAAIC,eAAQ,CAACD,GAAG,CAAC,CAAC,CACtD;IAED,MAAMhB,IAAI,GAAG,IAAIoB,gBAAI,CAACrB,OAAO,CAACC,IAAI,CAAC;IACnC,MAAMqB,KAAK,GAAG,IAAAC,mBAAY,EAACb,aAAa,CAAC;IACzC,MAAMc,MAAM,GAAG,IAAAD,mBAAY,EAACJ,cAAc,CAAC;IAE3C;IACA;IACA;IACA,MAAMM,MAAM,GAAG,CAACzB,OAAO,CAAC0B,IAAI,EAAE1B,OAAO,CAAC2B,KAAK,EAAE3B,OAAO,CAACqB,IAAI,CAAC,CACvDrC,MAAM,CAAEC,CAAC,IAAKA,CAAC;IAChB;IAAA,CACC2C,OAAO,CAAE3C,CAAC,IAAKA,CAAC,CAAC4C,GAAG,CAACC,kBAAkB,CAAC;IAC3C;IACA3C,IAAI,CAACC,GAAG,CAAC,GAAGY,OAAO,CAACE,MAAM,KAAK,KAAK,GAChCuB,MAAM,CAACM,MAAM,KAAK,CAAC,GACjB;MACAC,OAAO,EAAE,IAAAC,eAAQ,EAACjC,OAAO,CAACE,MAAM,EAAEF,OAAO,CAACC,IAAI,CAAC,
|
|
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":[]}
|
package/_cjs/client/fetch.cjs
CHANGED
|
@@ -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")))
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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","
|
|
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":";;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAGA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,IAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAEA,IAAAU,OAAA,GAAAV,OAAA;AAQoB,SAAAM,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAtBpB;;AA0BM,MAAOG,QAAQ;EAESC,KAAA;EADZC,IAAI,GAAG,eAAe;EACtCC,YAA4BF,KAAc;IAAd,KAAAA,KAAK,GAALA,KAAK;EAAY;;AAC9CG,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAED,MAAMK,SAAS,GAAGC,YAAM,CAACC,OAAO,CAC9BC,gBAAU,CAACA,UAAU,EACpBC,aAAa,IACZH,YAAM,CAACI,GAAG,CAACC,iBAAS,CAACC,GAAG,EAAE,CAAC;EAAEC,MAAM;EAAEC;AAAO,CAAE,KAC5CL,aAAa,CACVM,IAAI,CACHP,gBAAU,CAACQ,cAAc,EACzBR,gBAAU,CACPS,UAAU,CAAEC,CAAC,IACZA,CAAC,CAACH,IAAI,CACJI,uBAAiB,CAACC,UAAU,EAC5BD,uBAAiB,CAACE,UAAU,CAACR,MAAM,CAAC,EACpCM,uBAAiB,CACdG,UAAU,CAAC;EACV,YAAY,EAAEC,YAAM,CAACC,cAAc,CAACD,YAAM,CAAChB,OAAO,CAACO,OAAO,EAAGI,CAAC,IAAKO,aAAO,CAACC,GAAG,CAACR,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,IAC5FS,gBAAQ,CAACC,IAAI,EAAE;EACpB,GAAGL,YAAM,CAACC,cAAc,CAACD,YAAM,CAACb,GAAG,CAACI,OAAO,EAAGI,CAAC,IAAKW,MAAM,CAACC,WAAW,CAACZ,CAAC,CAAC,CAAC;CAC3E,CAAC,CACL,CACF,EACHV,gBAAU,CACPuB,UAAU,CAAEC,CAAC,IACZ1B,YAAM,CACH2B,QAAQ,CAAC,UAAUD,CAAC,CAACE,MAAM,EAAE,CAAC,CAC9BnB,IAAI,CAACT,YAAM,CAAC6B,YAAY,CAAC;EACxB,KAAK,EAAEH,CAAC,CAACI,GAAG;EACZ,MAAM,EAAEJ,CAAC,CAACK,IAAI,CAACnC,IAAI,KAAK,YAAY,GAChC,IAAIoC,WAAW,EAAE,CAACC,MAAM,CAACP,CAAC,CAACK,IAAI,CAACA,IAAI,CAAC,GACrCL,CAAC,CAACK,IAAI,CAACnC,IAAI;EACf,SAAS,EAAE8B,CAAC,CAAClB;CACd,CAAC,CAAC,CACN,EACHN,gBAAU,CACPgC,SAAS,CAAEtB,CAAC,IACX,CAACA,CAAC,CAACuB,MAAM,KAAK,GAAG,GACbnC,YAAM,CAACoC,IAAI,CAAC,OAAO;EAAED,MAAM,EAAEvB,CAAC,CAACuB,MAAM;EAAEJ,IAAI,EAAE,KAAK,CAAC;EAAEvB,OAAO,EAAEI,CAAC,CAACJ;AAAO,CAAE,CAAC,CAAC,GAC3ER,YAAM,CAACI,GAAG,CAACQ,CAAC,CAACyB,IAAI,EAAGN,IAAI,KAAM;EAAEI,MAAM,EAAEvB,CAAC,CAACuB,MAAM;EAAEJ,IAAI;EAAEvB,OAAO,EAAEI,CAAC,CAACJ;AAAO,CAAE,CAAC,CAAC,EAC/EC,IAAI,CAACT,YAAM,CAACsC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAC5C,CACJ,CAAC,CACT;AAEK,SAAUC,QAAQA,CACtBX,MAAc,EACdY,IAAY,EACZT,IAAc,EACdU,aAAqC;EAErC,OAAOzC,YAAM,CAACC,OAAO,CAACF,SAAS,EAAG2C,MAAM,IACtC,CAACd,MAAM,KAAK,KAAK,GACbc,MAAM,CAAC7B,uBAAiB,CAACS,IAAI,CAACM,MAAM,CAAC,CAACY,IAAI,CAAC,CAAC,GAC5CT,IAAI,KAAKY,SAAS,GAClBD,MAAM,CAAC7B,uBAAiB,CAACS,IAAI,CAACM,MAAM,CAAC,CAACY,IAAI,CAAC,CAAC,GAC5C3B,uBAAiB,CAChBS,IAAI,CAACM,MAAM,CAAC,CAACY,IAAI,CAAC,CAClB/B,IAAI,CAACI,uBAAiB,CAAC+B,QAAQ,CAACb,IAAI,CAAC,EAAE/B,YAAM,CAACC,OAAO,CAACyC,MAAM,CAAC,CAAC,EAChEjC,IAAI,CACHT,YAAM,CACH6C,QAAQ,CACP,eAAe,EACdC,GAAG,IAAqE;IACvE,MAAMC,OAAO,GAAiBC,CAAsB,IAClDhD,YAAM,CACHC,OAAO,CACN6C,GAAG,CACAG,QAAQ,CACRZ,IAAI,EACNzB,CAAC,IAAKsC,MAAC,CAACC,aAAa,CAACH,CAAC,CAAC,CAACpC,CAAC,CAAC,CAACH,IAAI,CAACT,YAAM,CAACoD,QAAQ,CAAC,MAAMpD,YAAM,CAACqD,IAAI,CAACP,GAAG,CAAC,CAAC,CAAC,CAC3E,CACArC,IAAI,CAACT,YAAM,CAACC,OAAO,CAACD,YAAM,CAACqD,IAAI,CAAC,CAAC;IAEtC;IACA,IAAIP,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACO,qBAAa,CAAC;IAC/B;IACA,IAAIR,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACQ,uBAAe,CAAC;IACjC;IACA,IAAIT,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACS,wBAAgB,CAAC;IAClC;IACA;IACA,IAAIV,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOM,aAAa,GAChBM,OAAO,CAACG,MAAC,CAACO,KAAK,CAAChB,aAAa,EAAEiB,yBAAiB,CAAQ,CAAC,GACzDX,OAAO,CAACW,yBAAiB,CAAC;IAChC;IACA,IAAIZ,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACY,+BAAuB,CAAC;IACzC;IACA,IAAIb,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACa,yBAAiB,CAAC;IACnC;IACA,IAAId,GAAG,CAACG,QAAQ,CAACd,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOY,OAAO,CAACc,sCAA8B,CAAC;IAChD;IACA,OAAO7D,YAAM,CAACqD,IAAI,CAACP,GAAG,CAAC;EACzB,CAAC,CACF,EACH9C,YAAM,CAAC8D,SAAS,CAAC;IACf,eAAe,EAAGhB,GAAG,IACnB9C,YAAM,CACH+D,KAAK,CACJjB,GAAG,CACAG,QAAQ,CACRe;IACH;KACD,CACAvD,IAAI,CAACT,YAAM,CACTC,OAAO,CAAEW,CAAC,IACTZ,YAAM,CAACqD,IAAI,CAAC;MACVzD,IAAI,EAAE,mBAA4B;MAClCqD,QAAQ,EAAE;QACRlB,IAAI,EAAEd,YAAM,CAACgD,YAAY,CAACrD,CAAC,CAAC;QAC5BuB,MAAM,EAAEW,GAAG,CAACG,QAAQ,CAACd,MAAM;QAC3B3B,OAAO,EAAEsC,GAAG,CAACG,QAAQ,CAACzC;;KAEK,CAAC,CACjC,CAAC;IACR,cAAc,EAAGsC,GAAG,IAAK9C,YAAM,CAACqD,IAAI,CAAC;MAAEzD,IAAI,EAAE,kBAAkB;MAAED,KAAK,EAAEmD,GAAG,CAACoB;IAAK,CAAsB;GACxG,CAAC,EACFlE,YAAM,CAACmE,MAAM,CACd,CAAC;AACR;AAEM,SAAUC,UAAUA,CAUxBC,OAAiD,EACjDpB,QAAqD,EACrDR,aAAiE;EAEjE,MAAM6B,aAAa,GAAGpB,MAAC,CAACqB,MAAM,CAACF,OAAO,CAAC;EACvC,MAAMG,MAAM,GAAGtB,MAAC,CAACC,aAAa,CAACF,QAAQ,CAAC;EACxC,MAAMwB,SAAS,GAAIC,CAAU,IAAK1E,YAAM,CAAC2E,QAAQ,CAACH,MAAM,CAACE,CAAC,CAAC,EAAG5B,GAAG,IAAK,IAAIpD,QAAQ,CAACoD,GAAG,CAAC,CAAC;EACxF,MAAM8B,KAAK,GAAGC,YAAY,CAACJ,SAAS,CAAC;EACrC,OAAO,CAAC7C,MAAc,EAAEY,IAAU,KAAMsC,GAAc,IAAI;IACxD,OAAO9E,YAAM,CAAC+E,OAAO,CAACT,aAAa,CAACQ,GAAG,CAAC,EAAGE,OAAO,IAChDzC,QAAQ,CACNX,MAAM,EACNA,MAAM,KAAK;IACT;IAAA,EACEqD,iBAAiB,CAACzC,IAAI,EAAEwC,OAAc,CAAC,GACvCE,gBAAgB,CAAC1C,IAAI,EAAEwC,OAAc,CAAC,EAC1CA,OAAO,EACPvC,aAAa,CACd,CACEhC,IAAI,CAACT,YAAM,CAACC,OAAO,CAAC2E,KAAK,CAAC,CAAC,CAAC;EACnC,CAAC;AACH;AAEM,SAAUO,UAAUA,CAA4D;EACpFC,OAAO;EACPC;AAAQ,CAMT;EACC,OAAOjB,UAAU,CAACgB,OAAO,EAAEC,QAAQ,EAAED,OAAO,CAACE,MAAM,CAAC,CAClDF,OAAO,CAACxD,MAAM,EACd,IAAI2D,gBAAI,CAACH,OAAO,CAAC5C,IAAI,CAAC,CACvB;AACH;AAEM,SAAUgD,WAAWA,CAA4D;EACrFJ,OAAO;EACPC;AAAQ,CAMT;EACC,MAAMI,CAAC,GAAGrB,UAAU,CAACgB,OAAO,EAAEC,QAAQ,CAAC,CACrCD,OAAO,CAACxD,MAAM,EACd,IAAI2D,gBAAI,CAACH,OAAO,CAAC5C,IAAI,CAAC,CACvB;EACD,MAAMoC,KAAK,GAAGC,YAAY,CAAC3B,MAAC,CAACqB,MAAM,CAACc,QAAQ,CAAC,CAAC;EAC9C,OAAQP,GAAa,IAAK9E,YAAM,CAACC,OAAO,CAACwF,CAAC,CAACX,GAAG,CAAC,EAAEF,KAAK,CAAC;AACzD;AAEM,SAAUK,iBAAiBA,CAC/BzC,IAAU,EACVkD,IASC;EAED,MAAMC,KAAK,GAAGC,cAAM,CAACC,MAAM,CAACH,IAAI,EAAE,CAAC9E,CAAC,EAAEkF,CAAC,KAAK,CAACtD,IAAI,CAACuD,MAAM,CAACC,QAAQ,CAACF,CAAC,CAAC,CAAC;EACrE,MAAMG,CAAC,GAAGN,KAAK,EAAC;EAChB,OACEnD,IAAI,CAAC0D,KAAK,CAACR,IAAI,EAAE;IAAES,YAAY,EAAE,IAAI;IAAEC,iBAAiB,EAAE;EAAI,CAAE,CAAC,IAC9D7E,MAAM,CAAC8E,IAAI,CAACJ,CAAC,CAAC,CAACK,MAAM,GACpB,GAAG,GAAGC,oBAAE,CAACC,SAAS,CAACP,CAAC,CAAC,GACrB,EAAE,CAAC;AAEX;AAEM,SAAUf,gBAAgBA,CAC9B1C,IAAU,EACVkD,IASC;EAED,OAAOlD,IAAI,CAAC0D,KAAK,CAACR,IAAI,EAAE;IAAES,YAAY,EAAE,IAAI;IAAEC,iBAAiB,EAAE;EAAI,CAAE,CAAC;AAC1E;AAEM,SAAUK,WAAWA,CAAOrG,GAAgB;EAChD,OAAQsB,CAAmB,IAAsB;IAC/C,OAAO;MAAE,GAAGA,CAAC;MAAEK,IAAI,EAAE3B,GAAG,CAACsB,CAAC,CAACK,IAAI;IAAC,CAAE;EACpC,CAAC;AACH;AAEM,SAAU8C,YAAYA,CAAazE,GAA8B;EACrE,OAAQsB,CAAmB,IAAoC;IAC7D,OAAO1B,YAAM,CACV0G,GAAG,CAAC;MACH3E,IAAI,EAAE3B,GAAG,CAACsB,CAAC,CAACK,IAAI,CAAC;MACjBvB,OAAO,EAAER,YAAM,CAACoC,IAAI,CAAC,MAAMV,CAAC,CAAClB,OAAO,CAAC;MACrC2B,MAAM,EAAEnC,YAAM,CAACoC,IAAI,CAAC,MAAMV,CAAC,CAACS,MAAM;KACnC,CAAC,CACD1B,IAAI,CAACT,YAAM,CAACsC,QAAQ,CAAC,eAAe,CAAC,CAAC;EAC3C,CAAC;AACH;AAGO,MAAMqE,aAAa,GAAA7G,OAAA,CAAA6G,aAAA,GAAGpF,MAAM,CAACqF,MAAM,CAAC;EAAE7E,IAAI,EAAE,IAAI;EAAEvB,OAAO,EAAE,EAAE;EAAE2B,MAAM,EAAE;AAAG,CAAE,CAAC;AAC7E,MAAM0E,cAAc,GAAA/G,OAAA,CAAA+G,cAAA,GAAG7G,YAAM,CAACoC,IAAI,CAAC,MAAMuE,aAAa,CAAC;AAC9D,MAAMG,oBAAoB,GAAG,IAAAC,kBAAQ,EAACF,cAAc,CAAC;AAC/C,SAAUG,mBAAmBA,CAAA;EAUjC,OAAOF,oBAAoB,EAAE;AAC/B;AAEM,SAAUG,OAAOA,CAAUC,GAA0C;EACzE,OAAOlH,YAAM,CAACC,OAAO,CAACiH,GAAG,EAAGxF,CAAC,IAAKA,CAAC,CAACK,IAAI,KAAK,IAAI,GAAG/B,YAAM,CAACmH,GAAG,CAAC,WAAW,CAAC,GAAGnH,YAAM,CAACoC,IAAI,CAAC,MAAMV,CAAC,CAACK,IAAI,CAAC,CAAC;AAC1G","ignoreList":[]}
|
package/dist/client/clientFor.js
CHANGED
|
@@ -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,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9jbGllbnRGb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMERBQTBEO0FBQzFELHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUl6QyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osUUFBUSxFQUNULE1BQU0sWUFBWSxDQUFBO0FBRW5CLGNBQWMsYUFBYSxDQUFBO0FBVTNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO0FBY3pDLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQVM7SUFFVCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQXFCLE1BQVM7SUFDL0MsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7UUFDekIseURBQXlEO1NBQ3hELE1BQU0sQ0FBQyxDQUFDLENB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
|
package/dist/client/fetch.d.ts
CHANGED
|
@@ -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>,
|
|
20
|
-
export declare function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, ResponseFrom, ResponseTo
|
|
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>,
|
|
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>,
|
|
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":"AACA,OAAO,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAA;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/client/fetch.ts"],"names":[],"mappings":"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"}
|
package/dist/client/fetch.js
CHANGED
|
@@ -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")))
|
|
40
|
-
|
|
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
|
|
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.
|
|
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.
|
|
16
|
-
"@effect-app/schema": "1.
|
|
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.
|
|
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.
|
|
31
|
-
"effect": "^3.7.
|
|
32
|
-
"@effect/schema": "^0.72.
|
|
30
|
+
"@effect/platform": "^0.63.3",
|
|
31
|
+
"effect": "^3.7.2",
|
|
32
|
+
"@effect/schema": "^0.72.2"
|
|
33
33
|
},
|
|
34
34
|
"typesVersions": {
|
|
35
35
|
"*": {
|
package/src/client/clientFor.ts
CHANGED
|
@@ -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
|
package/src/client/fetch.ts
CHANGED
|
@@ -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(
|
|
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<
|
|
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
|
)
|
package/tsconfig.base.json
CHANGED