@koine/api 1.0.54 → 1.0.57

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/createApi.js CHANGED
@@ -17,14 +17,22 @@ export var createApi = function (apiName, baseUrl, options) {
17
17
  return ["get", "post", "put", "patch", "delete"].reduce(function (api, method) {
18
18
  // @ts-expect-error FIXME: type
19
19
  api[method] = function (endpoint, options) { return __awaiter(void 0, void 0, void 0, function () {
20
- var _a, _b, request, _c, headers, _d, timeout, _e, processReq, _f, processRes, _g, exception, _h, params, json, query, url, requestInit, transformed, key, timeoutNumber, controller, timeoutId, response, e_1, result, e_2, msg;
21
- return __generator(this, function (_j) {
22
- switch (_j.label) {
20
+ var _a, _b, request, _c, headers, _d, timeout, processReq, _e, processRes, _f, exception, _g, params, json, query, url, requestInit, transformed, transformed, key, timeoutNumber, controller, timeoutId, response, e_1, result, e_2, msg;
21
+ return __generator(this, function (_h) {
22
+ switch (_h.label) {
23
23
  case 0:
24
- _a = options || {}, _b = _a.request, request = _b === void 0 ? requestBase : _b, _c = _a.headers, headers = _c === void 0 ? headersBase : _c, _d = _a.timeout, timeout = _d === void 0 ? timeoutBase : _d, _e = _a.processReq, processReq = _e === void 0 ? processReqBase : _e, _f = _a.processRes, processRes = _f === void 0 ? processResBase : _f, _g = _a.exception, exception = _g === void 0 ? exceptionBase : _g;
25
- _h = options || {}, params = _h.params, json = _h.json, query = _h.query;
24
+ _a = options || {}, _b = _a.request, request = _b === void 0 ? requestBase : _b, _c = _a.headers, headers = _c === void 0 ? headersBase : _c, _d = _a.timeout, timeout = _d === void 0 ? timeoutBase : _d, processReq = _a.processReq, _e = _a.processRes, processRes = _e === void 0 ? processResBase : _e, _f = _a.exception, exception = _f === void 0 ? exceptionBase : _f;
25
+ _g = options || {}, params = _g.params, json = _g.json, query = _g.query;
26
26
  url = "".concat(baseUrl, "/").concat(endpoint + "".replace(/^\/*/, ""));
27
27
  requestInit = __assign(__assign({ method: method.toUpperCase() }, request), { headers: __assign({ "content-type": "application/json" }, headers) });
28
+ if (processReqBase) {
29
+ transformed = processReqBase(method, url, query, json, params, requestInit);
30
+ url = transformed[0];
31
+ query = transformed[1];
32
+ json = transformed[2];
33
+ params = transformed[3];
34
+ requestInit = transformed[4];
35
+ }
28
36
  if (processReq) {
29
37
  transformed = processReq(method, url, query, json, params, requestInit);
30
38
  url = transformed[0];
@@ -35,7 +43,7 @@ export var createApi = function (apiName, baseUrl, options) {
35
43
  }
36
44
  if (isFullObject(params)) {
37
45
  for (key in params) {
38
- endpoint = endpoint.replace("{".concat(key, "}"), params[key].toString());
46
+ url = url.replace("{".concat(key, "}"), params[key].toString());
39
47
  }
40
48
  }
41
49
  timeoutNumber = Number(timeout);
@@ -52,42 +60,42 @@ export var createApi = function (apiName, baseUrl, options) {
52
60
  url += buildUrlQueryString(query);
53
61
  }
54
62
  if (!exception) return [3 /*break*/, 5];
55
- _j.label = 1;
63
+ _h.label = 1;
56
64
  case 1:
57
- _j.trys.push([1, 3, , 4]);
65
+ _h.trys.push([1, 3, , 4]);
58
66
  return [4 /*yield*/, fetch(url, requestInit)];
59
67
  case 2:
60
- response = _j.sent();
68
+ response = _h.sent();
61
69
  return [3 /*break*/, 4];
62
70
  case 3:
63
- e_1 = _j.sent();
71
+ e_1 = _h.sent();
64
72
  // eslint-disable-next-line no-throw-literal
65
73
  throw { e: e_1 };
66
74
  case 4: return [3 /*break*/, 7];
67
75
  case 5: return [4 /*yield*/, fetch(url, requestInit)];
68
76
  case 6:
69
- response = _j.sent();
70
- _j.label = 7;
77
+ response = _h.sent();
78
+ _h.label = 7;
71
79
  case 7:
72
80
  if (timeoutId) {
73
81
  clearTimeout(timeoutId);
74
82
  }
75
83
  if (!exception) return [3 /*break*/, 15];
76
- _j.label = 8;
84
+ _h.label = 8;
77
85
  case 8:
78
- _j.trys.push([8, 13, , 14]);
86
+ _h.trys.push([8, 13, , 14]);
79
87
  if (!processRes) return [3 /*break*/, 10];
80
88
  return [4 /*yield*/, processRes(response, options || {})];
81
89
  case 9:
82
- result = _j.sent();
90
+ result = _h.sent();
83
91
  return [3 /*break*/, 12];
84
92
  case 10: return [4 /*yield*/, response.json()];
85
93
  case 11:
86
- result = _j.sent();
87
- _j.label = 12;
94
+ result = _h.sent();
95
+ _h.label = 12;
88
96
  case 12: return [3 /*break*/, 14];
89
97
  case 13:
90
- e_2 = _j.sent();
98
+ e_2 = _h.sent();
91
99
  // eslint-disable-next-line no-throw-literal
92
100
  throw { e: e_2 };
93
101
  case 14: return [3 /*break*/, 19];
@@ -95,12 +103,12 @@ export var createApi = function (apiName, baseUrl, options) {
95
103
  if (!processRes) return [3 /*break*/, 17];
96
104
  return [4 /*yield*/, processRes(response, options || {})];
97
105
  case 16:
98
- result = _j.sent();
106
+ result = _h.sent();
99
107
  return [3 /*break*/, 19];
100
108
  case 17: return [4 /*yield*/, response.json()];
101
109
  case 18:
102
- result = _j.sent();
103
- _j.label = 19;
110
+ result = _h.sent();
111
+ _h.label = 19;
104
112
  case 19:
105
113
  if (exception && result.fail) {
106
114
  // throw new ApiError<Failed>(result);
package/node/createApi.js CHANGED
@@ -20,14 +20,22 @@ var createApi = function (apiName, baseUrl, options) {
20
20
  return ["get", "post", "put", "patch", "delete"].reduce(function (api, method) {
21
21
  // @ts-expect-error FIXME: type
22
22
  api[method] = function (endpoint, options) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
23
- var _a, _b, request, _c, headers, _d, timeout, _e, processReq, _f, processRes, _g, exception, _h, params, json, query, url, requestInit, transformed, key, timeoutNumber, controller, timeoutId, response, e_1, result, e_2, msg;
24
- return tslib_1.__generator(this, function (_j) {
25
- switch (_j.label) {
23
+ var _a, _b, request, _c, headers, _d, timeout, processReq, _e, processRes, _f, exception, _g, params, json, query, url, requestInit, transformed, transformed, key, timeoutNumber, controller, timeoutId, response, e_1, result, e_2, msg;
24
+ return tslib_1.__generator(this, function (_h) {
25
+ switch (_h.label) {
26
26
  case 0:
27
- _a = options || {}, _b = _a.request, request = _b === void 0 ? requestBase : _b, _c = _a.headers, headers = _c === void 0 ? headersBase : _c, _d = _a.timeout, timeout = _d === void 0 ? timeoutBase : _d, _e = _a.processReq, processReq = _e === void 0 ? processReqBase : _e, _f = _a.processRes, processRes = _f === void 0 ? processResBase : _f, _g = _a.exception, exception = _g === void 0 ? exceptionBase : _g;
28
- _h = options || {}, params = _h.params, json = _h.json, query = _h.query;
27
+ _a = options || {}, _b = _a.request, request = _b === void 0 ? requestBase : _b, _c = _a.headers, headers = _c === void 0 ? headersBase : _c, _d = _a.timeout, timeout = _d === void 0 ? timeoutBase : _d, processReq = _a.processReq, _e = _a.processRes, processRes = _e === void 0 ? processResBase : _e, _f = _a.exception, exception = _f === void 0 ? exceptionBase : _f;
28
+ _g = options || {}, params = _g.params, json = _g.json, query = _g.query;
29
29
  url = "".concat(baseUrl, "/").concat(endpoint + "".replace(/^\/*/, ""));
30
30
  requestInit = tslib_1.__assign(tslib_1.__assign({ method: method.toUpperCase() }, request), { headers: tslib_1.__assign({ "content-type": "application/json" }, headers) });
31
+ if (processReqBase) {
32
+ transformed = processReqBase(method, url, query, json, params, requestInit);
33
+ url = transformed[0];
34
+ query = transformed[1];
35
+ json = transformed[2];
36
+ params = transformed[3];
37
+ requestInit = transformed[4];
38
+ }
31
39
  if (processReq) {
32
40
  transformed = processReq(method, url, query, json, params, requestInit);
33
41
  url = transformed[0];
@@ -38,7 +46,7 @@ var createApi = function (apiName, baseUrl, options) {
38
46
  }
39
47
  if ((0, utils_1.isFullObject)(params)) {
40
48
  for (key in params) {
41
- endpoint = endpoint.replace("{".concat(key, "}"), params[key].toString());
49
+ url = url.replace("{".concat(key, "}"), params[key].toString());
42
50
  }
43
51
  }
44
52
  timeoutNumber = Number(timeout);
@@ -55,42 +63,42 @@ var createApi = function (apiName, baseUrl, options) {
55
63
  url += (0, utils_1.buildUrlQueryString)(query);
56
64
  }
57
65
  if (!exception) return [3 /*break*/, 5];
58
- _j.label = 1;
66
+ _h.label = 1;
59
67
  case 1:
60
- _j.trys.push([1, 3, , 4]);
68
+ _h.trys.push([1, 3, , 4]);
61
69
  return [4 /*yield*/, fetch(url, requestInit)];
62
70
  case 2:
63
- response = _j.sent();
71
+ response = _h.sent();
64
72
  return [3 /*break*/, 4];
65
73
  case 3:
66
- e_1 = _j.sent();
74
+ e_1 = _h.sent();
67
75
  // eslint-disable-next-line no-throw-literal
68
76
  throw { e: e_1 };
69
77
  case 4: return [3 /*break*/, 7];
70
78
  case 5: return [4 /*yield*/, fetch(url, requestInit)];
71
79
  case 6:
72
- response = _j.sent();
73
- _j.label = 7;
80
+ response = _h.sent();
81
+ _h.label = 7;
74
82
  case 7:
75
83
  if (timeoutId) {
76
84
  clearTimeout(timeoutId);
77
85
  }
78
86
  if (!exception) return [3 /*break*/, 15];
79
- _j.label = 8;
87
+ _h.label = 8;
80
88
  case 8:
81
- _j.trys.push([8, 13, , 14]);
89
+ _h.trys.push([8, 13, , 14]);
82
90
  if (!processRes) return [3 /*break*/, 10];
83
91
  return [4 /*yield*/, processRes(response, options || {})];
84
92
  case 9:
85
- result = _j.sent();
93
+ result = _h.sent();
86
94
  return [3 /*break*/, 12];
87
95
  case 10: return [4 /*yield*/, response.json()];
88
96
  case 11:
89
- result = _j.sent();
90
- _j.label = 12;
97
+ result = _h.sent();
98
+ _h.label = 12;
91
99
  case 12: return [3 /*break*/, 14];
92
100
  case 13:
93
- e_2 = _j.sent();
101
+ e_2 = _h.sent();
94
102
  // eslint-disable-next-line no-throw-literal
95
103
  throw { e: e_2 };
96
104
  case 14: return [3 /*break*/, 19];
@@ -98,12 +106,12 @@ var createApi = function (apiName, baseUrl, options) {
98
106
  if (!processRes) return [3 /*break*/, 17];
99
107
  return [4 /*yield*/, processRes(response, options || {})];
100
108
  case 16:
101
- result = _j.sent();
109
+ result = _h.sent();
102
110
  return [3 /*break*/, 19];
103
111
  case 17: return [4 /*yield*/, response.json()];
104
112
  case 18:
105
- result = _j.sent();
106
- _j.label = 19;
113
+ result = _h.sent();
114
+ _h.label = 19;
107
115
  case 19:
108
116
  if (exception && result.fail) {
109
117
  // throw new ApiError<Failed>(result);
package/package.json CHANGED
@@ -5,12 +5,12 @@
5
5
  "typings": "./index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@koine/utils": "1.0.54",
8
+ "@koine/utils": "1.0.57",
9
9
  "swr": "^2.0.0-beta.6",
10
10
  "next": "^12.2.0",
11
11
  "tslib": "^2.4.0"
12
12
  },
13
- "version": "1.0.54",
13
+ "version": "1.0.57",
14
14
  "module": "./index.js",
15
15
  "types": "./index.d.ts"
16
16
  }
package/typings.d.ts CHANGED
@@ -347,7 +347,10 @@ declare namespace Koine.Api {
347
347
 
348
348
  /**
349
349
  * The request processor at the request level, this is meant to apply
350
- * transformations to a single endpoint request
350
+ * transformations to a single endpoint request. Request processor applied at
351
+ * the whole client level is still applied just before this one, hence one
352
+ * might set some global processing and override it or undo it at the single
353
+ * request level.
351
354
  */
352
355
  type EndpointRequestProcessor<
353
356
  TEndpoints extends Endpoints,