miolo-cli 3.0.0-beta.155 → 3.0.0-beta.159
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/package.json +11 -16
- package/src/catcher/index.mjs +19 -21
- package/src/fetcher/fetcher.mjs +66 -68
- package/src/fetcher/index.mjs +2 -3
- package/src/fetcher/utils.mjs +7 -8
- package/src/index.mjs +13 -16
- package/src/socket/index.mjs +2 -2
- package/dist/miolo-cli.mjs +0 -469
- package/dist/miolo-cli.mjs.map +0 -1
- package/dist/miolo-cli.umd.js +0 -699
- package/dist/miolo-cli.umd.js.map +0 -1
package/dist/miolo-cli.mjs
DELETED
|
@@ -1,469 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* miolo-cli v3.0.0-beta.155
|
|
3
|
-
*
|
|
4
|
-
* https://www.afialapis.com/os/miolo
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) Donato Lorenzo <donato@afialapis.com>
|
|
7
|
-
*
|
|
8
|
-
* This source code is licensed under the MIT license found in the
|
|
9
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
10
|
-
*
|
|
11
|
-
* @license MIT
|
|
12
|
-
*/
|
|
13
|
-
/* eslint-disable */
|
|
14
|
-
import qs from 'qs';
|
|
15
|
-
|
|
16
|
-
function init_catcher(catcher_url, fetcher) {
|
|
17
|
-
if (typeof window == "undefined") {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
if (window.miolo_listeners === true) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// window.onerror = function(msg, file, line, col, error) {
|
|
25
|
-
// try {
|
|
26
|
-
// const params= {
|
|
27
|
-
// 'error': {
|
|
28
|
-
// msg, file, line, col, error
|
|
29
|
-
// },
|
|
30
|
-
// 'path' : window.location.pathname,
|
|
31
|
-
// 'agent': 'UserAgent' + navigator.userAgent
|
|
32
|
-
// }
|
|
33
|
-
//
|
|
34
|
-
// fetcher.post(catcher_url, params)
|
|
35
|
-
// } catch(e) {
|
|
36
|
-
// console.error(e)
|
|
37
|
-
// }
|
|
38
|
-
// }
|
|
39
|
-
|
|
40
|
-
window.addEventListener("error", event => {
|
|
41
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent
|
|
42
|
-
|
|
43
|
-
try {
|
|
44
|
-
var params = {
|
|
45
|
-
'error': {
|
|
46
|
-
msg: (event === null || event === void 0 ? void 0 : event.message) || 'Client error',
|
|
47
|
-
file: event === null || event === void 0 ? void 0 : event.filename,
|
|
48
|
-
line: event === null || event === void 0 ? void 0 : event.lineno,
|
|
49
|
-
col: event === null || event === void 0 ? void 0 : event.colno,
|
|
50
|
-
error: event === null || event === void 0 ? void 0 : event.error
|
|
51
|
-
},
|
|
52
|
-
'path': window.location.pathname,
|
|
53
|
-
'agent': 'UserAgent' + navigator.userAgent
|
|
54
|
-
};
|
|
55
|
-
fetcher.post(catcher_url, params);
|
|
56
|
-
} catch (e) {
|
|
57
|
-
console.error(e);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
window.addEventListener("unhandledrejection", event => {
|
|
61
|
-
// https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent
|
|
62
|
-
|
|
63
|
-
try {
|
|
64
|
-
var params = {
|
|
65
|
-
'warning': {
|
|
66
|
-
msg: (event === null || event === void 0 ? void 0 : event.reason) || 'Client Unhandled rejection',
|
|
67
|
-
file: undefined,
|
|
68
|
-
line: undefined,
|
|
69
|
-
col: undefined,
|
|
70
|
-
error: event === null || event === void 0 ? void 0 : event.reason
|
|
71
|
-
},
|
|
72
|
-
'path': window.location.pathname,
|
|
73
|
-
'agent': 'UserAgent' + navigator.userAgent
|
|
74
|
-
};
|
|
75
|
-
fetcher.post(catcher_url, params);
|
|
76
|
-
} catch (e) {
|
|
77
|
-
console.error(e);
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
window.miolo_listeners = true;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function asyncGeneratorStep(n, t, e, r, o, a, c) {
|
|
84
|
-
try {
|
|
85
|
-
var i = n[a](c),
|
|
86
|
-
u = i.value;
|
|
87
|
-
} catch (n) {
|
|
88
|
-
return void e(n);
|
|
89
|
-
}
|
|
90
|
-
i.done ? t(u) : Promise.resolve(u).then(r, o);
|
|
91
|
-
}
|
|
92
|
-
function _asyncToGenerator(n) {
|
|
93
|
-
return function () {
|
|
94
|
-
var t = this,
|
|
95
|
-
e = arguments;
|
|
96
|
-
return new Promise(function (r, o) {
|
|
97
|
-
var a = n.apply(t, e);
|
|
98
|
-
function _next(n) {
|
|
99
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
|
|
100
|
-
}
|
|
101
|
-
function _throw(n) {
|
|
102
|
-
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
|
|
103
|
-
}
|
|
104
|
-
_next(void 0);
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
function _defineProperty(e, r, t) {
|
|
109
|
-
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
|
|
110
|
-
value: t,
|
|
111
|
-
enumerable: true,
|
|
112
|
-
configurable: true,
|
|
113
|
-
writable: true
|
|
114
|
-
}) : e[r] = t, e;
|
|
115
|
-
}
|
|
116
|
-
function ownKeys(e, r) {
|
|
117
|
-
var t = Object.keys(e);
|
|
118
|
-
if (Object.getOwnPropertySymbols) {
|
|
119
|
-
var o = Object.getOwnPropertySymbols(e);
|
|
120
|
-
r && (o = o.filter(function (r) {
|
|
121
|
-
return Object.getOwnPropertyDescriptor(e, r).enumerable;
|
|
122
|
-
})), t.push.apply(t, o);
|
|
123
|
-
}
|
|
124
|
-
return t;
|
|
125
|
-
}
|
|
126
|
-
function _objectSpread2(e) {
|
|
127
|
-
for (var r = 1; r < arguments.length; r++) {
|
|
128
|
-
var t = null != arguments[r] ? arguments[r] : {};
|
|
129
|
-
r % 2 ? ownKeys(Object(t), true).forEach(function (r) {
|
|
130
|
-
_defineProperty(e, r, t[r]);
|
|
131
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
|
|
132
|
-
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
return e;
|
|
136
|
-
}
|
|
137
|
-
function _toPrimitive(t, r) {
|
|
138
|
-
if ("object" != typeof t || !t) return t;
|
|
139
|
-
var e = t[Symbol.toPrimitive];
|
|
140
|
-
if (void 0 !== e) {
|
|
141
|
-
var i = e.call(t, r);
|
|
142
|
-
if ("object" != typeof i) return i;
|
|
143
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
144
|
-
}
|
|
145
|
-
return ("string" === r ? String : Number)(t);
|
|
146
|
-
}
|
|
147
|
-
function _toPropertyKey(t) {
|
|
148
|
-
var i = _toPrimitive(t, "string");
|
|
149
|
-
return "symbol" == typeof i ? i : i + "";
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* Transform an JSON object to a query string
|
|
154
|
-
*/
|
|
155
|
-
// const _parse_value= (value) => {
|
|
156
|
-
// try {
|
|
157
|
-
// return value.replace(/\+/g, '%2B')
|
|
158
|
-
// } catch(e) {
|
|
159
|
-
// return value
|
|
160
|
-
// }
|
|
161
|
-
// }
|
|
162
|
-
//
|
|
163
|
-
// export function json_to_query_string(obj) {
|
|
164
|
-
// if (obj && (Object.keys(obj).length>0)) {
|
|
165
|
-
// const uparams = new URLSearchParams()
|
|
166
|
-
// for (const key in obj) {
|
|
167
|
-
// if (Object.hasOwn(obj, key)) {
|
|
168
|
-
// const value = obj[key];
|
|
169
|
-
// if (Array.isArray(value)) {
|
|
170
|
-
// value.forEach(item => uparams.append(key, _parse_value(item)))
|
|
171
|
-
// } else if (value !== undefined && value !== null) {
|
|
172
|
-
// uparams.append(key, _parse_value(value))
|
|
173
|
-
// }
|
|
174
|
-
// }
|
|
175
|
-
// }
|
|
176
|
-
// return `?${uparams.toString()}`
|
|
177
|
-
// }
|
|
178
|
-
// return ''
|
|
179
|
-
// }
|
|
180
|
-
|
|
181
|
-
function json_to_query_string(obj) {
|
|
182
|
-
if (!obj || Object.keys(obj).length === 0) return '';
|
|
183
|
-
return "?".concat(qs.stringify(obj, {
|
|
184
|
-
arrayFormat: 'repeat'
|
|
185
|
-
}));
|
|
186
|
-
}
|
|
187
|
-
function trim_left(str, what) {
|
|
188
|
-
return str.replace(new RegExp("^".concat(what, "+")), '');
|
|
189
|
-
}
|
|
190
|
-
function omit_nil(obj) {
|
|
191
|
-
if (typeof obj !== 'object') return obj;
|
|
192
|
-
return Object.keys(obj).reduce((acc, v) => {
|
|
193
|
-
if (obj[v] !== undefined) acc[v] = omit_nil(obj[v]);
|
|
194
|
-
return acc;
|
|
195
|
-
}, {});
|
|
196
|
-
}
|
|
197
|
-
function null_to_undefined(value) {
|
|
198
|
-
if (Array.isArray(value)) {
|
|
199
|
-
return value.map(null_to_undefined);
|
|
200
|
-
} else if (value && typeof value === 'object') {
|
|
201
|
-
var data = {};
|
|
202
|
-
for (var [key, val] of Object.entries(value)) {
|
|
203
|
-
data[key] = val === null ? undefined : null_to_undefined(val);
|
|
204
|
-
}
|
|
205
|
-
return data;
|
|
206
|
-
}
|
|
207
|
-
return value;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
class Fetcher {
|
|
211
|
-
/**
|
|
212
|
-
* @param {*} config {hostname, port, force_hostname, silent_fail: false}
|
|
213
|
-
*/
|
|
214
|
-
constructor(config) {
|
|
215
|
-
this.config = config;
|
|
216
|
-
this.http_auth = undefined;
|
|
217
|
-
}
|
|
218
|
-
set_http_auth(auth) {
|
|
219
|
-
if (auth) {
|
|
220
|
-
var {
|
|
221
|
-
username,
|
|
222
|
-
password
|
|
223
|
-
} = auth;
|
|
224
|
-
this.http_auth = {
|
|
225
|
-
username,
|
|
226
|
-
password
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
get_headers() {
|
|
231
|
-
var headers = {};
|
|
232
|
-
if (this.http_auth) {
|
|
233
|
-
var {
|
|
234
|
-
username,
|
|
235
|
-
password
|
|
236
|
-
} = this.http_auth;
|
|
237
|
-
username = username || '';
|
|
238
|
-
password = password || '';
|
|
239
|
-
var sauth;
|
|
240
|
-
try {
|
|
241
|
-
sauth = 'Basic ' + Buffer.from(username + ":" + password).toString('base64');
|
|
242
|
-
} catch (_) {
|
|
243
|
-
sauth = 'Basic ' + btoa(username + ":" + password);
|
|
244
|
-
}
|
|
245
|
-
headers['Authorization'] = sauth;
|
|
246
|
-
}
|
|
247
|
-
return headers;
|
|
248
|
-
}
|
|
249
|
-
_prepare_url(url) {
|
|
250
|
-
var endpoint = '/' + trim_left(url, '/');
|
|
251
|
-
var {
|
|
252
|
-
hostname,
|
|
253
|
-
port,
|
|
254
|
-
force_hostname
|
|
255
|
-
} = this.config || {};
|
|
256
|
-
if (hostname && force_hostname) {
|
|
257
|
-
return "http://".concat(hostname, ":").concat(port).concat(endpoint);
|
|
258
|
-
}
|
|
259
|
-
return endpoint;
|
|
260
|
-
}
|
|
261
|
-
_fetch(method, url, params) {
|
|
262
|
-
var _arguments = arguments,
|
|
263
|
-
_this = this;
|
|
264
|
-
return _asyncToGenerator(function* () {
|
|
265
|
-
var http_auth = _arguments.length > 3 && _arguments[3] !== undefined ? _arguments[3] : undefined;
|
|
266
|
-
_this.set_http_auth(http_auth);
|
|
267
|
-
var request = {
|
|
268
|
-
method,
|
|
269
|
-
mode: 'cors',
|
|
270
|
-
credentials: 'include',
|
|
271
|
-
headers: _objectSpread2({
|
|
272
|
-
'content-type': 'application/json'
|
|
273
|
-
}, _this.get_headers() || {})
|
|
274
|
-
};
|
|
275
|
-
var wurl = _this._prepare_url(url);
|
|
276
|
-
if (method === 'POST') {
|
|
277
|
-
request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v);
|
|
278
|
-
} else if (method === 'GET') {
|
|
279
|
-
if (params) {
|
|
280
|
-
wurl += json_to_query_string(params);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
var response = yield fetch(wurl, request);
|
|
284
|
-
if (response.redirected) {
|
|
285
|
-
var isBrowser = typeof window == 'object';
|
|
286
|
-
if (isBrowser) {
|
|
287
|
-
// JSDOM does not support navigation, so lets skip it for tests
|
|
288
|
-
var isTest = typeof navigator !== "undefined" && navigator.userAgent.includes("Node.js");
|
|
289
|
-
if (!isTest) {
|
|
290
|
-
window.location.replace(response.url);
|
|
291
|
-
return Promise.resolve(response);
|
|
292
|
-
} else {
|
|
293
|
-
console.error("Response for ".concat(wurl, " is a redirect to ").concat(response.url, ". But you are in a test environment, where redirects cannot be done. Unexpected results are coming..."));
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
if (response.headers.get('content-type').indexOf('json') >= 0) {
|
|
298
|
-
var resp = yield response.json();
|
|
299
|
-
resp = null_to_undefined(resp);
|
|
300
|
-
return _objectSpread2(_objectSpread2({}, resp), {}, {
|
|
301
|
-
status: response.status,
|
|
302
|
-
response
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
var data = yield response.text();
|
|
306
|
-
return {
|
|
307
|
-
ok: true,
|
|
308
|
-
data,
|
|
309
|
-
status: response.status,
|
|
310
|
-
response
|
|
311
|
-
};
|
|
312
|
-
})();
|
|
313
|
-
}
|
|
314
|
-
get(url, params) {
|
|
315
|
-
var _arguments2 = arguments,
|
|
316
|
-
_this2 = this;
|
|
317
|
-
return _asyncToGenerator(function* () {
|
|
318
|
-
var http_auth = _arguments2.length > 2 && _arguments2[2] !== undefined ? _arguments2[2] : undefined;
|
|
319
|
-
/* eslint no-unused-vars:0 */
|
|
320
|
-
try {
|
|
321
|
-
var resp = yield _this2._fetch('GET', url, omit_nil(params), http_auth);
|
|
322
|
-
return resp;
|
|
323
|
-
} catch (e) {
|
|
324
|
-
var _this2$config;
|
|
325
|
-
if (((_this2$config = _this2.config) === null || _this2$config === void 0 ? void 0 : _this2$config.silent_fail) !== true) {
|
|
326
|
-
console.error("Error on GET ".concat(url));
|
|
327
|
-
console.error(e);
|
|
328
|
-
}
|
|
329
|
-
return {
|
|
330
|
-
ok: false,
|
|
331
|
-
error: e,
|
|
332
|
-
status: -1
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
})();
|
|
336
|
-
}
|
|
337
|
-
post(url, data) {
|
|
338
|
-
var _arguments3 = arguments,
|
|
339
|
-
_this3 = this;
|
|
340
|
-
return _asyncToGenerator(function* () {
|
|
341
|
-
var http_auth = _arguments3.length > 2 && _arguments3[2] !== undefined ? _arguments3[2] : undefined;
|
|
342
|
-
try {
|
|
343
|
-
var resp = yield _this3._fetch('POST', url, data, http_auth);
|
|
344
|
-
return resp;
|
|
345
|
-
} catch (e) {
|
|
346
|
-
var _this3$config;
|
|
347
|
-
if (((_this3$config = _this3.config) === null || _this3$config === void 0 ? void 0 : _this3$config.silent_fail) !== true) {
|
|
348
|
-
console.error("Error on POST ".concat(url));
|
|
349
|
-
console.error(e);
|
|
350
|
-
}
|
|
351
|
-
return {
|
|
352
|
-
ok: false,
|
|
353
|
-
error: e,
|
|
354
|
-
status: -1
|
|
355
|
-
};
|
|
356
|
-
}
|
|
357
|
-
})();
|
|
358
|
-
}
|
|
359
|
-
read(url, params) {
|
|
360
|
-
var _arguments4 = arguments,
|
|
361
|
-
_this4 = this;
|
|
362
|
-
return _asyncToGenerator(function* () {
|
|
363
|
-
var http_auth = _arguments4.length > 2 && _arguments4[2] !== undefined ? _arguments4[2] : undefined;
|
|
364
|
-
return yield _this4.get("".concat(url, "/read"), params, http_auth);
|
|
365
|
-
})();
|
|
366
|
-
}
|
|
367
|
-
key_list(url, params) {
|
|
368
|
-
var _arguments5 = arguments,
|
|
369
|
-
_this5 = this;
|
|
370
|
-
return _asyncToGenerator(function* () {
|
|
371
|
-
var http_auth = _arguments5.length > 2 && _arguments5[2] !== undefined ? _arguments5[2] : undefined;
|
|
372
|
-
return yield _this5.get("".concat(url, "/key_list"), params, http_auth);
|
|
373
|
-
})();
|
|
374
|
-
}
|
|
375
|
-
name_list(url, params) {
|
|
376
|
-
var _arguments6 = arguments,
|
|
377
|
-
_this6 = this;
|
|
378
|
-
return _asyncToGenerator(function* () {
|
|
379
|
-
var http_auth = _arguments6.length > 2 && _arguments6[2] !== undefined ? _arguments6[2] : undefined;
|
|
380
|
-
var resp = yield _this6.key_list(url, params, http_auth);
|
|
381
|
-
if (resp !== null && resp !== void 0 && resp.data) {
|
|
382
|
-
resp.data = Object.values(resp.data);
|
|
383
|
-
}
|
|
384
|
-
return resp;
|
|
385
|
-
})();
|
|
386
|
-
}
|
|
387
|
-
find(url, id) {
|
|
388
|
-
var _arguments7 = arguments,
|
|
389
|
-
_this7 = this;
|
|
390
|
-
return _asyncToGenerator(function* () {
|
|
391
|
-
var http_auth = _arguments7.length > 2 && _arguments7[2] !== undefined ? _arguments7[2] : undefined;
|
|
392
|
-
return yield _this7.get("".concat(url, "/find"), {
|
|
393
|
-
id: id
|
|
394
|
-
}, http_auth);
|
|
395
|
-
})();
|
|
396
|
-
}
|
|
397
|
-
distinct(url, field, params) {
|
|
398
|
-
var _arguments8 = arguments,
|
|
399
|
-
_this8 = this;
|
|
400
|
-
return _asyncToGenerator(function* () {
|
|
401
|
-
var http_auth = _arguments8.length > 3 && _arguments8[3] !== undefined ? _arguments8[3] : undefined;
|
|
402
|
-
var nparams = _objectSpread2(_objectSpread2({}, params), {}, {
|
|
403
|
-
distinct_field: field
|
|
404
|
-
});
|
|
405
|
-
return yield _this8.get("".concat(url, "/distinct"), nparams, http_auth);
|
|
406
|
-
})();
|
|
407
|
-
}
|
|
408
|
-
upsave(url, data) {
|
|
409
|
-
var _arguments9 = arguments,
|
|
410
|
-
_this9 = this;
|
|
411
|
-
return _asyncToGenerator(function* () {
|
|
412
|
-
var http_auth = _arguments9.length > 2 && _arguments9[2] !== undefined ? _arguments9[2] : undefined;
|
|
413
|
-
var resp;
|
|
414
|
-
if (data.id == undefined) {
|
|
415
|
-
delete data.id;
|
|
416
|
-
resp = yield _this9.post("".concat(url, "/save"), data, http_auth);
|
|
417
|
-
} else {
|
|
418
|
-
resp = yield _this9.post("".concat(url, "/update"), data, http_auth);
|
|
419
|
-
}
|
|
420
|
-
return resp;
|
|
421
|
-
})();
|
|
422
|
-
}
|
|
423
|
-
remove(url, id) {
|
|
424
|
-
var _arguments0 = arguments,
|
|
425
|
-
_this0 = this;
|
|
426
|
-
return _asyncToGenerator(function* () {
|
|
427
|
-
var http_auth = _arguments0.length > 2 && _arguments0[2] !== undefined ? _arguments0[2] : undefined;
|
|
428
|
-
var data = {
|
|
429
|
-
id: id
|
|
430
|
-
};
|
|
431
|
-
return yield _this0.post("".concat(url, "/delete"), data, http_auth);
|
|
432
|
-
})();
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
Fetcher.keyList = Fetcher.key_list;
|
|
436
|
-
Fetcher.nameList = Fetcher.name_list;
|
|
437
|
-
|
|
438
|
-
function init_fetcher(config) {
|
|
439
|
-
var fetcher = new Fetcher(config);
|
|
440
|
-
return fetcher;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
// import {init_socket} from './socket/index.mjs'
|
|
444
|
-
|
|
445
|
-
function miolo_client(context) {
|
|
446
|
-
var {
|
|
447
|
-
config
|
|
448
|
-
} = context;
|
|
449
|
-
var fetcher = init_fetcher(config);
|
|
450
|
-
if (config !== null && config !== void 0 && config.catcher_url) {
|
|
451
|
-
init_catcher(config === null || config === void 0 ? void 0 : config.catcher_url, fetcher);
|
|
452
|
-
}
|
|
453
|
-
|
|
454
|
-
// let socket
|
|
455
|
-
// if (config?.socket?.enabled===true) {
|
|
456
|
-
// const domain = config?.socket?.domain
|
|
457
|
-
// const options = config?.socket?.options
|
|
458
|
-
// socket = init_socket(domain, options)
|
|
459
|
-
// }
|
|
460
|
-
|
|
461
|
-
var miolo_obj = {
|
|
462
|
-
fetcher
|
|
463
|
-
//socket
|
|
464
|
-
};
|
|
465
|
-
return miolo_obj;
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
export { miolo_client };
|
|
469
|
-
//# sourceMappingURL=miolo-cli.mjs.map
|
package/dist/miolo-cli.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"miolo-cli.mjs","sources":["../src/catcher/index.mjs","../src/fetcher/utils.mjs","../src/fetcher/fetcher.mjs","../src/fetcher/index.mjs","../src/index.mjs"],"sourcesContent":["function init_catcher (catcher_url, fetcher) {\n if (typeof window == \"undefined\") {\n return\n } \n\n if (window.miolo_listeners===true) {\n return\n }\n\n // window.onerror = function(msg, file, line, col, error) {\n // try {\n // const params= {\n // 'error': {\n // msg, file, line, col, error\n // },\n // 'path' : window.location.pathname,\n // 'agent': 'UserAgent' + navigator.userAgent\n // }\n //\n // fetcher.post(catcher_url, params)\n // } catch(e) {\n // console.error(e)\n // }\n // }\n\n\n window.addEventListener(\"error\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\n try {\n const params= {\n 'error': {\n msg: event?.message || 'Client error',\n file: event?.filename,\n line: event?.lineno,\n col: event?.colno,\n error: event?.error\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.addEventListener(\"unhandledrejection\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n\n try {\n const params= {\n 'warning': {\n msg: event?.reason || 'Client Unhandled rejection',\n file: undefined,\n line: undefined,\n col: undefined,\n error: event?.reason\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.miolo_listeners = true\n\n}\n\nexport {init_catcher}","import qs from 'qs'\n\n/**\n * Transform an JSON object to a query string\n */\n// const _parse_value= (value) => {\n// try {\n// return value.replace(/\\+/g, '%2B')\n// } catch(e) {\n// return value\n// }\n// }\n// \n// export function json_to_query_string(obj) {\n// if (obj && (Object.keys(obj).length>0)) {\n// const uparams = new URLSearchParams()\n// for (const key in obj) {\n// if (Object.hasOwn(obj, key)) {\n// const value = obj[key];\n// if (Array.isArray(value)) {\n// value.forEach(item => uparams.append(key, _parse_value(item)))\n// } else if (value !== undefined && value !== null) {\n// uparams.append(key, _parse_value(value))\n// }\n// }\n// }\n// return `?${uparams.toString()}`\n// }\n// return ''\n// }\n\nexport function json_to_query_string(obj) {\n if (!obj || Object.keys(obj).length === 0) return '';\n return `?${qs.stringify(obj, { arrayFormat: 'repeat' })}`;\n}\n\nexport function trim_left(str, what) {\n return str.replace(new RegExp(`^${what || '\\\\s'}+`), '')\n}\n\n\nexport function omit_nil(obj) {\n if (typeof obj !== 'object') return obj\n return Object.keys(obj).reduce((acc, v) => {\n if (obj[v] !== undefined) acc[v] = omit_nil(obj[v])\n return acc\n }, {})\n}\n\nexport function null_to_undefined(value) {\n if (Array.isArray(value)) {\n return value.map(null_to_undefined)\n } else if (value && typeof value === 'object') {\n const data = {}\n for (const [key, val] of Object.entries(value)) {\n data[key] = val === null ? undefined : null_to_undefined(val)\n }\n return data\n }\n return value\n}\n","import {omit_nil, trim_left, json_to_query_string, null_to_undefined} from './utils.mjs'\n\nclass Fetcher {\n /**\n * @param {*} config {hostname, port, force_hostname, silent_fail: false}\n */\n constructor(config) {\n this.config= config\n this.http_auth = undefined\n }\n\n set_http_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.http_auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.http_auth) {\n let {username, password}= this.http_auth\n username= username || ''\n password= password || ''\n\n let sauth\n try {\n sauth= 'Basic ' + Buffer.from(username + \":\" + password).toString('base64')\n } catch(_) {\n sauth= 'Basic ' + btoa(username + \":\" + password)\n }\n\n headers['Authorization']= sauth\n }\n\n return headers\n }\n\n _prepare_url (url) {\n const endpoint = '/' + trim_left(url, '/')\n \n const {hostname, port, force_hostname} = this.config || {}\n if (hostname && force_hostname) {\n return `http://${hostname}:${port}${endpoint}`\n }\n \n return endpoint\n }\n\n async _fetch (method, url, params, http_auth= undefined) {\n this.set_http_auth(http_auth)\n\n let request = {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n ...this.get_headers() || {}\n }\n }\n\n let wurl = this._prepare_url(url)\n \n if (method === 'POST') {\n request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)\n } else if (method === 'GET') {\n if (params) {\n wurl+= json_to_query_string(params)\n }\n }\n \n const response = await fetch(wurl, request)\n \n if (response.redirected) {\n const isBrowser = typeof window == 'object'\n if (isBrowser) {\n // JSDOM does not support navigation, so lets skip it for tests\n const isTest = typeof navigator !== \"undefined\" &&\n navigator.userAgent.includes(\"Node.js\");\n if (!isTest) {\n window.location.replace(response.url)\n return Promise.resolve(response)\n } else {\n console.error(`Response for ${wurl} is a redirect to ${response.url}. But you are in a test environment, where redirects cannot be done. Unexpected results are coming...`)\n }\n }\n }\n \n if (response.headers.get('content-type').indexOf('json') >= 0) {\n let resp= await response.json()\n resp = null_to_undefined(resp)\n \n return {\n ...resp,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n ok: true,\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, http_auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), http_auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on GET ${url}`)\n console.error(e)\n }\n\n return {\n ok: false,\n error: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, http_auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, http_auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on POST ${url}`)\n console.error(e)\n }\n\n return {\n ok: false,\n error: e,\n status: -1\n }\n }\n }\n\n async read(url, params, http_auth= undefined) {\n return await this.get(`${url}/read`, params, http_auth)\n }\n\n async key_list(url, params, http_auth= undefined) {\n return await this.get(`${url}/key_list`, params, http_auth)\n } \n\n async name_list(url, params, http_auth= undefined) {\n const resp = await this.key_list(url, params, http_auth)\n if (resp?.data) {\n resp.data = Object.values(resp.data)\n }\n return resp\n }\n\n async find(url, id, http_auth= undefined) {\n return await this.get(`${url}/find`, { id: id }, http_auth)\n }\n\n async distinct(url, field, params, http_auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n return await this.get(`${url}/distinct`, nparams, http_auth) \n }\n\n async upsave(url, data, http_auth= undefined) {\n let resp\n if (data.id == undefined) {\n delete data.id\n resp= await this.post(`${url}/save`, data, http_auth)\n } else {\n resp= await this.post(`${url}/update`, data, http_auth)\n }\n \n return resp\n } \n\n async remove(url, id, http_auth= undefined) {\n const data = { id: id }\n return await this.post(`${url}/delete`, data, http_auth)\n }\n}\n\nFetcher.keyList= Fetcher.key_list\nFetcher.nameList= Fetcher.name_list\n\nexport { Fetcher }\n\n","import {Fetcher} from './fetcher.mjs'\n\n\nexport function init_fetcher(config) {\n const fetcher= new Fetcher(config)\n return fetcher\n}\n","import {init_catcher} from './catcher/index.mjs'\nimport {init_fetcher} from './fetcher/index.mjs'\n// import {init_socket} from './socket/index.mjs'\n\nfunction miolo_client(context) {\n\n const {config} = context\n\n const fetcher = init_fetcher(config)\n\n if (config?.catcher_url) {\n init_catcher(config?.catcher_url, fetcher) \n }\n\n// let socket\n// if (config?.socket?.enabled===true) {\n// const domain = config?.socket?.domain\n// const options = config?.socket?.options\n// socket = init_socket(domain, options) \n// }\n\n const miolo_obj= {\n fetcher,\n //socket\n }\n\n return miolo_obj\n}\n\nexport {miolo_client}"],"names":["init_catcher","catcher_url","fetcher","window","miolo_listeners","addEventListener","event","params","msg","message","file","filename","line","lineno","col","colno","error","location","pathname","navigator","userAgent","post","e","console","reason","undefined","json_to_query_string","obj","Object","keys","length","concat","qs","stringify","arrayFormat","trim_left","str","what","replace","RegExp","omit_nil","reduce","acc","v","null_to_undefined","value","Array","isArray","map","data","key","val","entries","Fetcher","constructor","config","http_auth","set_http_auth","auth","username","password","get_headers","headers","sauth","Buffer","from","toString","_","btoa","_prepare_url","url","endpoint","hostname","port","force_hostname","_fetch","method","_arguments","arguments","_this","_asyncToGenerator","request","mode","credentials","_objectSpread","wurl","body","JSON","k","response","fetch","redirected","isBrowser","isTest","includes","Promise","resolve","get","indexOf","resp","json","status","text","ok","_arguments2","_this2","_this2$config","silent_fail","_arguments3","_this3","_this3$config","read","_arguments4","_this4","key_list","_arguments5","_this5","name_list","_arguments6","_this6","values","find","id","_arguments7","_this7","distinct","field","_arguments8","_this8","nparams","distinct_field","upsave","_arguments9","_this9","remove","_arguments0","_this0","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
|