miolo-cli 3.0.0-beta.12 → 3.0.0-beta.120

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.12
2
+ * miolo-cli v3.0.0-beta.120
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -187,21 +187,17 @@ function omit_nil(obj) {
187
187
  return acc;
188
188
  }, {});
189
189
  }
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;
190
+ function null_to_undefined(value) {
191
+ if (Array.isArray(value)) {
192
+ return value.map(null_to_undefined);
193
+ } else if (value && typeof value === 'object') {
194
+ var result = {};
195
+ for (var [key, val] of Object.entries(value)) {
196
+ result[key] = val === null ? undefined : null_to_undefined(val);
197
+ }
198
+ return result;
204
199
  }
200
+ return value;
205
201
  }
206
202
 
207
203
  class Fetcher {
@@ -211,7 +207,6 @@ class Fetcher {
211
207
  constructor(config) {
212
208
  this.config = config;
213
209
  this.auth = undefined;
214
- this.cookie = undefined;
215
210
  }
216
211
  set_auth(auth) {
217
212
  if (auth) {
@@ -242,9 +237,6 @@ class Fetcher {
242
237
  }
243
238
  headers['Authorization'] = sauth;
244
239
  }
245
- if (this.cookie) {
246
- headers['Cookie'] = this.cookie;
247
- }
248
240
  return headers;
249
241
  }
250
242
  _prepare_url(url) {
@@ -297,6 +289,7 @@ class Fetcher {
297
289
  }
298
290
  if (response.headers.get('content-type').indexOf('json') >= 0) {
299
291
  var _data = yield response.json();
292
+ _data = null_to_undefined(_data);
300
293
  return {
301
294
  data: _data,
302
295
  status: response.status,
@@ -365,14 +358,12 @@ class Fetcher {
365
358
  username,
366
359
  password
367
360
  });
368
- _this4.cookie = parse_login_cookie(res.response);
369
361
  return res;
370
362
  })();
371
363
  }
372
364
  logout(url) {
373
365
  var _this5 = this;
374
366
  return _asyncToGenerator(function* () {
375
- _this5.cookie = undefined;
376
367
  var res = yield _this5._fetch('POST', url || '/logout', {});
377
368
  return res;
378
369
  })();
@@ -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}","/**\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\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 result = {}\n for (const [key, val] of Object.entries(value)) {\n result[key] = val === null ? undefined : null_to_undefined(val)\n }\n return result\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 data= await response.json()\n data = null_to_undefined(data)\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 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 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","null_to_undefined","map","result","val","entries","Fetcher","constructor","config","auth","set_auth","username","password","get_headers","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","response","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","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":";;;;;;;;;;;;;AAAA,SAASA,YAAYA,CAAEC,WAAW,EAAEC,OAAO,EAAE;AAC3C,EAAA,IAAI,OAAOC,MAAM,IAAI,WAAW,EAAE;AAChC,IAAA;AACF,EAAA;AAEA,EAAA,IAAIA,MAAM,CAACC,eAAe,KAAG,IAAI,EAAE;AACjC,IAAA;AACF,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGAD,EAAAA,MAAM,CAACE,gBAAgB,CAAC,OAAO,EAAGC,KAAK,IAAK;AAC1C;;IAEA,IAAI;AACF,MAAA,IAAMC,MAAM,GAAE;AACZ,QAAA,OAAO,EAAE;UACPC,GAAG,EAAE,CAAAF,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEG,OAAO,KAAI,cAAc;AACrCC,UAAAA,IAAI,EAAEJ,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEK,QAAQ;AACrBC,UAAAA,IAAI,EAAEN,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEO,MAAM;AACnBC,UAAAA,GAAG,EAAER,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAES,KAAK;AACjBC,UAAAA,KAAK,EAAEV,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEU;SACf;AACD,QAAA,MAAM,EAAGb,MAAM,CAACc,QAAQ,CAACC,QAAQ;AACjC,QAAA,OAAO,EAAE,WAAW,GAAGC,SAAS,CAACC;OAClC;AAEDlB,MAAAA,OAAO,CAACmB,IAAI,CAACpB,WAAW,EAAEM,MAAM,CAAC;IACnC,CAAC,CAAC,OAAMe,CAAC,EAAE;AACTC,MAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,CAAC;AAEFnB,EAAAA,MAAM,CAACE,gBAAgB,CAAC,oBAAoB,EAAGC,KAAK,IAAK;AACvD;;IAEA,IAAI;AACF,MAAA,IAAMC,MAAM,GAAE;AACZ,QAAA,SAAS,EAAE;UACTC,GAAG,EAAE,CAAAF,KAAK,KAAA,IAAA,IAALA,KAAK,uBAALA,KAAK,CAAEkB,MAAM,KAAI,4BAA4B;AAClDd,UAAAA,IAAI,EAAEe,SAAS;AACfb,UAAAA,IAAI,EAAEa,SAAS;AACfX,UAAAA,GAAG,EAAEW,SAAS;AACdT,UAAAA,KAAK,EAAEV,KAAK,KAAA,IAAA,IAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEkB;SACf;AACD,QAAA,MAAM,EAAGrB,MAAM,CAACc,QAAQ,CAACC,QAAQ;AACjC,QAAA,OAAO,EAAE,WAAW,GAAGC,SAAS,CAACC;OAClC;AAEDlB,MAAAA,OAAO,CAACmB,IAAI,CAACpB,WAAW,EAAEM,MAAM,CAAC;IACnC,CAAC,CAAC,OAAMe,CAAC,EAAE;AACTC,MAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;AAClB,IAAA;AACF,EAAA,CAAC,CAAC;EAEFnB,MAAM,CAACC,eAAe,GAAG,IAAI;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxEA;AACA;AACA;AACA,IAAMsB,YAAY,GAAGC,KAAK,IAAK;EAC7B,IAAI;AACF,IAAA,OAAOA,KAAK,CAACC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;EACpC,CAAC,CAAC,OAAMN,CAAC,EAAE;AACT,IAAA,OAAOK,KAAK;AACd,EAAA;AACF,CAAC;AAEM,SAASE,oBAAoBA,CAACC,GAAG,EAAE;AACxC,EAAA,IAAIA,GAAG,IAAKC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,GAAC,CAAE,EAAE;AACtC,IAAA,IAAMC,OAAO,GAAG,IAAIC,eAAe,EAAE;AAAA,IAAA,IAAAC,KAAA,GAAA,SAAAA,KAAAA,CAAAC,GAAA,EACd;MACrB,IAAIN,MAAM,CAACO,MAAM,CAACR,GAAG,EAAEO,GAAG,CAAC,EAAE;AAC3B,QAAA,IAAMV,KAAK,GAAGG,GAAG,CAACO,GAAG,CAAC;AACtB,QAAA,IAAIE,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC,EAAE;AACxBA,UAAAA,KAAK,CAACc,OAAO,CAACC,IAAI,IAAIR,OAAO,CAACS,MAAM,CAACN,GAAG,EAAEX,YAAY,CAACgB,IAAI,CAAC,CAAC,CAAC;QAChE,CAAC,MAAM,IAAIf,KAAK,KAAKF,SAAS,IAAIE,KAAK,KAAK,IAAI,EAAE;UAChDO,OAAO,CAACS,MAAM,CAACN,GAAG,EAAEX,YAAY,CAACC,KAAK,CAAC,CAAC;AAC1C,QAAA;AACF,MAAA;IACF,CAAC;IATD,KAAK,IAAMU,GAAG,IAAIP,GAAG,EAAA;AAAAM,MAAAA,KAAA,CAAAC,GAAA,CAAA;AAAA,IAAA;AAUrB,IAAA,OAAA,GAAA,CAAAO,MAAA,CAAWV,OAAO,CAACW,QAAQ,EAAE,CAAA;AAC/B,EAAA;AACA,EAAA,OAAO,EAAE;AACX;AAEO,SAASC,SAASA,CAACC,GAAG,EAAEC,IAAI,EAAE;AACnC,EAAA,OAAOD,GAAG,CAACnB,OAAO,CAAC,IAAIqB,MAAM,CAAA,GAAA,CAAAL,MAAA,CAAKI,IAAa,EAAA,GAAA,CAAG,CAAC,EAAE,EAAE,CAAC;AAC1D;AAGO,SAASE,QAAQA,CAACpB,GAAG,EAAE;AAC5B,EAAA,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAOA,GAAG;AACvC,EAAA,OAAOC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACqB,MAAM,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;AACzC,IAAA,IAAIvB,GAAG,CAACuB,CAAC,CAAC,KAAK5B,SAAS,EAAE2B,GAAG,CAACC,CAAC,CAAC,GAAGvB,GAAG,CAACuB,CAAC,CAAC;AACzC,IAAA,OAAOD,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;AACR;AAEO,SAASE,iBAAiBA,CAAC3B,KAAK,EAAE;AACvC,EAAA,IAAIY,KAAK,CAACC,OAAO,CAACb,KAAK,CAAC,EAAE;AACxB,IAAA,OAAOA,KAAK,CAAC4B,GAAG,CAACD,iBAAiB,CAAC;EACrC,CAAC,MAAM,IAAI3B,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7C,IAAM6B,MAAM,GAAG,EAAE;AACjB,IAAA,KAAK,IAAM,CAACnB,GAAG,EAAEoB,GAAG,CAAC,IAAI1B,MAAM,CAAC2B,OAAO,CAAC/B,KAAK,CAAC,EAAE;AAC9C6B,MAAAA,MAAM,CAACnB,GAAG,CAAC,GAAGoB,GAAG,KAAK,IAAI,GAAGhC,SAAS,GAAG6B,iBAAiB,CAACG,GAAG,CAAC;AACjE,IAAA;AACA,IAAA,OAAOD,MAAM;AACf,EAAA;AACA,EAAA,OAAO7B,KAAK;AACd;;ACnDA,MAAMgC,OAAO,CAAC;AACZ;AACF;AACA;EACEC,WAAWA,CAACC,MAAM,EAAE;IAClB,IAAI,CAACA,MAAM,GAAEA,MAAM;IACnB,IAAI,CAACC,IAAI,GAAGrC,SAAS;AACvB,EAAA;EAEAsC,QAAQA,CAACD,IAAI,EAAE;AACb,IAAA,IAAIA,IAAI,EAAE;MACR,IAAM;QAACE,QAAQ;AAAEC,QAAAA;AAAQ,OAAC,GAAEH,IAAI;MAChC,IAAI,CAACA,IAAI,GAAE;QAACE,QAAQ;AAAEC,QAAAA;OAAS;AACjC,IAAA;AACF,EAAA;AAEAC,EAAAA,WAAWA,GAAG;IACZ,IAAIC,OAAO,GAAG,EAAE;IAEhB,IAAI,IAAI,CAACL,IAAI,EAAE;MACb,IAAI;QAACE,QAAQ;AAAEC,QAAAA;OAAS,GAAE,IAAI,CAACH,IAAI;MACnCE,QAAQ,GAAEA,QAAQ,IAAI,EAAE;MACxBC,QAAQ,GAAEA,QAAQ,IAAI,EAAE;AAExB,MAAA,IAAIG,KAAK;MACT,IAAI;AACFA,QAAAA,KAAK,GAAE,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACN,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC,CAACpB,QAAQ,CAAC,QAAQ,CAAC;MAC7E,CAAC,CAAC,OAAM0B,CAAC,EAAE;QACTH,KAAK,GAAE,QAAQ,GAAGI,IAAI,CAACR,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC;AACnD,MAAA;AAEAE,MAAAA,OAAO,CAAC,eAAe,CAAC,GAAEC,KAAK;AACjC,IAAA;AAEA,IAAA,OAAOD,OAAO;AAChB,EAAA;EAEAM,YAAYA,CAAEC,GAAG,EAAE;IACjB,IAAMC,QAAQ,GAAG,GAAG,GAAG7B,SAAS,CAAC4B,GAAG,EAAE,GAAG,CAAC;IAE1C,IAAM;MAACE,QAAQ;MAAEC,IAAI;AAAEC,MAAAA;AAAc,KAAC,GAAG,IAAI,CAACjB,MAAM,IAAI,EAAE;IAC1D,IAAIe,QAAQ,IAAIE,cAAc,EAAE;MAC9B,OAAA,SAAA,CAAAlC,MAAA,CAAiBgC,QAAQ,EAAA,GAAA,CAAA,CAAAhC,MAAA,CAAIiC,IAAI,CAAA,CAAAjC,MAAA,CAAG+B,QAAQ,CAAA;AAC9C,IAAA;AAEA,IAAA,OAAOA,QAAQ;AACjB,EAAA;AAEMI,EAAAA,MAAMA,CAAEC,MAAM,EAAEN,GAAG,EAAEnE,MAAM,EAAmB;IAAA,IAAA0E,UAAA,GAAAC,SAAA;MAAAC,KAAA,GAAA,IAAA;AAAA,IAAA,OAAAC,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAmB,UAAA,CAAAhD,MAAA,GAAA,CAAA,IAAAgD,UAAA,CAAA,CAAA,CAAA,KAAAxD,SAAA,GAAAwD,UAAA,CAAA,CAAA,CAAA,GAAExD,SAAS;AAChD0D,MAAAA,KAAI,CAACpB,QAAQ,CAACD,IAAI,CAAC;AAEnB,MAAA,IAAIuB,OAAO,GAAG;QACZL,MAAM;AACNM,QAAAA,IAAI,EAAE,MAAM;AACZC,QAAAA,WAAW,EAAE,SAAS;AACtBpB,QAAAA,OAAO,EAAAqB,cAAA,CAAA;AACL,UAAA,cAAc,EAAE;AAAkB,SAAA,EAC/BL,KAAI,CAACjB,WAAW,EAAE,IAAI,EAAE;OAE9B;AAED,MAAA,IAAIuB,IAAI,GAAGN,KAAI,CAACV,YAAY,CAACC,GAAG,CAAC;MAEjC,IAAIM,MAAM,KAAK,MAAM,EAAE;QACrBK,OAAO,CAACK,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACrF,MAAM,IAAI,EAAE,EAAE,CAACsF,CAAC,EAAExC,CAAC,KAAKA,CAAC,KAAK5B,SAAS,GAAG,IAAI,GAAG4B,CAAC,CAAC;AACnF,MAAA,CAAC,MAAM,IAAI2B,MAAM,KAAK,KAAK,EAAE;AAC3B,QAAA,IAAIzE,MAAM,EAAE;AACVkF,UAAAA,IAAI,IAAG5D,oBAAoB,CAACtB,MAAM,CAAC;AACrC,QAAA;AACF,MAAA;AAEA,MAAA,IAAMuF,QAAQ,GAAA,MAASC,KAAK,CAACN,IAAI,EAAEJ,OAAO,CAAC;MAE3C,IAAIS,QAAQ,CAACE,UAAU,EAAE;AACvB,QAAA,IAAMC,SAAS,GAAG,OAAO9F,MAAM,IAAI,QAAQ;AAC3C,QAAA,IAAI8F,SAAS,EAAE;AACb;AACA,UAAA,IAAMC,MAAM,GAAG,OAAO/E,SAAS,KAAK,WAAW,IAC/BA,SAAS,CAACC,SAAS,CAAC+E,QAAQ,CAAC,SAAS,CAAC;UACvD,IAAI,CAACD,MAAM,EAAE;YACX/F,MAAM,CAACc,QAAQ,CAACW,OAAO,CAACkE,QAAQ,CAACpB,GAAG,CAAC;AACrC,YAAA,OAAO0B,OAAO,CAACC,OAAO,CAACP,QAAQ,CAAC;AAClC,UAAA,CAAC,MAAM;AACLvE,YAAAA,OAAO,CAACP,KAAK,CAAA,eAAA,CAAA4B,MAAA,CAAiB6C,IAAI,EAAA,oBAAA,CAAA,CAAA7C,MAAA,CAAqBkD,QAAQ,CAACpB,GAAG,0GAAuG,CAAC;AAC7K,UAAA;AACF,QAAA;AACF,MAAA;AAEA,MAAA,IAAIoB,QAAQ,CAAC3B,OAAO,CAACmC,GAAG,CAAC,cAAc,CAAC,CAACC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC7D,QAAA,IAAIC,KAAI,GAAA,MAAQV,QAAQ,CAACW,IAAI,EAAE;AAC/BD,QAAAA,KAAI,GAAGlD,iBAAiB,CAACkD,KAAI,CAAC;QAE9B,OAAO;AACLA,UAAAA,IAAI,EAAJA,KAAI;UACJE,MAAM,EAAEZ,QAAQ,CAACY,MAAM;AACvBZ,UAAAA;SACD;AACH,MAAA;AAEA,MAAA,IAAMU,IAAI,GAAA,MAAQV,QAAQ,CAACa,IAAI,EAAE;MACjC,OAAO;QACLH,IAAI;QACJE,MAAM,EAAEZ,QAAQ,CAACY,MAAM;AACvBZ,QAAAA;OACD;AAAA,IAAA,CAAA,CAAA,EAAA;AAEH,EAAA;AAEMQ,EAAAA,GAAGA,CAAC5B,GAAG,EAAEnE,MAAM,EAAmB;IAAA,IAAAqG,WAAA,GAAA1B,SAAA;MAAA2B,MAAA,GAAA,IAAA;AAAA,IAAA,OAAAzB,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAA8C,WAAA,CAAA3E,MAAA,GAAA,CAAA,IAAA2E,WAAA,CAAA,CAAA,CAAA,KAAAnF,SAAA,GAAAmF,WAAA,CAAA,CAAA,CAAA,GAAEnF,SAAS;AACpC;MACA,IAAI;AACF,QAAA,IAAMqF,IAAI,GAAA,MAASD,MAAI,CAAC9B,MAAM,CAAC,KAAK,EAAEL,GAAG,EAAExB,QAAQ,CAAC3C,MAAM,CAAC,EAAEuD,IAAI,CAAC;AAClE,QAAA,OAAOgD,IAAI;MACb,CAAC,CAAC,OAAMxF,CAAC,EAAE;AAAA,QAAA,IAAAyF,aAAA;AACT,QAAA,IAAI,CAAA,CAAAA,aAAA,GAAAF,MAAI,CAAChD,MAAM,MAAA,IAAA,IAAAkD,aAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,aAAA,CAAaC,WAAW,MAAK,IAAI,EAAE;AACrCzF,UAAAA,OAAO,CAACP,KAAK,CAAA,eAAA,CAAA4B,MAAA,CAAiB8B,GAAG,CAAE,CAAC;AACpCnD,UAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;AAClB,QAAA;QAEA,OAAO;AACLkF,UAAAA,IAAI,EAAElF,CAAC;AACPoF,UAAAA,MAAM,EAAE;SACT;AACH,MAAA;AAAC,IAAA,CAAA,CAAA,EAAA;AACH,EAAA;AAEMrF,EAAAA,IAAIA,CAACqD,GAAG,EAAE8B,IAAI,EAAmB;IAAA,IAAAS,WAAA,GAAA/B,SAAA;MAAAgC,MAAA,GAAA,IAAA;AAAA,IAAA,OAAA9B,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAmD,WAAA,CAAAhF,MAAA,GAAA,CAAA,IAAAgF,WAAA,CAAA,CAAA,CAAA,KAAAxF,SAAA,GAAAwF,WAAA,CAAA,CAAA,CAAA,GAAExF,SAAS;MACnC,IAAI;AACF,QAAA,IAAMqF,IAAI,GAAA,MAASI,MAAI,CAACnC,MAAM,CAAC,MAAM,EAAEL,GAAG,EAAE8B,IAAI,EAAE1C,IAAI,CAAC;AACvD,QAAA,OAAOgD,IAAI;MACb,CAAC,CAAC,OAAMxF,CAAC,EAAE;AAAA,QAAA,IAAA6F,aAAA;AACT,QAAA,IAAI,CAAA,CAAAA,aAAA,GAAAD,MAAI,CAACrD,MAAM,MAAA,IAAA,IAAAsD,aAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,aAAA,CAAaH,WAAW,MAAK,IAAI,EAAE;AACrCzF,UAAAA,OAAO,CAACP,KAAK,CAAA,gBAAA,CAAA4B,MAAA,CAAkB8B,GAAG,CAAE,CAAC;AACrCnD,UAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;AAClB,QAAA;QAEA,OAAO;AACLkF,UAAAA,IAAI,EAAElF,CAAC;AACPoF,UAAAA,MAAM,EAAE;SACT;AACH,MAAA;AAAC,IAAA,CAAA,CAAA,EAAA;AACH,EAAA;AAEMU,EAAAA,KAAKA,CAAC1C,GAAG,EAAA2C,IAAA,EAAwB;AAAA,IAAA,IAAAC,MAAA,GAAA,IAAA;AAAA,IAAA,OAAAlC,iBAAA,CAAA,aAAA;MAAA,IAAtB;QAACpB,QAAQ;AAAEC,QAAAA;AAAQ,OAAC,GAAAoD,IAAA;MACnC,IAAME,GAAG,GAAA,MAAQD,MAAI,CAACvC,MAAM,CAAC,MAAM,EAAEL,GAAG,IAAI,QAAQ,EAAE;QAACV,QAAQ;AAAEC,QAAAA;AAAQ,OAAC,CAAC;AAC3E,MAAA,OAAOsD,GAAG;AAAA,IAAA,CAAA,CAAA,EAAA;AACZ,EAAA;EAEMC,MAAMA,CAAC9C,GAAG,EAAE;AAAA,IAAA,IAAA+C,MAAA,GAAA,IAAA;AAAA,IAAA,OAAArC,iBAAA,CAAA,aAAA;AAChB,MAAA,IAAMmC,GAAG,GAAA,MAAQE,MAAI,CAAC1C,MAAM,CAAC,MAAM,EAAEL,GAAG,IAAI,SAAS,EAAE,EAAE,CAAC;AAC1D,MAAA,OAAO6C,GAAG;AAAA,IAAA,CAAA,CAAA,EAAA;AACZ,EAAA;AAEMG,EAAAA,IAAIA,CAAChD,GAAG,EAAEnE,MAAM,EAAmB;IAAA,IAAAoH,WAAA,GAAAzC,SAAA;MAAA0C,MAAA,GAAA,IAAA;AAAA,IAAA,OAAAxC,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAA6D,WAAA,CAAA1F,MAAA,GAAA,CAAA,IAAA0F,WAAA,CAAA,CAAA,CAAA,KAAAlG,SAAA,GAAAkG,WAAA,CAAA,CAAA,CAAA,GAAElG,SAAS;AACrC,MAAA,IAAM+B,MAAM,GAAA,MAASoE,MAAI,CAACtB,GAAG,CAAA,EAAA,CAAA1D,MAAA,CAAI8B,GAAG,EAAA,OAAA,CAAA,EAASnE,MAAM,EAAEuD,IAAI,CAAC;MAC1D,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AAEMqB,EAAAA,QAAQA,CAACnD,GAAG,EAAEnE,MAAM,EAAmB;IAAA,IAAAuH,WAAA,GAAA5C,SAAA;MAAA6C,MAAA,GAAA,IAAA;AAAA,IAAA,OAAA3C,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAgE,WAAA,CAAA7F,MAAA,GAAA,CAAA,IAAA6F,WAAA,CAAA,CAAA,CAAA,KAAArG,SAAA,GAAAqG,WAAA,CAAA,CAAA,CAAA,GAAErG,SAAS;AACzC,MAAA,IAAM+B,MAAM,GAAA,MAASuE,MAAI,CAACzB,GAAG,CAAA,EAAA,CAAA1D,MAAA,CAAI8B,GAAG,EAAA,WAAA,CAAA,EAAanE,MAAM,EAAEuD,IAAI,CAAC;MAC9D,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AAEMwB,EAAAA,SAASA,CAACtD,GAAG,EAAEnE,MAAM,EAAmB;IAAA,IAAA0H,WAAA,GAAA/C,SAAA;MAAAgD,MAAA,GAAA,IAAA;AAAA,IAAA,OAAA9C,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAmE,WAAA,CAAAhG,MAAA,GAAA,CAAA,IAAAgG,WAAA,CAAA,CAAA,CAAA,KAAAxG,SAAA,GAAAwG,WAAA,CAAA,CAAA,CAAA,GAAExG,SAAS;MAC1C,IAAM+B,MAAM,GAAA,MAAS0E,MAAI,CAACL,QAAQ,CAACnD,GAAG,EAAEnE,MAAM,EAAEuD,IAAI,CAAC;AACrD,MAAA,OAAO/B,MAAM,CAACoG,MAAM,CAAC3E,MAAM,CAAC;AAAA,IAAA,CAAA,CAAA,EAAA;AAC9B,EAAA;AAEM4E,EAAAA,IAAIA,CAAC1D,GAAG,EAAE2D,EAAE,EAAmB;IAAA,IAAAC,WAAA,GAAApD,SAAA;MAAAqD,MAAA,GAAA,IAAA;AAAA,IAAA,OAAAnD,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAwE,WAAA,CAAArG,MAAA,GAAA,CAAA,IAAAqG,WAAA,CAAA,CAAA,CAAA,KAAA7G,SAAA,GAAA6G,WAAA,CAAA,CAAA,CAAA,GAAE7G,SAAS;MACjC,IAAM+B,MAAM,SAAS+E,MAAI,CAACjC,GAAG,CAAA,EAAA,CAAA1D,MAAA,CAAI8B,GAAG,EAAA,OAAA,CAAA,EAAS;AAAE2D,QAAAA,EAAE,EAAEA;OAAI,EAAEvE,IAAI,CAAC;MAC9D,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AAEMgC,EAAAA,QAAQA,CAAC9D,GAAG,EAAE+D,KAAK,EAAElI,MAAM,EAAmB;IAAA,IAAAmI,WAAA,GAAAxD,SAAA;MAAAyD,MAAA,GAAA,IAAA;AAAA,IAAA,OAAAvD,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAA4E,WAAA,CAAAzG,MAAA,GAAA,CAAA,IAAAyG,WAAA,CAAA,CAAA,CAAA,KAAAjH,SAAA,GAAAiH,WAAA,CAAA,CAAA,CAAA,GAAEjH,SAAS;AAChD,MAAA,IAAMmH,OAAO,GAAApD,cAAA,CAAAA,cAAA,KACRjF,MAAM,CAAA,EAAA,EAAA,EAAA;AACTsI,QAAAA,cAAc,EAAEJ;OAAK,CACtB;AACD,MAAA,IAAMjF,MAAM,GAAA,MAASmF,MAAI,CAACrC,GAAG,CAAA,EAAA,CAAA1D,MAAA,CAAI8B,GAAG,EAAA,WAAA,CAAA,EAAakE,OAAO,EAAE9E,IAAI,CAAC;MAC/D,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AAEMsC,EAAAA,MAAMA,CAACpE,GAAG,EAAE8B,IAAI,EAAmB;IAAA,IAAAuC,WAAA,GAAA7D,SAAA;MAAA8D,MAAA,GAAA,IAAA;AAAA,IAAA,OAAA5D,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAiF,WAAA,CAAA9G,MAAA,GAAA,CAAA,IAAA8G,WAAA,CAAA,CAAA,CAAA,KAAAtH,SAAA,GAAAsH,WAAA,CAAA,CAAA,CAAA,GAAEtH,SAAS;AACrC,MAAA,IAAI+B,MAAM;AACV,MAAA,IAAIgD,IAAI,CAAC6B,EAAE,IAAI5G,SAAS,EAAE;QACxB,OAAO+E,IAAI,CAAC6B,EAAE;AACd7E,QAAAA,MAAM,GAAA,MAAQwF,MAAI,CAAC3H,IAAI,CAAA,EAAA,CAAAuB,MAAA,CAAI8B,GAAG,EAAA,OAAA,CAAA,EAAS8B,IAAI,EAAE1C,IAAI,CAAC;AACpD,MAAA,CAAC,MAAM;AACLN,QAAAA,MAAM,GAAA,MAAQwF,MAAI,CAAC3H,IAAI,CAAA,EAAA,CAAAuB,MAAA,CAAI8B,GAAG,EAAA,SAAA,CAAA,EAAW8B,IAAI,EAAE1C,IAAI,CAAC;AACtD,MAAA;MAEA,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AAEMyC,EAAAA,MAAMA,CAACvE,GAAG,EAAE2D,EAAE,EAAmB;IAAA,IAAAa,WAAA,GAAAhE,SAAA;MAAAiE,OAAA,GAAA,IAAA;AAAA,IAAA,OAAA/D,iBAAA,CAAA,aAAA;AAAA,MAAA,IAAjBtB,IAAI,GAAAoF,WAAA,CAAAjH,MAAA,GAAA,CAAA,IAAAiH,WAAA,CAAA,CAAA,CAAA,KAAAzH,SAAA,GAAAyH,WAAA,CAAA,CAAA,CAAA,GAAEzH,SAAS;AACnC,MAAA,IAAM+E,IAAI,GAAG;AAAE6B,QAAAA,EAAE,EAAEA;OAAI;AACvB,MAAA,IAAM7E,MAAM,GAAA,MAAS2F,OAAI,CAAC9H,IAAI,CAAA,EAAA,CAAAuB,MAAA,CAAI8B,GAAG,EAAA,SAAA,CAAA,EAAW8B,IAAI,EAAE1C,IAAI,CAAC;MAC3D,OAAON,MAAM,CAACgD,IAAI;AAAA,IAAA,CAAA,CAAA,EAAA;AACpB,EAAA;AACF;AAEA7C,OAAO,CAACyF,OAAO,GAAEzF,OAAO,CAACkE,QAAQ;AACjClE,OAAO,CAAC0F,QAAQ,GAAE1F,OAAO,CAACqE,SAAS;;ACzM5B,SAASsB,YAAYA,CAACzF,MAAM,EAAE;AACnC,EAAA,IAAM3D,OAAO,GAAE,IAAIyD,OAAO,CAACE,MAAM,CAAC;AAClC,EAAA,OAAO3D,OAAO;AAChB;;ACJA;;AAEA,SAASqJ,YAAYA,CAACC,OAAO,EAAE;EAE7B,IAAM;AAAC3F,IAAAA;AAAM,GAAC,GAAG2F,OAAO;AAExB,EAAA,IAAMtJ,OAAO,GAAGoJ,YAAY,CAACzF,MAAM,CAAC;AAEpC,EAAA,IAAIA,MAAM,KAAA,IAAA,IAANA,MAAM,eAANA,MAAM,CAAE5D,WAAW,EAAE;IACvBD,YAAY,CAAC6D,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,MAAA,GAAA,MAAA,GAANA,MAAM,CAAE5D,WAAW,EAAEC,OAAO,CAAC;AAC5C,EAAA;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEE,EAAA,IAAMuJ,SAAS,GAAE;AACfvJ,IAAAA;AACA;GACD;AAED,EAAA,OAAOuJ,SAAS;AAClB;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo-cli v3.0.0-beta.12
2
+ * miolo-cli v3.0.0-beta.120
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -213,19 +213,17 @@
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
 
@@ -271,21 +269,20 @@
271
269
  return acc;
272
270
  }, {});
273
271
  }
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;
272
+ function null_to_undefined(value) {
273
+ if (Array.isArray(value)) {
274
+ return value.map(null_to_undefined);
275
+ } else if (value && typeof value === 'object') {
276
+ var result = {};
277
+ for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {
278
+ var _Object$entries$_i = _Object$entries[_i],
279
+ key = _Object$entries$_i[0],
280
+ val = _Object$entries$_i[1];
281
+ result[key] = val === null ? undefined : null_to_undefined(val);
282
+ }
283
+ return result;
288
284
  }
285
+ return value;
289
286
  }
290
287
 
291
288
  var Fetcher = /*#__PURE__*/function () {
@@ -295,7 +292,6 @@
295
292
  function Fetcher(config) {
296
293
  this.config = config;
297
294
  this.auth = undefined;
298
- this.cookie = undefined;
299
295
  }
300
296
  var _proto = Fetcher.prototype;
301
297
  _proto.set_auth = function set_auth(auth) {
@@ -324,9 +320,6 @@
324
320
  }
325
321
  headers['Authorization'] = sauth;
326
322
  }
327
- if (this.cookie) {
328
- headers['Cookie'] = this.cookie;
329
- }
330
323
  return headers;
331
324
  };
