miolo 2.0.0-beta.26 → 2.0.0-beta.28

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 +1 @@
1
- {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/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 */\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, item))\n } else if (value !== undefined && value !== null) {\n uparams.append(key, 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","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","value","Array","isArray","forEach","item","append","toString","trim_left","str","what","replace","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","_regeneratorRuntime","mark","_callee","method","request","wurl","isBrowser","isTest","_data","data","wrap","_callee$","_context","prev","next","mode","credentials","_extends","body","JSON","stringify","k","fetch","sent","redirected","includes","abrupt","Promise","resolve","get","indexOf","json","status","text","stop","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_callee2$","_context2","t0","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_callee3$","_context3","_x8","_x9","_x10","login","_login","_callee4","_ref2","res","_callee4$","_context4","_x11","_x12","logout","_logout","_callee5","_callee5$","_context5","_x13","read","_read","_callee6","result","_callee6$","_context6","_x14","_x15","_x16","key_list","_key_list","_callee7","_callee7$","_context7","_x17","_x18","_x19","name_list","_name_list","_callee8","_callee8$","_context8","values","_x20","_x21","_x22","find","_find","_callee9","id","_callee9$","_context9","_x23","_x24","_x25","distinct","_distinct","_callee10","field","nparams","_callee10$","_context10","distinct_field","_x26","_x27","_x28","_x29","upsave","_upsave","_callee11","_callee11$","_context11","_x30","_x31","_x32","remove","_remove","_callee12","_callee12$","_context12","_x33","_x34","_x35","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
1
+ {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/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 */\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, item))\n } else if (value !== undefined && value !== null) {\n uparams.append(key, 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","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","value","Array","isArray","forEach","item","append","toString","trim_left","str","what","replace","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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"}