@koine/api 2.0.0-beta.37 → 2.0.0-beta.39
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/README.md +1 -0
- package/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +13 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +8 -6
- package/index.esm.js +5 -0
- package/next.cjs.d.ts +1 -0
- package/next.cjs.default.js +1 -0
- package/next.cjs.js +12 -0
- package/next.cjs.mjs +2 -0
- package/next.d.ts +11 -0
- package/next.esm.js +7 -0
- package/package.json +22 -39
- package/swr.cjs.d.ts +1 -0
- package/swr.cjs.default.js +1 -0
- package/swr.cjs.js +17 -0
- package/swr.cjs.mjs +2 -0
- package/{cjs/createSwrApi.d.ts → swr.d.ts} +2 -2
- package/swr.esm.js +8 -0
- package/ApiError.d.ts +0 -5
- package/ApiError.js +0 -13
- package/cjs/ApiError.d.ts +0 -5
- package/cjs/ApiError.js +0 -16
- package/cjs/createApi.d.ts +0 -3
- package/cjs/createApi.js +0 -124
- package/cjs/createApiResultFail.d.ts +0 -3
- package/cjs/createApiResultFail.js +0 -14
- package/cjs/createApiResultOk.d.ts +0 -3
- package/cjs/createApiResultOk.js +0 -15
- package/cjs/createSwrApi.js +0 -61
- package/cjs/index.d.ts +0 -6
- package/cjs/index.js +0 -15
- package/cjs/nextApiResponse.d.ts +0 -7
- package/cjs/nextApiResponse.js +0 -15
- package/cjs/nextApiResponse12.d.ts +0 -6
- package/cjs/nextApiResponse12.js +0 -19
- package/cjs/package.json +0 -19
- package/createApi.d.ts +0 -3
- package/createApi.js +0 -120
- package/createApiResultFail.d.ts +0 -3
- package/createApiResultFail.js +0 -10
- package/createApiResultOk.d.ts +0 -3
- package/createApiResultOk.js +0 -11
- package/createSwrApi.d.ts +0 -15
- package/createSwrApi.js +0 -57
- package/index.js +0 -6
- package/nextApiResponse.d.ts +0 -7
- package/nextApiResponse.js +0 -12
- package/nextApiResponse12.d.ts +0 -6
- package/nextApiResponse12.js +0 -15
- package/typings.d.ts +0 -534
package/createApi.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
-
import { buildUrlQueryString, errorToString, isFullObject, } from "@koine/utils";
|
|
3
|
-
export var createApi = function (apiName, baseUrl, options) {
|
|
4
|
-
var _a = options || {}, _b = _a.headers, headersBase = _b === void 0 ? {} : _b, _c = _a.request, requestBase = _c === void 0 ? {} : _c, throwErrBase = _a.throwErr, _d = _a.timeout, timeoutBase = _d === void 0 ? 10000 : _d, processReqBase = _a.processReq, processResBase = _a.processRes, processErrBase = _a.processErr;
|
|
5
|
-
return ["get", "post", "put", "patch", "delete"].reduce(function (api, method) {
|
|
6
|
-
api[method] = function (endpoint, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7
|
-
var _a, _b, request, _c, headers, _d, timeout, processReq, _e, processRes, _f, processErr, _g, throwErr, _h, params, json, query, url, requestInit, transformed, transformed, key, timeoutNumber, controller, timeoutId, response, result, msg, e_1, e_2, logMsg;
|
|
8
|
-
return __generator(this, function (_j) {
|
|
9
|
-
switch (_j.label) {
|
|
10
|
-
case 0:
|
|
11
|
-
_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.processErr, processErr = _f === void 0 ? processErrBase : _f, _g = _a.throwErr, throwErr = _g === void 0 ? throwErrBase : _g;
|
|
12
|
-
_h = options || {}, params = _h.params, json = _h.json, query = _h.query;
|
|
13
|
-
url = "".concat(baseUrl, "/").concat(endpoint + "".replace(/^\/*/, ""));
|
|
14
|
-
requestInit = __assign(__assign({ method: method.toUpperCase() }, request), { headers: __assign({ "content-type": "application/json" }, headers) });
|
|
15
|
-
if (processReqBase) {
|
|
16
|
-
transformed = processReqBase(method, url, query, json, params, requestInit);
|
|
17
|
-
url = transformed[0];
|
|
18
|
-
query = transformed[1];
|
|
19
|
-
json = transformed[2];
|
|
20
|
-
params = transformed[3];
|
|
21
|
-
requestInit = transformed[4];
|
|
22
|
-
}
|
|
23
|
-
if (processReq) {
|
|
24
|
-
transformed = processReq(method, url, query, json, params, requestInit);
|
|
25
|
-
url = transformed[0];
|
|
26
|
-
query = transformed[1];
|
|
27
|
-
json = transformed[2];
|
|
28
|
-
params = transformed[3];
|
|
29
|
-
requestInit = transformed[4];
|
|
30
|
-
}
|
|
31
|
-
if (isFullObject(params)) {
|
|
32
|
-
for (key in params) {
|
|
33
|
-
url = url.replace("{".concat(key, "}"), params[key].toString());
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
timeoutNumber = Number(timeout);
|
|
37
|
-
if (json) {
|
|
38
|
-
requestInit.body = JSON.stringify(json);
|
|
39
|
-
}
|
|
40
|
-
if (timeoutNumber > 0) {
|
|
41
|
-
controller = new AbortController();
|
|
42
|
-
timeoutId = setTimeout(function () { return controller.abort(); }, timeoutNumber);
|
|
43
|
-
requestInit.signal = controller.signal;
|
|
44
|
-
}
|
|
45
|
-
if (query) {
|
|
46
|
-
url += buildUrlQueryString(query);
|
|
47
|
-
}
|
|
48
|
-
response = null;
|
|
49
|
-
result = null;
|
|
50
|
-
msg = "";
|
|
51
|
-
_j.label = 1;
|
|
52
|
-
case 1:
|
|
53
|
-
_j.trys.push([1, 3, , 4]);
|
|
54
|
-
return [4, fetch(url, requestInit)];
|
|
55
|
-
case 2:
|
|
56
|
-
response = _j.sent();
|
|
57
|
-
return [3, 4];
|
|
58
|
-
case 3:
|
|
59
|
-
e_1 = _j.sent();
|
|
60
|
-
msg = errorToString(e_1);
|
|
61
|
-
return [3, 4];
|
|
62
|
-
case 4:
|
|
63
|
-
if (timeoutId) {
|
|
64
|
-
clearTimeout(timeoutId);
|
|
65
|
-
}
|
|
66
|
-
if (!response) return [3, 11];
|
|
67
|
-
_j.label = 5;
|
|
68
|
-
case 5:
|
|
69
|
-
_j.trys.push([5, 10, , 11]);
|
|
70
|
-
if (!processRes) return [3, 7];
|
|
71
|
-
return [4, processRes(response, options || {})];
|
|
72
|
-
case 6:
|
|
73
|
-
result = _j.sent();
|
|
74
|
-
return [3, 9];
|
|
75
|
-
case 7: return [4, response.json()];
|
|
76
|
-
case 8:
|
|
77
|
-
result = _j.sent();
|
|
78
|
-
_j.label = 9;
|
|
79
|
-
case 9: return [3, 11];
|
|
80
|
-
case 10:
|
|
81
|
-
e_2 = _j.sent();
|
|
82
|
-
msg = errorToString(e_2);
|
|
83
|
-
return [3, 11];
|
|
84
|
-
case 11:
|
|
85
|
-
if (!(result === null)) return [3, 14];
|
|
86
|
-
if (!processErr) return [3, 13];
|
|
87
|
-
return [4, processErr(msg, options || {})];
|
|
88
|
-
case 12:
|
|
89
|
-
result = _j.sent();
|
|
90
|
-
return [3, 14];
|
|
91
|
-
case 13:
|
|
92
|
-
result = {
|
|
93
|
-
data: null,
|
|
94
|
-
msg: msg,
|
|
95
|
-
status: 100,
|
|
96
|
-
fail: true,
|
|
97
|
-
ok: false,
|
|
98
|
-
};
|
|
99
|
-
_j.label = 14;
|
|
100
|
-
case 14:
|
|
101
|
-
if (throwErr && (result === null || result === void 0 ? void 0 : result.fail)) {
|
|
102
|
-
throw result;
|
|
103
|
-
}
|
|
104
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
105
|
-
logMsg = "".concat(result === null || result === void 0 ? void 0 : result.status, ": api[").concat(apiName, "] ").concat(method.toUpperCase(), " ").concat(url);
|
|
106
|
-
if (result === null || result === void 0 ? void 0 : result.ok) {
|
|
107
|
-
console.info("\uD83D\uDFE2 ".concat(logMsg));
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
console.info("\uD83D\uDD34 ".concat(logMsg));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return [2, result];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}); };
|
|
117
|
-
return api;
|
|
118
|
-
}, {});
|
|
119
|
-
};
|
|
120
|
-
export default createApi;
|
package/createApiResultFail.d.ts
DELETED
package/createApiResultFail.js
DELETED
package/createApiResultOk.d.ts
DELETED
package/createApiResultOk.js
DELETED
package/createSwrApi.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="./typings.d.ts" />
|
|
2
|
-
import { type BareFetcher, type SWRConfiguration, type SWRResponse } from "swr";
|
|
3
|
-
import { type SWRMutationConfiguration, type SWRMutationResponse } from "swr/mutation";
|
|
4
|
-
type SWRConfigurationExtended<Data = any, Error = any, Fn extends BareFetcher<any> = BareFetcher<any>> = SWRConfiguration<Data, Error, Fn> & {
|
|
5
|
-
when?: boolean | (() => boolean);
|
|
6
|
-
};
|
|
7
|
-
type KoineApiMethodHookSWR<THookName extends keyof Koine.Api.HooksMapsByName, TEndpoints extends Koine.Api.Endpoints> = <TEndpoint extends Koine.Api.EndpointUrl<TEndpoints>, TMethod extends Koine.Api.RequestMethod = Koine.Api.HooksMapsByName[THookName]>(endpoint: TEndpoint, options?: Koine.Api.EndpointOptions<TEndpoints, TEndpoint, TMethod>, config?: THookName extends "useGet" ? SWRConfigurationExtended<Koine.Api.EndpointResponseOk<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointResponseFail<TEndpoints, TEndpoint, TMethod>> : SWRMutationConfiguration<Koine.Api.EndpointResponseOk<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointResponseFail<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointOptions<TEndpoints, TEndpoint, TMethod>, TEndpoint>) => THookName extends "useGet" ? SWRResponse<Koine.Api.EndpointResponseOk<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointResponseFail<TEndpoints, TEndpoint, TMethod>> : SWRMutationResponse<Koine.Api.EndpointResponseOk<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointResponseFail<TEndpoints, TEndpoint, TMethod>, Koine.Api.EndpointOptions<TEndpoints, TEndpoint, TMethod>, TEndpoint>;
|
|
8
|
-
export declare const createSwrApi: <TEndpoints extends Koine.Api.Endpoints>(apiName: string, baseUrl: string, options?: Koine.Api.ClientOptions | undefined) => Koine.Api.Client<TEndpoints> & {
|
|
9
|
-
useGet: KoineApiMethodHookSWR<"useGet", TEndpoints>;
|
|
10
|
-
usePost: KoineApiMethodHookSWR<"usePost", TEndpoints>;
|
|
11
|
-
usePut: KoineApiMethodHookSWR<"usePut", TEndpoints>;
|
|
12
|
-
usePatch: KoineApiMethodHookSWR<"usePatch", TEndpoints>;
|
|
13
|
-
useDelete: KoineApiMethodHookSWR<"useDelete", TEndpoints>;
|
|
14
|
-
};
|
|
15
|
-
export default createSwrApi;
|
package/createSwrApi.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { __assign, __awaiter, __generator, __read, __spreadArray } from "tslib";
|
|
3
|
-
import useSWR from "swr";
|
|
4
|
-
import useSWRMutation from "swr/mutation";
|
|
5
|
-
import { isFunction } from "@koine/utils";
|
|
6
|
-
import createApi from "./createApi.js";
|
|
7
|
-
function createUseApi(api, method) {
|
|
8
|
-
return function useApi(endpoint, options, _config) {
|
|
9
|
-
var _this = this;
|
|
10
|
-
if (method === "get") {
|
|
11
|
-
var fetcher = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
12
|
-
var data;
|
|
13
|
-
return __generator(this, function (_a) {
|
|
14
|
-
switch (_a.label) {
|
|
15
|
-
case 0: return [4, api[method](endpoint, __assign(__assign({}, (options || {})), { throwErr: true }))];
|
|
16
|
-
case 1:
|
|
17
|
-
data = (_a.sent()).data;
|
|
18
|
-
return [2, data];
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}); };
|
|
22
|
-
var config_1 = _config;
|
|
23
|
-
var shouldNotFetch = (config_1 === null || config_1 === void 0 ? void 0 : config_1.when) === false ||
|
|
24
|
-
(isFunction(config_1 === null || config_1 === void 0 ? void 0 : config_1.when) && (config_1 === null || config_1 === void 0 ? void 0 : config_1.when()) === false);
|
|
25
|
-
return useSWR(shouldNotFetch ? null : options ? [endpoint, options] : [endpoint], fetcher, config_1);
|
|
26
|
-
}
|
|
27
|
-
var config = _config;
|
|
28
|
-
var sender = function (_endpoint, _options) { return __awaiter(_this, void 0, void 0, function () {
|
|
29
|
-
var endpoint, options, _a, ok, data;
|
|
30
|
-
return __generator(this, function (_b) {
|
|
31
|
-
switch (_b.label) {
|
|
32
|
-
case 0:
|
|
33
|
-
endpoint = Array.isArray(_endpoint) ? _endpoint[0] : _endpoint;
|
|
34
|
-
options = Array.isArray(_endpoint) ? _endpoint[1] : {};
|
|
35
|
-
return [4, api[method](endpoint, __assign(__assign(__assign({}, options), (_options.arg || {})), { throwErr: true }))];
|
|
36
|
-
case 1:
|
|
37
|
-
_a = _b.sent(), ok = _a.ok, data = _a.data;
|
|
38
|
-
return [2, ok ? data : data];
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}); };
|
|
42
|
-
return useSWRMutation(options ? [endpoint, options] : endpoint, sender, config);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export var createSwrApi = function () {
|
|
46
|
-
var args = [];
|
|
47
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
48
|
-
args[_i] = arguments[_i];
|
|
49
|
-
}
|
|
50
|
-
var api = createApi.apply(void 0, __spreadArray([], __read(args), false));
|
|
51
|
-
["get", "post", "put", "patch", "delete"].forEach(function (method) {
|
|
52
|
-
var hookName = "use".concat(method.charAt(0).toUpperCase() + method.slice(1));
|
|
53
|
-
api[hookName] = createUseApi(api, method);
|
|
54
|
-
});
|
|
55
|
-
return api;
|
|
56
|
-
};
|
|
57
|
-
export default createSwrApi;
|
package/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { ApiError } from "./ApiError.js";
|
|
2
|
-
export { createApi } from "./createApi.js";
|
|
3
|
-
export { createApiResultFail } from "./createApiResultFail.js";
|
|
4
|
-
export { createApiResultOk } from "./createApiResultOk.js";
|
|
5
|
-
export { createSwrApi } from "./createSwrApi.js";
|
|
6
|
-
export { nextApiResponse12 } from "./nextApiResponse12.js";
|
package/nextApiResponse.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/// <reference types="./typings.d.ts" />
|
|
2
|
-
import { NextResponse } from "next/server";
|
|
3
|
-
export declare const nextApiResponse: {
|
|
4
|
-
ok<T>(data: T, msg?: string): NextResponse<Koine.Api.ResultOk<T>>;
|
|
5
|
-
fail<T_1>(data: T_1, msg?: string, status?: number): NextResponse<Koine.Api.ResultFail<T_1>>;
|
|
6
|
-
};
|
|
7
|
-
export default nextApiResponse;
|
package/nextApiResponse.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server";
|
|
2
|
-
import createApiResultFail from "./createApiResultFail.js";
|
|
3
|
-
import createApiResultOk from "./createApiResultOk.js";
|
|
4
|
-
export var nextApiResponse = {
|
|
5
|
-
ok: function (data, msg) {
|
|
6
|
-
return NextResponse.json(createApiResultOk(data, msg));
|
|
7
|
-
},
|
|
8
|
-
fail: function (data, msg, status) {
|
|
9
|
-
return NextResponse.json(createApiResultFail(data, msg, status));
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
export default nextApiResponse;
|
package/nextApiResponse12.d.ts
DELETED
package/nextApiResponse12.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import createApiResultFail from "./createApiResultFail.js";
|
|
2
|
-
import createApiResultOk from "./createApiResultOk.js";
|
|
3
|
-
export var nextApiResponse12 = function (nextRes) {
|
|
4
|
-
return {
|
|
5
|
-
ok: function (data, msg) {
|
|
6
|
-
nextRes.status(200).json(createApiResultOk(data, msg));
|
|
7
|
-
},
|
|
8
|
-
fail: function (data, msg, status) {
|
|
9
|
-
nextRes
|
|
10
|
-
.status(status || 404)
|
|
11
|
-
.json(createApiResultFail(data, msg, status));
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
export default nextApiResponse12;
|