@randajan/api-kit 1.1.1 → 2.0.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/LICENSE +22 -0
- package/README.md +36 -9
- package/dist/cjs/client/index.cjs +167 -70
- package/dist/cjs/client/index.cjs.map +4 -4
- package/dist/cjs/index.cjs +172 -71
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/cjs/server/index.cjs +30 -13
- package/dist/cjs/server/index.cjs.map +2 -2
- package/dist/esm/{chunk-7BZD3LXK.js → chunk-72RXZFQZ.js} +7 -3
- package/dist/esm/{chunk-7BZD3LXK.js.map → chunk-72RXZFQZ.js.map} +2 -2
- package/dist/esm/{chunk-SH4YE24H.js → chunk-7K2N7A5V.js} +33 -13
- package/dist/esm/chunk-7K2N7A5V.js.map +7 -0
- package/dist/esm/chunk-CYUBH2V3.js +280 -0
- package/dist/esm/chunk-CYUBH2V3.js.map +7 -0
- package/dist/esm/client/index.mjs +2 -2
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/server/index.mjs +2 -2
- package/package.json +3 -2
- package/dist/esm/chunk-NBHSDY72.js +0 -195
- package/dist/esm/chunk-NBHSDY72.js.map +0 -7
- package/dist/esm/chunk-SH4YE24H.js.map +0 -7
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ApiError,
|
|
3
|
-
Functionable,
|
|
4
|
-
configTrait,
|
|
5
|
-
createTrait,
|
|
6
|
-
diffVersion,
|
|
7
|
-
end,
|
|
8
|
-
info_default,
|
|
9
|
-
isFn,
|
|
10
|
-
mrgObj,
|
|
11
|
-
mrgStr,
|
|
12
|
-
start
|
|
13
|
-
} from "./chunk-SH4YE24H.js";
|
|
14
|
-
|
|
15
|
-
// src/client/class/static.js
|
|
16
|
-
import { solid } from "@randajan/props";
|
|
17
|
-
|
|
18
|
-
// src/arc/url.js
|
|
19
|
-
var _regexp = /^https?:\/\//i;
|
|
20
|
-
var buildUrl = (inputUrl, params) => {
|
|
21
|
-
if (!params) {
|
|
22
|
-
return inputUrl;
|
|
23
|
-
}
|
|
24
|
-
const hasHost = _regexp.test(inputUrl);
|
|
25
|
-
const url = new URL(inputUrl, hasHost ? void 0 : "http://thisisonlyplaceholder.xyz");
|
|
26
|
-
url.hash = "";
|
|
27
|
-
for (const [key, value] of Object.entries(params)) {
|
|
28
|
-
if (value != null) {
|
|
29
|
-
url.searchParams.append(key, value);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
;
|
|
33
|
-
return hasHost ? url.toString() : url.pathname + url.search;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// src/client/class/static.js
|
|
37
|
-
var prepareOpt = (url, opt, method) => {
|
|
38
|
-
start(opt);
|
|
39
|
-
opt.url = buildUrl(mrgStr(opt.url, url), opt.query);
|
|
40
|
-
if (method) {
|
|
41
|
-
opt.method = method;
|
|
42
|
-
}
|
|
43
|
-
opt.headers["Accept"] = "application/json";
|
|
44
|
-
if (opt.body) {
|
|
45
|
-
opt.headers["Content-Type"] = "application/json";
|
|
46
|
-
opt.body = JSON.stringify(opt.body);
|
|
47
|
-
}
|
|
48
|
-
const hasTimeout = opt.timeout > 0;
|
|
49
|
-
if (opt.abortable || hasTimeout) {
|
|
50
|
-
opt.abortController = new AbortController();
|
|
51
|
-
opt.signal = opt.abortController.signal;
|
|
52
|
-
}
|
|
53
|
-
if (hasTimeout) {
|
|
54
|
-
opt.timeoutId = setTimeout(() => opt.abortController?.abort(new ApiError(1, "Timeout")), opt.timeout);
|
|
55
|
-
}
|
|
56
|
-
if (isFn(opt.trait)) {
|
|
57
|
-
opt = opt.trait(opt) || opt;
|
|
58
|
-
}
|
|
59
|
-
return opt;
|
|
60
|
-
};
|
|
61
|
-
var localReject = (opt, error, http) => {
|
|
62
|
-
const { code } = error;
|
|
63
|
-
if (code == 0) {
|
|
64
|
-
http = 503;
|
|
65
|
-
} else if (code == 1) {
|
|
66
|
-
http = 408;
|
|
67
|
-
} else if (code == 2) {
|
|
68
|
-
http = 499;
|
|
69
|
-
} else if (code == 3) {
|
|
70
|
-
http = 415;
|
|
71
|
-
} else if (!http) {
|
|
72
|
-
http = 400;
|
|
73
|
-
}
|
|
74
|
-
error.rise(0).rise(opt.code || 0);
|
|
75
|
-
return end({ ok: false, http, error }, opt);
|
|
76
|
-
};
|
|
77
|
-
var fetchExe = async (_fetch, opt) => {
|
|
78
|
-
let resp, raw, body;
|
|
79
|
-
try {
|
|
80
|
-
resp = await _fetch(opt.url, opt);
|
|
81
|
-
} catch (err) {
|
|
82
|
-
return localReject(opt, ApiError.is(err) ? err : ApiError.to(0, "Failed"));
|
|
83
|
-
}
|
|
84
|
-
const { ok, status, headers, statusText } = resp;
|
|
85
|
-
try {
|
|
86
|
-
raw = await resp.json();
|
|
87
|
-
} catch {
|
|
88
|
-
return localReject(opt, new ApiError(ok ? 3 : 4, ok ? "Unreadable" : statusText || status), status);
|
|
89
|
-
}
|
|
90
|
-
const apv = raw[info_default.name];
|
|
91
|
-
if (apv) {
|
|
92
|
-
body = raw;
|
|
93
|
-
const diff = diffVersion(apv);
|
|
94
|
-
const msg = `Detected @randajan/api-kit ${diff} version difference at '${opt.url}'. Server '${apv}' vs. client '${info_default.version}'`;
|
|
95
|
-
if (diff === "major") {
|
|
96
|
-
console.error(msg);
|
|
97
|
-
}
|
|
98
|
-
if (diff === "minor") {
|
|
99
|
-
console.warn(msg);
|
|
100
|
-
}
|
|
101
|
-
} else {
|
|
102
|
-
body = {};
|
|
103
|
-
try {
|
|
104
|
-
body.result = opt.parseBody(raw);
|
|
105
|
-
} catch (err) {
|
|
106
|
-
body.error = err.message || err;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
if (body.error) {
|
|
110
|
-
const { code, message } = body.error;
|
|
111
|
-
body.error = new ApiError(code || mrgStr(opt.code || 0, "1.0", "."), message || body.error);
|
|
112
|
-
}
|
|
113
|
-
body.ok = !body.error;
|
|
114
|
-
body.http = status;
|
|
115
|
-
if (opt.parseHeaders) {
|
|
116
|
-
body.headers = Object.freeze(Object.fromEntries(headers.entries()));
|
|
117
|
-
}
|
|
118
|
-
return end(body, opt);
|
|
119
|
-
};
|
|
120
|
-
var fetchResolve = (_fetch, url, opt, method) => {
|
|
121
|
-
const prom = fetchExe(_fetch, prepareOpt(url, opt, method));
|
|
122
|
-
if (opt.timeoutId) {
|
|
123
|
-
prom.finally((_) => clearTimeout(opt.timeoutId));
|
|
124
|
-
}
|
|
125
|
-
if (!opt.abortable) {
|
|
126
|
-
return prom;
|
|
127
|
-
}
|
|
128
|
-
return solid(prom, "abort", (_) => opt.abortController?.abort(new ApiError(2, "Aborted")));
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
// src/client/class/Fetch.js
|
|
132
|
-
import { solid as solid2 } from "@randajan/props";
|
|
133
|
-
|
|
134
|
-
// src/client/tool.js
|
|
135
|
-
var mrgOpt = (a, b) => {
|
|
136
|
-
const opt = mrgObj(a, b);
|
|
137
|
-
opt.body = mrgObj(a?.body, b?.body);
|
|
138
|
-
opt.params = mrgObj(a?.params, b?.params);
|
|
139
|
-
opt.headers = mrgObj(a?.headers, b?.headers, {});
|
|
140
|
-
return opt;
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
// src/client/class/Fetch.js
|
|
144
|
-
var Fetch = class _Fetch extends Functionable {
|
|
145
|
-
static create(config = {}) {
|
|
146
|
-
return new _Fetch(config);
|
|
147
|
-
}
|
|
148
|
-
constructor(config = {}) {
|
|
149
|
-
const _fetch = config.fetch || globalThis.fetch;
|
|
150
|
-
if (!_fetch) {
|
|
151
|
-
throw new Error("Missing fetch function. Please provide it inconfig");
|
|
152
|
-
}
|
|
153
|
-
configTrait(config);
|
|
154
|
-
config.parseBody = createTrait(config.parseBody);
|
|
155
|
-
delete config.fetch;
|
|
156
|
-
super((url, opt, method) => fetchResolve(_fetch, url, mrgOpt(config, opt), method));
|
|
157
|
-
Object.freeze(config);
|
|
158
|
-
solid2(this, "config", config);
|
|
159
|
-
}
|
|
160
|
-
extend(config) {
|
|
161
|
-
return new _Fetch(mrgOpt(this.config, config));
|
|
162
|
-
}
|
|
163
|
-
async get(url, opt) {
|
|
164
|
-
return this(url, opt, "GET");
|
|
165
|
-
}
|
|
166
|
-
async post(url, opt) {
|
|
167
|
-
return this(url, opt, "POST");
|
|
168
|
-
}
|
|
169
|
-
async put(url, opt) {
|
|
170
|
-
return this(url, opt, "PUT");
|
|
171
|
-
}
|
|
172
|
-
async delete(url, opt) {
|
|
173
|
-
return this(url, opt, "DELETE");
|
|
174
|
-
}
|
|
175
|
-
async patch(url, opt) {
|
|
176
|
-
return this(url, opt, "PATCH");
|
|
177
|
-
}
|
|
178
|
-
async head(url, opt) {
|
|
179
|
-
return this(url, opt, "HEAD");
|
|
180
|
-
}
|
|
181
|
-
async options(url, opt) {
|
|
182
|
-
return this(url, opt, "OPTIONS");
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
// src/client/index.js
|
|
187
|
-
var createFetch = Fetch.create;
|
|
188
|
-
var client_default = createFetch;
|
|
189
|
-
|
|
190
|
-
export {
|
|
191
|
-
Fetch,
|
|
192
|
-
createFetch,
|
|
193
|
-
client_default
|
|
194
|
-
};
|
|
195
|
-
//# sourceMappingURL=chunk-NBHSDY72.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/client/class/static.js", "../../src/arc/url.js", "../../src/client/class/Fetch.js", "../../src/client/tool.js", "../../src/client/index.js"],
|
|
4
|
-
"sourcesContent": ["import info from \"@randajan/simple-lib/info\";\r\nimport { solid } from \"@randajan/props\";\r\nimport { isFn, mrgStr } from \"../../arc/tool\";\r\nimport { ApiError } from \"../../arc/class/ApiError\";\r\nimport { buildUrl } from \"../../arc/url\";\r\nimport { diffVersion, end, start } from \"../../arc/main\";\r\n\r\nconst prepareOpt = (url, opt, method)=>{\r\n start(opt);\r\n\r\n opt.url = buildUrl( mrgStr(opt.url, url), opt.query);\r\n\r\n if (method) { opt.method = method; }\r\n opt.headers['Accept'] = 'application/json';\r\n\r\n if (opt.body) {\r\n opt.headers[\"Content-Type\"] = \"application/json\";\r\n opt.body = JSON.stringify(opt.body);\r\n }\r\n\r\n const hasTimeout = opt.timeout > 0;\r\n if (opt.abortable || hasTimeout) {\r\n opt.abortController = new AbortController();\r\n opt.signal = opt.abortController.signal;\r\n }\r\n\r\n if (hasTimeout) {\r\n opt.timeoutId = setTimeout(() => opt.abortController?.abort(new ApiError(1, \"Timeout\")), opt.timeout);\r\n }\r\n\r\n if (isFn(opt.trait)) { opt = opt.trait(opt) || opt; }\r\n\r\n return opt;\r\n}\r\n\r\nconst localReject = (opt, error, http)=>{\r\n const { code } = error;\r\n\r\n if (code == 0) { http = 503 } //failed\r\n else if (code == 1) { http = 408; } //timeout\r\n else if (code == 2) { http = 499; } //aborted\r\n else if (code == 3) { http = 415; } //unreadable\r\n else if (!http) { http = 400; }\r\n\r\n error.rise(0).rise(opt.code || 0);\r\n\r\n return end({ ok:false, http, error }, opt);\r\n}\r\n\r\nconst fetchExe = async (_fetch, opt) => {\r\n\r\n let resp, raw, body;\r\n\r\n try { resp = await _fetch(opt.url, opt); }\r\n catch (err) { return localReject(opt, ApiError.is(err) ? err : ApiError.to(0, \"Failed\")); }\r\n\r\n const { ok, status, headers, statusText } = resp;\r\n\r\n try { raw = await resp.json(); } catch {\r\n return localReject(opt, new ApiError(ok?3:4, ok?\"Unreadable\" : (statusText || status)), status);\r\n }\r\n \r\n const apv = raw[info.name];\r\n \r\n if (apv) {\r\n body = raw;\r\n const diff = diffVersion(apv);\r\n const msg = `Detected @randajan/api-kit ${diff} version difference at '${opt.url}'. Server '${apv}' vs. client '${info.version}'`;\r\n if (diff === \"major\") { console.error(msg); }\r\n if (diff === \"minor\") { console.warn(msg); }\r\n } else {\r\n body = {};\r\n try { body.result = opt.parseBody(raw); }\r\n catch(err) { body.error = err.message || err; }\r\n }\r\n\r\n if (body.error) {\r\n const { code, message } = body.error;\r\n body.error = new ApiError(code || mrgStr(opt.code || 0, \"1.0\", \".\"), message || body.error );\r\n }\r\n\r\n body.ok = !body.error;\r\n body.http = status;\r\n\r\n if (opt.parseHeaders) {\r\n body.headers = Object.freeze(Object.fromEntries(headers.entries()));\r\n }\r\n \r\n return end(body, opt);\r\n};\r\n\r\nexport const fetchResolve = (_fetch, url, opt, method)=>{\r\n const prom = fetchExe(_fetch, prepareOpt(url, opt, method));\r\n\r\n if (opt.timeoutId) { prom.finally(_=>clearTimeout(opt.timeoutId)); }\r\n if (!opt.abortable) { return prom; }\r\n\r\n return solid(prom, \"abort\", _=>opt.abortController?.abort(new ApiError(2, \"Aborted\")));\r\n}", "let _regexp = /^https?:\\/\\//i;\r\nexport const buildUrl = (inputUrl, params)=>{\r\n if (!params) { return inputUrl; }\r\n\r\n const hasHost = _regexp.test(inputUrl);\r\n const url = new URL(inputUrl, hasHost ? undefined : \"http://thisisonlyplaceholder.xyz\");\r\n url.hash = \"\";\r\n\r\n for (const [key, value] of Object.entries(params)) {\r\n if (value != null) { url.searchParams.append(key, value); }\r\n };\r\n\r\n return hasHost ? url.toString() : url.pathname + url.search;\r\n}", "import { fetchResolve } from \"./static\";\r\nimport { Functionable } from \"../../arc/class/Functionable\";\r\nimport { solid } from \"@randajan/props\";\r\nimport { mrgOpt } from \"../tool\";\r\nimport { configTrait, createTrait } from \"../../arc/opt\";\r\n\r\nexport class Fetch extends Functionable {\r\n\r\n static create(config={}) { return new Fetch(config) }\r\n\r\n constructor(config = {}) {\r\n \r\n const _fetch = config.fetch || globalThis.fetch;\r\n\r\n if (!_fetch) { throw new Error(\"Missing fetch function. Please provide it inconfig\"); }\r\n\r\n configTrait(config);\r\n config.parseBody = createTrait(config.parseBody);\r\n\r\n delete config.fetch;\r\n\r\n super((url, opt, method) =>fetchResolve(_fetch, url, mrgOpt(config, opt), method));\r\n\r\n Object.freeze(config);\r\n solid(this, \"config\", config);\r\n }\r\n\r\n extend(config) { return new Fetch(mrgOpt(this.config, config)); }\r\n\r\n async get(url, opt) { return this(url, opt, \"GET\"); }\r\n async post(url, opt) { return this(url, opt, \"POST\"); }\r\n async put(url, opt) { return this(url, opt, \"PUT\"); }\r\n async delete(url, opt) { return this(url, opt, \"DELETE\"); }\r\n async patch(url, opt) { return this(url, opt, \"PATCH\"); }\r\n async head(url, opt) { return this(url, opt, \"HEAD\"); }\r\n async options(url, opt) { return this(url, opt, \"OPTIONS\"); }\r\n}", "import { mrgObj } from \"../arc/tool\";\r\n\r\nexport const mrgOpt = (a, b)=>{\r\n const opt = mrgObj(a, b);\r\n\r\n opt.body = mrgObj(a?.body, b?.body);\r\n opt.params = mrgObj(a?.params, b?.params);\r\n opt.headers = mrgObj(a?.headers, b?.headers, {});\r\n\r\n return opt;\r\n}", "import { ApiError } from \"../arc/class/ApiError\";\nimport { Fetch } from \"./class/Fetch\";\n\nexport const createFetch = Fetch.create;\nexport default createFetch;\n\nexport {\n Fetch,\n ApiError\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["solid", "solid"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["<define:__slib_info>", "../../src/arc/class/ApiError.js", "../../src/arc/tool.js", "../../src/arc/class/Functionable.js", "../../src/arc/opt.js", "../../node_modules/@randajan/simple-lib/src/info/index.js", "../../src/arc/main.js"],
|
|
4
|
-
"sourcesContent": ["", "import { safe, solid } from \"@randajan/props\";\r\nimport { mrgStr, toStr } from \"../tool\";\r\n\r\n\r\n\r\nexport class ApiError extends Error {\r\n\r\n static create(code, message) { return new ApiError(code, message); }\r\n\r\n static is(any) { return any instanceof ApiError; }\r\n\r\n static to(code, any) {\r\n if (ApiError.is(any)) { return any; }\r\n \r\n const msg = toStr(any?.message || any) || \"Unknown\";\r\n const apierr = ApiError.create(code, msg);\r\n return solid(apierr, \"stack\", any.stack, false);\r\n }\r\n\r\n constructor(code, message) {\r\n super(message);\r\n\r\n safe(this, {}, \"code\", (t, f)=>mrgStr(t, f, \".\"));\r\n\r\n this.rise(code);\r\n }\r\n\r\n rise(code=0) {\r\n this.code = (code || 0);\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n const { message } = this;\r\n return {message, ...this};\r\n }\r\n\r\n toString() {\r\n const { message, code } = this;\r\n return message + (code == null ? \"\" : ` (${code})`);\r\n }\r\n\r\n}", "\r\n\r\nexport const mrgObj = (a, b, def)=>{\r\n if (!a && !b) { return def; }\r\n if (!a) { return {...b}; }\r\n if (!b) { return {...a}; }\r\n return {...a, ...b};\r\n}\r\n\r\nexport const toStr = s=>s == null ? \"\" : String(s);\r\nexport const mrgStr = (a, b, sep=\"\")=>{\r\n a = toStr(a); b = toStr(b);\r\n return (a && b) ? a+sep+b : a+b;\r\n};\r\n\r\nexport const isFn = any=>typeof any === \"function\";\r\nexport const doFn = any=>isFn(any) ? any() : any;\r\nexport const isProm = any=>any instanceof Promise;\r\nexport const isErr = any=>any instanceof Error;\r\n", "\r\n\r\n\r\nexport class Functionable extends Function {\r\n constructor(self) {\r\n super();\r\n return Object.setPrototypeOf(self, this);\r\n }\r\n}", "import { isFn } from \"./tool\"\r\n\r\n\r\n\r\n\r\nexport const createTrait = (trait)=>{\r\n if (!trait) { return opt=>opt; }\r\n if (isFn(trait)) { return trait; }\r\n throw new Error(\"config.trait should be a function\");\r\n}\r\n\r\nexport const configTrait = (config)=>{\r\n config.trait = createTrait(config.trait);\r\n}", "const enumerable = true;\r\nconst lockObject = o=>{\r\n if (typeof o !== \"object\") { return o; }\r\n\r\n const r = {};\r\n for (const i in o) {\r\n const descriptor = { enumerable };\r\n let val = o[i];\r\n if (val instanceof Array) { descriptor.get = _=>[...val]; }\r\n else { descriptor.value = lockObject(val); }\r\n Object.defineProperty(r, i, descriptor);\r\n }\r\n\r\n return r;\r\n}\r\n\r\nexport const info = lockObject(__slib_info);\r\nexport default info;", "import { solids } from \"@randajan/props\";\r\nimport { isFn, toStr } from \"./tool\";\r\nimport { info } from \"@randajan/simple-lib/info\";\r\n\r\n\r\nexport const start = (opt)=>{\r\n if (opt.timestamp) { return opt.startAt = Date.now(); }\r\n}\r\n\r\nconst endTime = (body, startAt)=>{\r\n if (!startAt) { return; }\r\n\r\n const endAt = Date.now();\r\n const time = {\r\n startAt,\r\n endAt,\r\n run:endAt-startAt\r\n }\r\n\r\n if (body.time) {\r\n time.srvRun = body.time.run;\r\n time.netIn = body.time.startAt - startAt;\r\n time.netOut = endAt - body.time.endAt;\r\n }\r\n\r\n body.time = solids({}, time);\r\n}\r\n\r\nexport const end = (body, opt)=>{\r\n if (!body.error){\r\n if (isFn(opt.onOk)) { opt.onOk(body, opt); }\r\n } else {\r\n if (isFn(opt.onError)) { opt.onError(body, opt); }\r\n if (opt.throwError) { throw body.error; }\r\n }\r\n\r\n endTime(body, opt.startAt);\r\n return opt.resultOnly ? body.result : Object.freeze(body);\r\n}\r\n\r\nexport const diffVersion = (version)=>{\r\n const v1 = toStr(info.version);\r\n const v2 = toStr(version);\r\n\r\n if (v1 === v2) { return }\r\n \r\n const f1 = v1.split(\".\");\r\n const f2 = v2.split(\".\");\r\n\r\n if (f1[0] !== f2[0]) { return \"major\"; }\r\n if (f1[1] !== f2[1]) { return \"minor\"; }\r\n if (f1[2] !== f2[2]) { return \"patch\"; }\r\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|