@randajan/api-kit 1.0.8 → 1.0.11

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.
@@ -0,0 +1,305 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/client/index.js
20
+ var client_exports = {};
21
+ __export(client_exports, {
22
+ ApiError: () => ApiError,
23
+ Fetch: () => Fetch,
24
+ createFetch: () => createFetch,
25
+ default: () => client_default
26
+ });
27
+ module.exports = __toCommonJS(client_exports);
28
+
29
+ // src/arc/class/ApiError.js
30
+ var import_props = require("@randajan/props");
31
+
32
+ // src/arc/tool.js
33
+ var mrgObj = (a, b, def) => {
34
+ if (!a && !b) {
35
+ return def;
36
+ }
37
+ if (!a) {
38
+ return { ...b };
39
+ }
40
+ if (!b) {
41
+ return { ...a };
42
+ }
43
+ return { ...a, ...b };
44
+ };
45
+ var toStr = (s) => s == null ? "" : String(s);
46
+ var mrgStr = (a, b, sep = "") => {
47
+ a = toStr(a);
48
+ b = toStr(b);
49
+ return a && b ? a + sep + b : a + b;
50
+ };
51
+ var isFn = (any) => typeof any === "function";
52
+
53
+ // src/arc/class/ApiError.js
54
+ var ApiError = class _ApiError extends Error {
55
+ static create(code, message) {
56
+ return new _ApiError(code, message);
57
+ }
58
+ static is(any) {
59
+ return any instanceof _ApiError;
60
+ }
61
+ static to(code, any) {
62
+ if (_ApiError.is(any)) {
63
+ return any;
64
+ }
65
+ const msg = toStr(any?.message || any) || "Unknown";
66
+ const apierr = _ApiError.create(code, msg);
67
+ return (0, import_props.solid)(apierr, "stack", any.stack, false);
68
+ }
69
+ constructor(code, message) {
70
+ super(message);
71
+ (0, import_props.safe)(this, {}, "code", (t, f) => mrgStr(t, f, "."));
72
+ this.rise(code);
73
+ }
74
+ rise(code = 0) {
75
+ this.code = code || 0;
76
+ return this;
77
+ }
78
+ toJSON() {
79
+ const { message } = this;
80
+ return { message, ...this };
81
+ }
82
+ toString() {
83
+ const { message, code } = this;
84
+ return message + (code == null ? "" : ` (${code})`);
85
+ }
86
+ };
87
+
88
+ // src/client/class/static.js
89
+ var import_props3 = require("@randajan/props");
90
+
91
+ // src/arc/url.js
92
+ var _regexp = /^https?:\/\//i;
93
+ var buildUrl = (inputUrl, params) => {
94
+ if (!params) {
95
+ return inputUrl;
96
+ }
97
+ const hasHost = _regexp.test(inputUrl);
98
+ const url = new URL(inputUrl, hasHost ? void 0 : "http://thisisonlyplaceholder.xyz");
99
+ url.hash = "";
100
+ for (const [key, value] of Object.entries(params)) {
101
+ if (value != null) {
102
+ url.searchParams.append(key, value);
103
+ }
104
+ }
105
+ ;
106
+ return hasHost ? url.toString() : url.pathname + url.search;
107
+ };
108
+
109
+ // src/arc/main.js
110
+ var import_props2 = require("@randajan/props");
111
+ var start = (opt) => {
112
+ if (opt.timestamp) {
113
+ return opt.startAt = Date.now();
114
+ }
115
+ };
116
+ var endTime = (body, startAt) => {
117
+ if (!startAt) {
118
+ return;
119
+ }
120
+ const endAt = Date.now();
121
+ const time = {
122
+ startAt,
123
+ endAt,
124
+ run: endAt - startAt
125
+ };
126
+ if (body.time) {
127
+ time.srvRun = body.time.run;
128
+ time.netIn = body.time.startAt - startAt;
129
+ time.netOut = endAt - body.time.endAt;
130
+ }
131
+ body.time = (0, import_props2.solids)({}, time);
132
+ };
133
+ var end = (body, opt) => {
134
+ if (!body.error) {
135
+ if (isFn(opt.onOk)) {
136
+ opt.onOk(body, opt);
137
+ }
138
+ } else {
139
+ if (isFn(opt.onError)) {
140
+ opt.onError(body, opt);
141
+ }
142
+ if (opt.throwError) {
143
+ throw body.error;
144
+ }
145
+ }
146
+ endTime(body, opt.startAt);
147
+ return Object.freeze(body);
148
+ };
149
+
150
+ // src/client/class/static.js
151
+ var prepareOpt = (opt, method) => {
152
+ start(opt);
153
+ if (method) {
154
+ opt.method = method;
155
+ }
156
+ opt.headers["Accept"] = "application/json";
157
+ if (opt.body) {
158
+ opt.headers["Content-Type"] = "application/json";
159
+ opt.body = JSON.stringify(opt.body);
160
+ }
161
+ const hasTimeout = opt.timeout > 0;
162
+ if (opt.abortable || hasTimeout) {
163
+ opt.abortController = new AbortController();
164
+ opt.signal = opt.abortController.signal;
165
+ }
166
+ if (hasTimeout) {
167
+ opt.timeoutId = setTimeout(() => opt.abortController?.abort(new ApiError(1, "Timeout")), opt.timeout);
168
+ }
169
+ if (isFn(opt.trait)) {
170
+ opt = opt.trait(opt) || opt;
171
+ }
172
+ return opt;
173
+ };
174
+ var localReject = (opt, error, http) => {
175
+ const { code } = error;
176
+ if (code == 0) {
177
+ http = 503;
178
+ } else if (code == 1) {
179
+ http = 408;
180
+ } else if (code == 2) {
181
+ http = 499;
182
+ } else if (code == 3) {
183
+ http = 415;
184
+ } else if (!http) {
185
+ http = 400;
186
+ }
187
+ error.rise(0).rise(opt.code || 0);
188
+ return end({ ok: false, http, error }, opt);
189
+ };
190
+ var fetchExe = async (_fetch, url, opt) => {
191
+ let resp, body;
192
+ try {
193
+ resp = await _fetch(buildUrl(mrgStr(opt.url, url), opt.query), opt);
194
+ } catch (err) {
195
+ return localReject(opt, ApiError.is(err) ? err : ApiError.to(0, "Failed"));
196
+ }
197
+ const { ok, status, headers, statusText } = resp;
198
+ try {
199
+ body = await resp.json();
200
+ } catch {
201
+ return localReject(opt, new ApiError(ok ? 3 : 4, ok ? "Unreadable" : statusText || status), status);
202
+ }
203
+ if (body.error) {
204
+ const { code, message } = body.error;
205
+ body.error = new ApiError(code || mrgStr(opt.code || 0, "1.0", "."), message || body.error);
206
+ }
207
+ body.ok = !body.error;
208
+ body.http = status;
209
+ if (opt.parseHeaders) {
210
+ body.headers = Object.freeze(Object.fromEntries(headers.entries()));
211
+ }
212
+ const r = end(body, opt);
213
+ return opt.resultOnly ? r.result : r;
214
+ };
215
+ var fetchResolve = (_fetch, url, opt, method) => {
216
+ const prom = fetchExe(_fetch, url, prepareOpt(opt, method));
217
+ if (opt.timeoutId) {
218
+ prom.finally((_) => clearTimeout(opt.timeoutId));
219
+ }
220
+ if (!opt.abortable) {
221
+ return prom;
222
+ }
223
+ return (0, import_props3.solid)(prom, "abort", (_) => opt.abortController?.abort(new ApiError(2, "Aborted")));
224
+ };
225
+
226
+ // src/arc/class/Functionable.js
227
+ var Functionable = class extends Function {
228
+ constructor(self) {
229
+ super();
230
+ return Object.setPrototypeOf(self, this);
231
+ }
232
+ };
233
+
234
+ // src/client/class/Fetch.js
235
+ var import_props4 = require("@randajan/props");
236
+
237
+ // src/client/tool.js
238
+ var mrgOpt = (a, b) => {
239
+ const opt = mrgObj(a, b);
240
+ opt.body = mrgObj(a?.body, b?.body);
241
+ opt.params = mrgObj(a?.params, b?.params);
242
+ opt.headers = mrgObj(a?.headers, b?.headers, {});
243
+ return opt;
244
+ };
245
+
246
+ // src/arc/opt.js
247
+ var createTrait = (trait) => {
248
+ if (!trait) {
249
+ return (opt) => opt;
250
+ }
251
+ if (isFn(trait)) {
252
+ return trait;
253
+ }
254
+ throw new Error("config.trait should be a function");
255
+ };
256
+ var configTrait = (config) => {
257
+ config.trait = createTrait(config.trait);
258
+ };
259
+
260
+ // src/client/class/Fetch.js
261
+ var Fetch = class _Fetch extends Functionable {
262
+ static create(config = {}) {
263
+ return new _Fetch(config);
264
+ }
265
+ constructor(config = {}) {
266
+ const _fetch = config.fetch || globalThis.fetch;
267
+ if (!_fetch) {
268
+ throw new Error("Missing fetch function. Please provide it inconfig");
269
+ }
270
+ configTrait(config);
271
+ delete config.fetch;
272
+ super((url, opt, method) => fetchResolve(_fetch, url, mrgOpt(config, opt), method));
273
+ Object.freeze(config);
274
+ (0, import_props4.solid)(this, "config", config);
275
+ }
276
+ extend(config) {
277
+ return new _Fetch(mrgOpt(this.config, config));
278
+ }
279
+ async get(url, opt) {
280
+ return this(url, opt, "GET");
281
+ }
282
+ async post(url, opt) {
283
+ return this(url, opt, "POST");
284
+ }
285
+ async put(url, opt) {
286
+ return this(url, opt, "PUT");
287
+ }
288
+ async delete(url, opt) {
289
+ return this(url, opt, "DELETE");
290
+ }
291
+ async patch(url, opt) {
292
+ return this(url, opt, "PATCH");
293
+ }
294
+ async head(url, opt) {
295
+ return this(url, opt, "HEAD");
296
+ }
297
+ async options(url, opt) {
298
+ return this(url, opt, "OPTIONS");
299
+ }
300
+ };
301
+
302
+ // src/client/index.js
303
+ var createFetch = Fetch.create;
304
+ var client_default = createFetch;
305
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/client/index.js", "../../../src/arc/class/ApiError.js", "../../../src/arc/tool.js", "../../../src/client/class/static.js", "../../../src/arc/url.js", "../../../src/arc/main.js", "../../../src/arc/class/Functionable.js", "../../../src/client/class/Fetch.js", "../../../src/client/tool.js", "../../../src/arc/opt.js"],
4
+ "sourcesContent": ["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", "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;", "import { 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 { end, start } from \"../../arc/main\";\r\n\r\nconst prepareOpt = (opt, method)=>{\r\n start(opt);\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, url, opt) => {\r\n\r\n let resp, body;\r\n\r\n try { resp = await _fetch(buildUrl( mrgStr(opt.url, url), opt.query), 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 { body = await resp.json(); }\r\n catch { return localReject(opt, new ApiError(ok?3:4, ok?\"Unreadable\" : (statusText || status)), status); }\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 const r = end(body, opt);\r\n return opt.resultOnly ? r.result : r;\r\n};\r\n\r\nexport const fetchResolve = (_fetch, url, opt, method)=>{\r\n const prom = fetchExe(_fetch, url, prepareOpt(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 { solids } from \"@randajan/props\";\r\nimport { isFn } from \"./tool\";\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 Object.freeze(body);\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 { fetchResolve } from \"./static\";\r\nimport { Functionable } from \"../../arc/class/Functionable\";\r\nimport { solid } from \"@randajan/props\";\r\nimport { mrgOpt } from \"../tool\";\r\nimport { configTrait } 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\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 { 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}"],
5
+ "mappings": "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",
6
+ "names": ["import_props", "import_props", "import_props"]
7
+ }
@@ -0,0 +1,382 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/index.js
20
+ var index_exports = {};
21
+ __export(index_exports, {
22
+ Api: () => Api,
23
+ ApiError: () => ApiError,
24
+ Fetch: () => Fetch,
25
+ createApi: () => server_default,
26
+ createFetch: () => client_default
27
+ });
28
+ module.exports = __toCommonJS(index_exports);
29
+
30
+ // src/arc/class/ApiError.js
31
+ var import_props = require("@randajan/props");
32
+
33
+ // src/arc/tool.js
34
+ var mrgObj = (a, b, def) => {
35
+ if (!a && !b) {
36
+ return def;
37
+ }
38
+ if (!a) {
39
+ return { ...b };
40
+ }
41
+ if (!b) {
42
+ return { ...a };
43
+ }
44
+ return { ...a, ...b };
45
+ };
46
+ var toStr = (s) => s == null ? "" : String(s);
47
+ var mrgStr = (a, b, sep = "") => {
48
+ a = toStr(a);
49
+ b = toStr(b);
50
+ return a && b ? a + sep + b : a + b;
51
+ };
52
+ var isFn = (any) => typeof any === "function";
53
+ var doFn = (any) => isFn(any) ? any() : any;
54
+ var isProm = (any) => any instanceof Promise;
55
+ var isErr = (any) => any instanceof Error;
56
+
57
+ // src/arc/class/ApiError.js
58
+ var ApiError = class _ApiError extends Error {
59
+ static create(code, message) {
60
+ return new _ApiError(code, message);
61
+ }
62
+ static is(any) {
63
+ return any instanceof _ApiError;
64
+ }
65
+ static to(code, any) {
66
+ if (_ApiError.is(any)) {
67
+ return any;
68
+ }
69
+ const msg = toStr(any?.message || any) || "Unknown";
70
+ const apierr = _ApiError.create(code, msg);
71
+ return (0, import_props.solid)(apierr, "stack", any.stack, false);
72
+ }
73
+ constructor(code, message) {
74
+ super(message);
75
+ (0, import_props.safe)(this, {}, "code", (t, f) => mrgStr(t, f, "."));
76
+ this.rise(code);
77
+ }
78
+ rise(code = 0) {
79
+ this.code = code || 0;
80
+ return this;
81
+ }
82
+ toJSON() {
83
+ const { message } = this;
84
+ return { message, ...this };
85
+ }
86
+ toString() {
87
+ const { message, code } = this;
88
+ return message + (code == null ? "" : ` (${code})`);
89
+ }
90
+ };
91
+
92
+ // src/server/class/Api.js
93
+ var import_props3 = require("@randajan/props");
94
+
95
+ // src/arc/class/Functionable.js
96
+ var Functionable = class extends Function {
97
+ constructor(self) {
98
+ super();
99
+ return Object.setPrototypeOf(self, this);
100
+ }
101
+ };
102
+
103
+ // src/arc/main.js
104
+ var import_props2 = require("@randajan/props");
105
+ var start = (opt) => {
106
+ if (opt.timestamp) {
107
+ return opt.startAt = Date.now();
108
+ }
109
+ };
110
+ var endTime = (body, startAt) => {
111
+ if (!startAt) {
112
+ return;
113
+ }
114
+ const endAt = Date.now();
115
+ const time = {
116
+ startAt,
117
+ endAt,
118
+ run: endAt - startAt
119
+ };
120
+ if (body.time) {
121
+ time.srvRun = body.time.run;
122
+ time.netIn = body.time.startAt - startAt;
123
+ time.netOut = endAt - body.time.endAt;
124
+ }
125
+ body.time = (0, import_props2.solids)({}, time);
126
+ };
127
+ var end = (body, opt) => {
128
+ if (!body.error) {
129
+ if (isFn(opt.onOk)) {
130
+ opt.onOk(body, opt);
131
+ }
132
+ } else {
133
+ if (isFn(opt.onError)) {
134
+ opt.onError(body, opt);
135
+ }
136
+ if (opt.throwError) {
137
+ throw body.error;
138
+ }
139
+ }
140
+ endTime(body, opt.startAt);
141
+ return Object.freeze(body);
142
+ };
143
+
144
+ // src/server/tool.js
145
+ var wrapResult = (r) => ({ [isErr(r) ? "error" : "result"]: r });
146
+ var wrapError = (error) => ({ error });
147
+ var tryFnSync = (any) => {
148
+ try {
149
+ return wrapResult(doFn(any));
150
+ } catch (error) {
151
+ return { error };
152
+ }
153
+ };
154
+ var tryFnAsync = async (any) => {
155
+ try {
156
+ return wrapResult(await doFn(any));
157
+ } catch (error) {
158
+ return { error };
159
+ }
160
+ };
161
+ var tryFn = (any) => {
162
+ const r = tryFnSync(any);
163
+ if (!isProm(r.result)) {
164
+ return r;
165
+ }
166
+ return r.result.then(wrapResult).catch(wrapError);
167
+ };
168
+
169
+ // src/server/class/static.js
170
+ var apiExit = (resp, opt) => {
171
+ if (resp.error) {
172
+ resp.error = ApiError.to(0, resp.error).rise(1).rise(opt.code);
173
+ }
174
+ return end(resp, opt);
175
+ };
176
+ var apiAsync = async (exe, opt) => apiExit(await tryFnAsync(exe), opt);
177
+ var apiResolve = (exe, opt) => {
178
+ start(opt);
179
+ opt = opt.trait(opt) || opt;
180
+ if (opt.isAsync) {
181
+ return apiAsync(exe, opt);
182
+ }
183
+ const resp = tryFn(exe);
184
+ if (!isProm(resp)) {
185
+ return apiExit(resp, opt);
186
+ }
187
+ return resp.then((resp2) => apiExit(resp2, opt));
188
+ };
189
+
190
+ // src/arc/opt.js
191
+ var createTrait = (trait) => {
192
+ if (!trait) {
193
+ return (opt) => opt;
194
+ }
195
+ if (isFn(trait)) {
196
+ return trait;
197
+ }
198
+ throw new Error("config.trait should be a function");
199
+ };
200
+ var configTrait = (config) => {
201
+ config.trait = createTrait(config.trait);
202
+ };
203
+
204
+ // src/server/class/Api.js
205
+ var Api = class _Api extends Functionable {
206
+ static create(config = {}) {
207
+ return new _Api(config);
208
+ }
209
+ constructor(config = {}) {
210
+ configTrait(config);
211
+ super((exe, opt) => apiResolve(exe, mrgObj(config, opt)));
212
+ Object.freeze(config);
213
+ (0, import_props3.solid)(this, "config", config);
214
+ }
215
+ code(code, exe, opt = {}) {
216
+ opt.code = code;
217
+ return this(exe, opt);
218
+ }
219
+ extend(config) {
220
+ return new _Api(mrgObj(this.config, config));
221
+ }
222
+ };
223
+
224
+ // src/server/index.js
225
+ var createApi = Api.create;
226
+ var server_default = createApi;
227
+
228
+ // src/client/class/static.js
229
+ var import_props4 = require("@randajan/props");
230
+
231
+ // src/arc/url.js
232
+ var _regexp = /^https?:\/\//i;
233
+ var buildUrl = (inputUrl, params) => {
234
+ if (!params) {
235
+ return inputUrl;
236
+ }
237
+ const hasHost = _regexp.test(inputUrl);
238
+ const url = new URL(inputUrl, hasHost ? void 0 : "http://thisisonlyplaceholder.xyz");
239
+ url.hash = "";
240
+ for (const [key, value] of Object.entries(params)) {
241
+ if (value != null) {
242
+ url.searchParams.append(key, value);
243
+ }
244
+ }
245
+ ;
246
+ return hasHost ? url.toString() : url.pathname + url.search;
247
+ };
248
+
249
+ // src/client/class/static.js
250
+ var prepareOpt = (opt, method) => {
251
+ start(opt);
252
+ if (method) {
253
+ opt.method = method;
254
+ }
255
+ opt.headers["Accept"] = "application/json";
256
+ if (opt.body) {
257
+ opt.headers["Content-Type"] = "application/json";
258
+ opt.body = JSON.stringify(opt.body);
259
+ }
260
+ const hasTimeout = opt.timeout > 0;
261
+ if (opt.abortable || hasTimeout) {
262
+ opt.abortController = new AbortController();
263
+ opt.signal = opt.abortController.signal;
264
+ }
265
+ if (hasTimeout) {
266
+ opt.timeoutId = setTimeout(() => opt.abortController?.abort(new ApiError(1, "Timeout")), opt.timeout);
267
+ }
268
+ if (isFn(opt.trait)) {
269
+ opt = opt.trait(opt) || opt;
270
+ }
271
+ return opt;
272
+ };
273
+ var localReject = (opt, error, http) => {
274
+ const { code } = error;
275
+ if (code == 0) {
276
+ http = 503;
277
+ } else if (code == 1) {
278
+ http = 408;
279
+ } else if (code == 2) {
280
+ http = 499;
281
+ } else if (code == 3) {
282
+ http = 415;
283
+ } else if (!http) {
284
+ http = 400;
285
+ }
286
+ error.rise(0).rise(opt.code || 0);
287
+ return end({ ok: false, http, error }, opt);
288
+ };
289
+ var fetchExe = async (_fetch, url, opt) => {
290
+ let resp, body;
291
+ try {
292
+ resp = await _fetch(buildUrl(mrgStr(opt.url, url), opt.query), opt);
293
+ } catch (err) {
294
+ return localReject(opt, ApiError.is(err) ? err : ApiError.to(0, "Failed"));
295
+ }
296
+ const { ok, status, headers, statusText } = resp;
297
+ try {
298
+ body = await resp.json();
299
+ } catch {
300
+ return localReject(opt, new ApiError(ok ? 3 : 4, ok ? "Unreadable" : statusText || status), status);
301
+ }
302
+ if (body.error) {
303
+ const { code, message } = body.error;
304
+ body.error = new ApiError(code || mrgStr(opt.code || 0, "1.0", "."), message || body.error);
305
+ }
306
+ body.ok = !body.error;
307
+ body.http = status;
308
+ if (opt.parseHeaders) {
309
+ body.headers = Object.freeze(Object.fromEntries(headers.entries()));
310
+ }
311
+ const r = end(body, opt);
312
+ return opt.resultOnly ? r.result : r;
313
+ };
314
+ var fetchResolve = (_fetch, url, opt, method) => {
315
+ const prom = fetchExe(_fetch, url, prepareOpt(opt, method));
316
+ if (opt.timeoutId) {
317
+ prom.finally((_) => clearTimeout(opt.timeoutId));
318
+ }
319
+ if (!opt.abortable) {
320
+ return prom;
321
+ }
322
+ return (0, import_props4.solid)(prom, "abort", (_) => opt.abortController?.abort(new ApiError(2, "Aborted")));
323
+ };
324
+
325
+ // src/client/class/Fetch.js
326
+ var import_props5 = require("@randajan/props");
327
+
328
+ // src/client/tool.js
329
+ var mrgOpt = (a, b) => {
330
+ const opt = mrgObj(a, b);
331
+ opt.body = mrgObj(a?.body, b?.body);
332
+ opt.params = mrgObj(a?.params, b?.params);
333
+ opt.headers = mrgObj(a?.headers, b?.headers, {});
334
+ return opt;
335
+ };
336
+
337
+ // src/client/class/Fetch.js
338
+ var Fetch = class _Fetch extends Functionable {
339
+ static create(config = {}) {
340
+ return new _Fetch(config);
341
+ }
342
+ constructor(config = {}) {
343
+ const _fetch = config.fetch || globalThis.fetch;
344
+ if (!_fetch) {
345
+ throw new Error("Missing fetch function. Please provide it inconfig");
346
+ }
347
+ configTrait(config);
348
+ delete config.fetch;
349
+ super((url, opt, method) => fetchResolve(_fetch, url, mrgOpt(config, opt), method));
350
+ Object.freeze(config);
351
+ (0, import_props5.solid)(this, "config", config);
352
+ }
353
+ extend(config) {
354
+ return new _Fetch(mrgOpt(this.config, config));
355
+ }
356
+ async get(url, opt) {
357
+ return this(url, opt, "GET");
358
+ }
359
+ async post(url, opt) {
360
+ return this(url, opt, "POST");
361
+ }
362
+ async put(url, opt) {
363
+ return this(url, opt, "PUT");
364
+ }
365
+ async delete(url, opt) {
366
+ return this(url, opt, "DELETE");
367
+ }
368
+ async patch(url, opt) {
369
+ return this(url, opt, "PATCH");
370
+ }
371
+ async head(url, opt) {
372
+ return this(url, opt, "HEAD");
373
+ }
374
+ async options(url, opt) {
375
+ return this(url, opt, "OPTIONS");
376
+ }
377
+ };
378
+
379
+ // src/client/index.js
380
+ var createFetch = Fetch.create;
381
+ var client_default = createFetch;
382
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.js", "../../src/arc/class/ApiError.js", "../../src/arc/tool.js", "../../src/server/class/Api.js", "../../src/arc/class/Functionable.js", "../../src/arc/main.js", "../../src/server/tool.js", "../../src/server/class/static.js", "../../src/arc/opt.js", "../../src/server/index.js", "../../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 { ApiError } from \"./arc/class/ApiError\";\r\nimport createApi, { Api } from \"./server\";\r\nimport createFetch, { Fetch } from \"./client\";\r\n\r\n\r\nexport {\r\n createApi,\r\n createFetch,\r\n Api,\r\n Fetch,\r\n ApiError\r\n}", "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;", "import { solid } from \"@randajan/props\";\r\nimport { Functionable } from \"../../arc/class/Functionable\";\r\nimport { apiResolve } from \"./static\";\r\nimport { mrgObj } from \"../../arc/tool\";\r\nimport { configTrait } from \"../../arc/opt\";\r\n\r\nexport class Api extends Functionable {\r\n\r\n static create(config={}) { return new Api(config); }\r\n\r\n constructor(config={}) {\r\n\r\n configTrait(config);\r\n \r\n super((exe, opt)=>apiResolve(exe, mrgObj(config, opt)));\r\n\r\n Object.freeze(config);\r\n solid(this, \"config\", config);\r\n }\r\n\r\n code(code, exe, opt={}) {\r\n opt.code = code;\r\n return this(exe, opt);\r\n }\r\n\r\n extend(config) { return new Api(mrgObj(this.config, config)); }\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 { solids } from \"@randajan/props\";\r\nimport { isFn } from \"./tool\";\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 Object.freeze(body);\r\n}", "import { doFn, isErr, isProm } from \"../arc/tool\";\r\n\r\nconst wrapResult = r=>({[isErr(r) ? \"error\" : \"result\"]:r});\r\nconst wrapError = error=>({error});\r\n\r\nexport const tryFnSync = any=>{\r\n try { return wrapResult(doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFnAsync = async any=>{\r\n try { return wrapResult(await doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFn = any=>{\r\n const r = tryFnSync(any);\r\n if (!isProm(r.result)) { return r; }\r\n return r.result.then(wrapResult).catch(wrapError);\r\n}", "import { ApiError } from \"../../arc/class/ApiError\"\r\nimport { start, end } from \"../../arc/main\";\r\nimport { isFn, isProm } from \"../../arc/tool\";\r\nimport { tryFn, tryFnAsync } from \"../tool\";\r\n\r\n\r\nconst apiExit = (resp, opt)=>{\r\n if (resp.error) { resp.error = ApiError.to(0, resp.error).rise(1).rise(opt.code); }\r\n\r\n return end(resp, opt);\r\n}\r\n\r\nconst apiAsync = async (exe, opt)=>apiExit(await tryFnAsync(exe), opt);\r\n\r\nexport const apiResolve = (exe, opt)=>{\r\n start(opt);\r\n\r\n opt = opt.trait(opt) || opt;\r\n\r\n if (opt.isAsync) { return apiAsync(exe, opt); }\r\n\r\n const resp = tryFn(exe);\r\n if (!isProm(resp)) { return apiExit(resp, opt); } \r\n return resp.then((resp)=>apiExit(resp, opt));\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}", "import { ApiError } from \"../arc/class/ApiError\";\r\nimport { Api } from \"./class/Api\";\r\n\r\nexport const createApi = Api.create;\r\nexport default createApi;\r\nexport {\r\n Api,\r\n ApiError\r\n}", "import { 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 { end, start } from \"../../arc/main\";\r\n\r\nconst prepareOpt = (opt, method)=>{\r\n start(opt);\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, url, opt) => {\r\n\r\n let resp, body;\r\n\r\n try { resp = await _fetch(buildUrl( mrgStr(opt.url, url), opt.query), 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 { body = await resp.json(); }\r\n catch { return localReject(opt, new ApiError(ok?3:4, ok?\"Unreadable\" : (statusText || status)), status); }\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 const r = end(body, opt);\r\n return opt.resultOnly ? r.result : r;\r\n};\r\n\r\nexport const fetchResolve = (_fetch, url, opt, method)=>{\r\n const prom = fetchExe(_fetch, url, prepareOpt(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 } 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\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": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA4B;;;ACErB,IAAM,SAAS,CAAC,GAAG,GAAG,QAAM;AAC/B,MAAI,CAAC,KAAK,CAAC,GAAG;AAAE,WAAO;AAAA,EAAK;AAC5B,MAAI,CAAC,GAAG;AAAE,WAAO,EAAC,GAAG,EAAC;AAAA,EAAG;AACzB,MAAI,CAAC,GAAG;AAAE,WAAO,EAAC,GAAG,EAAC;AAAA,EAAG;AACzB,SAAO,EAAC,GAAG,GAAG,GAAG,EAAC;AACtB;AAEO,IAAM,QAAQ,OAAG,KAAK,OAAO,KAAK,OAAO,CAAC;AAC1C,IAAM,SAAS,CAAC,GAAG,GAAG,MAAI,OAAK;AAClC,MAAI,MAAM,CAAC;AAAG,MAAI,MAAM,CAAC;AACzB,SAAQ,KAAK,IAAK,IAAE,MAAI,IAAI,IAAE;AAClC;AAEO,IAAM,OAAO,SAAK,OAAO,QAAQ;AACjC,IAAM,OAAO,SAAK,KAAK,GAAG,IAAI,IAAI,IAAI;AACtC,IAAM,SAAS,SAAK,eAAe;AACnC,IAAM,QAAQ,SAAK,eAAe;;;ADblC,IAAM,WAAN,MAAM,kBAAiB,MAAM;AAAA,EAEhC,OAAO,OAAO,MAAM,SAAS;AAAE,WAAO,IAAI,UAAS,MAAM,OAAO;AAAA,EAAG;AAAA,EAEnE,OAAO,GAAG,KAAK;AAAE,WAAO,eAAe;AAAA,EAAU;AAAA,EAEjD,OAAO,GAAG,MAAM,KAAK;AACjB,QAAI,UAAS,GAAG,GAAG,GAAG;AAAE,aAAO;AAAA,IAAK;AAEpC,UAAM,MAAM,MAAM,KAAK,WAAW,GAAG,KAAK;AAC1C,UAAM,SAAS,UAAS,OAAO,MAAM,GAAG;AACxC,eAAO,oBAAM,QAAQ,SAAS,IAAI,OAAO,KAAK;AAAA,EAClD;AAAA,EAEA,YAAY,MAAM,SAAS;AACvB,UAAM,OAAO;AAEb,2BAAK,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,MAAI,OAAO,GAAG,GAAG,GAAG,CAAC;AAEhD,SAAK,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,KAAK,OAAK,GAAG;AACT,SAAK,OAAQ,QAAQ;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,SAAS;AACL,UAAM,EAAE,QAAQ,IAAI;AACpB,WAAO,EAAC,SAAS,GAAG,KAAI;AAAA,EAC5B;AAAA,EAEA,WAAW;AACP,UAAM,EAAE,SAAS,KAAK,IAAI;AAC1B,WAAO,WAAW,QAAQ,OAAO,KAAK,KAAK,IAAI;AAAA,EACnD;AAEJ;;;AE1CA,IAAAA,gBAAsB;;;ACGf,IAAM,eAAN,cAA2B,SAAS;AAAA,EACvC,YAAY,MAAM;AACd,UAAM;AACN,WAAO,OAAO,eAAe,MAAM,IAAI;AAAA,EAC3C;AACJ;;;ACRA,IAAAC,gBAAuB;AAIhB,IAAM,QAAQ,CAAC,QAAM;AACxB,MAAI,IAAI,WAAW;AAAE,WAAO,IAAI,UAAU,KAAK,IAAI;AAAA,EAAG;AAC1D;AAEA,IAAM,UAAU,CAAC,MAAM,YAAU;AAC7B,MAAI,CAAC,SAAS;AAAE;AAAA,EAAQ;AAExB,QAAM,QAAQ,KAAK,IAAI;AACvB,QAAM,OAAO;AAAA,IACT;AAAA,IACA;AAAA,IACA,KAAI,QAAM;AAAA,EACd;AAEA,MAAI,KAAK,MAAM;AACX,SAAK,SAAS,KAAK,KAAK;AACxB,SAAK,QAAQ,KAAK,KAAK,UAAU;AACjC,SAAK,SAAS,QAAQ,KAAK,KAAK;AAAA,EACpC;AAEA,OAAK,WAAO,sBAAO,CAAC,GAAG,IAAI;AAC/B;AAEO,IAAM,MAAM,CAAC,MAAM,QAAM;AAC5B,MAAI,CAAC,KAAK,OAAM;AACZ,QAAI,KAAK,IAAI,IAAI,GAAG;AAAE,UAAI,KAAK,MAAM,GAAG;AAAA,IAAG;AAAA,EAC/C,OAAO;AACH,QAAI,KAAK,IAAI,OAAO,GAAG;AAAE,UAAI,QAAQ,MAAM,GAAG;AAAA,IAAG;AACjD,QAAI,IAAI,YAAY;AAAE,YAAM,KAAK;AAAA,IAAO;AAAA,EAC5C;AAEA,UAAQ,MAAM,IAAI,OAAO;AACzB,SAAO,OAAO,OAAO,IAAI;AAC7B;;;ACnCA,IAAM,aAAa,QAAI,EAAC,CAAC,MAAM,CAAC,IAAI,UAAU,QAAQ,GAAE,EAAC;AACzD,IAAM,YAAY,YAAQ,EAAC,MAAK;AAEzB,IAAM,YAAY,SAAK;AAC1B,MAAI;AAAE,WAAO,WAAW,KAAK,GAAG,CAAC;AAAA,EAAG,SAC9B,OAAO;AAAE,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,aAAa,OAAM,QAAK;AACjC,MAAI;AAAE,WAAO,WAAW,MAAM,KAAK,GAAG,CAAC;AAAA,EAAG,SACpC,OAAO;AAAE,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,QAAQ,SAAK;AACtB,QAAM,IAAI,UAAU,GAAG;AACvB,MAAI,CAAC,OAAO,EAAE,MAAM,GAAG;AAAE,WAAO;AAAA,EAAG;AACnC,SAAO,EAAE,OAAO,KAAK,UAAU,EAAE,MAAM,SAAS;AACpD;;;ACbA,IAAM,UAAU,CAAC,MAAM,QAAM;AACzB,MAAI,KAAK,OAAO;AAAE,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,IAAI;AAAA,EAAG;AAElF,SAAO,IAAI,MAAM,GAAG;AACxB;AAEA,IAAM,WAAW,OAAO,KAAK,QAAM,QAAQ,MAAM,WAAW,GAAG,GAAG,GAAG;AAE9D,IAAM,aAAa,CAAC,KAAK,QAAM;AAClC,QAAM,GAAG;AAET,QAAM,IAAI,MAAM,GAAG,KAAK;AAExB,MAAI,IAAI,SAAS;AAAE,WAAO,SAAS,KAAK,GAAG;AAAA,EAAG;AAE9C,QAAM,OAAO,MAAM,GAAG;AACtB,MAAI,CAAC,OAAO,IAAI,GAAG;AAAE,WAAO,QAAQ,MAAM,GAAG;AAAA,EAAG;AAChD,SAAO,KAAK,KAAK,CAACC,UAAO,QAAQA,OAAM,GAAG,CAAC;AAC/C;;;ACnBO,IAAM,cAAc,CAAC,UAAQ;AAChC,MAAI,CAAC,OAAO;AAAE,WAAO,SAAK;AAAA,EAAK;AAC/B,MAAI,KAAK,KAAK,GAAG;AAAE,WAAO;AAAA,EAAO;AACjC,QAAM,IAAI,MAAM,mCAAmC;AACvD;AAEO,IAAM,cAAc,CAAC,WAAS;AACjC,SAAO,QAAQ,YAAY,OAAO,KAAK;AAC3C;;;ALPO,IAAM,MAAN,MAAM,aAAY,aAAa;AAAA,EAElC,OAAO,OAAO,SAAO,CAAC,GAAG;AAAE,WAAO,IAAI,KAAI,MAAM;AAAA,EAAG;AAAA,EAEnD,YAAY,SAAO,CAAC,GAAG;AAEnB,gBAAY,MAAM;AAElB,UAAM,CAAC,KAAK,QAAM,WAAW,KAAK,OAAO,QAAQ,GAAG,CAAC,CAAC;AAEtD,WAAO,OAAO,MAAM;AACpB,6BAAM,MAAM,UAAU,MAAM;AAAA,EAChC;AAAA,EAEA,KAAK,MAAM,KAAK,MAAI,CAAC,GAAG;AACpB,QAAI,OAAO;AACX,WAAO,KAAK,KAAK,GAAG;AAAA,EACxB;AAAA,EAEA,OAAO,QAAQ;AAAE,WAAO,IAAI,KAAI,OAAO,KAAK,QAAQ,MAAM,CAAC;AAAA,EAAG;AAClE;;;AMvBO,IAAM,YAAY,IAAI;AAC7B,IAAO,iBAAQ;;;ACJf,IAAAC,gBAAsB;;;ACAtB,IAAI,UAAU;AACP,IAAM,WAAW,CAAC,UAAU,WAAS;AACxC,MAAI,CAAC,QAAQ;AAAE,WAAO;AAAA,EAAU;AAEhC,QAAM,UAAU,QAAQ,KAAK,QAAQ;AACrC,QAAM,MAAM,IAAI,IAAI,UAAU,UAAU,SAAY,kCAAkC;AACtF,MAAI,OAAO;AAEX,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAC/C,QAAI,SAAS,MAAM;AAAE,UAAI,aAAa,OAAO,KAAK,KAAK;AAAA,IAAG;AAAA,EAC9D;AAAC;AAED,SAAO,UAAU,IAAI,SAAS,IAAI,IAAI,WAAW,IAAI;AACzD;;;ADPA,IAAM,aAAa,CAAC,KAAK,WAAS;AAC9B,QAAM,GAAG;AAET,MAAI,QAAQ;AAAE,QAAI,SAAS;AAAA,EAAQ;AACnC,MAAI,QAAQ,QAAQ,IAAI;AAExB,MAAI,IAAI,MAAM;AACV,QAAI,QAAQ,cAAc,IAAI;AAC9B,QAAI,OAAO,KAAK,UAAU,IAAI,IAAI;AAAA,EACtC;AAEA,QAAM,aAAa,IAAI,UAAU;AACjC,MAAI,IAAI,aAAa,YAAY;AAC7B,QAAI,kBAAkB,IAAI,gBAAgB;AAC1C,QAAI,SAAS,IAAI,gBAAgB;AAAA,EACrC;AAEA,MAAI,YAAY;AACZ,QAAI,YAAY,WAAW,MAAM,IAAI,iBAAiB,MAAM,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,OAAO;AAAA,EACxG;AAEA,MAAI,KAAK,IAAI,KAAK,GAAG;AAAE,UAAM,IAAI,MAAM,GAAG,KAAK;AAAA,EAAK;AAEpD,SAAO;AACX;AAEA,IAAM,cAAc,CAAC,KAAK,OAAO,SAAO;AACpC,QAAM,EAAE,KAAK,IAAI;AAEjB,MAAI,QAAQ,GAAG;AAAE,WAAO;AAAA,EAAI,WACnB,QAAQ,GAAG;AAAE,WAAO;AAAA,EAAK,WACzB,QAAQ,GAAG;AAAE,WAAO;AAAA,EAAK,WACzB,QAAQ,GAAG;AAAE,WAAO;AAAA,EAAK,WACzB,CAAC,MAAM;AAAE,WAAO;AAAA,EAAK;AAE9B,QAAM,KAAK,CAAC,EAAE,KAAK,IAAI,QAAQ,CAAC;AAEhC,SAAO,IAAI,EAAE,IAAG,OAAO,MAAM,MAAM,GAAG,GAAG;AAC7C;AAEA,IAAM,WAAW,OAAO,QAAQ,KAAK,QAAQ;AAEzC,MAAI,MAAM;AAEV,MAAI;AAAE,WAAO,MAAM,OAAO,SAAU,OAAO,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;AAAA,EAAG,SACrE,KAAK;AAAE,WAAO,YAAY,KAAK,SAAS,GAAG,GAAG,IAAI,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC;AAAA,EAAG;AAE1F,QAAM,EAAE,IAAI,QAAQ,SAAS,WAAW,IAAI;AAE5C,MAAI;AAAE,WAAO,MAAM,KAAK,KAAK;AAAA,EAAG,QAC1B;AAAE,WAAO,YAAY,KAAK,IAAI,SAAS,KAAG,IAAE,GAAG,KAAG,eAAgB,cAAc,MAAO,GAAG,MAAM;AAAA,EAAG;AAEzG,MAAI,KAAK,OAAO;AACZ,UAAM,EAAE,MAAM,QAAQ,IAAI,KAAK;AAC/B,SAAK,QAAQ,IAAI,SAAS,QAAQ,OAAO,IAAI,QAAQ,GAAG,OAAO,GAAG,GAAG,WAAW,KAAK,KAAM;AAAA,EAC/F;AAEA,OAAK,KAAK,CAAC,KAAK;AAChB,OAAK,OAAO;AAEZ,MAAI,IAAI,cAAc;AAClB,SAAK,UAAU,OAAO,OAAO,OAAO,YAAY,QAAQ,QAAQ,CAAC,CAAC;AAAA,EACtE;AAEA,QAAM,IAAI,IAAI,MAAM,GAAG;AACvB,SAAO,IAAI,aAAa,EAAE,SAAS;AACvC;AAEO,IAAM,eAAe,CAAC,QAAQ,KAAK,KAAK,WAAS;AACpD,QAAM,OAAO,SAAS,QAAQ,KAAK,WAAW,KAAK,MAAM,CAAC;AAE1D,MAAI,IAAI,WAAW;AAAE,SAAK,QAAQ,OAAG,aAAa,IAAI,SAAS,CAAC;AAAA,EAAG;AACnE,MAAI,CAAC,IAAI,WAAW;AAAE,WAAO;AAAA,EAAM;AAEnC,aAAO,qBAAM,MAAM,SAAS,OAAG,IAAI,iBAAiB,MAAM,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC;AACzF;;;AE/EA,IAAAC,gBAAsB;;;ACAf,IAAM,SAAS,CAAC,GAAG,MAAI;AAC1B,QAAM,MAAM,OAAO,GAAG,CAAC;AAEvB,MAAI,OAAO,OAAO,GAAG,MAAM,GAAG,IAAI;AAClC,MAAI,SAAS,OAAO,GAAG,QAAQ,GAAG,MAAM;AACxC,MAAI,UAAU,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;AAE/C,SAAO;AACX;;;ADJO,IAAM,QAAN,MAAM,eAAc,aAAa;AAAA,EAEpC,OAAO,OAAO,SAAO,CAAC,GAAG;AAAE,WAAO,IAAI,OAAM,MAAM;AAAA,EAAE;AAAA,EAEpD,YAAY,SAAS,CAAC,GAAG;AAErB,UAAM,SAAS,OAAO,SAAS,WAAW;AAE1C,QAAI,CAAC,QAAQ;AAAE,YAAM,IAAI,MAAM,oDAAoD;AAAA,IAAG;AAEtF,gBAAY,MAAM;AAElB,WAAO,OAAO;AAEd,UAAM,CAAC,KAAK,KAAK,WAAU,aAAa,QAAQ,KAAK,OAAO,QAAQ,GAAG,GAAG,MAAM,CAAC;AAEjF,WAAO,OAAO,MAAM;AACpB,6BAAM,MAAM,UAAU,MAAM;AAAA,EAChC;AAAA,EAEA,OAAO,QAAQ;AAAE,WAAO,IAAI,OAAM,OAAO,KAAK,QAAQ,MAAM,CAAC;AAAA,EAAG;AAAA,EAEhE,MAAM,IAAI,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,KAAK;AAAA,EAAG;AAAA,EACpD,MAAM,KAAK,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,MAAM;AAAA,EAAG;AAAA,EACtD,MAAM,IAAI,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,KAAK;AAAA,EAAG;AAAA,EACpD,MAAM,OAAO,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,QAAQ;AAAA,EAAG;AAAA,EAC1D,MAAM,MAAM,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,OAAO;AAAA,EAAG;AAAA,EACxD,MAAM,KAAK,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,MAAM;AAAA,EAAG;AAAA,EACtD,MAAM,QAAQ,KAAK,KAAK;AAAE,WAAO,KAAK,KAAK,KAAK,SAAS;AAAA,EAAG;AAChE;;;AEhCO,IAAM,cAAc,MAAM;AACjC,IAAO,iBAAQ;",
6
+ "names": ["import_props", "import_props", "resp", "import_props", "import_props"]
7
+ }
@@ -0,0 +1,226 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/server/index.js
20
+ var server_exports = {};
21
+ __export(server_exports, {
22
+ Api: () => Api,
23
+ ApiError: () => ApiError,
24
+ createApi: () => createApi,
25
+ default: () => server_default
26
+ });
27
+ module.exports = __toCommonJS(server_exports);
28
+
29
+ // src/arc/class/ApiError.js
30
+ var import_props = require("@randajan/props");
31
+
32
+ // src/arc/tool.js
33
+ var mrgObj = (a, b, def) => {
34
+ if (!a && !b) {
35
+ return def;
36
+ }
37
+ if (!a) {
38
+ return { ...b };
39
+ }
40
+ if (!b) {
41
+ return { ...a };
42
+ }
43
+ return { ...a, ...b };
44
+ };
45
+ var toStr = (s) => s == null ? "" : String(s);
46
+ var mrgStr = (a, b, sep = "") => {
47
+ a = toStr(a);
48
+ b = toStr(b);
49
+ return a && b ? a + sep + b : a + b;
50
+ };
51
+ var isFn = (any) => typeof any === "function";
52
+ var doFn = (any) => isFn(any) ? any() : any;
53
+ var isProm = (any) => any instanceof Promise;
54
+ var isErr = (any) => any instanceof Error;
55
+
56
+ // src/arc/class/ApiError.js
57
+ var ApiError = class _ApiError extends Error {
58
+ static create(code, message) {
59
+ return new _ApiError(code, message);
60
+ }
61
+ static is(any) {
62
+ return any instanceof _ApiError;
63
+ }
64
+ static to(code, any) {
65
+ if (_ApiError.is(any)) {
66
+ return any;
67
+ }
68
+ const msg = toStr(any?.message || any) || "Unknown";
69
+ const apierr = _ApiError.create(code, msg);
70
+ return (0, import_props.solid)(apierr, "stack", any.stack, false);
71
+ }
72
+ constructor(code, message) {
73
+ super(message);
74
+ (0, import_props.safe)(this, {}, "code", (t, f) => mrgStr(t, f, "."));
75
+ this.rise(code);
76
+ }
77
+ rise(code = 0) {
78
+ this.code = code || 0;
79
+ return this;
80
+ }
81
+ toJSON() {
82
+ const { message } = this;
83
+ return { message, ...this };
84
+ }
85
+ toString() {
86
+ const { message, code } = this;
87
+ return message + (code == null ? "" : ` (${code})`);
88
+ }
89
+ };
90
+
91
+ // src/server/class/Api.js
92
+ var import_props3 = require("@randajan/props");
93
+
94
+ // src/arc/class/Functionable.js
95
+ var Functionable = class extends Function {
96
+ constructor(self) {
97
+ super();
98
+ return Object.setPrototypeOf(self, this);
99
+ }
100
+ };
101
+
102
+ // src/arc/main.js
103
+ var import_props2 = require("@randajan/props");
104
+ var start = (opt) => {
105
+ if (opt.timestamp) {
106
+ return opt.startAt = Date.now();
107
+ }
108
+ };
109
+ var endTime = (body, startAt) => {
110
+ if (!startAt) {
111
+ return;
112
+ }
113
+ const endAt = Date.now();
114
+ const time = {
115
+ startAt,
116
+ endAt,
117
+ run: endAt - startAt
118
+ };
119
+ if (body.time) {
120
+ time.srvRun = body.time.run;
121
+ time.netIn = body.time.startAt - startAt;
122
+ time.netOut = endAt - body.time.endAt;
123
+ }
124
+ body.time = (0, import_props2.solids)({}, time);
125
+ };
126
+ var end = (body, opt) => {
127
+ if (!body.error) {
128
+ if (isFn(opt.onOk)) {
129
+ opt.onOk(body, opt);
130
+ }
131
+ } else {
132
+ if (isFn(opt.onError)) {
133
+ opt.onError(body, opt);
134
+ }
135
+ if (opt.throwError) {
136
+ throw body.error;
137
+ }
138
+ }
139
+ endTime(body, opt.startAt);
140
+ return Object.freeze(body);
141
+ };
142
+
143
+ // src/server/tool.js
144
+ var wrapResult = (r) => ({ [isErr(r) ? "error" : "result"]: r });
145
+ var wrapError = (error) => ({ error });
146
+ var tryFnSync = (any) => {
147
+ try {
148
+ return wrapResult(doFn(any));
149
+ } catch (error) {
150
+ return { error };
151
+ }
152
+ };
153
+ var tryFnAsync = async (any) => {
154
+ try {
155
+ return wrapResult(await doFn(any));
156
+ } catch (error) {
157
+ return { error };
158
+ }
159
+ };
160
+ var tryFn = (any) => {
161
+ const r = tryFnSync(any);
162
+ if (!isProm(r.result)) {
163
+ return r;
164
+ }
165
+ return r.result.then(wrapResult).catch(wrapError);
166
+ };
167
+
168
+ // src/server/class/static.js
169
+ var apiExit = (resp, opt) => {
170
+ if (resp.error) {
171
+ resp.error = ApiError.to(0, resp.error).rise(1).rise(opt.code);
172
+ }
173
+ return end(resp, opt);
174
+ };
175
+ var apiAsync = async (exe, opt) => apiExit(await tryFnAsync(exe), opt);
176
+ var apiResolve = (exe, opt) => {
177
+ start(opt);
178
+ opt = opt.trait(opt) || opt;
179
+ if (opt.isAsync) {
180
+ return apiAsync(exe, opt);
181
+ }
182
+ const resp = tryFn(exe);
183
+ if (!isProm(resp)) {
184
+ return apiExit(resp, opt);
185
+ }
186
+ return resp.then((resp2) => apiExit(resp2, opt));
187
+ };
188
+
189
+ // src/arc/opt.js
190
+ var createTrait = (trait) => {
191
+ if (!trait) {
192
+ return (opt) => opt;
193
+ }
194
+ if (isFn(trait)) {
195
+ return trait;
196
+ }
197
+ throw new Error("config.trait should be a function");
198
+ };
199
+ var configTrait = (config) => {
200
+ config.trait = createTrait(config.trait);
201
+ };
202
+
203
+ // src/server/class/Api.js
204
+ var Api = class _Api extends Functionable {
205
+ static create(config = {}) {
206
+ return new _Api(config);
207
+ }
208
+ constructor(config = {}) {
209
+ configTrait(config);
210
+ super((exe, opt) => apiResolve(exe, mrgObj(config, opt)));
211
+ Object.freeze(config);
212
+ (0, import_props3.solid)(this, "config", config);
213
+ }
214
+ code(code, exe, opt = {}) {
215
+ opt.code = code;
216
+ return this(exe, opt);
217
+ }
218
+ extend(config) {
219
+ return new _Api(mrgObj(this.config, config));
220
+ }
221
+ };
222
+
223
+ // src/server/index.js
224
+ var createApi = Api.create;
225
+ var server_default = createApi;
226
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/server/index.js", "../../../src/arc/class/ApiError.js", "../../../src/arc/tool.js", "../../../src/server/class/Api.js", "../../../src/arc/class/Functionable.js", "../../../src/arc/main.js", "../../../src/server/tool.js", "../../../src/server/class/static.js", "../../../src/arc/opt.js"],
4
+ "sourcesContent": ["import { ApiError } from \"../arc/class/ApiError\";\r\nimport { Api } from \"./class/Api\";\r\n\r\nexport const createApi = Api.create;\r\nexport default createApi;\r\nexport {\r\n Api,\r\n ApiError\r\n}", "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;", "import { solid } from \"@randajan/props\";\r\nimport { Functionable } from \"../../arc/class/Functionable\";\r\nimport { apiResolve } from \"./static\";\r\nimport { mrgObj } from \"../../arc/tool\";\r\nimport { configTrait } from \"../../arc/opt\";\r\n\r\nexport class Api extends Functionable {\r\n\r\n static create(config={}) { return new Api(config); }\r\n\r\n constructor(config={}) {\r\n\r\n configTrait(config);\r\n \r\n super((exe, opt)=>apiResolve(exe, mrgObj(config, opt)));\r\n\r\n Object.freeze(config);\r\n solid(this, \"config\", config);\r\n }\r\n\r\n code(code, exe, opt={}) {\r\n opt.code = code;\r\n return this(exe, opt);\r\n }\r\n\r\n extend(config) { return new Api(mrgObj(this.config, config)); }\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 { solids } from \"@randajan/props\";\r\nimport { isFn } from \"./tool\";\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 Object.freeze(body);\r\n}", "import { doFn, isErr, isProm } from \"../arc/tool\";\r\n\r\nconst wrapResult = r=>({[isErr(r) ? \"error\" : \"result\"]:r});\r\nconst wrapError = error=>({error});\r\n\r\nexport const tryFnSync = any=>{\r\n try { return wrapResult(doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFnAsync = async any=>{\r\n try { return wrapResult(await doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFn = any=>{\r\n const r = tryFnSync(any);\r\n if (!isProm(r.result)) { return r; }\r\n return r.result.then(wrapResult).catch(wrapError);\r\n}", "import { ApiError } from \"../../arc/class/ApiError\"\r\nimport { start, end } from \"../../arc/main\";\r\nimport { isFn, isProm } from \"../../arc/tool\";\r\nimport { tryFn, tryFnAsync } from \"../tool\";\r\n\r\n\r\nconst apiExit = (resp, opt)=>{\r\n if (resp.error) { resp.error = ApiError.to(0, resp.error).rise(1).rise(opt.code); }\r\n\r\n return end(resp, opt);\r\n}\r\n\r\nconst apiAsync = async (exe, opt)=>apiExit(await tryFnAsync(exe), opt);\r\n\r\nexport const apiResolve = (exe, opt)=>{\r\n start(opt);\r\n\r\n opt = opt.trait(opt) || opt;\r\n\r\n if (opt.isAsync) { return apiAsync(exe, opt); }\r\n\r\n const resp = tryFn(exe);\r\n if (!isProm(resp)) { return apiExit(resp, opt); } \r\n return resp.then((resp)=>apiExit(resp, opt));\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}"],
5
+ "mappings": "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",
6
+ "names": ["import_props", "import_props", "resp"]
7
+ }
@@ -26,19 +26,19 @@ var isProm = (any) => any instanceof Promise;
26
26
  var isErr = (any) => any instanceof Error;
