miolo-cli 3.0.0-beta.15 → 3.0.0-beta.151

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo-cli v3.0.0-beta.15
2
+ * miolo-cli v3.0.0-beta.151
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -11,6 +11,8 @@
11
11
  * @license MIT
12
12
  */
13
13
  /* eslint-disable */
14
+ import qs from 'qs';
15
+
14
16
  function init_catcher(catcher_url, fetcher) {
15
17
  if (typeof window == "undefined") {
16
18
  return;
@@ -150,32 +152,37 @@ function _toPropertyKey(t) {
150
152
  /**
151
153
  * Transform an JSON object to a query string
152
154
  */
153
- var _parse_value = value => {
154
- try {
155
- return value.replace(/\+/g, '%2B');
156
- } catch (e) {
157
- return value;
158
- }
159
- };
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
+
160
181
  function json_to_query_string(obj) {
161
- if (obj && Object.keys(obj).length > 0) {
162
- var uparams = new URLSearchParams();
163
- var _loop = function _loop(key) {
164
- if (Object.hasOwn(obj, key)) {
165
- var value = obj[key];
166
- if (Array.isArray(value)) {
167
- value.forEach(item => uparams.append(key, _parse_value(item)));
168
- } else if (value !== undefined && value !== null) {
169
- uparams.append(key, _parse_value(value));
170
- }
171
- }
172
- };
173
- for (var key in obj) {
174
- _loop(key);
175
- }
176
- return "?".concat(uparams.toString());
177
- }
178
- return '';
182
+ if (!obj || Object.keys(obj).length === 0) return '';
183
+ return "?".concat(qs.stringify(obj, {
184
+ arrayFormat: 'repeat'
185
+ }));
179
186
  }
180
187
  function trim_left(str, what) {
181
188
  return str.replace(new RegExp("^".concat(what, "+")), '');
@@ -183,25 +190,21 @@ function trim_left(str, what) {
183
190
  function omit_nil(obj) {
184
191
  if (typeof obj !== 'object') return obj;
185
192
  return Object.keys(obj).reduce((acc, v) => {
186
- if (obj[v] !== undefined) acc[v] = obj[v];
193
+ if (obj[v] !== undefined) acc[v] = omit_nil(obj[v]);
187
194
  return acc;
188
195
  }, {});
189
196
  }
190
- function parse_login_cookie(response) {
191
- if (typeof window !== 'object') {
192
- return undefined;
193
- }
194
- try {
195
- var raw = response.headers.raw()['set-cookie'];
196
- return raw.map(entry => {
197
- var parts = entry.split(';');
198
- var cookiePart = parts[0];
199
- return cookiePart;
200
- }).join(';');
201
- } catch (e) {
202
- console.log('[miolo-cli] Could not get the set-cookie after login');
203
- return undefined;
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;
204
206
  }
207
+ return value;
205
208
  }
206
209
 
207
210
  class Fetcher {
@@ -211,7 +214,6 @@ class Fetcher {
211
214
  constructor(config) {
212
215
  this.config = config;
213
216
  this.auth = undefined;
214
- this.cookie = undefined;
215
217
  }
216
218
  set_auth(auth) {
217
219
  if (auth) {
@@ -242,9 +244,6 @@ class Fetcher {
242
244
  }
243
245
  headers['Authorization'] = sauth;
244
246
  }
245
- if (this.cookie) {
246
- headers['Cookie'] = this.cookie;
247
- }
248
247
  return headers;
249
248
  }
250
249
  _prepare_url(url) {
@@ -296,15 +295,16 @@ class Fetcher {
296
295
  }
297
296
  }
298
297
  if (response.headers.get('content-type').indexOf('json') >= 0) {
299
- var _data = yield response.json();
300
- return {
301
- data: _data,
298
+ var resp = yield response.json();
299
+ resp = null_to_undefined(resp);
300
+ return _objectSpread2(_objectSpread2({}, resp), {}, {
302
301
  status: response.status,
303
302
  response
304
- };
303
+ });
305
304
  }
306
305
  var data = yield response.text();
307
306
  return {
307
+ ok: true,
308
308
  data,
309
309
  status: response.status,
310
310
  response
@@ -327,7 +327,8 @@ class Fetcher {
327
327
  console.error(e);
328
328
  }
329
329
  return {
330
- data: e,
330
+ ok: false,
331
+ error: e,
331
332
  status: -1
332
333
  };
333
334
  }
@@ -348,7 +349,8 @@ class Fetcher {
348
349
  console.error(e);
349
350
  }
350
351
  return {
351
- data: e,
352
+ ok: false,
353
+ error: e,
352
354
  status: -1
353
355
  };
354
356
  }
@@ -365,14 +367,12 @@ class Fetcher {
365
367
  username,
366
368
  password
367
369
  });
368
- _this4.cookie = parse_login_cookie(res.response);
369
370
  return res;
370
371
  })();
371
372
  }
372
373
  logout(url) {
373
374
  var _this5 = this;
374
375
  return _asyncToGenerator(function* () {
375
- _this5.cookie = undefined;
376
376
  var res = yield _this5._fetch('POST', url || '/logout', {});
377
377
  return res;
378
378
  })();
@@ -382,8 +382,7 @@ class Fetcher {
382
382
  _this6 = this;
383
383
  return _asyncToGenerator(function* () {
384
384
  var auth = _arguments4.length > 2 && _arguments4[2] !== undefined ? _arguments4[2] : undefined;
385
- var result = yield _this6.get("".concat(url, "/read"), params, auth);
386
- return result.data;
385
+ return yield _this6.get("".concat(url, "/read"), params, auth);
387
386
  })();
388
387
  }
389
388
  key_list(url, params) {
@@ -391,8 +390,7 @@ class Fetcher {
391
390
  _this7 = this;
392
391
  return _asyncToGenerator(function* () {
393
392
  var auth = _arguments5.length > 2 && _arguments5[2] !== undefined ? _arguments5[2] : undefined;
394
- var result = yield _this7.get("".concat(url, "/key_list"), params, auth);
395
- return result.data;
393
+ return yield _this7.get("".concat(url, "/key_list"), params, auth);
396
394
  })();
397
395
  }
398
396
  name_list(url, params) {
@@ -400,8 +398,11 @@ class Fetcher {
400
398
  _this8 = this;
401
399
  return _asyncToGenerator(function* () {
402
400
  var auth = _arguments6.length > 2 && _arguments6[2] !== undefined ? _arguments6[2] : undefined;
403
- var result = yield _this8.key_list(url, params, auth);
404
- return Object.values(result);
401
+ var resp = yield _this8.key_list(url, params, auth);
402
+ if (resp !== null && resp !== void 0 && resp.data) {
403
+ resp.data = Object.values(resp.data);
404
+ }
405
+ return resp;
405
406
  })();
406
407
  }
407
408
  find(url, id) {
@@ -409,10 +410,9 @@ class Fetcher {
409
410
  _this9 = this;
410
411
  return _asyncToGenerator(function* () {
411
412
  var auth = _arguments7.length > 2 && _arguments7[2] !== undefined ? _arguments7[2] : undefined;
412
- var result = yield _this9.get("".concat(url, "/find"), {
413
+ return yield _this9.get("".concat(url, "/find"), {
413
414
  id: id
414
415
  }, auth);
415
- return result.data;
416
416
  })();
417
417
  }
418
418
  distinct(url, field, params) {
@@ -423,8 +423,7 @@ class Fetcher {
423
423
  var nparams = _objectSpread2(_objectSpread2({}, params), {}, {
424
424
  distinct_field: field
425
425
  });
426
- var result = yield _this0.get("".concat(url, "/distinct"), nparams, auth);
427
- return result.data;
426
+ return yield _this0.get("".concat(url, "/distinct"), nparams, auth);
428
427
  })();
429
428
  }
430
429
  upsave(url, data) {
@@ -432,14 +431,14 @@ class Fetcher {
432
431
  _this1 = this;
433
432
  return _asyncToGenerator(function* () {
434
433
  var auth = _arguments9.length > 2 && _arguments9[2] !== undefined ? _arguments9[2] : undefined;
435
- var result;
434
+ var resp;
436
435
  if (data.id == undefined) {
437
436
  delete data.id;
438
- result = yield _this1.post("".concat(url, "/save"), data, auth);
437
+ resp = yield _this1.post("".concat(url, "/save"), data, auth);
439
438
  } else {
440
- result = yield _this1.post("".concat(url, "/update"), data, auth);
439
+ resp = yield _this1.post("".concat(url, "/update"), data, auth);
441
440
  }
442
- return result.data;
441
+ return resp;
443
442
  })();
444
443
  }
445
444
  remove(url, id) {
@@ -450,8 +449,7 @@ class Fetcher {
450
449
  var data = {
451
450
  id: id
452
451
  };
453
- var result = yield _this10.post("".concat(url, "/delete"), data, auth);
454
- return result.data;
452
+ return yield _this10.post("".concat(url, "/delete"), data, auth);
455
453
  })();
456
454
  }
457
455
  }
@@ -1 +1 @@
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}","/**\n * Transform an JSON object to a query string\n */\nconst _parse_value= (value) => {\n try {\n return value.replace(/\\+/g, '%2B')\n } catch(e) {\n return value\n }\n}\n\nexport 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 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] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} 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.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.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 if (this.cookie) {\n headers['Cookie']= this.cookie\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, auth= undefined) {\n this.set_auth(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 const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), 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 data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, 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 data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\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","_parse_value","value","replace","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","Array","isArray","forEach","item","append","concat","toString","trim_left","str","what","RegExp","omit_nil","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","constructor","config","auth","cookie","set_auth","username","password","get_headers","sauth","Buffer","from","_","btoa","_prepare_url","url","endpoint","hostname","port","force_hostname","_fetch","method","_arguments","arguments","_this","_asyncToGenerator","request","mode","credentials","_objectSpread","wurl","body","JSON","stringify","k","fetch","redirected","isBrowser","isTest","includes","Promise","resolve","get","indexOf","data","json","status","text","_arguments2","_this2","resp","_this2$config","silent_fail","_arguments3","_this3","_this3$config","login","_ref","_this4","res","logout","_this5","read","_arguments4","_this6","result","key_list","_arguments5","_this7","name_list","_arguments6","_this8","values","find","id","_arguments7","_this9","distinct","field","_arguments8","_this0","nparams","distinct_field","upsave","_arguments9","_this1","remove","_arguments0","_this10","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
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.auth = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.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, auth= undefined) {\n this.set_auth(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, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), 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, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, 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 login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n return res\n }\n\n async logout(url) {\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n return await this.get(`${url}/read`, params, auth)\n }\n\n async key_list(url, params, auth= undefined) {\n return await this.get(`${url}/key_list`, params, auth)\n } \n\n async name_list(url, params, auth= undefined) {\n const resp = await this.key_list(url, params, auth)\n if (resp?.data) {\n resp.data = Object.values(resp.data)\n }\n return resp\n }\n\n async find(url, id, auth= undefined) {\n return await this.get(`${url}/find`, { id: id }, auth)\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n return await this.get(`${url}/distinct`, nparams, auth) \n }\n\n async upsave(url, data, auth= undefined) {\n let resp\n if (data.id == undefined) {\n delete data.id\n resp= await this.post(`${url}/save`, data, auth)\n } else {\n resp= await this.post(`${url}/update`, data, auth)\n }\n \n return resp\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n return await this.post(`${url}/delete`, data, 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","auth","set_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","login","_ref","_this4","res","logout","_this5","read","_arguments4","_this6","key_list","_arguments5","_this7","name_list","_arguments6","_this8","values","find","id","_arguments7","_this9","distinct","field","_arguments8","_this0","nparams","distinct_field","upsave","_arguments9","_this1","remove","_arguments0","_this10","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo-cli v3.0.0-beta.15
2
+ * miolo-cli v3.0.0-beta.151
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -12,10 +12,10 @@
12
12
  */
13
13
  /* eslint-disable */
14
14
  (function (global, factory) {
15
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
16
- typeof define === 'function' && define.amd ? define(['exports'], factory) :
17
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.mioloCli = {}));
18
- })(this, (function (exports) { 'use strict';
15
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('qs')) :
16
+ typeof define === 'function' && define.amd ? define(['exports', 'qs'], factory) :
17
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.mioloCli = {}, global.qs));
18
+ })(this, (function (exports, qs) { 'use strict';
19
19
 
20
20
  function init_catcher(catcher_url, fetcher) {
21
21
  if (typeof window == "undefined") {
@@ -213,53 +213,54 @@
213
213
  i = 0;
214
214
  }
215
215
  _regeneratorDefine = function (e, r, n, t) {
216
- if (r) i ? i(e, r, {
216
+ function o(r, n) {
217
+ _regeneratorDefine(e, r, function (e) {
218
+ return this._invoke(r, n, e);
219
+ });
220
+ }
221
+ r ? i ? i(e, r, {
217
222
  value: n,
218
223
  enumerable: !t,
219
224
  configurable: !t,
220
225
  writable: !t
221
- }) : e[r] = n;else {
222
- function o(r, n) {
223
- _regeneratorDefine(e, r, function (e) {
224
- return this._invoke(r, n, e);
225
- });
226
- }
227
- o("next", 0), o("throw", 1), o("return", 2);
228
- }
226
+ }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2));
229
227
  }, _regeneratorDefine(e, r, n, t);
230
228
  }
231
229
 
232
230
  /**
233
231
  * Transform an JSON object to a query string
234
232
  */
235
- var _parse_value = function _parse_value(value) {
236
- try {
237
- return value.replace(/\+/g, '%2B');
238
- } catch (e) {
239
- return value;
240
- }
241
- };
233
+ // const _parse_value= (value) => {
234
+ // try {
235
+ // return value.replace(/\+/g, '%2B')
236
+ // } catch(e) {
237
+ // return value
238
+ // }
239
+ // }
240
+ //
241
+ // export function json_to_query_string(obj) {
242
+ // if (obj && (Object.keys(obj).length>0)) {
243
+ // const uparams = new URLSearchParams()
244
+ // for (const key in obj) {
245
+ // if (Object.hasOwn(obj, key)) {
246
+ // const value = obj[key];
247
+ // if (Array.isArray(value)) {
248
+ // value.forEach(item => uparams.append(key, _parse_value(item)))
249
+ // } else if (value !== undefined && value !== null) {
250
+ // uparams.append(key, _parse_value(value))
251
+ // }
252
+ // }
253
+ // }
254
+ // return `?${uparams.toString()}`
255
+ // }
256
+ // return ''
257
+ // }
258
+
242
259
  function json_to_query_string(obj) {
243
- if (obj && Object.keys(obj).length > 0) {
244
- var uparams = new URLSearchParams();
245
- var _loop = function _loop(key) {
246
- if (Object.hasOwn(obj, key)) {
247
- var value = obj[key];
248
- if (Array.isArray(value)) {
249
- value.forEach(function (item) {
250
- return uparams.append(key, _parse_value(item));
251
- });
252
- } else if (value !== undefined && value !== null) {
253
- uparams.append(key, _parse_value(value));
254
- }
255
- }
256
- };
257
- for (var key in obj) {
258
- _loop(key);
259
- }
260
- return "?" + uparams.toString();
261
- }
262
- return '';
260
+ if (!obj || Object.keys(obj).length === 0) return '';
261
+ return "?" + qs.stringify(obj, {
262
+ arrayFormat: 'repeat'
263
+ });
263
264
  }
264
265
  function trim_left(str, what) {
265
266
  return str.replace(new RegExp("^" + (what) + "+"), '');
@@ -267,25 +268,24 @@
267
268
  function omit_nil(obj) {
268
269
  if (typeof obj !== 'object') return obj;
269
270
  return Object.keys(obj).reduce(function (acc, v) {
270
- if (obj[v] !== undefined) acc[v] = obj[v];
271
+ if (obj[v] !== undefined) acc[v] = omit_nil(obj[v]);
271
272
  return acc;
272
273
  }, {});
273
274
  }
274
- function parse_login_cookie(response) {
275
- if (typeof window !== 'object') {
276
- return undefined;
277
- }
278
- try {
279
- var raw = response.headers.raw()['set-cookie'];
280
- return raw.map(function (entry) {
281
- var parts = entry.split(';');
282
- var cookiePart = parts[0];
283
- return cookiePart;
284
- }).join(';');
285
- } catch (e) {
286
- console.log('[miolo-cli] Could not get the set-cookie after login');
287
- return undefined;
275
+ function null_to_undefined(value) {
276
+ if (Array.isArray(value)) {
277
+ return value.map(null_to_undefined);
278
+ } else if (value && typeof value === 'object') {
279
+ var data = {};
280
+ for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {
281
+ var _Object$entries$_i = _Object$entries[_i],
282
+ key = _Object$entries$_i[0],
283
+ val = _Object$entries$_i[1];
284
+ data[key] = val === null ? undefined : null_to_undefined(val);
285
+ }
286
+ return data;
288
287
  }
288
+ return value;
289
289
  }
290
290
 
291
291
  var Fetcher = /*#__PURE__*/function () {
@@ -295,7 +295,6 @@
295
295
  function Fetcher(config) {
296
296
  this.config = config;
297
297
  this.auth = undefined;
298
- this.cookie = undefined;
299
298
  }
300
299
  var _proto = Fetcher.prototype;
301
300
  _proto.set_auth = function set_auth(auth) {
@@ -324,9 +323,6 @@
324
323
  }
325
324
  headers['Authorization'] = sauth;
326
325
  }
327
- if (this.cookie) {
328
- headers['Cookie'] = this.cookie;
329
- }
330
326
  return headers;
331
327
  };
332
328
  _proto._prepare_url = function _prepare_url(url) {
@@ -342,7 +338,7 @@
342
338
  };
343
339
  _proto._fetch = /*#__PURE__*/function () {
344
340
  var _fetch2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(method, url, params, auth) {
345
- var request, wurl, response, isBrowser, isTest, _data, data;
341
+ var request, wurl, response, isBrowser, isTest, resp, data;
346
342
  return _regenerator().w(function (_context) {
347
343
  while (1) switch (_context.n) {
348
344
  case 0:
@@ -399,18 +395,19 @@
399
395
  _context.n = 4;
400
396
  return response.json();
401
397
  case 4:
402
- _data = _context.v;
403
- return _context.a(2, {
404
- data: _data,
398
+ resp = _context.v;
399
+ resp = null_to_undefined(resp);
400
+ return _context.a(2, _extends({}, resp, {
405
401
  status: response.status,
406
402
  response: response
407
- });
403
+ }));
408
404
  case 5:
409
405
  _context.n = 6;
410
406
  return response.text();
411
407
  case 6:
412
408
  data = _context.v;
413
409
  return _context.a(2, {
410
+ ok: true,
414
411
  data: data,
415
412
  status: response.status,
416
413
  response: response
@@ -446,7 +443,8 @@
446
443
  console.error(_t);
447
444
  }
448
445
  return _context2.a(2, {
449
- data: _t,
446
+ ok: false,
447
+ error: _t,
450
448
  status: -1
451
449
  });
452
450
  }
@@ -480,7 +478,8 @@
480
478
  console.error(_t2);
481
479
  }
482
480
  return _context3.a(2, {
483
- data: _t2,
481
+ ok: false,
482
+ error: _t2,
484
483
  status: -1
485
484
  });
486
485
  }
@@ -505,7 +504,6 @@
505
504
  });
506
505
  case 1:
507
506
  res = _context4.v;
508
- this.cookie = parse_login_cookie(res.response);
509
507
  return _context4.a(2, res);
510
508
  }
511
509
  }, _callee4, this);
@@ -521,7 +519,6 @@
521
519
  return _regenerator().w(function (_context5) {
522
520
  while (1) switch (_context5.n) {
523
521
  case 0:
524
- this.cookie = undefined;
525
522
  _context5.n = 1;
526
523
  return this._fetch('POST', url || '/logout', {});
527
524
  case 1:
@@ -537,7 +534,6 @@
537
534
  }();
538
535
  _proto.read = /*#__PURE__*/function () {
539
536
  var _read = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(url, params, auth) {
540
- var result;
541
537
  return _regenerator().w(function (_context6) {
542
538
  while (1) switch (_context6.n) {
543
539
  case 0:
@@ -547,8 +543,7 @@
547
543
  _context6.n = 1;
548
544
  return this.get(url + "/read", params, auth);
549
545
  case 1:
550
- result = _context6.v;
551
- return _context6.a(2, result.data);
546
+ return _context6.a(2, _context6.v);
552
547
  }
553
548
  }, _callee6, this);
554
549
  }));
@@ -559,7 +554,6 @@
559
554
  }();
560
555
  _proto.key_list = /*#__PURE__*/function () {
561
556
  var _key_list = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(url, params, auth) {
562
- var result;
563
557
  return _regenerator().w(function (_context7) {
564
558
  while (1) switch (_context7.n) {
565
559
  case 0:
@@ -569,8 +563,7 @@
569
563
  _context7.n = 1;
570
564
  return this.get(url + "/key_list", params, auth);
571
565
  case 1:
572
- result = _context7.v;
573
- return _context7.a(2, result.data);
566
+ return _context7.a(2, _context7.v);
574
567
  }
575
568
  }, _callee7, this);
576
569
  }));
@@ -581,7 +574,7 @@
581
574
  }();
582
575
  _proto.name_list = /*#__PURE__*/function () {
583
576
  var _name_list = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(url, params, auth) {
584
- var result;
577
+ var resp;
585
578
  return _regenerator().w(function (_context8) {
586
579
  while (1) switch (_context8.n) {
587
580
  case 0:
@@ -591,8 +584,11 @@
591
584
  _context8.n = 1;
592
585
  return this.key_list(url, params, auth);
593
586
  case 1:
594
- result = _context8.v;
595
- return _context8.a(2, Object.values(result));
587
+ resp = _context8.v;
588
+ if (resp != null && resp.data) {
589
+ resp.data = Object.values(resp.data);
590
+ }
591
+ return _context8.a(2, resp);
596
592
  }
597
593
  }, _callee8, this);
598
594
  }));
