@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/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @koine/api
|
package/index.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./index.cjs.js').default;
|
package/index.cjs.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var utils = require('@koine/utils');
|
|
6
|
+
|
|
7
|
+
class ApiError extends Error{constructor(e){super(`Request failed with ${e.status} ${e.msg}`),this.name="ApiError",Object.assign(this,e);}}let createApiResultOk=(e={},t)=>({ok:!0,fail:!1,data:e,msg:t||"",status:200});let createApiResultFail=(e={},t,r)=>({fail:!0,data:e,msg:t||"",status:r||404});let apiMethods=["get","post","put","patch","delete"];let createApi=(s,o,a)=>{let{headers:i={},request:l={},throwErr:p,timeout:n=1e4,processReq:c,processRes:u,processErr:f}=a||{};return apiMethods.reduce((a,h)=>(a[h]=async(a,d)=>{let m,$;let{request:g=l,headers:w=i,timeout:E=n,processReq:x,processRes:y=u,processErr:A=f,throwErr:b=p}=d||{},{params:k,json:R,query:N}=d||{},O=`${o}/${a+"".replace(/^\/*/,"")}`,j={method:h.toUpperCase(),...g,headers:{"content-type":"application/json",...w}};if(c){let e=c(h,O,N,R,k,j);O=e[0],N=e[1],R=e[2],k=e[3],j=e[4];}if(x){let e=x(h,O,N,R,k,j);O=e[0],N=e[1],R=e[2],k=e[3],j=e[4];}if(utils.isFullObject(k))for(let e in k)O=O.replace(`{${e}}`,k[e].toString());let q=Number(E);R&&(j.body=JSON.stringify(R)),q>0&&(m=new AbortController,$=setTimeout(()=>m.abort(),q),j.signal=m.signal),N&&(O+=utils.buildUrlQueryString(N));let C=null,v=null,M="";try{C=await fetch(O,j);}catch(e){M=utils.errorToString(e);}if($&&clearTimeout($),C)try{v=y?await y(C,d||{}):await C.json();}catch(e){M=utils.errorToString(e);}if(null===v&&(v=A?await A(M,d||{}):{data:null,msg:M,status:100,fail:!0,ok:!1}),b&&v?.fail)throw v;if("development"===process.env.NODE_ENV){let e=`${v?.status}: api[${s}] ${h.toUpperCase()} ${O}`;v?.ok?console.info(`🟢 ${e}`):console.info(`🔴 ${e}`);}return v},a),{})};
|
|
8
|
+
|
|
9
|
+
exports.ApiError = ApiError;
|
|
10
|
+
exports.apiMethods = apiMethods;
|
|
11
|
+
exports.createApi = createApi;
|
|
12
|
+
exports.createApiResultFail = createApiResultFail;
|
|
13
|
+
exports.createApiResultOk = createApiResultOk;
|
package/index.cjs.mjs
ADDED
package/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export
|
|
1
|
+
/// <reference types="./typings.d.ts" />
|
|
2
|
+
export declare class ApiError<TResponseFail extends Koine.Api.ResponseFail = unknown> extends Error {
|
|
3
|
+
constructor(result: Koine.Api.ResultFail<TResponseFail>);
|
|
4
|
+
}
|
|
5
|
+
export declare let createApiResultOk: <T>(data?: T, msg?: string) => Koine.Api.ResultOk<T>;
|
|
6
|
+
export declare let createApiResultFail: <T>(data?: T, msg?: string, status?: number) => Koine.Api.ResultFail<T>;
|
|
7
|
+
export declare let apiMethods: Koine.Api.RequestMethod[];
|
|
8
|
+
export declare let createApi: <TEndpoints extends Koine.Api.Endpoints>(apiName: string, baseUrl: string, options?: Koine.Api.ClientOptions) => Koine.Api.Client<TEndpoints>;
|
package/index.esm.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { isFullObject, buildUrlQueryString, errorToString } from '@koine/utils';
|
|
2
|
+
|
|
3
|
+
class ApiError extends Error{constructor(e){super(`Request failed with ${e.status} ${e.msg}`),this.name="ApiError",Object.assign(this,e);}}let createApiResultOk=(e={},t)=>({ok:!0,fail:!1,data:e,msg:t||"",status:200});let createApiResultFail=(e={},t,r)=>({fail:!0,data:e,msg:t||"",status:r||404});let apiMethods=["get","post","put","patch","delete"];let createApi=(s,o,a)=>{let{headers:i={},request:l={},throwErr:p,timeout:n=1e4,processReq:c,processRes:u,processErr:f}=a||{};return apiMethods.reduce((a,h)=>(a[h]=async(a,d)=>{let m,$;let{request:g=l,headers:w=i,timeout:E=n,processReq:x,processRes:y=u,processErr:A=f,throwErr:b=p}=d||{},{params:k,json:R,query:N}=d||{},O=`${o}/${a+"".replace(/^\/*/,"")}`,j={method:h.toUpperCase(),...g,headers:{"content-type":"application/json",...w}};if(c){let e=c(h,O,N,R,k,j);O=e[0],N=e[1],R=e[2],k=e[3],j=e[4];}if(x){let e=x(h,O,N,R,k,j);O=e[0],N=e[1],R=e[2],k=e[3],j=e[4];}if(isFullObject(k))for(let e in k)O=O.replace(`{${e}}`,k[e].toString());let q=Number(E);R&&(j.body=JSON.stringify(R)),q>0&&(m=new AbortController,$=setTimeout(()=>m.abort(),q),j.signal=m.signal),N&&(O+=buildUrlQueryString(N));let C=null,v=null,M="";try{C=await fetch(O,j);}catch(e){M=errorToString(e);}if($&&clearTimeout($),C)try{v=y?await y(C,d||{}):await C.json();}catch(e){M=errorToString(e);}if(null===v&&(v=A?await A(M,d||{}):{data:null,msg:M,status:100,fail:!0,ok:!1}),b&&v?.fail)throw v;if("development"===process.env.NODE_ENV){let e=`${v?.status}: api[${s}] ${h.toUpperCase()} ${O}`;v?.ok?console.info(`🟢 ${e}`):console.info(`🔴 ${e}`);}return v},a),{})};
|
|
4
|
+
|
|
5
|
+
export { ApiError, apiMethods, createApi, createApiResultFail, createApiResultOk };
|
package/next.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./next";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./next.cjs.js').default;
|
package/next.cjs.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var server = require('next/server');
|
|
6
|
+
var index = require('./index.cjs.js');
|
|
7
|
+
require('@koine/utils');
|
|
8
|
+
|
|
9
|
+
let nextApiResponse={ok:(o,t)=>server.NextResponse.json(index.createApiResultOk(o,t)),fail:(s,t,n)=>server.NextResponse.json(index.createApiResultFail(s,t,n))};let nextApiResponse12=e=>({ok(o,t){e.status(200).json(index.createApiResultOk(o,t));},fail(s,t,n){e.status(n||404).json(index.createApiResultFail(s,t,n));}});
|
|
10
|
+
|
|
11
|
+
exports.nextApiResponse = nextApiResponse;
|
|
12
|
+
exports.nextApiResponse12 = nextApiResponse12;
|
package/next.cjs.mjs
ADDED
package/next.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="./typings.d.ts" />
|
|
2
|
+
import type { NextApiResponse } from "next";
|
|
3
|
+
import { NextResponse } from "next/server";
|
|
4
|
+
export declare let nextApiResponse: {
|
|
5
|
+
ok<T>(data: T, msg?: string): NextResponse<Koine.Api.ResultOk<T>>;
|
|
6
|
+
fail<T_1>(data: T_1, msg?: string, status?: number): NextResponse<Koine.Api.ResultFail<T_1>>;
|
|
7
|
+
};
|
|
8
|
+
export declare let nextApiResponse12: (nextRes: NextApiResponse) => {
|
|
9
|
+
ok<T>(data: T, msg?: string): void;
|
|
10
|
+
fail<T_1>(data: T_1, msg?: string, status?: number): void;
|
|
11
|
+
};
|
package/next.esm.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NextResponse } from 'next/server';
|
|
2
|
+
import { createApiResultOk, createApiResultFail } from './index.esm.js';
|
|
3
|
+
import '@koine/utils';
|
|
4
|
+
|
|
5
|
+
let nextApiResponse={ok:(o,t)=>NextResponse.json(createApiResultOk(o,t)),fail:(s,t,n)=>NextResponse.json(createApiResultFail(s,t,n))};let nextApiResponse12=e=>({ok(o,t){e.status(200).json(createApiResultOk(o,t));},fail(s,t,n){e.status(n||404).json(createApiResultFail(s,t,n));}});
|
|
6
|
+
|
|
7
|
+
export { nextApiResponse, nextApiResponse12 };
|
package/package.json
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
"name": "@koine/api",
|
|
3
3
|
"sideEffects": false,
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@koine/utils": "2.0.0-beta.
|
|
5
|
+
"@koine/utils": "2.0.0-beta.39"
|
|
6
|
+
},
|
|
7
|
+
"peerDependencies": {
|
|
8
|
+
"next": "^14.0.4",
|
|
9
|
+
"swr": "^2.2.4"
|
|
6
10
|
},
|
|
7
11
|
"peerDependenciesMeta": {
|
|
8
12
|
"next": {
|
|
@@ -12,46 +16,25 @@
|
|
|
12
16
|
"optional": true
|
|
13
17
|
}
|
|
14
18
|
},
|
|
15
|
-
"module": "./index.js",
|
|
16
|
-
"type": "module",
|
|
17
|
-
"main": "./cjs/index.js",
|
|
18
19
|
"exports": {
|
|
20
|
+
"./package.json": "./package.json",
|
|
19
21
|
".": {
|
|
20
|
-
"
|
|
21
|
-
"import": "./index.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
"import": "./createApiResultFail.js"
|
|
34
|
-
},
|
|
35
|
-
"./createApiResultOk": {
|
|
36
|
-
"require": "./cjs/createApiResultOk.js",
|
|
37
|
-
"import": "./createApiResultOk.js"
|
|
38
|
-
},
|
|
39
|
-
"./createSwrApi": {
|
|
40
|
-
"require": "./cjs/createSwrApi.js",
|
|
41
|
-
"import": "./createSwrApi.js"
|
|
42
|
-
},
|
|
43
|
-
"./nextApiResponse": {
|
|
44
|
-
"require": "./cjs/nextApiResponse.js",
|
|
45
|
-
"import": "./nextApiResponse.js"
|
|
46
|
-
},
|
|
47
|
-
"./nextApiResponse12": {
|
|
48
|
-
"require": "./cjs/nextApiResponse12.js",
|
|
49
|
-
"import": "./nextApiResponse12.js"
|
|
22
|
+
"module": "./index.esm.js",
|
|
23
|
+
"import": "./index.cjs.mjs",
|
|
24
|
+
"default": "./index.cjs.js"
|
|
25
|
+
},
|
|
26
|
+
"./next": {
|
|
27
|
+
"module": "./next.esm.js",
|
|
28
|
+
"import": "./next.cjs.mjs",
|
|
29
|
+
"default": "./next.cjs.js"
|
|
30
|
+
},
|
|
31
|
+
"./swr": {
|
|
32
|
+
"module": "./swr.esm.js",
|
|
33
|
+
"import": "./swr.cjs.mjs",
|
|
34
|
+
"default": "./swr.cjs.js"
|
|
50
35
|
}
|
|
51
36
|
},
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
"version": "2.0.0-beta.37"
|
|
37
|
+
"module": "./index.esm.js",
|
|
38
|
+
"main": "./index.cjs.js",
|
|
39
|
+
"version": "2.0.0-beta.39"
|
|
57
40
|
}
|
package/swr.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./swr";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./swr.cjs.js').default;
|
package/swr.cjs.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var r = require('swr');
|
|
6
|
+
var t = require('swr/mutation');
|
|
7
|
+
var utils = require('@koine/utils');
|
|
8
|
+
var index = require('./index.cjs.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var r__default = /*#__PURE__*/_interopDefaultLegacy(r);
|
|
13
|
+
var t__default = /*#__PURE__*/_interopDefaultLegacy(t);
|
|
14
|
+
|
|
15
|
+
let createSwrApi=(...n)=>{let o=index.createApi(...n);return index.apiMethods.forEach(a=>{o[`use${a.charAt(0).toUpperCase()+a.slice(1)}`]=function(i,n,s){if("get"===a){let t=async()=>{let{data:r}=await o[a](i,{...n||{},throwErr:!0});return r};return r__default["default"](s?.when===!1||utils.isFunction(s?.when)&&s?.when()===!1?null:n?[i,n]:[i],t,s)}return t__default["default"](n?[i,n]:i,async(r,t)=>{let e=Array.isArray(r)?r[0]:r,i=Array.isArray(r)?r[1]:{},{ok:n,data:s}=await o[a](e,{...i,...t.arg||{},throwErr:!0});return s},s)};}),o};
|
|
16
|
+
|
|
17
|
+
exports.createSwrApi = createSwrApi;
|
package/swr.cjs.mjs
ADDED
|
@@ -5,11 +5,11 @@ type SWRConfigurationExtended<Data = any, Error = any, Fn extends BareFetcher<an
|
|
|
5
5
|
when?: boolean | (() => boolean);
|
|
6
6
|
};
|
|
7
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
|
|
8
|
+
export declare let createSwrApi: <TEndpoints extends Koine.Api.Endpoints>(apiName: string, baseUrl: string, options?: Koine.Api.ClientOptions | undefined) => Koine.Api.Client<TEndpoints> & {
|
|
9
9
|
useGet: KoineApiMethodHookSWR<"useGet", TEndpoints>;
|
|
10
10
|
usePost: KoineApiMethodHookSWR<"usePost", TEndpoints>;
|
|
11
11
|
usePut: KoineApiMethodHookSWR<"usePut", TEndpoints>;
|
|
12
12
|
usePatch: KoineApiMethodHookSWR<"usePatch", TEndpoints>;
|
|
13
13
|
useDelete: KoineApiMethodHookSWR<"useDelete", TEndpoints>;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
15
|
+
export {};
|
package/swr.esm.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import r from 'swr';
|
|
2
|
+
import t from 'swr/mutation';
|
|
3
|
+
import { isFunction } from '@koine/utils';
|
|
4
|
+
import { createApi, apiMethods } from './index.esm.js';
|
|
5
|
+
|
|
6
|
+
let createSwrApi=(...n)=>{let o=createApi(...n);return apiMethods.forEach(a=>{o[`use${a.charAt(0).toUpperCase()+a.slice(1)}`]=function(i,n,s){if("get"===a){let t=async()=>{let{data:r}=await o[a](i,{...n||{},throwErr:!0});return r};return r(s?.when===!1||isFunction(s?.when)&&s?.when()===!1?null:n?[i,n]:[i],t,s)}return t(n?[i,n]:i,async(r,t)=>{let e=Array.isArray(r)?r[0]:r,i=Array.isArray(r)?r[1]:{},{ok:n,data:s}=await o[a](e,{...i,...t.arg||{},throwErr:!0});return s},s)};}),o};
|
|
7
|
+
|
|
8
|
+
export { createSwrApi };
|
package/ApiError.d.ts
DELETED
package/ApiError.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
var ApiError = (function (_super) {
|
|
3
|
-
__extends(ApiError, _super);
|
|
4
|
-
function ApiError(result) {
|
|
5
|
-
var _this = _super.call(this, "Request failed with ".concat(result.status, " ").concat(result.msg)) || this;
|
|
6
|
-
_this.name = "ApiError";
|
|
7
|
-
Object.assign(_this, result);
|
|
8
|
-
return _this;
|
|
9
|
-
}
|
|
10
|
-
return ApiError;
|
|
11
|
-
}(Error));
|
|
12
|
-
export { ApiError };
|
|
13
|
-
export default ApiError;
|
package/cjs/ApiError.d.ts
DELETED
package/cjs/ApiError.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiError = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var ApiError = (function (_super) {
|
|
6
|
-
tslib_1.__extends(ApiError, _super);
|
|
7
|
-
function ApiError(result) {
|
|
8
|
-
var _this = _super.call(this, "Request failed with ".concat(result.status, " ").concat(result.msg)) || this;
|
|
9
|
-
_this.name = "ApiError";
|
|
10
|
-
Object.assign(_this, result);
|
|
11
|
-
return _this;
|
|
12
|
-
}
|
|
13
|
-
return ApiError;
|
|
14
|
-
}(Error));
|
|
15
|
-
exports.ApiError = ApiError;
|
|
16
|
-
exports.default = ApiError;
|
package/cjs/createApi.d.ts
DELETED
package/cjs/createApi.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createApi = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
|
-
var utils_1 = require("@koine/utils");
|
|
6
|
-
var createApi = function (apiName, baseUrl, options) {
|
|
7
|
-
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;
|
|
8
|
-
return ["get", "post", "put", "patch", "delete"].reduce(function (api, method) {
|
|
9
|
-
api[method] = function (endpoint, options) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
10
|
-
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;
|
|
11
|
-
return tslib_1.__generator(this, function (_j) {
|
|
12
|
-
switch (_j.label) {
|
|
13
|
-
case 0:
|
|
14
|
-
_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;
|
|
15
|
-
_h = options || {}, params = _h.params, json = _h.json, query = _h.query;
|
|
16
|
-
url = "".concat(baseUrl, "/").concat(endpoint + "".replace(/^\/*/, ""));
|
|
17
|
-
requestInit = tslib_1.__assign(tslib_1.__assign({ method: method.toUpperCase() }, request), { headers: tslib_1.__assign({ "content-type": "application/json" }, headers) });
|
|
18
|
-
if (processReqBase) {
|
|
19
|
-
transformed = processReqBase(method, url, query, json, params, requestInit);
|
|
20
|
-
url = transformed[0];
|
|
21
|
-
query = transformed[1];
|
|
22
|
-
json = transformed[2];
|
|
23
|
-
params = transformed[3];
|
|
24
|
-
requestInit = transformed[4];
|
|
25
|
-
}
|
|
26
|
-
if (processReq) {
|
|
27
|
-
transformed = processReq(method, url, query, json, params, requestInit);
|
|
28
|
-
url = transformed[0];
|
|
29
|
-
query = transformed[1];
|
|
30
|
-
json = transformed[2];
|
|
31
|
-
params = transformed[3];
|
|
32
|
-
requestInit = transformed[4];
|
|
33
|
-
}
|
|
34
|
-
if ((0, utils_1.isFullObject)(params)) {
|
|
35
|
-
for (key in params) {
|
|
36
|
-
url = url.replace("{".concat(key, "}"), params[key].toString());
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
timeoutNumber = Number(timeout);
|
|
40
|
-
if (json) {
|
|
41
|
-
requestInit.body = JSON.stringify(json);
|
|
42
|
-
}
|
|
43
|
-
if (timeoutNumber > 0) {
|
|
44
|
-
controller = new AbortController();
|
|
45
|
-
timeoutId = setTimeout(function () { return controller.abort(); }, timeoutNumber);
|
|
46
|
-
requestInit.signal = controller.signal;
|
|
47
|
-
}
|
|
48
|
-
if (query) {
|
|
49
|
-
url += (0, utils_1.buildUrlQueryString)(query);
|
|
50
|
-
}
|
|
51
|
-
response = null;
|
|
52
|
-
result = null;
|
|
53
|
-
msg = "";
|
|
54
|
-
_j.label = 1;
|
|
55
|
-
case 1:
|
|
56
|
-
_j.trys.push([1, 3, , 4]);
|
|
57
|
-
return [4, fetch(url, requestInit)];
|
|
58
|
-
case 2:
|
|
59
|
-
response = _j.sent();
|
|
60
|
-
return [3, 4];
|
|
61
|
-
case 3:
|
|
62
|
-
e_1 = _j.sent();
|
|
63
|
-
msg = (0, utils_1.errorToString)(e_1);
|
|
64
|
-
return [3, 4];
|
|
65
|
-
case 4:
|
|
66
|
-
if (timeoutId) {
|
|
67
|
-
clearTimeout(timeoutId);
|
|
68
|
-
}
|
|
69
|
-
if (!response) return [3, 11];
|
|
70
|
-
_j.label = 5;
|
|
71
|
-
case 5:
|
|
72
|
-
_j.trys.push([5, 10, , 11]);
|
|
73
|
-
if (!processRes) return [3, 7];
|
|
74
|
-
return [4, processRes(response, options || {})];
|
|
75
|
-
case 6:
|
|
76
|
-
result = _j.sent();
|
|
77
|
-
return [3, 9];
|
|
78
|
-
case 7: return [4, response.json()];
|
|
79
|
-
case 8:
|
|
80
|
-
result = _j.sent();
|
|
81
|
-
_j.label = 9;
|
|
82
|
-
case 9: return [3, 11];
|
|
83
|
-
case 10:
|
|
84
|
-
e_2 = _j.sent();
|
|
85
|
-
msg = (0, utils_1.errorToString)(e_2);
|
|
86
|
-
return [3, 11];
|
|
87
|
-
case 11:
|
|
88
|
-
if (!(result === null)) return [3, 14];
|
|
89
|
-
if (!processErr) return [3, 13];
|
|
90
|
-
return [4, processErr(msg, options || {})];
|
|
91
|
-
case 12:
|
|
92
|
-
result = _j.sent();
|
|
93
|
-
return [3, 14];
|
|
94
|
-
case 13:
|
|
95
|
-
result = {
|
|
96
|
-
data: null,
|
|
97
|
-
msg: msg,
|
|
98
|
-
status: 100,
|
|
99
|
-
fail: true,
|
|
100
|
-
ok: false,
|
|
101
|
-
};
|
|
102
|
-
_j.label = 14;
|
|
103
|
-
case 14:
|
|
104
|
-
if (throwErr && (result === null || result === void 0 ? void 0 : result.fail)) {
|
|
105
|
-
throw result;
|
|
106
|
-
}
|
|
107
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
108
|
-
logMsg = "".concat(result === null || result === void 0 ? void 0 : result.status, ": api[").concat(apiName, "] ").concat(method.toUpperCase(), " ").concat(url);
|
|
109
|
-
if (result === null || result === void 0 ? void 0 : result.ok) {
|
|
110
|
-
console.info("\uD83D\uDFE2 ".concat(logMsg));
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
console.info("\uD83D\uDD34 ".concat(logMsg));
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return [2, result];
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}); };
|
|
120
|
-
return api;
|
|
121
|
-
}, {});
|
|
122
|
-
};
|
|
123
|
-
exports.createApi = createApi;
|
|
124
|
-
exports.default = exports.createApi;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createApiResultFail = void 0;
|
|
4
|
-
var createApiResultFail = function (data, msg, status) {
|
|
5
|
-
if (data === void 0) { data = {}; }
|
|
6
|
-
return ({
|
|
7
|
-
fail: true,
|
|
8
|
-
data: data,
|
|
9
|
-
msg: msg || "",
|
|
10
|
-
status: status || 404,
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
exports.createApiResultFail = createApiResultFail;
|
|
14
|
-
exports.default = exports.createApiResultFail;
|
package/cjs/createApiResultOk.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createApiResultOk = void 0;
|
|
4
|
-
var createApiResultOk = function (data, msg) {
|
|
5
|
-
if (data === void 0) { data = {}; }
|
|
6
|
-
return ({
|
|
7
|
-
ok: true,
|
|
8
|
-
fail: false,
|
|
9
|
-
data: data,
|
|
10
|
-
msg: msg || "",
|
|
11
|
-
status: 200,
|
|
12
|
-
});
|
|
13
|
-
};
|
|
14
|
-
exports.createApiResultOk = createApiResultOk;
|
|
15
|
-
exports.default = exports.createApiResultOk;
|
package/cjs/createSwrApi.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
"use client";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.createSwrApi = void 0;
|
|
5
|
-
var tslib_1 = require("tslib");
|
|
6
|
-
var swr_1 = require("swr");
|
|
7
|
-
var mutation_1 = require("swr/mutation");
|
|
8
|
-
var utils_1 = require("@koine/utils");
|
|
9
|
-
var createApi_1 = require("./createApi");
|
|
10
|
-
function createUseApi(api, method) {
|
|
11
|
-
return function useApi(endpoint, options, _config) {
|
|
12
|
-
var _this = this;
|
|
13
|
-
if (method === "get") {
|
|
14
|
-
var fetcher = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
15
|
-
var data;
|
|
16
|
-
return tslib_1.__generator(this, function (_a) {
|
|
17
|
-
switch (_a.label) {
|
|
18
|
-
case 0: return [4, api[method](endpoint, tslib_1.__assign(tslib_1.__assign({}, (options || {})), { throwErr: true }))];
|
|
19
|
-
case 1:
|
|
20
|
-
data = (_a.sent()).data;
|
|
21
|
-
return [2, data];
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
}); };
|
|
25
|
-
var config_1 = _config;
|
|
26
|
-
var shouldNotFetch = (config_1 === null || config_1 === void 0 ? void 0 : config_1.when) === false ||
|
|
27
|
-
((0, utils_1.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);
|
|
28
|
-
return (0, swr_1.default)(shouldNotFetch ? null : options ? [endpoint, options] : [endpoint], fetcher, config_1);
|
|
29
|
-
}
|
|
30
|
-
var config = _config;
|
|
31
|
-
var sender = function (_endpoint, _options) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
32
|
-
var endpoint, options, _a, ok, data;
|
|
33
|
-
return tslib_1.__generator(this, function (_b) {
|
|
34
|
-
switch (_b.label) {
|
|
35
|
-
case 0:
|
|
36
|
-
endpoint = Array.isArray(_endpoint) ? _endpoint[0] : _endpoint;
|
|
37
|
-
options = Array.isArray(_endpoint) ? _endpoint[1] : {};
|
|
38
|
-
return [4, api[method](endpoint, tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, options), (_options.arg || {})), { throwErr: true }))];
|
|
39
|
-
case 1:
|
|
40
|
-
_a = _b.sent(), ok = _a.ok, data = _a.data;
|
|
41
|
-
return [2, ok ? data : data];
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
}); };
|
|
45
|
-
return (0, mutation_1.default)(options ? [endpoint, options] : endpoint, sender, config);
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
var createSwrApi = function () {
|
|
49
|
-
var args = [];
|
|
50
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
51
|
-
args[_i] = arguments[_i];
|
|
52
|
-
}
|
|
53
|
-
var api = createApi_1.default.apply(void 0, tslib_1.__spreadArray([], tslib_1.__read(args), false));
|
|
54
|
-
["get", "post", "put", "patch", "delete"].forEach(function (method) {
|
|
55
|
-
var hookName = "use".concat(method.charAt(0).toUpperCase() + method.slice(1));
|
|
56
|
-
api[hookName] = createUseApi(api, method);
|
|
57
|
-
});
|
|
58
|
-
return api;
|
|
59
|
-
};
|
|
60
|
-
exports.createSwrApi = createSwrApi;
|
|
61
|
-
exports.default = exports.createSwrApi;
|
package/cjs/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { ApiError } from "./ApiError";
|
|
2
|
-
export { createApi } from "./createApi";
|
|
3
|
-
export { createApiResultFail } from "./createApiResultFail";
|
|
4
|
-
export { createApiResultOk } from "./createApiResultOk";
|
|
5
|
-
export { createSwrApi } from "./createSwrApi";
|
|
6
|
-
export { nextApiResponse12 } from "./nextApiResponse12";
|
package/cjs/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nextApiResponse12 = exports.createSwrApi = exports.createApiResultOk = exports.createApiResultFail = exports.createApi = exports.ApiError = void 0;
|
|
4
|
-
var ApiError_1 = require("./ApiError");
|
|
5
|
-
Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return ApiError_1.ApiError; } });
|
|
6
|
-
var createApi_1 = require("./createApi");
|
|
7
|
-
Object.defineProperty(exports, "createApi", { enumerable: true, get: function () { return createApi_1.createApi; } });
|
|
8
|
-
var createApiResultFail_1 = require("./createApiResultFail");
|
|
9
|
-
Object.defineProperty(exports, "createApiResultFail", { enumerable: true, get: function () { return createApiResultFail_1.createApiResultFail; } });
|
|
10
|
-
var createApiResultOk_1 = require("./createApiResultOk");
|
|
11
|
-
Object.defineProperty(exports, "createApiResultOk", { enumerable: true, get: function () { return createApiResultOk_1.createApiResultOk; } });
|
|
12
|
-
var createSwrApi_1 = require("./createSwrApi");
|
|
13
|
-
Object.defineProperty(exports, "createSwrApi", { enumerable: true, get: function () { return createSwrApi_1.createSwrApi; } });
|
|
14
|
-
var nextApiResponse12_1 = require("./nextApiResponse12");
|
|
15
|
-
Object.defineProperty(exports, "nextApiResponse12", { enumerable: true, get: function () { return nextApiResponse12_1.nextApiResponse12; } });
|
package/cjs/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/cjs/nextApiResponse.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nextApiResponse = void 0;
|
|
4
|
-
var server_1 = require("next/server");
|
|
5
|
-
var createApiResultFail_1 = require("./createApiResultFail");
|
|
6
|
-
var createApiResultOk_1 = require("./createApiResultOk");
|
|
7
|
-
exports.nextApiResponse = {
|
|
8
|
-
ok: function (data, msg) {
|
|
9
|
-
return server_1.NextResponse.json((0, createApiResultOk_1.default)(data, msg));
|
|
10
|
-
},
|
|
11
|
-
fail: function (data, msg, status) {
|
|
12
|
-
return server_1.NextResponse.json((0, createApiResultFail_1.default)(data, msg, status));
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
exports.default = exports.nextApiResponse;
|
package/cjs/nextApiResponse12.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.nextApiResponse12 = void 0;
|
|
4
|
-
var createApiResultFail_1 = require("./createApiResultFail");
|
|
5
|
-
var createApiResultOk_1 = require("./createApiResultOk");
|
|
6
|
-
var nextApiResponse12 = function (nextRes) {
|
|
7
|
-
return {
|
|
8
|
-
ok: function (data, msg) {
|
|
9
|
-
nextRes.status(200).json((0, createApiResultOk_1.default)(data, msg));
|
|
10
|
-
},
|
|
11
|
-
fail: function (data, msg, status) {
|
|
12
|
-
nextRes
|
|
13
|
-
.status(status || 404)
|
|
14
|
-
.json((0, createApiResultFail_1.default)(data, msg, status));
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
exports.nextApiResponse12 = nextApiResponse12;
|
|
19
|
-
exports.default = exports.nextApiResponse12;
|
package/cjs/package.json
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@koine/api",
|
|
3
|
-
"sideEffects": false,
|
|
4
|
-
"dependencies": {
|
|
5
|
-
"@koine/utils": "*",
|
|
6
|
-
"swr": "^2.2.4",
|
|
7
|
-
"next": "^14.0.4"
|
|
8
|
-
},
|
|
9
|
-
"peerDependenciesMeta": {
|
|
10
|
-
"next": {
|
|
11
|
-
"optional": true
|
|
12
|
-
},
|
|
13
|
-
"swr": {
|
|
14
|
-
"optional": true
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"main": "./index.js",
|
|
18
|
-
"type": "commonjs"
|
|
19
|
-
}
|
package/createApi.d.ts
DELETED