27
27
 
28
28
  // src/arc/class/ApiError.js
29
- var ApiError = class extends Error {
29
+ var ApiError = class _ApiError extends Error {
30
30
  static create(code, message) {
31
- return new ApiError(code, message);
31
+ return new _ApiError(code, message);
32
32
  }
33
33
  static is(any) {
34
- return any instanceof ApiError;
34
+ return any instanceof _ApiError;
35
35
  }
36
36
  static to(code, any) {
37
- if (ApiError.is(any)) {
37
+ if (_ApiError.is(any)) {
38
38
  return any;
39
39
  }
40
40
  const msg = toStr(any?.message || any) || "Unknown";
41
- const apierr = ApiError.create(code, msg);
41
+ const apierr = _ApiError.create(code, msg);
42
42
  return solid(apierr, "stack", any.stack, false);
43
43
  }
44
44
  constructor(code, message) {
@@ -136,4 +136,4 @@ export {
136
136
  end,
137
137
  configTrait
138
138
  };
139
- //# sourceMappingURL=chunk-KPFQU4HI.js.map
139
+ //# sourceMappingURL=chunk-7YT3426Q.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/arc/class/ApiError.js", "../src/arc/tool.js", "../src/arc/class/Functionable.js", "../src/arc/opt.js", "../src/arc/main.js"],
3
+ "sources": ["../../src/arc/class/ApiError.js", "../../src/arc/tool.js", "../../src/arc/class/Functionable.js", "../../src/arc/opt.js", "../../src/arc/main.js"],
4
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\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}", "import { solids } from \"@randajan/props\";\r\nimport { isFn } from \"./tool\";\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 Object.freeze(body);\r\n}"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -8,7 +8,7 @@ import {
8
8
  isProm,
9
9
  mrgObj,
10
10
  start
11
- } from "./chunk-KPFQU4HI.js";
11
+ } from "./chunk-7YT3426Q.js";
12
12
 
13
13
  // src/server/class/Api.js
14
14
  import { solid } from "@randajan/props";
@@ -60,9 +60,9 @@ var apiResolve = (exe, opt) => {
60
60
  };
61
61
 
62
62
  // src/server/class/Api.js
63
- var Api = class extends Functionable {
63
+ var Api = class _Api extends Functionable {
64
64
  static create(config = {}) {
65
- return new Api(config);
65
+ return new _Api(config);
66
66
  }
67
67
  constructor(config = {}) {
68
68
  configTrait(config);
@@ -75,7 +75,7 @@ var Api = class extends Functionable {
75
75
  return this(exe, opt);
76
76
  }
77
77
  extend(config) {
78
- return new Api(mrgObj(this.config, config));
78
+ return new _Api(mrgObj(this.config, config));
79
79
  }
80
80
  };
81
81
 
@@ -88,4 +88,4 @@ export {
88
88
  createApi,
89
89
  server_default
90
90
  };
91
- //# sourceMappingURL=chunk-SAF67OJL.js.map
91
+ //# sourceMappingURL=chunk-FINTZKAV.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/server/class/Api.js", "../src/server/tool.js", "../src/server/class/static.js", "../src/server/index.js"],
3
+ "sources": ["../../src/server/class/Api.js", "../../src/server/tool.js", "../../src/server/class/static.js", "../../src/server/index.js"],
4
4
  "sourcesContent": ["import { solid } from \"@randajan/props\";\r\nimport { Functionable } from \"../../arc/class/Functionable\";\r\nimport { apiResolve } from \"./static\";\r\nimport { mrgObj } from \"../../arc/tool\";\r\nimport { configTrait } from \"../../arc/opt\";\r\n\r\nexport class Api extends Functionable {\r\n\r\n static create(config={}) { return new Api(config); }\r\n\r\n constructor(config={}) {\r\n\r\n configTrait(config);\r\n \r\n super((exe, opt)=>apiResolve(exe, mrgObj(config, opt)));\r\n\r\n Object.freeze(config);\r\n solid(this, \"config\", config);\r\n }\r\n\r\n code(code, exe, opt={}) {\r\n opt.code = code;\r\n return this(exe, opt);\r\n }\r\n\r\n extend(config) { return new Api(mrgObj(this.config, config)); }\r\n}", "import { doFn, isErr, isProm } from \"../arc/tool\";\r\n\r\nconst wrapResult = r=>({[isErr(r) ? \"error\" : \"result\"]:r});\r\nconst wrapError = error=>({error});\r\n\r\nexport const tryFnSync = any=>{\r\n try { return wrapResult(doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFnAsync = async any=>{\r\n try { return wrapResult(await doFn(any)); }\r\n catch(error) { return {error}; }\r\n}\r\n\r\nexport const tryFn = any=>{\r\n const r = tryFnSync(any);\r\n if (!isProm(r.result)) { return r; }\r\n return r.result.then(wrapResult).catch(wrapError);\r\n}", "import { ApiError } from \"../../arc/class/ApiError\"\r\nimport { start, end } from \"../../arc/main\";\r\nimport { isFn, isProm } from \"../../arc/tool\";\r\nimport { tryFn, tryFnAsync } from \"../tool\";\r\n\r\n\r\nconst apiExit = (resp, opt)=>{\r\n if (resp.error) { resp.error = ApiError.to(0, resp.error).rise(1).rise(opt.code); }\r\n\r\n return end(resp, opt);\r\n}\r\n\r\nconst apiAsync = async (exe, opt)=>apiExit(await tryFnAsync(exe), opt);\r\n\r\nexport const apiResolve = (exe, opt)=>{\r\n start(opt);\r\n\r\n opt = opt.trait(opt) || opt;\r\n\r\n if (opt.isAsync) { return apiAsync(exe, opt); }\r\n\r\n const resp = tryFn(exe);\r\n if (!isProm(resp)) { return apiExit(resp, opt); } \r\n return resp.then((resp)=>apiExit(resp, opt));\r\n}", "import { ApiError } from \"../arc/class/ApiError\";\r\nimport { Api } from \"./class/Api\";\r\n\r\nexport const createApi = Api.create;\r\nexport default createApi;\r\nexport {\r\n Api,\r\n ApiError\r\n}"],
5
- "mappings": ";;;;;;;;;;;;;AAAA,SAAS,aAAa;;;ACEtB,IAAM,aAAa,QAAI,EAAC,CAAC,MAAM,CAAC,IAAI,UAAU,QAAQ,GAAE,EAAC;AACzD,IAAM,YAAY,YAAQ,EAAC,MAAK;AAEzB,IAAM,YAAY,SAAK;AAC1B,MAAI;AAAE,WAAO,WAAW,KAAK,GAAG,CAAC;AAAA,EAAG,SAC9B,OAAN;AAAe,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,aAAa,OAAM,QAAK;AACjC,MAAI;AAAE,WAAO,WAAW,MAAM,KAAK,GAAG,CAAC;AAAA,EAAG,SACpC,OAAN;AAAe,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,QAAQ,SAAK;AACtB,QAAM,IAAI,UAAU,GAAG;AACvB,MAAI,CAAC,OAAO,EAAE,MAAM,GAAG;AAAE,WAAO;AAAA,EAAG;AACnC,SAAO,EAAE,OAAO,KAAK,UAAU,EAAE,MAAM,SAAS;AACpD;;;ACbA,IAAM,UAAU,CAAC,MAAM,QAAM;AACzB,MAAI,KAAK,OAAO;AAAE,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,IAAI;AAAA,EAAG;AAElF,SAAO,IAAI,MAAM,GAAG;AACxB;AAEA,IAAM,WAAW,OAAO,KAAK,QAAM,QAAQ,MAAM,WAAW,GAAG,GAAG,GAAG;AAE9D,IAAM,aAAa,CAAC,KAAK,QAAM;AAClC,QAAM,GAAG;AAET,QAAM,IAAI,MAAM,GAAG,KAAK;AAExB,MAAI,IAAI,SAAS;AAAE,WAAO,SAAS,KAAK,GAAG;AAAA,EAAG;AAE9C,QAAM,OAAO,MAAM,GAAG;AACtB,MAAI,CAAC,OAAO,IAAI,GAAG;AAAE,WAAO,QAAQ,MAAM,GAAG;AAAA,EAAG;AAChD,SAAO,KAAK,KAAK,CAACA,UAAO,QAAQA,OAAM,GAAG,CAAC;AAC/C;;;AFlBO,IAAM,MAAN,cAAkB,aAAa;AAAA,EAElC,OAAO,OAAO,SAAO,CAAC,GAAG;AAAE,WAAO,IAAI,IAAI,MAAM;AAAA,EAAG;AAAA,EAEnD,YAAY,SAAO,CAAC,GAAG;AAEnB,gBAAY,MAAM;AAElB,UAAM,CAAC,KAAK,QAAM,WAAW,KAAK,OAAO,QAAQ,GAAG,CAAC,CAAC;AAEtD,WAAO,OAAO,MAAM;AACpB,UAAM,MAAM,UAAU,MAAM;AAAA,EAChC;AAAA,EAEA,KAAK,MAAM,KAAK,MAAI,CAAC,GAAG;AACpB,QAAI,OAAO;AACX,WAAO,KAAK,KAAK,GAAG;AAAA,EACxB;AAAA,EAEA,OAAO,QAAQ;AAAE,WAAO,IAAI,IAAI,OAAO,KAAK,QAAQ,MAAM,CAAC;AAAA,EAAG;AAClE;;;AGvBO,IAAM,YAAY,IAAI;AAC7B,IAAO,iBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;AAAA,SAAS,aAAa;;;ACEtB,IAAM,aAAa,QAAI,EAAC,CAAC,MAAM,CAAC,IAAI,UAAU,QAAQ,GAAE,EAAC;AACzD,IAAM,YAAY,YAAQ,EAAC,MAAK;AAEzB,IAAM,YAAY,SAAK;AAC1B,MAAI;AAAE,WAAO,WAAW,KAAK,GAAG,CAAC;AAAA,EAAG,SAC9B,OAAO;AAAE,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,aAAa,OAAM,QAAK;AACjC,MAAI;AAAE,WAAO,WAAW,MAAM,KAAK,GAAG,CAAC;AAAA,EAAG,SACpC,OAAO;AAAE,WAAO,EAAC,MAAK;AAAA,EAAG;AACnC;AAEO,IAAM,QAAQ,SAAK;AACtB,QAAM,IAAI,UAAU,GAAG;AACvB,MAAI,CAAC,OAAO,EAAE,MAAM,GAAG;AAAE,WAAO;AAAA,EAAG;AACnC,SAAO,EAAE,OAAO,KAAK,UAAU,EAAE,MAAM,SAAS;AACpD;;;ACbA,IAAM,UAAU,CAAC,MAAM,QAAM;AACzB,MAAI,KAAK,OAAO;AAAE,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,IAAI,IAAI;AAAA,EAAG;AAElF,SAAO,IAAI,MAAM,GAAG;AACxB;AAEA,IAAM,WAAW,OAAO,KAAK,QAAM,QAAQ,MAAM,WAAW,GAAG,GAAG,GAAG;AAE9D,IAAM,aAAa,CAAC,KAAK,QAAM;AAClC,QAAM,GAAG;AAET,QAAM,IAAI,MAAM,GAAG,KAAK;AAExB,MAAI,IAAI,SAAS;AAAE,WAAO,SAAS,KAAK,GAAG;AAAA,EAAG;AAE9C,QAAM,OAAO,MAAM,GAAG;AACtB,MAAI,CAAC,OAAO,IAAI,GAAG;AAAE,WAAO,QAAQ,MAAM,GAAG;AAAA,EAAG;AAChD,SAAO,KAAK,KAAK,CAACA,UAAO,QAAQA,OAAM,GAAG,CAAC;AAC/C;;;AFlBO,IAAM,MAAN,MAAM,aAAY,aAAa;AAAA,EAElC,OAAO,OAAO,SAAO,CAAC,GAAG;AAAE,WAAO,IAAI,KAAI,MAAM;AAAA,EAAG;AAAA,EAEnD,YAAY,SAAO,CAAC,GAAG;AAEnB,gBAAY,MAAM;AAElB,UAAM,CAAC,KAAK,QAAM,WAAW,KAAK,OAAO,QAAQ,GAAG,CAAC,CAAC;AAEtD,WAAO,OAAO,MAAM;AACpB,UAAM,MAAM,UAAU,MAAM;AAAA,EAChC;AAAA,EAEA,KAAK,MAAM,KAAK,MAAI,CAAC,GAAG;AACpB,QAAI,OAAO;AACX,WAAO,KAAK,KAAK,GAAG;AAAA,EACxB;AAAA,EAEA,OAAO,QAAQ;AAAE,WAAO,IAAI,KAAI,OAAO,KAAK,QAAQ,MAAM,CAAC;AAAA,EAAG;AAClE;;;AGvBO,IAAM,YAAY,IAAI;AAC7B,IAAO,iBAAQ;",
6
6
  "names": ["resp"]
7
7
  }
@@ -7,7 +7,7 @@ import {
7
7
  mrgObj,
8
8
  mrgStr,
9
9
  start
10
- } from "./chunk-KPFQU4HI.js";
10
+ } from "./chunk-7YT3426Q.js";
11
11
 
12
12
  // src/client/class/static.js
13
13
  import { solid } from "@randajan/props";
@@ -119,9 +119,9 @@ var mrgOpt = (a, b) => {
119
119
  };
120
120
 
121
121
  // src/client/class/Fetch.js
122
- var Fetch = class extends Functionable {
122
+ var Fetch = class _Fetch extends Functionable {
123
123
  static create(config = {}) {
124
- return new Fetch(config);
124
+ return new _Fetch(config);
125
125
  }
126
126
  constructor(config = {}) {
127
127
  const _fetch = config.fetch || globalThis.fetch;
@@ -135,7 +135,7 @@ var Fetch = class extends Functionable {
135
135
  solid2(this, "config", config);
136
136
  }
137
137
  extend(config) {
138
- return new Fetch(mrgOpt(this.config, config));
138
+ return new _Fetch(mrgOpt(this.config, config));
139
139
  }
140
140
  async get(url, opt) {
141
141
  return this(url, opt, "GET");
@@ -169,4 +169,4 @@ export {
169
169
  createFetch,
170
170
  client_default
171
171
  };
172
- //# sourceMappingURL=chunk-XR3KBJNM.js.map
172
+ //# sourceMappingURL=chunk-PHRMZY2L.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
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"],
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
4
  "sourcesContent": ["import { 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 { end, start } from \"../../arc/main\";\r\n\r\nconst prepareOpt = (opt, method)=>{\r\n start(opt);\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, url, opt) => {\r\n\r\n let resp, body;\r\n\r\n try { resp = await _fetch(buildUrl( mrgStr(opt.url, url), opt.query), 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 { body = await resp.json(); }\r\n catch { return localReject(opt, new ApiError(ok?3:4, ok?\"Unreadable\" : (statusText || status)), status); }\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 const r = end(body, opt);\r\n return opt.resultOnly ? r.result : r;\r\n};\r\n\r\nexport const fetchResolve = (_fetch, url, opt, method)=>{\r\n const prom = fetchExe(_fetch, url, prepareOpt(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 } 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\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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",
5
+ "mappings": "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",
6
6
  "names": ["solid", "solid"]
7
7
  }
@@ -2,10 +2,10 @@ import {
2
2
  Fetch,
3
3
  client_default,
4
4
  createFetch
5
- } from "../chunk-XR3KBJNM.js";
5
+ } from "../chunk-PHRMZY2L.js";
6
6
  import {
7
7
  ApiError
8
- } from "../chunk-KPFQU4HI.js";
8
+ } from "../chunk-7YT3426Q.js";
9
9
  export {
10
10
  ApiError,
11
11
  Fetch,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  Fetch,
3
3
  client_default
4
- } from "./chunk-XR3KBJNM.js";
4
+ } from "./chunk-PHRMZY2L.js";
5
5
  import {
6
6
  Api,
7
7
  server_default
8
- } from "./chunk-SAF67OJL.js";
8
+ } from "./chunk-FINTZKAV.js";
9
9
  import {
10
10
  ApiError
11
- } from "./chunk-KPFQU4HI.js";
11
+ } from "./chunk-7YT3426Q.js";
12
12
  export {
13
13
  Api,
14
14
  ApiError,
@@ -2,10 +2,10 @@ import {
2
2
  Api,
3
3
  createApi,
4
4
  server_default
5
- } from "../chunk-SAF67OJL.js";
5
+ } from "../chunk-FINTZKAV.js";
6
6
  import {
7
7
  ApiError
8
- } from "../chunk-KPFQU4HI.js";
8
+ } from "../chunk-7YT3426Q.js";
9
9
  export {
10
10
  Api,
11
11
  ApiError,
package/package.json CHANGED
@@ -1,20 +1,29 @@
1
1
  {
2
2
  "name": "@randajan/api-kit",
3
- "version": "1.0.8",
3
+ "version": "1.0.11",
4
4
  "description": "A lightweight wrapper around fetch that always returns a structured JSON response, handling errors and network issues gracefully",
5
5
  "repository": "randajan/api-kit",
6
6
  "type": "module",
7
- "main": "dist/index.js",
8
- "module": "dist//index.js",
7
+ "main": "dist/cjs/index.cjs",
8
+ "module": "dist/esm/index.mjs",
9
9
  "exports": {
10
- ".": "./dist/index.js",
11
- "./server": "./dist/server/index.js",
12
- "./client": "./dist/client/index.js"
10
+ ".": {
11
+ "import": "./dist/esm/index.mjs",
12
+ "require": "./dist/cjs/index.cjs"
13
+ },
14
+ "./server": {
15
+ "import": "./dist/esm/server/index.mjs",
16
+ "require": "./dist/cjs/server/index.cjs"
17
+ },
18
+ "./client": {
19
+ "import": "./dist/esm/client/index.mjs",
20
+ "require": "./dist/cjs/client/index.cjs"
21
+ }
13
22
  },
14
23
  "license": "MIT",
15
24
  "peerDependencies": {},
16
25
  "devDependencies": {
17
- "@randajan/simple-lib": "^2.4.0",
26
+ "@randajan/simple-lib": "^3.0.2",
18
27
  "cors": "^2.8.5",
19
28
  "express": "^4.21.2"
20
29
  },
@@ -45,6 +54,6 @@
45
54
  "url": "https://www.linkedin.com/in/randajan/"
46
55
  },
47
56
  "dependencies": {
48
- "@randajan/props": "^0.1.3"
57
+ "@randajan/props": "^0.1.4"
49
58
  }
50
59
  }
File without changes