@@ -603,7 +599,6 @@
603
599
  }();
604
600
  _proto.find = /*#__PURE__*/function () {
605
601
  var _find = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(url, id, auth) {
606
- var result;
607
602
  return _regenerator().w(function (_context9) {
608
603
  while (1) switch (_context9.n) {
609
604
  case 0:
@@ -615,8 +610,7 @@
615
610
  id: id
616
611
  }, auth);
617
612
  case 1:
618
- result = _context9.v;
619
- return _context9.a(2, result.data);
613
+ return _context9.a(2, _context9.v);
620
614
  }
621
615
  }, _callee9, this);
622
616
  }));
@@ -627,7 +621,7 @@
627
621
  }();
628
622
  _proto.distinct = /*#__PURE__*/function () {
629
623
  var _distinct = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(url, field, params, auth) {
630
- var nparams, result;
624
+ var nparams;
631
625
  return _regenerator().w(function (_context0) {
632
626
  while (1) switch (_context0.n) {
633
627
  case 0:
@@ -640,8 +634,7 @@
640
634
  _context0.n = 1;
641
635
  return this.get(url + "/distinct", nparams, auth);
642
636
  case 1:
643
- result = _context0.v;
644
- return _context0.a(2, result.data);
637
+ return _context0.a(2, _context0.v);
645
638
  }
646
639
  }, _callee0, this);
647
640
  }));