332
325
  _proto._prepare_url = function _prepare_url(url) {
@@ -400,6 +393,7 @@
400
393
  return response.json();
401
394
  case 4:
402
395
  _data = _context.v;
396
+ _data = null_to_undefined(_data);
403
397
  return _context.a(2, {
404
398
  data: _data,
405
399
  status: response.status,
@@ -505,7 +499,6 @@
505
499
  });
506
500
  case 1:
507
501
  res = _context4.v;
508
- this.cookie = parse_login_cookie(res.response);
509
502
  return _context4.a(2, res);
510
503
  }
511
504
  }, _callee4, this);
@@ -521,7 +514,6 @@
521
514
  return _regenerator().w(function (_context5) {
522
515
  while (1) switch (_context5.n) {
523
516
  case 0:
524
- this.cookie = undefined;
525
517
  _context5.n = 1;
526
518
  return this._fetch('POST', url || '/logout', {});
527
519
  case 1:
@@ -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}","/**\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\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 result = {}\n for (const [key, val] of Object.entries(value)) {\n result[key] = val === null ? undefined : null_to_undefined(val)\n }\n return result\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 data= await response.json()\n data = null_to_undefined(data)\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 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 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","null_to_undefined","map","result","_i","_Object$entries","entries","_Object$entries$_i","val","Fetcher","config","auth","_proto","prototype","set_auth","username","password","get_headers","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","response","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","_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.12",
3
+ "version": "3.0.0-beta.120",
4
4
  "description": "cli utils for miolo",
5
5
  "author": "Donato Lorenzo <donato@afialapis.com>",
6
6
  "contributors": [
@@ -24,9 +24,11 @@
24
24
  }
25
25
  },
26
26
  "files": [
27
- "dist"
27
+ "dist",
28
+ "src"
28
29
  ],
29
30
  "scripts": {
31
+ "lint": "npx xeira lint ./src",
30
32
  "reset": "rm -fr package-lock.json npm-lock.yaml dist/* && npm i",
31
33
  "clean": "rm -fr ./dist/*",
32
34
  "bundle": "npx xeira bundle --target=browser --source_index=./src/index.mjs --bundle_folder=./dist --bundle_name=miolo-cli --bundle_extension=umd,mjs",
@@ -37,11 +39,6 @@
37
39
  },
38
40
  "devDependencies": {
39
41
  "node-fetch": "^3.3.2",
40
- "xeira": "^1.2.3"
41
- },
42
- "eslintConfig": {
43
- "extends": [
44
- "../../node_modules/xeira/configs/eslint.cjs"
45
- ]
42
+ "xeira": "^2.0.0-beta.8"
46
43
  }
47
44
  }
@@ -0,0 +1,75 @@
1
+ function init_catcher (catcher_url, fetcher) {
2
+ if (typeof window == "undefined") {
3
+ return
4
+ }
5
+
6
+ if (window.miolo_listeners===true) {
7
+ return
8
+ }
9
+
10
+ // window.onerror = function(msg, file, line, col, error) {
11
+ // try {
12
+ // const params= {
13
+ // 'error': {
14
+ // msg, file, line, col, error
15
+ // },
16
+ // 'path' : window.location.pathname,
17
+ // 'agent': 'UserAgent' + navigator.userAgent
18
+ // }
19
+ //
20
+ // fetcher.post(catcher_url, params)
21
+ // } catch(e) {
22
+ // console.error(e)
23
+ // }
24
+ // }
25
+
26
+
27
+ window.addEventListener("error", (event) => {
28
+ // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent
29
+
30
+ try {
31
+ const params= {
32
+ 'error': {
33
+ msg: event?.message || 'Client error',
34
+ file: event?.filename,
35
+ line: event?.lineno,
36
+ col: event?.colno,
37
+ error: event?.error
38
+ },
39
+ 'path' : window.location.pathname,
40
+ 'agent': 'UserAgent' + navigator.userAgent
41
+ }
42
+
43
+ fetcher.post(catcher_url, params)
44
+ } catch(e) {
45
+ console.error(e)
46
+ }
47
+ })
48
+
49
+ window.addEventListener("unhandledrejection", (event) => {
50
+ // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent
51
+
52
+ try {
53
+ const params= {
54
+ 'warning': {
55
+ msg: event?.reason || 'Client Unhandled rejection',
56
+ file: undefined,
57
+ line: undefined,
58
+ col: undefined,
59
+ error: event?.reason
60
+ },
61
+ 'path' : window.location.pathname,
62
+ 'agent': 'UserAgent' + navigator.userAgent
63
+ }
64
+
65
+ fetcher.post(catcher_url, params)
66
+ } catch(e) {
67
+ console.error(e)
68
+ }
69
+ })
70
+
71
+ window.miolo_listeners = true
72
+
73
+ }
74
+
75
+ export {init_catcher}
@@ -0,0 +1,208 @@
1
+ import {omit_nil, trim_left, json_to_query_string, null_to_undefined} from './utils.mjs'
2
+
3
+ class Fetcher {
4
+ /**
5
+ * @param {*} config {hostname, port, force_hostname, silent_fail: false}
6
+ */
7
+ constructor(config) {
8
+ this.config= config
9
+ this.auth = undefined
10
+ }
11
+
12
+ set_auth(auth) {
13
+ if (auth) {
14
+ const {username, password}= auth
15
+ this.auth= {username, password}
16
+ }
17
+ }
18
+
19
+ get_headers() {
20
+ let headers = {}
21
+
22
+ if (this.auth) {
23
+ let {username, password}= this.auth
24
+ username= username || ''
25
+ password= password || ''
26
+
27
+ let sauth
28
+ try {
29
+ sauth= 'Basic ' + Buffer.from(username + ":" + password).toString('base64')
30
+ } catch(_) {
31
+ sauth= 'Basic ' + btoa(username + ":" + password)
32
+ }
33
+
34
+ headers['Authorization']= sauth
35
+ }
36
+
37
+ return headers
38
+ }
39
+
40
+ _prepare_url (url) {
41
+ const endpoint = '/' + trim_left(url, '/')
42
+
43
+ const {hostname, port, force_hostname} = this.config || {}
44
+ if (hostname && force_hostname) {
45
+ return `http://${hostname}:${port}${endpoint}`
46
+ }
47
+
48
+ return endpoint
49
+ }
50
+
51
+ async _fetch (method, url, params, auth= undefined) {
52
+ this.set_auth(auth)
53
+
54
+ let request = {
55
+ method,
56
+ mode: 'cors',
57
+ credentials: 'include',
58
+ headers: {
59
+ 'content-type': 'application/json',
60
+ ...this.get_headers() || {}
61
+ }
62
+ }
63
+
64
+ let wurl = this._prepare_url(url)
65
+
66
+ if (method === 'POST') {
67
+ request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)
68
+ } else if (method === 'GET') {
69
+ if (params) {
70
+ wurl+= json_to_query_string(params)
71
+ }
72
+ }
73
+
74
+ const response = await fetch(wurl, request)
75
+
76
+ if (response.redirected) {
77
+ const isBrowser = typeof window == 'object'
78
+ if (isBrowser) {
79
+ // JSDOM does not support navigation, so lets skip it for tests
80
+ const isTest = typeof navigator !== "undefined" &&
81
+ navigator.userAgent.includes("Node.js");
82
+ if (!isTest) {
83
+ window.location.replace(response.url)
84
+ return Promise.resolve(response)
85
+ } else {
86
+ 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...`)
87
+ }
88
+ }
89
+ }
90
+
91
+ if (response.headers.get('content-type').indexOf('json') >= 0) {
92
+ let data= await response.json()
93
+ data = null_to_undefined(data)
94
+
95
+ return {
96
+ data,
97
+ status: response.status,
98
+ response
99
+ }
100
+ }
101
+
102
+ const data= await response.text()
103
+ return {
104
+ data,
105
+ status: response.status,
106
+ response
107
+ }
108
+
109
+ }
110
+
111
+ async get(url, params, auth= undefined) {
112
+ /* eslint no-unused-vars:0 */
113
+ try {
114
+ const resp = await this._fetch('GET', url, omit_nil(params), auth)
115
+ return resp
116
+ } catch(e) {
117
+ if (this.config?.silent_fail !== true) {
118
+ console.error(`Error on GET ${url}`)
119
+ console.error(e)
120
+ }
121
+
122
+ return {
123
+ data: e,
124
+ status: -1,
125
+ }
126
+ }
127
+ }
128
+
129
+ async post(url, data, auth= undefined) {
130
+ try {
131
+ const resp = await this._fetch('POST', url, data, auth)
132
+ return resp
133
+ } catch(e) {
134
+ if (this.config?.silent_fail !== true) {
135
+ console.error(`Error on POST ${url}`)
136
+ console.error(e)
137
+ }
138
+
139
+ return {
140
+ data: e,
141
+ status: -1
142
+ }
143
+ }
144
+ }
145
+
146
+ async login(url, {username, password}) {
147
+ const res= await this._fetch('POST', url || '/login', {username, password})
148
+ return res
149
+ }
150
+
151
+ async logout(url) {
152
+ const res= await this._fetch('POST', url || '/logout', {})
153
+ return res
154
+ }
155
+
156
+ async read(url, params, auth= undefined) {
157
+ const result = await this.get(`${url}/read`, params, auth)
158
+ return result.data
159
+ }
160
+
161
+ async key_list(url, params, auth= undefined) {
162
+ const result = await this.get(`${url}/key_list`, params, auth)
163
+ return result.data
164
+ }
165
+
166
+ async name_list(url, params, auth= undefined) {
167
+ const result = await this.key_list(url, params, auth)
168
+ return Object.values(result)
169
+ }
170
+
171
+ async find(url, id, auth= undefined) {
172
+ const result = await this.get(`${url}/find`, { id: id }, auth)
173
+ return result.data
174
+ }
175
+
176
+ async distinct(url, field, params, auth= undefined) {
177
+ const nparams= {
178
+ ...params,
179
+ distinct_field: field
180
+ }
181
+ const result = await this.get(`${url}/distinct`, nparams, auth)
182
+ return result.data
183
+ }
184
+
185
+ async upsave(url, data, auth= undefined) {
186
+ let result
187
+ if (data.id == undefined) {
188
+ delete data.id
189
+ result= await this.post(`${url}/save`, data, auth)
190
+ } else {
191
+ result= await this.post(`${url}/update`, data, auth)
192
+ }
193
+
194
+ return result.data
195
+ }
196
+
197
+ async remove(url, id, auth= undefined) {
198
+ const data = { id: id }
199
+ const result = await this.post(`${url}/delete`, data, auth)
200
+ return result.data
201
+ }
202
+ }
203
+
204
+ Fetcher.keyList= Fetcher.key_list
205
+ Fetcher.nameList= Fetcher.name_list
206
+
207
+ export { Fetcher }
208
+
@@ -0,0 +1,7 @@
1
+ import {Fetcher} from './fetcher.mjs'
2
+
3
+
4
+ export function init_fetcher(config) {
5
+ const fetcher= new Fetcher(config)
6
+ return fetcher
7
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Transform an JSON object to a query string
3
+ */
4
+ const _parse_value= (value) => {
5
+ try {
6
+ return value.replace(/\+/g, '%2B')
7
+ } catch(e) {
8
+ return value
9
+ }
10
+ }
11
+
12
+ 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 ''
28
+ }
29
+
30
+ export function trim_left(str, what) {
31
+ return str.replace(new RegExp(`^${what || '\\s'}+`), '')
32
+ }
33
+
34
+
35
+ export function omit_nil(obj) {
36
+ if (typeof obj !== 'object') return obj
37
+ return Object.keys(obj).reduce((acc, v) => {
38
+ if (obj[v] !== undefined) acc[v] = obj[v]
39
+ return acc
40
+ }, {})
41
+ }
42
+
43
+ export function null_to_undefined(value) {
44
+ if (Array.isArray(value)) {
45
+ return value.map(null_to_undefined)
46
+ } else if (value && typeof value === 'object') {
47
+ const result = {}
48
+ for (const [key, val] of Object.entries(value)) {
49
+ result[key] = val === null ? undefined : null_to_undefined(val)
50
+ }
51
+ return result
52
+ }
53
+ return value
54
+ }
package/src/index.mjs ADDED
@@ -0,0 +1,30 @@
1
+ import {init_catcher} from './catcher/index.mjs'
2
+ import {init_fetcher} from './fetcher/index.mjs'
3
+ // import {init_socket} from './socket/index.mjs'
4
+
5
+ function miolo_client(context) {
6
+
7
+ const {config} = context
8
+
9
+ const fetcher = init_fetcher(config)
10
+
11
+ if (config?.catcher_url) {
12
+ init_catcher(config?.catcher_url, fetcher)
13
+ }
14
+
15
+ // let socket
16
+ // if (config?.socket?.enabled===true) {
17
+ // const domain = config?.socket?.domain
18
+ // const options = config?.socket?.options
19
+ // socket = init_socket(domain, options)
20
+ // }
21
+
22
+ const miolo_obj= {
23
+ fetcher,
24
+ //socket
25
+ }
26
+
27
+ return miolo_obj
28
+ }
29
+
30
+ export {miolo_client}
@@ -0,0 +1,6 @@
1
+ import { io } from "socket.io-client";
2
+
3
+ export function init_socket(domain, options) {
4
+ const socket = io(domain, options)
5
+ return socket
6
+ }