effect-app 1.20.0 → 1.21.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 +11 -0
- package/_cjs/client/clientFor.cjs +147 -96
- package/_cjs/client/clientFor.cjs.map +1 -1
- package/_cjs/client.cjs +0 -11
- package/_cjs/client.cjs.map +1 -1
- package/dist/client/clientFor.d.ts +38 -28
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/clientFor.js +115 -97
- package/dist/client.d.ts +0 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -2
- package/package.json +2 -32
- package/src/client/clientFor.ts +241 -158
- package/src/client.ts +0 -1
- package/vitest.config.ts.timestamp-1670862388823.mjs +23 -0
- package/_cjs/client/clientFor2.cjs +0 -197
- package/_cjs/client/clientFor2.cjs.map +0 -1
- package/_cjs/client/fetch.cjs +0 -176
- package/_cjs/client/fetch.cjs.map +0 -1
- package/_cjs/client/router.cjs +0 -31
- package/_cjs/client/router.cjs.map +0 -1
- package/dist/client/clientFor2.d.ts +0 -49
- package/dist/client/clientFor2.d.ts.map +0 -1
- package/dist/client/clientFor2.js +0 -165
- package/dist/client/fetch.d.ts +0 -56
- package/dist/client/fetch.d.ts.map +0 -1
- package/dist/client/fetch.js +0 -158
- package/dist/client/router.d.ts +0 -32
- package/dist/client/router.d.ts.map +0 -1
- package/dist/client/router.js +0 -17
- package/src/client/clientFor2.ts +0 -339
- package/src/client/fetch.ts +0 -299
- package/src/client/router.ts +0 -87
- package/vitest.config.ts.timestamp-1709838418683-4e8d39caec6be.mjs +0 -33
- package/vitest.config.ts.timestamp-1711656440837-b61cd88636759.mjs +0 -37
- package/vitest.config.ts.timestamp-1711724061890-f88ec51585e5c.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743471020-0a3f182bca84f.mjs +0 -0
- package/vitest.config.ts.timestamp-1711743489536-f03d3db08b368.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743593445-f537ce2bb2c6a.mjs +0 -0
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.clientFor2 = clientFor2;
|
|
7
|
-
var _core = require("@effect-app/core");
|
|
8
|
-
var _rpc = require("@effect/rpc");
|
|
9
|
-
var _rpcHttp = require("@effect/rpc-http");
|
|
10
|
-
var _effectApp = require("effect-app");
|
|
11
|
-
var _client = require("effect-app/client");
|
|
12
|
-
var _http = require("effect-app/http");
|
|
13
|
-
var _utils = require("effect-app/utils");
|
|
14
|
-
var _pathParser = require("path-parser");
|
|
15
|
-
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
16
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
17
|
-
|
|
18
|
-
const apiClient = _core.Effect.gen(function* () {
|
|
19
|
-
const client = yield* _http.HttpClient.HttpClient;
|
|
20
|
-
const config = yield* _client.ApiConfig.Tag;
|
|
21
|
-
return client.pipe(_http.HttpClient.mapRequest(_http.HttpClientRequest.prependUrl(config.apiUrl + "/rpc")), _http.HttpClient.mapRequest(_http.HttpClientRequest.setHeaders(config.headers.pipe(_core.Option.getOrElse(() => _core.HashMap.empty())))));
|
|
22
|
-
});
|
|
23
|
-
function clientFor2(layers) {
|
|
24
|
-
const cache = new Map();
|
|
25
|
-
return models => {
|
|
26
|
-
const found = cache.get(models);
|
|
27
|
-
if (found) {
|
|
28
|
-
return found;
|
|
29
|
-
}
|
|
30
|
-
const m = clientFor_(models, layers);
|
|
31
|
-
cache.set(models, m);
|
|
32
|
-
return m;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
function clientFor_(models, layers = _core.Layer.empty) {
|
|
36
|
-
const filtered = (0, _utils.typedKeysOf)(models).reduce((acc, cur) => {
|
|
37
|
-
if (_core.Predicate.isObject(models[cur]) && models[cur].success) {
|
|
38
|
-
acc[cur] = models[cur];
|
|
39
|
-
}
|
|
40
|
-
return acc;
|
|
41
|
-
}, {});
|
|
42
|
-
const meta = models.meta;
|
|
43
|
-
if (!meta) throw new Error("No meta defined in Resource!");
|
|
44
|
-
const resolver = (0, _core.flow)(_rpcHttp.HttpRpcResolver.make, _ => _rpc.RpcResolver.toClient(_));
|
|
45
|
-
const baseClient = apiClient.pipe(_core.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrl("/" + meta.moduleName))));
|
|
46
|
-
return (0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
|
|
47
|
-
const h = filtered[cur];
|
|
48
|
-
const Request = h;
|
|
49
|
-
const Response = h.success;
|
|
50
|
-
const encodeRequest = _effectApp.S.encodeSync(Request);
|
|
51
|
-
const requestName = `${meta.moduleName}.${cur}`.replaceAll(".js", "");
|
|
52
|
-
const requestMeta = {
|
|
53
|
-
method: "POST",
|
|
54
|
-
// TODO
|
|
55
|
-
Request,
|
|
56
|
-
Response,
|
|
57
|
-
mapPath: requestName,
|
|
58
|
-
name: requestName
|
|
59
|
-
};
|
|
60
|
-
const client = baseClient.pipe(_core.Effect.andThen(_http.HttpClient.mapRequest(_http.HttpClientRequest.appendUrlParam("action", cur))), _core.Effect.andThen(resolver));
|
|
61
|
-
const fields = _core.Struct.omit(Request.fields, "_tag");
|
|
62
|
-
const p = requestName;
|
|
63
|
-
const path = new _pathParser.Path(p); // TODO
|
|
64
|
-
// @ts-expect-error doc
|
|
65
|
-
prev[cur] = requestMeta.method === "GET" ? Object.keys(fields).length === 0 ? {
|
|
66
|
-
handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.map(_ => ({
|
|
67
|
-
body: _,
|
|
68
|
-
status: 200,
|
|
69
|
-
headers: {}
|
|
70
|
-
})),
|
|
71
|
-
// TODO
|
|
72
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
73
|
-
captureStackTrace: false,
|
|
74
|
-
attributes: {
|
|
75
|
-
"request.name": requestName
|
|
76
|
-
}
|
|
77
|
-
}), _core.Effect.provide(layers)),
|
|
78
|
-
...requestMeta
|
|
79
|
-
} : {
|
|
80
|
-
handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.map(_ => ({
|
|
81
|
-
body: _,
|
|
82
|
-
status: 200,
|
|
83
|
-
headers: {}
|
|
84
|
-
})),
|
|
85
|
-
// TODO
|
|
86
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
87
|
-
captureStackTrace: false,
|
|
88
|
-
attributes: {
|
|
89
|
-
"request.name": requestName
|
|
90
|
-
}
|
|
91
|
-
}), _core.Effect.provide(layers)),
|
|
92
|
-
...requestMeta,
|
|
93
|
-
mapPath: req => req ? (0, _client.makePathWithQuery)(path, encodeRequest(req)) : p
|
|
94
|
-
} : Object.keys(fields).length === 0 ? {
|
|
95
|
-
handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.map(_ => ({
|
|
96
|
-
body: _,
|
|
97
|
-
status: 200,
|
|
98
|
-
headers: {}
|
|
99
|
-
})),
|
|
100
|
-
// TODO
|
|
101
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
102
|
-
captureStackTrace: false,
|
|
103
|
-
attributes: {
|
|
104
|
-
"request.name": requestName
|
|
105
|
-
}
|
|
106
|
-
}), _core.Effect.provide(layers)),
|
|
107
|
-
...requestMeta
|
|
108
|
-
} : {
|
|
109
|
-
handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.map(_ => ({
|
|
110
|
-
body: _,
|
|
111
|
-
status: 200,
|
|
112
|
-
headers: {}
|
|
113
|
-
})),
|
|
114
|
-
// TODO
|
|
115
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
116
|
-
captureStackTrace: false,
|
|
117
|
-
attributes: {
|
|
118
|
-
"request.name": requestName
|
|
119
|
-
}
|
|
120
|
-
}), _core.Effect.provide(layers)),
|
|
121
|
-
...requestMeta,
|
|
122
|
-
mapPath: req => req ? requestMeta.method === "DELETE" ? (0, _client.makePathWithQuery)(path, encodeRequest(req)) : (0, _client.makePathWithBody)(path, encodeRequest(req)) : p
|
|
123
|
-
};
|
|
124
|
-
// generate handler
|
|
125
|
-
// @ts-expect-error doc
|
|
126
|
-
prev[`${cur}E`] = requestMeta.method === "GET" ? Object.keys(fields).length === 0 ? {
|
|
127
|
-
handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
|
|
128
|
-
// TODO
|
|
129
|
-
_core.Effect.map(_ => ({
|
|
130
|
-
body: _,
|
|
131
|
-
status: 200,
|
|
132
|
-
headers: {}
|
|
133
|
-
})),
|
|
134
|
-
// TODO,
|
|
135
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
136
|
-
captureStackTrace: false,
|
|
137
|
-
attributes: {
|
|
138
|
-
"request.name": requestName
|
|
139
|
-
}
|
|
140
|
-
}), _core.Effect.provide(layers)),
|
|
141
|
-
...requestMeta
|
|
142
|
-
} : {
|
|
143
|
-
handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
|
|
144
|
-
// TODO
|
|
145
|
-
_core.Effect.map(_ => ({
|
|
146
|
-
body: _,
|
|
147
|
-
status: 200,
|
|
148
|
-
headers: {}
|
|
149
|
-
})),
|
|
150
|
-
// TODO,
|
|
151
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
152
|
-
captureStackTrace: false,
|
|
153
|
-
attributes: {
|
|
154
|
-
"request.name": requestName
|
|
155
|
-
}
|
|
156
|
-
}), _core.Effect.provide(layers)),
|
|
157
|
-
...requestMeta,
|
|
158
|
-
mapPath: req => req ? (0, _client.makePathWithQuery)(path, encodeRequest(req)) : p
|
|
159
|
-
} : Object.keys(fields).length === 0 ? {
|
|
160
|
-
handler: client.pipe(_core.Effect.andThen(cl => cl(new Request())), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
|
|
161
|
-
// TODO
|
|
162
|
-
_core.Effect.map(_ => ({
|
|
163
|
-
body: _,
|
|
164
|
-
status: 200,
|
|
165
|
-
headers: {}
|
|
166
|
-
})),
|
|
167
|
-
// TODO,
|
|
168
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
169
|
-
captureStackTrace: false,
|
|
170
|
-
attributes: {
|
|
171
|
-
"request.name": requestName
|
|
172
|
-
}
|
|
173
|
-
}), _core.Effect.provide(layers)),
|
|
174
|
-
...requestMeta
|
|
175
|
-
} : {
|
|
176
|
-
handler: req => client.pipe(_core.Effect.andThen(cl => cl(new Request(req))), _core.Effect.flatMap(res => _effectApp.S.encode(Response)(res)),
|
|
177
|
-
// TODO
|
|
178
|
-
_core.Effect.map(_ => ({
|
|
179
|
-
body: _,
|
|
180
|
-
status: 200,
|
|
181
|
-
headers: {}
|
|
182
|
-
})),
|
|
183
|
-
// TODO,
|
|
184
|
-
_core.Effect.withSpan("client.request " + requestName, {
|
|
185
|
-
captureStackTrace: false,
|
|
186
|
-
attributes: {
|
|
187
|
-
"request.name": requestName
|
|
188
|
-
}
|
|
189
|
-
}), _core.Effect.provide(layers)),
|
|
190
|
-
...requestMeta,
|
|
191
|
-
mapPath: req => req ? requestMeta.method === "DELETE" ? (0, _client.makePathWithQuery)(path, encodeRequest(req)) : (0, _client.makePathWithBody)(path, encodeRequest(req)) : p
|
|
192
|
-
};
|
|
193
|
-
// generate handler
|
|
194
|
-
return prev;
|
|
195
|
-
}, {});
|
|
196
|
-
}
|
|
197
|
-
//# sourceMappingURL=clientFor2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor2.cjs","names":["_core","require","_rpc","_rpcHttp","_effectApp","_client","_http","_utils","_pathParser","apiClient","Effect","gen","client","HttpClient","config","ApiConfig","Tag","pipe","mapRequest","HttpClientRequest","prependUrl","apiUrl","setHeaders","headers","Option","getOrElse","HashMap","empty","clientFor2","layers","cache","Map","models","found","get","m","clientFor_","set","Layer","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","success","meta","Error","resolver","flow","HttpRpcResolver","make","_","RpcResolver","toClient","baseClient","andThen","appendUrl","moduleName","prev","h","Request","Response","encodeRequest","S","encodeSync","requestName","replaceAll","requestMeta","method","mapPath","name","appendUrlParam","fields","Struct","omit","p","path","Path","Object","keys","length","handler","cl","map","body","status","withSpan","captureStackTrace","attributes","provide","req","makePathWithQuery","makePathWithBody","flatMap","res","encode"],"sources":["../../src/client/clientFor2.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/client/fetch.cjs
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EmptyResponseM = exports.EmptyResponse = void 0;
|
|
7
|
-
exports.EmptyResponseMThunk = EmptyResponseMThunk;
|
|
8
|
-
exports.ResError = void 0;
|
|
9
|
-
exports.fetchApi = fetchApi;
|
|
10
|
-
exports.fetchApi2S = fetchApi2S;
|
|
11
|
-
exports.fetchApi3S = fetchApi3S;
|
|
12
|
-
exports.fetchApi3SE = fetchApi3SE;
|
|
13
|
-
exports.getBody = getBody;
|
|
14
|
-
exports.makePathWithBody = makePathWithBody;
|
|
15
|
-
exports.makePathWithQuery = makePathWithQuery;
|
|
16
|
-
exports.mapResponse = mapResponse;
|
|
17
|
-
exports.mapResponseM = mapResponseM;
|
|
18
|
-
var _core = require("@effect-app/core");
|
|
19
|
-
var _Function = require("@effect-app/core/Function");
|
|
20
|
-
var _effect = require("effect");
|
|
21
|
-
var _schema = require("effect-app/schema");
|
|
22
|
-
var _pathParser = require("path-parser");
|
|
23
|
-
var _queryString = _interopRequireDefault(require("query-string"));
|
|
24
|
-
var _http = require("../http.cjs");
|
|
25
|
-
var _lib = require("../lib.cjs");
|
|
26
|
-
var _logger = require("../logger.cjs");
|
|
27
|
-
var _config = require("./config.cjs");
|
|
28
|
-
var _errors = require("./errors.cjs");
|
|
29
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
31
|
-
|
|
32
|
-
class ResError {
|
|
33
|
-
error;
|
|
34
|
-
_tag = "ResponseError";
|
|
35
|
-
constructor(error) {
|
|
36
|
-
this.error = error;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
exports.ResError = ResError;
|
|
40
|
-
const getClient = _core.Effect.flatMap(_http.HttpClient.HttpClient, defaultClient => _core.Effect.map(_config.ApiConfig.Tag, ({
|
|
41
|
-
apiUrl,
|
|
42
|
-
headers
|
|
43
|
-
}) => defaultClient.pipe(_http.HttpClient.filterStatusOk, _http.HttpClient.mapRequest(_ => _.pipe(_http.HttpClientRequest.acceptJson, _http.HttpClientRequest.prependUrl(apiUrl), _http.HttpClientRequest.setHeaders({
|
|
44
|
-
"request-id": _core.Option.getOrUndefined(_core.Option.flatMap(headers, _ => _core.HashMap.get(_, "request-id"))) ?? _schema.StringId.make(),
|
|
45
|
-
..._core.Option.getOrUndefined(_core.Option.map(headers, _ => Object.fromEntries(_)))
|
|
46
|
-
}))), _http.HttpClient.tapRequest(r => _logger.PreludeLogger.logDebug(`[HTTP] ${r.method}`).pipe(_core.Effect.annotateLogs({
|
|
47
|
-
"url": r.url,
|
|
48
|
-
"body": r.body._tag === "Uint8Array" ? new TextDecoder().decode(r.body.body) : r.body._tag,
|
|
49
|
-
"headers": r.headers
|
|
50
|
-
}))), _http.HttpClient.mapEffect(_ => (_.status === 204 ? _core.Effect.sync(() => ({
|
|
51
|
-
status: _.status,
|
|
52
|
-
body: void 0,
|
|
53
|
-
headers: _.headers
|
|
54
|
-
})) : _core.Effect.map(_.json, body => ({
|
|
55
|
-
status: _.status,
|
|
56
|
-
body,
|
|
57
|
-
headers: _.headers
|
|
58
|
-
}))).pipe(_core.Effect.withSpan("client.response", {
|
|
59
|
-
captureStackTrace: false
|
|
60
|
-
}))))));
|
|
61
|
-
function fetchApi(method, path, body, responseError) {
|
|
62
|
-
return _core.Effect.flatMap(getClient, client => (method === "GET" ? client.execute(_http.HttpClientRequest.make(method)(path)) : body === undefined ? client.execute(_http.HttpClientRequest.make(method)(path)) : _http.HttpClientRequest.make(method)(path).pipe(_http.HttpClientRequest.bodyJson(body), _core.Effect.flatMap(client.execute))).pipe(_core.Effect.catchTag("ResponseError", err => {
|
|
63
|
-
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));
|
|
64
|
-
// opposite of api's `defaultErrorHandler`
|
|
65
|
-
if (err.response.status === 404) {
|
|
66
|
-
return toError(_errors.NotFoundError);
|
|
67
|
-
}
|
|
68
|
-
if (err.response.status === 400) {
|
|
69
|
-
return toError(_errors.ValidationError);
|
|
70
|
-
}
|
|
71
|
-
if (err.response.status === 401) {
|
|
72
|
-
return toError(_errors.NotLoggedInError);
|
|
73
|
-
}
|
|
74
|
-
// TODO: DomainError
|
|
75
|
-
if (err.response.status === 422) {
|
|
76
|
-
return responseError ? toError(_lib.S.Union(responseError, _errors.InvalidStateError)) : toError(_errors.InvalidStateError);
|
|
77
|
-
}
|
|
78
|
-
if (err.response.status === 503) {
|
|
79
|
-
return toError(_errors.ServiceUnavailableError);
|
|
80
|
-
}
|
|
81
|
-
if (err.response.status === 403) {
|
|
82
|
-
return toError(_errors.UnauthorizedError);
|
|
83
|
-
}
|
|
84
|
-
if (err.response.status === 412) {
|
|
85
|
-
return toError(_errors.OptimisticConcurrencyException);
|
|
86
|
-
}
|
|
87
|
-
return _core.Effect.fail(err);
|
|
88
|
-
}), _core.Effect.catchTags({
|
|
89
|
-
"ResponseError": err => _core.Effect.orDie(err.response.text
|
|
90
|
-
// TODO
|
|
91
|
-
).pipe(_core.Effect.flatMap(_ => _core.Effect.fail({
|
|
92
|
-
_tag: "HttpErrorResponse",
|
|
93
|
-
response: {
|
|
94
|
-
body: _core.Option.fromNullable(_),
|
|
95
|
-
status: err.response.status,
|
|
96
|
-
headers: err.response.headers
|
|
97
|
-
}
|
|
98
|
-
}))),
|
|
99
|
-
"RequestError": err => _core.Effect.fail({
|
|
100
|
-
_tag: "HttpErrorRequest",
|
|
101
|
-
error: err.cause
|
|
102
|
-
})
|
|
103
|
-
}), _core.Effect.scoped));
|
|
104
|
-
}
|
|
105
|
-
function fetchApi2S(request, response, responseError) {
|
|
106
|
-
const encodeRequest = _lib.S.encode(request);
|
|
107
|
-
const decRes = _lib.S.decodeUnknown(response);
|
|
108
|
-
const decodeRes = u => _core.Effect.mapError(decRes(u), err => new ResError(err));
|
|
109
|
-
const parse = mapResponseM(decodeRes);
|
|
110
|
-
return (method, path) => req => {
|
|
111
|
-
return _core.Effect.andThen(encodeRequest(req), encoded => fetchApi(method, method === "DELETE"
|
|
112
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
113
|
-
? makePathWithQuery(path, encoded) : makePathWithBody(path, encoded), encoded, responseError).pipe(_core.Effect.flatMap(parse)));
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
function fetchApi3S({
|
|
117
|
-
Request,
|
|
118
|
-
Response
|
|
119
|
-
}) {
|
|
120
|
-
return fetchApi2S(Request, Response, Request.errors)(Request.method, new _pathParser.Path(Request.path));
|
|
121
|
-
}
|
|
122
|
-
function fetchApi3SE({
|
|
123
|
-
Request,
|
|
124
|
-
Response
|
|
125
|
-
}) {
|
|
126
|
-
const a = fetchApi2S(Request, Response)(Request.method, new _pathParser.Path(Request.path));
|
|
127
|
-
const parse = mapResponseM(_lib.S.encode(Response));
|
|
128
|
-
return req => _core.Effect.flatMap(a(req), parse);
|
|
129
|
-
}
|
|
130
|
-
function makePathWithQuery(path, pars) {
|
|
131
|
-
const forQs = _effect.Record.filter(pars, (_, k) => !path.params.includes(k));
|
|
132
|
-
const q = forQs; // { ...forQs, _: JSON.stringify(forQs) } // TODO: drop completely individual keys from query?, sticking to json only
|
|
133
|
-
return path.build(pars, {
|
|
134
|
-
ignoreSearch: true,
|
|
135
|
-
ignoreConstraints: true
|
|
136
|
-
}) + (Object.keys(q).length ? "?" + _queryString.default.stringify(q) : "");
|
|
137
|
-
}
|
|
138
|
-
function makePathWithBody(path, pars) {
|
|
139
|
-
return path.build(pars, {
|
|
140
|
-
ignoreSearch: true,
|
|
141
|
-
ignoreConstraints: true
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
function mapResponse(map) {
|
|
145
|
-
return r => {
|
|
146
|
-
return {
|
|
147
|
-
...r,
|
|
148
|
-
body: map(r.body)
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
function mapResponseM(map) {
|
|
153
|
-
return r => {
|
|
154
|
-
return _core.Effect.all({
|
|
155
|
-
body: map(r.body),
|
|
156
|
-
headers: _core.Effect.sync(() => r.headers),
|
|
157
|
-
status: _core.Effect.sync(() => r.status)
|
|
158
|
-
}).pipe(_core.Effect.withSpan("client.decode", {
|
|
159
|
-
captureStackTrace: false
|
|
160
|
-
}));
|
|
161
|
-
};
|
|
162
|
-
}
|
|
163
|
-
const EmptyResponse = exports.EmptyResponse = Object.freeze({
|
|
164
|
-
body: null,
|
|
165
|
-
headers: {},
|
|
166
|
-
status: 404
|
|
167
|
-
});
|
|
168
|
-
const EmptyResponseM = exports.EmptyResponseM = _core.Effect.sync(() => EmptyResponse);
|
|
169
|
-
const EmptyResponseMThunk_ = (0, _Function.constant)(EmptyResponseM);
|
|
170
|
-
function EmptyResponseMThunk() {
|
|
171
|
-
return EmptyResponseMThunk_();
|
|
172
|
-
}
|
|
173
|
-
function getBody(eff) {
|
|
174
|
-
return _core.Effect.flatMap(eff, r => r.body === null ? _core.Effect.die("Not found") : _core.Effect.sync(() => r.body));
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=fetch.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.cjs","names":["_core","require","_Function","_effect","_schema","_pathParser","_queryString","_interopRequireDefault","_http","_lib","_logger","_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","PreludeLogger","logDebug","method","annotateLogs","url","body","TextDecoder","decode","mapEffect","status","sync","json","withSpan","captureStackTrace","fetchApi","path","responseError","client","execute","undefined","bodyJson","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;AACA,IAAAU,OAAA,GAAAV,OAAA;AAEA,IAAAW,OAAA,GAAAX,OAAA;AAQoB,SAAAM,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAvBpB;;AA2BM,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,IACZC,qBAAa,CACVC,QAAQ,CAAC,UAAUF,CAAC,CAACG,MAAM,EAAE,CAAC,CAC9BpB,IAAI,CAACT,YAAM,CAAC8B,YAAY,CAAC;EACxB,KAAK,EAAEJ,CAAC,CAACK,GAAG;EACZ,MAAM,EAAEL,CAAC,CAACM,IAAI,CAACpC,IAAI,KAAK,YAAY,GAChC,IAAIqC,WAAW,EAAE,CAACC,MAAM,CAACR,CAAC,CAACM,IAAI,CAACA,IAAI,CAAC,GACrCN,CAAC,CAACM,IAAI,CAACpC,IAAI;EACf,SAAS,EAAE8B,CAAC,CAAClB;CACd,CAAC,CAAC,CACN,EACHN,gBAAU,CACPiC,SAAS,CAAEvB,CAAC,IACX,CAACA,CAAC,CAACwB,MAAM,KAAK,GAAG,GACbpC,YAAM,CAACqC,IAAI,CAAC,OAAO;EAAED,MAAM,EAAExB,CAAC,CAACwB,MAAM;EAAEJ,IAAI,EAAE,KAAK,CAAC;EAAExB,OAAO,EAAEI,CAAC,CAACJ;AAAO,CAAE,CAAC,CAAC,GAC3ER,YAAM,CAACI,GAAG,CAACQ,CAAC,CAAC0B,IAAI,EAAGN,IAAI,KAAM;EAAEI,MAAM,EAAExB,CAAC,CAACwB,MAAM;EAAEJ,IAAI;EAAExB,OAAO,EAAEI,CAAC,CAACJ;AAAO,CAAE,CAAC,CAAC,EAC/EC,IAAI,CAACT,YAAM,CAACuC,QAAQ,CAAC,iBAAiB,EAAE;EAAEC,iBAAiB,EAAE;AAAK,CAAE,CAAC,CAAC,CAC1E,CACJ,CAAC,CACT;AAEK,SAAUC,QAAQA,CACtBZ,MAAc,EACda,IAAY,EACZV,IAAc,EACdW,aAAqC;EAErC,OAAO3C,YAAM,CAACC,OAAO,CAACF,SAAS,EAAG6C,MAAM,IACtC,CAACf,MAAM,KAAK,KAAK,GACbe,MAAM,CAACC,OAAO,CAAChC,uBAAiB,CAACS,IAAI,CAACO,MAAM,CAAC,CAACa,IAAI,CAAC,CAAC,GACpDV,IAAI,KAAKc,SAAS,GAClBF,MAAM,CAACC,OAAO,CAAChC,uBAAiB,CAACS,IAAI,CAACO,MAAM,CAAC,CAACa,IAAI,CAAC,CAAC,GACpD7B,uBAAiB,CAChBS,IAAI,CAACO,MAAM,CAAC,CAACa,IAAI,CAAC,CAClBjC,IAAI,CAACI,uBAAiB,CAACkC,QAAQ,CAACf,IAAI,CAAC,EAAEhC,YAAM,CAACC,OAAO,CAAC2C,MAAM,CAACC,OAAO,CAAC,CAAC,EACxEpC,IAAI,CACHT,YAAM,CACHgD,QAAQ,CACP,eAAe,EACdC,GAAG,IAAqE;IACvE,MAAMC,OAAO,GAAiBC,CAAsB,IAClDnD,YAAM,CACHC,OAAO,CACNgD,GAAG,CACAG,QAAQ,CACRd,IAAI,EACN1B,CAAC,IAAKyC,MAAC,CAACC,aAAa,CAACH,CAAC,CAAC,CAACvC,CAAC,CAAC,CAACH,IAAI,CAACT,YAAM,CAACuD,QAAQ,CAAC,MAAMvD,YAAM,CAACwD,IAAI,CAACP,GAAG,CAAC,CAAC,CAAC,CAC3E,CACAxC,IAAI,CAACT,YAAM,CAACC,OAAO,CAACD,YAAM,CAACwD,IAAI,CAAC,CAAC;IAEtC;IACA,IAAIP,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACO,qBAAa,CAAC;IAC/B;IACA,IAAIR,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACQ,uBAAe,CAAC;IACjC;IACA,IAAIT,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACS,wBAAgB,CAAC;IAClC;IACA;IACA,IAAIV,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOO,aAAa,GAChBO,OAAO,CAACG,MAAC,CAACO,KAAK,CAACjB,aAAa,EAAEkB,yBAAiB,CAAQ,CAAC,GACzDX,OAAO,CAACW,yBAAiB,CAAC;IAChC;IACA,IAAIZ,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACY,+BAAuB,CAAC;IACzC;IACA,IAAIb,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACa,yBAAiB,CAAC;IACnC;IACA,IAAId,GAAG,CAACG,QAAQ,CAAChB,MAAM,KAAK,GAAG,EAAE;MAC/B,OAAOc,OAAO,CAACc,sCAA8B,CAAC;IAChD;IACA,OAAOhE,YAAM,CAACwD,IAAI,CAACP,GAAG,CAAC;EACzB,CAAC,CACF,EACHjD,YAAM,CAACiE,SAAS,CAAC;IACf,eAAe,EAAGhB,GAAG,IACnBjD,YAAM,CACHkE,KAAK,CACJjB,GAAG,CACAG,QAAQ,CACRe;IACH;KACD,CACA1D,IAAI,CAACT,YAAM,CACTC,OAAO,CAAEW,CAAC,IACTZ,YAAM,CAACwD,IAAI,CAAC;MACV5D,IAAI,EAAE,mBAA4B;MAClCwD,QAAQ,EAAE;QACRpB,IAAI,EAAEf,YAAM,CAACmD,YAAY,CAACxD,CAAC,CAAC;QAC5BwB,MAAM,EAAEa,GAAG,CAACG,QAAQ,CAAChB,MAAM;QAC3B5B,OAAO,EAAEyC,GAAG,CAACG,QAAQ,CAAC5C;;KAEK,CAAC,CACjC,CAAC;IACR,cAAc,EAAGyC,GAAG,IAAKjD,YAAM,CAACwD,IAAI,CAAC;MAAE5D,IAAI,EAAE,kBAAkB;MAAED,KAAK,EAAEsD,GAAG,CAACoB;IAAK,CAAsB;GACxG,CAAC,EACFrE,YAAM,CAACsE,MAAM,CACd,CAAC;AACR;AAEM,SAAUC,UAAUA,CAUxBC,OAAiD,EACjDpB,QAAqD,EACrDT,aAAiE;EAEjE,MAAM8B,aAAa,GAAGpB,MAAC,CAACqB,MAAM,CAACF,OAAO,CAAC;EACvC,MAAMG,MAAM,GAAGtB,MAAC,CAACC,aAAa,CAACF,QAAQ,CAAC;EACxC,MAAMwB,SAAS,GAAIC,CAAU,IAAK7E,YAAM,CAAC8E,QAAQ,CAACH,MAAM,CAACE,CAAC,CAAC,EAAG5B,GAAG,IAAK,IAAIvD,QAAQ,CAACuD,GAAG,CAAC,CAAC;EACxF,MAAM8B,KAAK,GAAGC,YAAY,CAACJ,SAAS,CAAC;EACrC,OAAO,CAAC/C,MAAc,EAAEa,IAAU,KAAMuC,GAAc,IAAI;IACxD,OAAOjF,YAAM,CAACkF,OAAO,CAACT,aAAa,CAACQ,GAAG,CAAC,EAAGE,OAAO,IAChD1C,QAAQ,CACNZ,MAAM,EACNA,MAAM,KAAK;IACT;IAAA,EACEuD,iBAAiB,CAAC1C,IAAI,EAAEyC,OAAc,CAAC,GACvCE,gBAAgB,CAAC3C,IAAI,EAAEyC,OAAc,CAAC,EAC1CA,OAAO,EACPxC,aAAa,CACd,CACElC,IAAI,CAACT,YAAM,CAACC,OAAO,CAAC8E,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,CAAC1D,MAAM,EACd,IAAI6D,gBAAI,CAACH,OAAO,CAAC7C,IAAI,CAAC,CACvB;AACH;AAEM,SAAUiD,WAAWA,CAA4D;EACrFJ,OAAO;EACPC;AAAQ,CAMT;EACC,MAAMI,CAAC,GAAGrB,UAAU,CAACgB,OAAO,EAAEC,QAAQ,CAAC,CACrCD,OAAO,CAAC1D,MAAM,EACd,IAAI6D,gBAAI,CAACH,OAAO,CAAC7C,IAAI,CAAC,CACvB;EACD,MAAMqC,KAAK,GAAGC,YAAY,CAAC3B,MAAC,CAACqB,MAAM,CAACc,QAAQ,CAAC,CAAC;EAC9C,OAAQP,GAAa,IAAKjF,YAAM,CAACC,OAAO,CAAC2F,CAAC,CAACX,GAAG,CAAC,EAAEF,KAAK,CAAC;AACzD;AAEM,SAAUK,iBAAiBA,CAC/B1C,IAAU,EACVmD,IASC;EAED,MAAMC,KAAK,GAAGC,cAAM,CAACC,MAAM,CAACH,IAAI,EAAE,CAACjF,CAAC,EAAEqF,CAAC,KAAK,CAACvD,IAAI,CAACwD,MAAM,CAACC,QAAQ,CAACF,CAAC,CAAC,CAAC;EACrE,MAAMG,CAAC,GAAGN,KAAK,EAAC;EAChB,OACEpD,IAAI,CAAC2D,KAAK,CAACR,IAAI,EAAE;IAAES,YAAY,EAAE,IAAI;IAAEC,iBAAiB,EAAE;EAAI,CAAE,CAAC,IAC9DhF,MAAM,CAACiF,IAAI,CAACJ,CAAC,CAAC,CAACK,MAAM,GACpB,GAAG,GAAGC,oBAAE,CAACC,SAAS,CAACP,CAAC,CAAC,GACrB,EAAE,CAAC;AAEX;AAEM,SAAUf,gBAAgBA,CAC9B3C,IAAU,EACVmD,IASC;EAED,OAAOnD,IAAI,CAAC2D,KAAK,CAACR,IAAI,EAAE;IAAES,YAAY,EAAE,IAAI;IAAEC,iBAAiB,EAAE;EAAI,CAAE,CAAC;AAC1E;AAEM,SAAUK,WAAWA,CAAOxG,GAAgB;EAChD,OAAQsB,CAAmB,IAAsB;IAC/C,OAAO;MAAE,GAAGA,CAAC;MAAEM,IAAI,EAAE5B,GAAG,CAACsB,CAAC,CAACM,IAAI;IAAC,CAAE;EACpC,CAAC;AACH;AAEM,SAAUgD,YAAYA,CAAa5E,GAA8B;EACrE,OAAQsB,CAAmB,IAAoC;IAC7D,OAAO1B,YAAM,CACV6G,GAAG,CAAC;MACH7E,IAAI,EAAE5B,GAAG,CAACsB,CAAC,CAACM,IAAI,CAAC;MACjBxB,OAAO,EAAER,YAAM,CAACqC,IAAI,CAAC,MAAMX,CAAC,CAAClB,OAAO,CAAC;MACrC4B,MAAM,EAAEpC,YAAM,CAACqC,IAAI,CAAC,MAAMX,CAAC,CAACU,MAAM;KACnC,CAAC,CACD3B,IAAI,CAACT,YAAM,CAACuC,QAAQ,CAAC,eAAe,EAAE;MAAEC,iBAAiB,EAAE;IAAK,CAAE,CAAC,CAAC;EACzE,CAAC;AACH;AAGO,MAAMsE,aAAa,GAAAhH,OAAA,CAAAgH,aAAA,GAAGvF,MAAM,CAACwF,MAAM,CAAC;EAAE/E,IAAI,EAAE,IAAI;EAAExB,OAAO,EAAE,EAAE;EAAE4B,MAAM,EAAE;AAAG,CAAE,CAAC;AAC7E,MAAM4E,cAAc,GAAAlH,OAAA,CAAAkH,cAAA,GAAGhH,YAAM,CAACqC,IAAI,CAAC,MAAMyE,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,OAAOrH,YAAM,CAACC,OAAO,CAACoH,GAAG,EAAG3F,CAAC,IAAKA,CAAC,CAACM,IAAI,KAAK,IAAI,GAAGhC,YAAM,CAACsH,GAAG,CAAC,WAAW,CAAC,GAAGtH,YAAM,CAACqC,IAAI,CAAC,MAAMX,CAAC,CAACM,IAAI,CAAC,CAAC;AAC1G","ignoreList":[]}
|
package/_cjs/client/router.cjs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.makeClientRouter = void 0;
|
|
7
|
-
var _REST = require("@effect-app/schema/REST");
|
|
8
|
-
var _lib = require("../lib.cjs");
|
|
9
|
-
// TODO: get rid of Request in Request and Response in C
|
|
10
|
-
const makeClientRouter = () => {
|
|
11
|
-
function Req() {
|
|
12
|
-
return (fields, config) => {
|
|
13
|
-
// TODO: get rid of Response, just use success (only all legacy migrated)
|
|
14
|
-
const req = config?.success ? (0, _REST.Req)({
|
|
15
|
-
...config,
|
|
16
|
-
Response: config.success
|
|
17
|
-
})()(fields) : (0, _REST.Req)({
|
|
18
|
-
...config,
|
|
19
|
-
success: _lib.S.Void,
|
|
20
|
-
Response: _lib.S.Void
|
|
21
|
-
})()(fields);
|
|
22
|
-
const req2 = Object.assign(req, {
|
|
23
|
-
Request: req
|
|
24
|
-
}); // bwc
|
|
25
|
-
return req2;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return Req;
|
|
29
|
-
};
|
|
30
|
-
exports.makeClientRouter = makeClientRouter;
|
|
31
|
-
//# sourceMappingURL=router.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs","names":["_REST","require","_lib","makeClientRouter","Req","fields","config","req","success","Req_","Response","S","Void","req2","Object","assign","Request","exports"],"sources":["../../src/client/router.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA;AACO,MAAME,gBAAgB,GAAGA,CAAA,KAAmC;EAGjE,SAASC,GAAGA,CAAA;IAgEV,OAAQ,CACNC,MAAc,EACdC,MAAU,KACR;MACF;MACA,MAAMC,GAAG,GAAGD,MAAM,EAAEE,OAAO,GACvB,IAAAC,SAAI,EAAI;QAAE,GAAGH,MAAM;QAAEI,QAAQ,EAAEJ,MAAM,CAACE;MAAO,CAAE,CAAC,EAAK,CAASH,MAAM,CAAC,GACrE,IAAAI,SAAI,EAAC;QAAE,GAAGH,MAAM;QAAEE,OAAO,EAAEG,MAAC,CAACC,IAAI;QAAEF,QAAQ,EAAEC,MAAC,CAACC;MAAI,CAAE,CAAC,EAAK,CAASP,MAAM,CAAC;MAC/E,MAAMQ,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACR,GAAG,EAAE;QAAES,OAAO,EAAET;MAAG,CAAE,CAAC,EAAC;MAClD,OAAOM,IAAI;IACb,CAAC;EACH;EAEA,OAAOT,GAAG;AACZ,CAAC;AAAAa,OAAA,CAAAd,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Effect, Layer } from "@effect-app/core";
|
|
2
|
-
import type * as Serializable from "@effect/schema/Serializable";
|
|
3
|
-
import { S } from "effect-app";
|
|
4
|
-
import type { FetchResponse } from "effect-app/client";
|
|
5
|
-
import { ApiConfig } from "effect-app/client";
|
|
6
|
-
import { HttpClient } from "effect-app/http";
|
|
7
|
-
import type { Schema } from "effect-app/schema";
|
|
8
|
-
import type * as Request from "effect/Request";
|
|
9
|
-
type Requests = Record<string, any>;
|
|
10
|
-
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.HttpClient.Service, never, // SupportedErrors | FetchError | ResError,
|
|
11
|
-
M> & RequestHandlersE<ApiConfig | HttpClient.HttpClient.Service, never, // SupportedErrors | FetchError | ResError,
|
|
12
|
-
M>;
|
|
13
|
-
export declare function clientFor2(layers: Layer.Layer<never, never, never>): <M extends Requests>(models: M) => Client<Omit<M, "meta">>;
|
|
14
|
-
export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T> : T extends unknown ? void : never;
|
|
15
|
-
export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.Encoded<T> : T extends unknown ? void : never;
|
|
16
|
-
type IsEmpty<T> = keyof T extends never ? true : false;
|
|
17
|
-
type Cruft = "_tag" | Request.RequestTypeId | typeof Serializable.symbol | typeof Serializable.symbolResult;
|
|
18
|
-
type RequestHandlers<R, E, M extends Requests> = {
|
|
19
|
-
[K in keyof M]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? {
|
|
20
|
-
handler: Effect<FetchResponse<Schema.Type<M[K]["success"]>>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
21
|
-
Request: M[K];
|
|
22
|
-
Reponse: Schema.Type<M[K]["success"]>;
|
|
23
|
-
mapPath: string;
|
|
24
|
-
name: string;
|
|
25
|
-
} : {
|
|
26
|
-
handler: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => Effect<FetchResponse<Schema.Type<M[K]["success"]>>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
27
|
-
Request: M[K];
|
|
28
|
-
Reponse: Schema.Type<M[K]["success"]>;
|
|
29
|
-
mapPath: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => string;
|
|
30
|
-
name: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
type RequestHandlersE<R, E, M extends Requests> = {
|
|
34
|
-
[K in keyof M & string as `${K}E`]: IsEmpty<Omit<S.Schema.Type<M[K]>, Cruft>> extends true ? {
|
|
35
|
-
handler: Effect<FetchResponse<Schema.Encoded<M[K]["success"]>>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
36
|
-
Request: M[K];
|
|
37
|
-
Reponse: Schema.Type<M[K]["success"]>;
|
|
38
|
-
mapPath: string;
|
|
39
|
-
name: string;
|
|
40
|
-
} : {
|
|
41
|
-
handler: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => Effect<FetchResponse<Schema.Encoded<M[K]["success"]>>, Schema.Type<M[K]["failure"]> | E, R>;
|
|
42
|
-
Request: M[K];
|
|
43
|
-
Reponse: Schema.Type<M[K]["success"]>;
|
|
44
|
-
mapPath: (req: Omit<S.Schema.Type<M[K]>, Cruft>) => string;
|
|
45
|
-
name: string;
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
export {};
|
|
49
|
-
//# sourceMappingURL=clientFor2.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor2.d.ts","sourceRoot":"","sources":["../../src/client/clientFor2.ts"],"names":[],"mappings":"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"}
|