@@ -652,7 +645,7 @@
652
645
  }();
653
646
  _proto.upsave = /*#__PURE__*/function () {
654
647
  var _upsave = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee1(url, data, auth) {
655
- var result;
648
+ var resp;
656
649
  return _regenerator().w(function (_context1) {
657
650
  while (1) switch (_context1.n) {
658
651
  case 0:
@@ -667,16 +660,16 @@
667
660
  _context1.n = 1;
668
661
  return this.post(url + "/save", data, auth);
669
662
  case 1:
670
- result = _context1.v;
663
+ resp = _context1.v;
671
664
  _context1.n = 4;
672
665
  break;
673
666
  case 2:
674
667
  _context1.n = 3;
675
668
  return this.post(url + "/update", data, auth);
676
669
  case 3:
677
- result = _context1.v;
670
+ resp = _context1.v;
678
671
  case 4:
679
- return _context1.a(2, result.data);
672
+ return _context1.a(2, resp);
680
673
  }
681
674
  }, _callee1, this);
682
675
  }));
@@ -687,7 +680,7 @@
687
680
  }();
688
681
  _proto.remove = /*#__PURE__*/function () {
689
682
  var _remove = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee10(url, id, auth) {
690
- var data, result;
683
+ var data;
691
684
  return _regenerator().w(function (_context10) {
692
685
  while (1) switch (_context10.n) {
693
686
  case 0:
@@ -700,8 +693,7 @@
700
693
  _context10.n = 1;
701
694
  return this.post(url + "/delete", data, auth);
702
695
  case 1:
703
- result = _context10.v;
704
- return _context10.a(2, result.data);
696
+ return _context10.a(2, _context10.v);
705
697
  }
706
698
  }, _callee10, this);
707
699
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"miolo-cli.umd.js","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}","/**\n * Transform an JSON object to a query string\n */\nconst _parse_value= (value) => {\n try {\n return value.replace(/\\+/g, '%2B')\n } catch(e) {\n return value\n }\n}\n\nexport 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 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] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} 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.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.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 if (this.cookie) {\n headers['Cookie']= this.cookie\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, auth= undefined) {\n this.set_auth(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 const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), 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 data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, 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 data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\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","_parse_value","value","replace","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","Array","isArray","forEach","item","append","toString","trim_left","str","what","RegExp","omit_nil","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","config","auth","cookie","_proto","prototype","set_auth","username","password","get_headers","_this$auth","sauth","Buffer","from","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regenerator","m","_callee","method","request","wurl","isBrowser","isTest","_data","data","w","_context","n","mode","credentials","_extends","body","JSON","stringify","k","fetch","redirected","includes","a","Promise","resolve","get","indexOf","json","status","text","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_t","_context2","p","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_t2","_context3","_x8","_x9","_x0","login","_login","_callee4","_ref2","res","_context4","_x1","_x10","logout","_logout","_callee5","_context5","_x11","read","_read","_callee6","result","_context6","_x12","_x13","_x14","key_list","_key_list","_callee7","_context7","_x15","_x16","_x17","name_list","_name_list","_callee8","_context8","values","_x18","_x19","_x20","find","_find","_callee9","id","_context9","_x21","_x22","_x23","distinct","_distinct","_callee0","field","nparams","_context0","distinct_field","_x24","_x25","_x26","_x27","upsave","_upsave","_callee1","_context1","_x28","_x29","_x30","remove","_remove","_callee10","_context10","_x31","_x32","_x33","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
1
+ {"version":3,"file":"miolo-cli.umd.js","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.auth = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.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, auth= undefined) {\n this.set_auth(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, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), 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, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, 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 login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n return res\n }\n\n async logout(url) {\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n return await this.get(`${url}/read`, params, auth)\n }\n\n async key_list(url, params, auth= undefined) {\n return await this.get(`${url}/key_list`, params, auth)\n } \n\n async name_list(url, params, auth= undefined) {\n const resp = await this.key_list(url, params, auth)\n if (resp?.data) {\n resp.data = Object.values(resp.data)\n }\n return resp\n }\n\n async find(url, id, auth= undefined) {\n return await this.get(`${url}/find`, { id: id }, auth)\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n return await this.get(`${url}/distinct`, nparams, auth) \n }\n\n async upsave(url, data, auth= undefined) {\n let resp\n if (data.id == undefined) {\n delete data.id\n resp= await this.post(`${url}/save`, data, auth)\n } else {\n resp= await this.post(`${url}/update`, data, auth)\n }\n \n return resp\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n return await this.post(`${url}/delete`, data, 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","qs","stringify","arrayFormat","trim_left","str","what","replace","RegExp","omit_nil","reduce","acc","v","null_to_undefined","value","Array","isArray","map","data","_i","_Object$entries","entries","_Object$entries$_i","key","val","Fetcher","config","auth","_proto","prototype","set_auth","username","password","get_headers","headers","_this$auth","sauth","Buffer","from","toString","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regenerator","m","_callee","method","request","wurl","response","isBrowser","isTest","resp","w","_context","n","mode","credentials","_extends","body","JSON","k","fetch","redirected","includes","a","Promise","resolve","get","indexOf","json","status","text","ok","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","_this$config","_t","_context2","p","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_t2","_context3","_x8","_x9","_x0","login","_login","_callee4","_ref2","res","_context4","_x1","_x10","logout","_logout","_callee5","_context5","_x11","read","_read","_callee6","_context6","_x12","_x13","_x14","key_list","_key_list","_callee7","_context7","_x15","_x16","_x17","name_list","_name_list","_callee8","_context8","values","_x18","_x19","_x20","find","_find","_callee9","id","_context9","_x21","_x22","_x23","distinct","_distinct","_callee0","field","nparams","_context0","distinct_field","_x24","_x25","_x26","_x27","upsave","_upsave","_callee1","_context1","_x28","_x29","_x30","remove","_remove","_callee10","_context10","_x31","_x32","_x33","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "miolo-cli",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.151",
4
4
  "description": "cli utils for miolo",
5
5
  "author": "Donato Lorenzo <donato@afialapis.com>",
6
6
  "contributors": [
@@ -18,7 +18,7 @@
18
18
  "type": "module",
19
19
  "exports": {
20
20
  ".": {
21
- "development": "./src/index.mjs",
21
+ "development": "./src/index.mjs",
22
22
  "import": "./dist/miolo-cli.mjs",
23
23
  "default": "./dist/miolo-cli.umd.js"
24
24
  }
@@ -28,21 +28,17 @@
28
28
  "src"
29
29
  ],
30
30
  "scripts": {
31
+ "lint": "npx xeira lint ./src",
31
32
  "reset": "rm -fr package-lock.json npm-lock.yaml dist/* && npm i",
32
33
  "clean": "rm -fr ./dist/*",
33
34
  "bundle": "npx xeira bundle --target=browser --source_index=./src/index.mjs --bundle_folder=./dist --bundle_name=miolo-cli --bundle_extension=umd,mjs",
34
35
  "dist": "npm run clean && npm run bundle"
35
36
  },
36
37
  "dependencies": {
37
- "socket.io-client": "^4.8.1"
38
+ "qs": "^6.14.1",
39
+ "socket.io-client": "^4.8.3"
38
40
  },
39
41
  "devDependencies": {
40
- "node-fetch": "^3.3.2",
41
- "xeira": "^1.2.3"
42
- },
43
- "eslintConfig": {
44
- "extends": [
45
- "../../node_modules/xeira/configs/eslint.cjs"
46
- ]
42
+ "xeira": "^2.0.0-beta.10"
47
43
  }
48
44
  }
@@ -1,4 +1,4 @@
1
- import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} from './utils.mjs'
1
+ import {omit_nil, trim_left, json_to_query_string, null_to_undefined} from './utils.mjs'
2
2
 
3
3
  class Fetcher {
4
4
  /**
@@ -7,7 +7,6 @@ class Fetcher {
7
7
  constructor(config) {
8
8
  this.config= config
9
9
  this.auth = undefined
10
- this.cookie = undefined
11
10
  }
12
11
 
13
12
  set_auth(auth) {
@@ -35,10 +34,6 @@ class Fetcher {
35
34
  headers['Authorization']= sauth
36
35
  }
37
36
 
38
- if (this.cookie) {
39
- headers['Cookie']= this.cookie
40
- }
41
-
42
37
  return headers
43
38
  }
44
39
 
@@ -94,10 +89,11 @@ class Fetcher {
94
89
  }
95
90
 
96
91
  if (response.headers.get('content-type').indexOf('json') >= 0) {
97
- const data= await response.json()
92
+ let resp= await response.json()
93
+ resp = null_to_undefined(resp)
98
94
 
99
95
  return {
100
- data,
96
+ ...resp,
101
97
  status: response.status,
102
98
  response
103
99
  }
@@ -105,6 +101,7 @@ class Fetcher {
105
101
 
106
102
  const data= await response.text()
107
103
  return {
104
+ ok: true,
108
105
  data,
109
106
  status: response.status,
110
107
  response
@@ -124,7 +121,8 @@ class Fetcher {
124
121
  }
125
122
 
126
123
  return {
127
- data: e,
124
+ ok: false,
125
+ error: e,
128
126
  status: -1,
129
127
  }
130
128
  }
@@ -141,7 +139,8 @@ class Fetcher {
141
139
  }
142
140
 
143
141
  return {
144
- data: e,
142
+ ok: false,
143
+ error: e,
145
144
  status: -1
146
145
  }
147
146
  }
@@ -149,34 +148,32 @@ class Fetcher {
149
148
 
150
149
  async login(url, {username, password}) {
151
150
  const res= await this._fetch('POST', url || '/login', {username, password})
152
- this.cookie= parse_login_cookie(res.response)
153
151
  return res
154
152
  }
155
153
 
156
154
  async logout(url) {
157
- this.cookie= undefined
158
155
  const res= await this._fetch('POST', url || '/logout', {})
159
156
  return res
160
157
  }
161
158
 
162
159
  async read(url, params, auth= undefined) {
163
- const result = await this.get(`${url}/read`, params, auth)
164
- return result.data
160
+ return await this.get(`${url}/read`, params, auth)
165
161
  }
166
162
 
167
163
  async key_list(url, params, auth= undefined) {
168
- const result = await this.get(`${url}/key_list`, params, auth)
169
- return result.data
164
+ return await this.get(`${url}/key_list`, params, auth)
170
165
  }
171
166
 
172
167
  async name_list(url, params, auth= undefined) {
173
- const result = await this.key_list(url, params, auth)
174
- return Object.values(result)
168
+ const resp = await this.key_list(url, params, auth)
169
+ if (resp?.data) {
170
+ resp.data = Object.values(resp.data)
171
+ }
172
+ return resp
175
173
  }
176
174
 
177
175
  async find(url, id, auth= undefined) {
178
- const result = await this.get(`${url}/find`, { id: id }, auth)
179
- return result.data
176
+ return await this.get(`${url}/find`, { id: id }, auth)
180
177
  }
181
178
 
182
179
  async distinct(url, field, params, auth= undefined) {
@@ -184,26 +181,24 @@ class Fetcher {
184
181
  ...params,
185
182
  distinct_field: field
186
183
  }
187
- const result = await this.get(`${url}/distinct`, nparams, auth)
188
- return result.data
184
+ return await this.get(`${url}/distinct`, nparams, auth)
189
185
  }
190
186
 
191
187
  async upsave(url, data, auth= undefined) {
192
- let result
188
+ let resp
193
189
  if (data.id == undefined) {
194
190
  delete data.id
195
- result= await this.post(`${url}/save`, data, auth)
191
+ resp= await this.post(`${url}/save`, data, auth)
196
192
  } else {
197
- result= await this.post(`${url}/update`, data, auth)
193
+ resp= await this.post(`${url}/update`, data, auth)
198
194
  }
199
195
 
200
- return result.data
196
+ return resp
201
197
  }
202
198
 
203
199
  async remove(url, id, auth= undefined) {
204
200
  const data = { id: id }
205
- const result = await this.post(`${url}/delete`, data, auth)
206
- return result.data
201
+ return await this.post(`${url}/delete`, data, auth)
207
202
  }
208
203
  }
209
204
 
@@ -1,30 +1,37 @@
1
+ import qs from 'qs'
2
+
1
3
  /**
2
4
  * Transform an JSON object to a query string
3
5
  */
4
- const _parse_value= (value) => {
5
- try {
6
- return value.replace(/\+/g, '%2B')
7
- } catch(e) {
8
- return value
9
- }
10
- }
6
+ // const _parse_value= (value) => {
7
+ // try {
8
+ // return value.replace(/\+/g, '%2B')
9
+ // } catch(e) {
10
+ // return value
11
+ // }
12
+ // }
13
+ //
14
+ // export function json_to_query_string(obj) {
15
+ // if (obj && (Object.keys(obj).length>0)) {
16
+ // const uparams = new URLSearchParams()
17
+ // for (const key in obj) {
18
+ // if (Object.hasOwn(obj, key)) {
19
+ // const value = obj[key];
20
+ // if (Array.isArray(value)) {
21
+ // value.forEach(item => uparams.append(key, _parse_value(item)))
22
+ // } else if (value !== undefined && value !== null) {
23
+ // uparams.append(key, _parse_value(value))
24
+ // }
25
+ // }
26
+ // }
27
+ // return `?${uparams.toString()}`
28
+ // }
29
+ // return ''
30
+ // }
11
31
 
12
32
  export function json_to_query_string(obj) {
13
- if (obj && (Object.keys(obj).length>0)) {
14
- const uparams = new URLSearchParams()
15
- for (const key in obj) {
16
- if (Object.hasOwn(obj, key)) {
17
- const value = obj[key];
18
- if (Array.isArray(value)) {
19
- value.forEach(item => uparams.append(key, _parse_value(item)))
20
- } else if (value !== undefined && value !== null) {
21
- uparams.append(key, _parse_value(value))
22
- }
23
- }
24
- }
25
- return `?${uparams.toString()}`
26
- }
27
- return ''
33
+ if (!obj || Object.keys(obj).length === 0) return '';
34
+ return `?${qs.stringify(obj, { arrayFormat: 'repeat' })}`;
28
35
  }
29
36
 
30
37
  export function trim_left(str, what) {
@@ -35,25 +42,20 @@ export function trim_left(str, what) {
35
42
  export function omit_nil(obj) {
36
43
  if (typeof obj !== 'object') return obj
37
44
  return Object.keys(obj).reduce((acc, v) => {
38
- if (obj[v] !== undefined) acc[v] = obj[v]
45
+ if (obj[v] !== undefined) acc[v] = omit_nil(obj[v])
39
46
  return acc
40
47
  }, {})
41
48
  }
42
49
 
43
-
44
- export function parse_login_cookie(response) {
45
- if (typeof window !== 'object') {
46
- return undefined
47
- }
48
- try {
49
- const raw = response.headers.raw()['set-cookie'];
50
- return raw.map((entry) => {
51
- const parts = entry.split(';');
52
- const cookiePart = parts[0];
53
- return cookiePart;
54
- }).join(';');
55
- } catch(e) {
56
- console.log('[miolo-cli] Could not get the set-cookie after login')
57
- return undefined
50
+ export function null_to_undefined(value) {
51
+ if (Array.isArray(value)) {
52
+ return value.map(null_to_undefined)
53
+ } else if (value && typeof value === 'object') {
54
+ const data = {}
55
+ for (const [key, val] of Object.entries(value)) {
56
+ data[key] = val === null ? undefined : null_to_undefined(val)
57
+ }
58
+ return data
58
59
  }
59
- }
60
+ return value
61
+ }