@basthon/browser-bundle 0.61.15 → 0.62.1

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.
Files changed (42) hide show
  1. package/lib/{0.61.15 → 0.62.1}/python3/basthon.tar +0 -0
  2. package/lib/{0.61.15/python3-old → 0.62.1/python3}/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  3. package/lib/{0.61.15 → 0.62.1}/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  4. package/lib/{0.61.15 → 0.62.1}/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
  5. package/lib/{0.61.15/python3-old → 0.62.1/python3}/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  6. package/lib/{0.61.15 → 0.62.1}/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  7. package/lib/0.62.1/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  8. package/lib/{0.61.15/python3-old → 0.62.1/python3}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  9. package/lib/{0.61.15 → 0.62.1}/python3/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  10. package/lib/{0.61.15 → 0.62.1}/python3/repodata.json +1 -1
  11. package/lib/{0.61.15 → 0.62.1}/python3-old/basthon.js +1 -1
  12. package/lib/{0.61.15/python3 → 0.62.1/python3-old}/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  13. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  14. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/ipythonblocks-0.0.1-py3-none-any.whl +0 -0
  15. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/ivp-0.0.1-py3-none-any.whl +0 -0
  16. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/lolviz-0.0.1-py3-none-any.whl +0 -0
  17. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/p5-0.0.1-py3-none-any.whl +0 -0
  18. package/lib/{0.61.15/python3 → 0.62.1/python3-old}/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  19. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  20. package/lib/0.62.1/python3-old/modules/requests-0.0.1-py3-none-any.whl +0 -0
  21. package/lib/{0.61.15/python3 → 0.62.1/python3-old}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  22. package/lib/{0.61.15 → 0.62.1}/python3-old/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  23. package/lib/057823fecaede6350cf9.wasm +0 -0
  24. package/lib/bundle.js +1 -1
  25. package/lib/bundle.js.map +1 -1
  26. package/lib/kernel-base_lib_index_js.js +1 -1
  27. package/lib/kernel-base_lib_index_js.js.map +1 -1
  28. package/lib/kernel-sql_lib_index_js.js +1 -1
  29. package/lib/kernel-sql_lib_index_js.js.map +1 -1
  30. package/lib/vendors-node_modules_sql_js_dist_sql-wasm_js-node_modules_sql_js_dist_sql-wasm_wasm_asset-url-ea4ee4.js +1 -1
  31. package/lib/vendors-node_modules_sql_js_dist_sql-wasm_js-node_modules_sql_js_dist_sql-wasm_wasm_asset-url-ea4ee4.js.map +1 -1
  32. package/package.json +3 -3
  33. package/lib/0.61.15/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  34. package/lib/0.61.15/python3-old/modules/requests-0.0.1-py3-none-any.whl +0 -0
  35. package/lib/595817d88d82727f463b.wasm +0 -0
  36. /package/lib/{0.61.15 → 0.62.1}/python3/modules/extern/pytutor-main.min.css +0 -0
  37. /package/lib/{0.61.15 → 0.62.1}/python3/modules/extern/pytutor-main.min.js +0 -0
  38. /package/lib/{0.61.15 → 0.62.1}/python3/modules/extern/pytutor-main.min.js.map +0 -0
  39. /package/lib/{0.61.15 → 0.62.1}/python3-old/basthon.data +0 -0
  40. /package/lib/{0.61.15 → 0.62.1}/python3-old/modules/extern/pytutor-main.min.css +0 -0
  41. /package/lib/{0.61.15 → 0.62.1}/python3-old/modules/extern/pytutor-main.min.js +0 -0
  42. /package/lib/{0.61.15 → 0.62.1}/python3-old/modules/extern/pytutor-main.min.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-base_lib_index_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js"],"sourcesContent":["import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from \"./version\";\nconst _localfsScheme = \"filesystem:/\";\n/* we mock the fetch function to redirect queries to local FS */\n(function () {\n var _a;\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n //@ts-ignore\n window._fetch = (_a = window._fetch) !== null && _a !== void 0 ? _a : window.fetch;\n window.fetch = async function (request, opts) {\n var _a;\n //@ts-ignore\n const url = (_a = request.url) !== null && _a !== void 0 ? _a : request.toString();\n const prefix = _localfsScheme;\n if (url.startsWith(prefix)) {\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = window.Basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n }\n //@ts-ignore\n return await window._fetch(request, opts);\n };\n const desc = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, \"src\");\n Object.defineProperty(HTMLImageElement.prototype, \"src\", {\n ...desc,\n get: function () {\n var _a;\n return (_a = desc === null || desc === void 0 ? void 0 : desc.get) === null || _a === void 0 ? void 0 : _a.call(this);\n },\n set: function (e) {\n var _a;\n const prefix = _localfsScheme;\n if (e.startsWith(prefix)) {\n const path = e.slice(prefix.length);\n //@ts-ignore\n const content = window.Basthon.getFile(path).buffer;\n (async () => { var _a; return (_a = desc === null || desc === void 0 ? void 0 : desc.set) === null || _a === void 0 ? void 0 : _a.call(this, await toDataURL(content)); })();\n }\n else {\n (_a = desc === null || desc === void 0 ? void 0 : desc.set) === null || _a === void 0 ? void 0 : _a.call(this, e);\n }\n },\n });\n})();\n/**\n * An error thrown by not implemented API functions.\n */\nclass NotImplementedError extends Error {\n constructor(funcName) {\n super(`Function ${funcName} not implemented!`);\n this.name = \"NotImplementedError\";\n }\n}\n/**\n * Event for Basthon's dispatch/listen.\n */\nclass BasthonEvent extends Event {\n constructor(id, data) {\n super(id);\n this.detail = data;\n }\n}\n/**\n * API that any Basthon kernel should fill to be supported\n * in console/notebook.\n */\nexport class KernelBase {\n constructor(options) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this._execution_count = 0;\n this._pendingInput = false;\n // a map to register wrapped listeners to allow later remove\n this._listeners = new Map();\n // root path where kernel is installed\n this._rootPath = options.rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() {\n return VERSION;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\n }\n /**\n * Language name implemented in the kernel (string).\n * As it should be displayed in text.\n */\n languageName() {\n throw new NotImplementedError(\"languageName\");\n }\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n /**\n * Launch the kernel.\n */\n async launch() {\n throw new NotImplementedError(\"launch\");\n }\n /**\n * Execution count getter.\n */\n get execution_count() {\n return this._execution_count;\n }\n /**\n * Async code evaluation that resolves with the result.\n */\n evalAsync(code, outCallback, errCallback, data = null) {\n throw new NotImplementedError(\"evalAsync\");\n }\n restart() {\n throw new NotImplementedError(\"restart\");\n }\n async putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n async putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n userModules() {\n return [];\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n throw new NotImplementedError(\"getFile\");\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n more(source) {\n throw new NotImplementedError(\"more\");\n }\n complete(code) {\n return [];\n }\n banner() {\n return `Welcome to the ${this.languageName()} REPL!`;\n }\n ps1() {\n return \">>> \";\n }\n ps2() {\n return \"... \";\n }\n /**\n * Initialize the kernel.\n */\n async init() {\n try {\n await this.launch();\n }\n catch (error) {\n this._loaded.reject(error);\n return;\n }\n // connecting eval to basthon.eval.request event.\n this.addEventListener(\"eval.request\", this.evalFromEvent.bind(this));\n this._ready = true;\n this._loaded.resolve();\n }\n /**\n * Is the kernel ready?\n */\n get ready() {\n return this._ready;\n }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() {\n await this._loaded.promise;\n }\n /**\n * Root for kernel files. This is always the language directory\n * inside the version number directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version() + \"/\" + this.language();\n if (absolute && !url.startsWith(\"http\")) {\n const base = window.location.origin + window.location.pathname;\n url = base.substring(0, base.lastIndexOf(\"/\")) + \"/\" + url;\n }\n return url;\n }\n /**\n * Downloading data (bytes array or data URL) as filename\n * (opening browser dialog).\n */\n download(data, filename) {\n if (!(typeof data === \"string\" || data instanceof String)) {\n const blob = new Blob([data], { type: \"application/octet-stream\" });\n data = window.URL.createObjectURL(blob);\n }\n const anchor = document.createElement(\"a\");\n anchor.download = filename;\n anchor.href = data;\n anchor.target = \"_blank\";\n anchor.style.display = \"none\"; // just to be safe!\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n }\n /**\n * Dynamically load a script asynchronously.\n */\n static loadScript(url) {\n return new Promise(function (resolve, reject) {\n let script = document.createElement(\"script\");\n script.onload = resolve;\n script.onerror = reject;\n script.src = url;\n document.head.appendChild(script);\n });\n }\n /**\n * Wrapper around document.dispatchEvent.\n * It adds the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n dispatchEvent(eventName, data) {\n document.dispatchEvent(new BasthonEvent(`basthon.${eventName}`, data));\n }\n /**\n * Wrapper around document.addEventListener.\n * It manages the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n addEventListener(eventName, callback) {\n // wrapped callback\n const _callback = (event) => callback(event.detail);\n document.addEventListener(`basthon.${eventName}`, _callback);\n // register the wrapped callback in order to remove it\n let listeners = this._listeners.get(eventName);\n if (listeners == null) {\n listeners = new Map();\n this._listeners.set(eventName, listeners);\n }\n listeners.set(callback, _callback);\n }\n /**\n * Wrapper around document.removeEventListener.\n * It manages the 'basthon.' prefix to each event name.\n */\n removeEventListener(eventName, callback) {\n // get the wrapped callback\n const listeners = this._listeners.get(eventName);\n document.removeEventListener(`basthon.${eventName}`, listeners === null || listeners === void 0 ? void 0 : listeners.get(callback));\n }\n /**\n * Send eval.input event then wait for the user response and return it.\n */\n async inputAsync(prompt, password = false, data = undefined) {\n data = this.clone(data);\n data.content = { prompt, password };\n const promise = new Promise(function (resolve, reject) {\n data.resolve = resolve;\n data.reject = reject;\n });\n this._pendingInput = true;\n this.dispatchEvent(\"eval.input\", data);\n const res = await promise;\n this._pendingInput = false;\n return res;\n }\n /**\n * Simple clone via JSON copy.\n */\n clone(obj) {\n // simple trick that is enough for our purpose.\n return JSON.parse(JSON.stringify(obj));\n }\n /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n async putRessource(filename, content) {\n var _a;\n const ext = (_a = filename.split(\".\").pop()) !== null && _a !== void 0 ? _a : \"\";\n if (this.moduleExts().includes(ext)) {\n return await this.putModule(filename, content);\n }\n else {\n return await this.putFile(filename, content);\n }\n }\n /**\n * Is an input pending?\n */\n pendingInput() {\n return this._pendingInput;\n }\n /**\n * Internal. Code evaluation after an eval.request event.\n */\n async evalFromEvent(data) {\n const stdCallback = (std) => (text) => {\n let dataEvent = this.clone(data);\n dataEvent.stream = std;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n };\n const outCallback = stdCallback(\"stdout\");\n const errCallback = stdCallback(\"stderr\");\n let args;\n try {\n args = await this.evalAsync(data.code, outCallback, errCallback, data);\n }\n catch (error) {\n errCallback(error.toString());\n const dataEvent = this.clone(data);\n dataEvent.error = error;\n dataEvent.execution_count = this.execution_count;\n this.dispatchEvent(\"eval.error\", dataEvent);\n return;\n }\n if (args == null)\n return; // this should not happend\n const result = args[0];\n const executionCount = args[1];\n let dataEvent = this.clone(data);\n dataEvent.execution_count = executionCount;\n if (result != null)\n dataEvent.result = result;\n this.dispatchEvent(\"eval.finished\", dataEvent);\n }\n}\n","export const VERSION = \"0.61.15\";\n"],"names":["_localfsScheme","_a","toDataURL","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","content","_context","prev","next","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x","apply","arguments","window","_fetch","fetch","_ref2","_callee2","request","opts","url","prefix","path","options","dataURL","mime","_context2","toString","startsWith","slice","status","statusText","headers","Headers","Basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x2","_x3","desc","Object","getOwnPropertyDescriptor","HTMLImageElement","prototype","defineProperty","_objectSpread","get","call","this","set","e","_this","_callee3","_context3","t1","t2","t3","NotImplementedError","_Error","_inherits","_super","_createSuper","funcName","_this2","_classCallCheck","concat","name","_createClass","_wrapNativeSuper","Error","BasthonEvent","_Event","_super2","id","data","_this3","detail","Event","KernelBase","_ready","_loaded","PromiseDelegate","_execution_count","_pendingInput","_listeners","Map","_rootPath","rootPath","_evalFromEvent","_putRessource","_inputAsync","_init","_putModule","_putFile","_launch","key","value","_callee4","_context4","code","outCallback","errCallback","_callee5","filename","_context5","_x4","_x5","_callee6","_context6","_x6","_x7","source","languageName","_callee7","_context7","launch","addEventListener","evalFromEvent","bind","_callee8","_context8","promise","absolute","length","undefined","version","language","base","location","origin","pathname","lastIndexOf","String","blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","_callback","event","listeners","removeEventListener","_callee9","prompt","password","res","_args9","_context9","clone","_x8","obj","JSON","parse","stringify","_callee10","ext","_context10","split","pop","moduleExts","includes","putModule","putFile","_x9","_x10","_callee11","stdCallback","args","_dataEvent","executionCount","dataEvent","_this4","_context11","std","text","stream","evalAsync","error","execution_count","_x11","script","onload","src","head"],"sourceRoot":""}
1
+ {"version":3,"file":"kernel-base_lib_index_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js"],"sourcesContent":["import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from \"./version\";\nconst _localfsScheme = \"filesystem:/\";\n/* we mock the fetch function to redirect queries to local FS */\n(function () {\n var _a;\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n //@ts-ignore\n window._fetch = (_a = window._fetch) !== null && _a !== void 0 ? _a : window.fetch;\n window.fetch = async function (request, opts) {\n var _a;\n //@ts-ignore\n const url = (_a = request.url) !== null && _a !== void 0 ? _a : request.toString();\n const prefix = _localfsScheme;\n if (url.startsWith(prefix)) {\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = window.Basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n }\n //@ts-ignore\n return await window._fetch(request, opts);\n };\n const desc = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, \"src\");\n Object.defineProperty(HTMLImageElement.prototype, \"src\", {\n ...desc,\n get: function () {\n var _a;\n return (_a = desc === null || desc === void 0 ? void 0 : desc.get) === null || _a === void 0 ? void 0 : _a.call(this);\n },\n set: function (e) {\n var _a;\n const prefix = _localfsScheme;\n if (e.startsWith(prefix)) {\n const path = e.slice(prefix.length);\n //@ts-ignore\n const content = window.Basthon.getFile(path).buffer;\n (async () => { var _a; return (_a = desc === null || desc === void 0 ? void 0 : desc.set) === null || _a === void 0 ? void 0 : _a.call(this, await toDataURL(content)); })();\n }\n else {\n (_a = desc === null || desc === void 0 ? void 0 : desc.set) === null || _a === void 0 ? void 0 : _a.call(this, e);\n }\n },\n });\n})();\n/**\n * An error thrown by not implemented API functions.\n */\nclass NotImplementedError extends Error {\n constructor(funcName) {\n super(`Function ${funcName} not implemented!`);\n this.name = \"NotImplementedError\";\n }\n}\n/**\n * Event for Basthon's dispatch/listen.\n */\nclass BasthonEvent extends Event {\n constructor(id, data) {\n super(id);\n this.detail = data;\n }\n}\n/**\n * API that any Basthon kernel should fill to be supported\n * in console/notebook.\n */\nexport class KernelBase {\n constructor(options) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this._execution_count = 0;\n this._pendingInput = false;\n // a map to register wrapped listeners to allow later remove\n this._listeners = new Map();\n // root path where kernel is installed\n this._rootPath = options.rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() {\n return VERSION;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\n }\n /**\n * Language name implemented in the kernel (string).\n * As it should be displayed in text.\n */\n languageName() {\n throw new NotImplementedError(\"languageName\");\n }\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n /**\n * Launch the kernel.\n */\n async launch() {\n throw new NotImplementedError(\"launch\");\n }\n /**\n * Execution count getter.\n */\n get execution_count() {\n return this._execution_count;\n }\n /**\n * Async code evaluation that resolves with the result.\n */\n evalAsync(code, outCallback, errCallback, data = null) {\n throw new NotImplementedError(\"evalAsync\");\n }\n restart() {\n throw new NotImplementedError(\"restart\");\n }\n async putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n async putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n userModules() {\n return [];\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n throw new NotImplementedError(\"getFile\");\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n more(source) {\n throw new NotImplementedError(\"more\");\n }\n complete(code) {\n return [];\n }\n banner() {\n return `Welcome to the ${this.languageName()} REPL!`;\n }\n ps1() {\n return \">>> \";\n }\n ps2() {\n return \"... \";\n }\n /**\n * Initialize the kernel.\n */\n async init() {\n try {\n await this.launch();\n }\n catch (error) {\n this._loaded.reject(error);\n return;\n }\n // connecting eval to basthon.eval.request event.\n this.addEventListener(\"eval.request\", this.evalFromEvent.bind(this));\n this._ready = true;\n this._loaded.resolve();\n }\n /**\n * Is the kernel ready?\n */\n get ready() {\n return this._ready;\n }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() {\n await this._loaded.promise;\n }\n /**\n * Root for kernel files. This is always the language directory\n * inside the version number directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version() + \"/\" + this.language();\n if (absolute && !url.startsWith(\"http\")) {\n const base = window.location.origin + window.location.pathname;\n url = base.substring(0, base.lastIndexOf(\"/\")) + \"/\" + url;\n }\n return url;\n }\n /**\n * Downloading data (bytes array or data URL) as filename\n * (opening browser dialog).\n */\n download(data, filename) {\n if (!(typeof data === \"string\" || data instanceof String)) {\n const blob = new Blob([data], { type: \"application/octet-stream\" });\n data = window.URL.createObjectURL(blob);\n }\n const anchor = document.createElement(\"a\");\n anchor.download = filename;\n anchor.href = data;\n anchor.target = \"_blank\";\n anchor.style.display = \"none\"; // just to be safe!\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n }\n /**\n * Dynamically load a script asynchronously.\n */\n static loadScript(url) {\n return new Promise(function (resolve, reject) {\n let script = document.createElement(\"script\");\n script.onload = resolve;\n script.onerror = reject;\n script.src = url;\n document.head.appendChild(script);\n });\n }\n /**\n * Wrapper around document.dispatchEvent.\n * It adds the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n dispatchEvent(eventName, data) {\n document.dispatchEvent(new BasthonEvent(`basthon.${eventName}`, data));\n }\n /**\n * Wrapper around document.addEventListener.\n * It manages the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n addEventListener(eventName, callback) {\n // wrapped callback\n const _callback = (event) => callback(event.detail);\n document.addEventListener(`basthon.${eventName}`, _callback);\n // register the wrapped callback in order to remove it\n let listeners = this._listeners.get(eventName);\n if (listeners == null) {\n listeners = new Map();\n this._listeners.set(eventName, listeners);\n }\n listeners.set(callback, _callback);\n }\n /**\n * Wrapper around document.removeEventListener.\n * It manages the 'basthon.' prefix to each event name.\n */\n removeEventListener(eventName, callback) {\n // get the wrapped callback\n const listeners = this._listeners.get(eventName);\n document.removeEventListener(`basthon.${eventName}`, listeners === null || listeners === void 0 ? void 0 : listeners.get(callback));\n }\n /**\n * Send eval.input event then wait for the user response and return it.\n */\n async inputAsync(prompt, password = false, data = undefined) {\n data = this.clone(data);\n data.content = { prompt, password };\n const promise = new Promise(function (resolve, reject) {\n data.resolve = resolve;\n data.reject = reject;\n });\n this._pendingInput = true;\n this.dispatchEvent(\"eval.input\", data);\n const res = await promise;\n this._pendingInput = false;\n return res;\n }\n /**\n * Simple clone via JSON copy.\n */\n clone(obj) {\n // simple trick that is enough for our purpose.\n return JSON.parse(JSON.stringify(obj));\n }\n /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n async putRessource(filename, content) {\n var _a;\n const ext = (_a = filename.split(\".\").pop()) !== null && _a !== void 0 ? _a : \"\";\n if (this.moduleExts().includes(ext)) {\n return await this.putModule(filename, content);\n }\n else {\n return await this.putFile(filename, content);\n }\n }\n /**\n * Is an input pending?\n */\n pendingInput() {\n return this._pendingInput;\n }\n /**\n * Internal. Code evaluation after an eval.request event.\n */\n async evalFromEvent(data) {\n const stdCallback = (std) => (text) => {\n let dataEvent = this.clone(data);\n dataEvent.stream = std;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n };\n const outCallback = stdCallback(\"stdout\");\n const errCallback = stdCallback(\"stderr\");\n let args;\n try {\n args = await this.evalAsync(data.code, outCallback, errCallback, data);\n }\n catch (error) {\n errCallback(error.toString());\n const dataEvent = this.clone(data);\n dataEvent.error = error;\n dataEvent.execution_count = this.execution_count;\n this.dispatchEvent(\"eval.error\", dataEvent);\n return;\n }\n if (args == null)\n return; // this should not happend\n const result = args[0];\n const executionCount = args[1];\n let dataEvent = this.clone(data);\n dataEvent.execution_count = executionCount;\n if (result != null)\n dataEvent.result = result;\n this.dispatchEvent(\"eval.finished\", dataEvent);\n }\n}\n","export const VERSION = \"0.62.1\";\n"],"names":["_localfsScheme","_a","toDataURL","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","content","_context","prev","next","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x","apply","arguments","window","_fetch","fetch","_ref2","_callee2","request","opts","url","prefix","path","options","dataURL","mime","_context2","toString","startsWith","slice","status","statusText","headers","Headers","Basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x2","_x3","desc","Object","getOwnPropertyDescriptor","HTMLImageElement","prototype","defineProperty","_objectSpread","get","call","this","set","e","_this","_callee3","_context3","t1","t2","t3","NotImplementedError","_Error","_inherits","_super","_createSuper","funcName","_this2","_classCallCheck","concat","name","_createClass","_wrapNativeSuper","Error","BasthonEvent","_Event","_super2","id","data","_this3","detail","Event","KernelBase","_ready","_loaded","PromiseDelegate","_execution_count","_pendingInput","_listeners","Map","_rootPath","rootPath","_evalFromEvent","_putRessource","_inputAsync","_init","_putModule","_putFile","_launch","key","value","_callee4","_context4","code","outCallback","errCallback","_callee5","filename","_context5","_x4","_x5","_callee6","_context6","_x6","_x7","source","languageName","_callee7","_context7","launch","addEventListener","evalFromEvent","bind","_callee8","_context8","promise","absolute","length","undefined","version","language","base","location","origin","pathname","lastIndexOf","String","blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","_callback","event","listeners","removeEventListener","_callee9","prompt","password","res","_args9","_context9","clone","_x8","obj","JSON","parse","stringify","_callee10","ext","_context10","split","pop","moduleExts","includes","putModule","putFile","_x9","_x10","_callee11","stdCallback","args","_dataEvent","executionCount","dataEvent","_this4","_context11","std","text","stream","evalAsync","error","execution_count","_x11","script","onload","src","head"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-sql_lib_index_js"],{7834:(t,e,n)=>{"use strict";n.r(e),n.d(e,{KernelSQL:()=>_});var r=n(4795),a=n(9249),o=n(7371),u=n(753),i=n(5754),c=n(1987),l=n(5058),s=n(2841),h=n.n(s),f=n(6806),d=n(532),p=n.n(d),v=n(193);function b(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,i=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){i=!0,o=t},f:function(){try{u||null==n.return||n.return()}finally{if(i)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function m(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,l.Z)(t);if(e){var a=(0,l.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var _=function(t){(0,i.Z)(f,t);var e,n,c,l,s=m(f);function f(t){var e;return(0,a.Z)(this,f),(e=s.call(this,t))._execution_count=0,e._dbInit=void 0,e._sqlsInit=[],e._dots={".backup":{callback:e._export.bind((0,u.Z)(e)),help:"Download as binary file"},".dump":{callback:e._dump.bind((0,u.Z)(e)),help:"Download as SQL file"},".export":{callback:e._export.bind((0,u.Z)(e)),help:"See .backup"},".help":{callback:e._help.bind((0,u.Z)(e)),help:"Show this help"},".save":{callback:e._export.bind((0,u.Z)(e)),help:"See .backup"},".schema":{callback:e._schema.bind((0,u.Z)(e)),help:"Show the CREATE statements"},".tables":{callback:e._tables.bind((0,u.Z)(e)),help:"List names of tables"}},e}return(0,o.Z)(f,[{key:"language",value:function(){return"sql"}},{key:"languageName",value:function(){return"SQL"}},{key:"moduleExts",value:function(){return["sql","db","sqlite"]}},{key:"launch",value:(l=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p()({locateFile:function(){return v}});case 2:this.SQL=t.sent,this.restart();case 4:case"end":return t.stop()}}),t,this)}))),function(){return l.apply(this,arguments)})},{key:"formatResult",value:function(t){if(null!=t)return{"text/plain":f.text_table(t),"text/html":f.html_table(t)}}},{key:"execCode",value:function(t){var e,n,r,a,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=b(this.db.iterateStatements(t));try{for(u.s();!(a=u.n()).done;){var i=a.value;for(n=i.getColumnNames(),r=[];i.step();)r.push(i.get())}}catch(t){u.e(t)}finally{u.f()}if(0!==(null!==(e=null==n?void 0:n.length)&&void 0!==e?e:0)){var c={columns:n,values:r};return o?this.formatResult(c):c}}},{key:"evalAsync",value:(c=(0,r.Z)(h().mark((function t(e,n,r){var a,o,u,i=arguments;return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i.length>3&&void 0!==i[3]?i[3]:null).interactive=!0,this._execution_count++,a=void 0,(o=e.replace(/^[; \t\n]+|[; \t\n]+$/g,""))in this._dots?(u=this._dots[o].callback,a=u()):a=this.execCode(e),t.abrupt("return",[a,this._execution_count]);case 7:case"end":return t.stop()}}),t,this)}))),function(t,e,n){return c.apply(this,arguments)})},{key:"ps1",value:function(){return"sql> "}},{key:"ps2",value:function(){return"...> "}},{key:"restart",value:function(){var t=this;this.db&&this.db.close(),this._execution_count=0,this.db=new this.SQL.Database(this._dbInit),this.db.run("PRAGMA foreign_keys = ON;"),this._sqlsInit.forEach((function(e){t.db.run(e)}))}},{key:"more",value:function(t){return!1}},{key:"complete",value:function(t){return[]}},{key:"putFile",value:(n=(0,r.Z)(h().mark((function t(e,n){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)}))),function(t,e){return n.apply(this,arguments)})},{key:"putModule",value:(e=(0,r.Z)(h().mark((function t(e,n){var r,a,o;return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=new Uint8Array(n),r=e.split(".").pop(),t.t0=r,t.next="sql"===t.t0?5:"sqlite"===t.t0||"db"===t.t0?10:14;break;case 5:return a=new TextDecoder("utf-8"),o=a.decode(n),this.db.run(o),this._sqlsInit.push(o),t.abrupt("break",15);case 10:return this.db&&this.db.close(),this.db=new this.SQL.Database(n),this._dbInit=n,t.abrupt("break",15);case 14:throw{message:"Only '.sql', '.db' and '.sqlite' files supported."};case 15:case"end":return t.stop()}}),t,this)}))),function(t,n){return e.apply(this,arguments)})},{key:"_help",value:function(){var t=this;return{"text/plain":Object.keys(this._dots).map((function(e){return"".concat(e,"\t\t").concat(t._dots[e].help)})).join("\n")}}},{key:"_export",value:function(){this.download(this.db.export(),"database.db")}},{key:"dump",value:function(){var t,e,n,r,a=this,o=null!==(e=null===(t=this.tables(!1))||void 0===t?void 0:t.values)&&void 0!==e?e:[],u=null!==(r=null===(n=this.schema())||void 0===n?void 0:n.values)&&void 0!==r?r:[],i=o.map((function(t){var e,n=(null===(e=a.db.exec("SELECT * FROM ".concat(t))[0])||void 0===e?void 0:e.values).map((function(t){return"(".concat(t.map(JSON.stringify).join(", "),")")}));return"INSERT INTO ".concat(t," VALUES ").concat(n.join(",\n"),";")}));return"".concat(u.join(";\n"),";\n").concat(i.join("\n"))}},{key:"_dump",value:function(){var t=(new TextEncoder).encode(this.dump());this.download(t,"database.sql")}},{key:"schema",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"ORDER BY tbl_name, type DESC, name":"";return this.execCode('SELECT sql FROM sqlite_schema WHERE type="table" '.concat(t,";"),!1)}},{key:"_schema",value:function(){return this.formatResult(this.schema())}},{key:"tables",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?"ORDER BY 1":"";return this.execCode("SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n".concat(t,";"),!1)}},{key:"_tables",value:function(){return this.formatResult(this.tables())}}],[{key:"troncate_table",value:function(t){if(t.values.length>=150){var e=Math.floor(50),n=t.values.slice(0,e),r=t.values.slice(-e);t.values=n.concat([t.columns.map((function(){return"⋮ "}))],r)}}},{key:"html_table",value:function(t){this.troncate_table(t);var e=t.columns.map((function(t){return"<th>".concat(t,"</th>")})).join(""),n='<thead><tr style="text-align: right;">'.concat(e,"</tr></thead>"),r=t.values.map((function(t){return"<tr>"+t.map((function(t){return"<td>".concat(t,"</td>")})).join("")+"</tr>"})).join(""),a="<tbody>".concat(r,"</tbody>");return'<table class="dataframe" border="1">'.concat(n).concat(a,"</table>")}},{key:"text_table",value:function(t){f.troncate_table(t);var e=t.columns.join("\t"),n=t.values.map((function(t){return t.join("\t")})).join("\n");return"".concat(e,"\n").concat(n)}}]),f}(f.H)},3397:()=>{},3196:()=>{},8087:()=>{},633:()=>{},395:()=>{},488:()=>{},6024:()=>{},5862:()=>{},4854:()=>{},6602:()=>{},8639:()=>{}}]);
1
+ (self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-sql_lib_index_js"],{7834:(t,e,n)=>{"use strict";n.r(e),n.d(e,{KernelSQL:()=>_});var r=n(4795),a=n(9249),o=n(7371),u=n(753),i=n(5754),l=n(1987),c=n(5058),s=n(2841),f=n.n(s),h=n(6806),d=n(532),p=n.n(d),v=n(193);function b(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,e){if(!t)return;if("string"==typeof t)return y(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return y(t,e)}(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,a=function(){};return{s:a,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,u=!0,i=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return u=t.done,t},e:function(t){i=!0,o=t},f:function(){try{u||null==n.return||n.return()}finally{if(i)throw o}}}}function y(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function m(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=(0,c.Z)(t);if(e){var a=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,l.Z)(this,n)}}var _=function(t){(0,i.Z)(h,t);var e,n,l,c,s=m(h);function h(t){var e;return(0,a.Z)(this,h),(e=s.call(this,t))._execution_count=0,e._dbInit=void 0,e._sqlsInit=[],e._dots={".backup":{callback:e._export.bind((0,u.Z)(e)),help:"Download as binary file"},".dump":{callback:e._dump.bind((0,u.Z)(e)),help:"Download as SQL file"},".export":{callback:e._export.bind((0,u.Z)(e)),help:"See .backup"},".help":{callback:e._help.bind((0,u.Z)(e)),help:"Show this help"},".save":{callback:e._export.bind((0,u.Z)(e)),help:"See .backup"},".schema":{callback:e._schema.bind((0,u.Z)(e)),help:"Show the CREATE statements"},".tables":{callback:e._tables.bind((0,u.Z)(e)),help:"List names of tables"}},e}return(0,o.Z)(h,[{key:"language",value:function(){return"sql"}},{key:"languageName",value:function(){return"SQL"}},{key:"moduleExts",value:function(){return["sql","db","sqlite"]}},{key:"launch",value:(c=(0,r.Z)(f().mark((function t(){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p()({locateFile:function(){return v}});case 2:this.SQL=t.sent,this.restart();case 4:case"end":return t.stop()}}),t,this)}))),function(){return c.apply(this,arguments)})},{key:"formatResult",value:function(t){if(null!=t)return{"text/plain":h.text_table(t),"text/html":h.html_table(t)}}},{key:"execCode",value:function(t){var e,n,r,a,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=b(this.db.iterateStatements(t));try{for(u.s();!(a=u.n()).done;){var i=a.value;for(n=i.getColumnNames(),r=[];i.step();)r.push(i.get())}}catch(t){u.e(t)}finally{u.f()}if(0!==(null!==(e=null==n?void 0:n.length)&&void 0!==e?e:0)){var l={columns:n,values:r};return o?this.formatResult(l):l}}},{key:"runCode",value:function(t){var e,n=b(this.db.iterateStatements(t));try{for(n.s();!(e=n.n()).done;)for(var r=e.value;r.step(););}catch(t){n.e(t)}finally{n.f()}}},{key:"evalAsync",value:(l=(0,r.Z)(f().mark((function t(e,n,r){var a,o,u,i=arguments;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(i.length>3&&void 0!==i[3]?i[3]:null).interactive=!0,this._execution_count++,a=void 0,(o=e.replace(/^[; \t\n]+|[; \t\n]+$/g,""))in this._dots?(u=this._dots[o].callback,a=u()):a=this.execCode(e),t.abrupt("return",[a,this._execution_count]);case 7:case"end":return t.stop()}}),t,this)}))),function(t,e,n){return l.apply(this,arguments)})},{key:"ps1",value:function(){return"sql> "}},{key:"ps2",value:function(){return"...> "}},{key:"restart",value:function(){var t=this;this.db&&this.db.close(),this._execution_count=0,this.db=new this.SQL.Database(this._dbInit),this.runCode("PRAGMA foreign_keys = ON;"),this._sqlsInit.forEach((function(e){t.runCode(e)}))}},{key:"more",value:function(t){return!1}},{key:"complete",value:function(t){return[]}},{key:"putFile",value:(n=(0,r.Z)(f().mark((function t(e,n){return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:case"end":return t.stop()}}),t)}))),function(t,e){return n.apply(this,arguments)})},{key:"putModule",value:(e=(0,r.Z)(f().mark((function t(e,n){var r,a,o;return f().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=new Uint8Array(n),r=e.split(".").pop(),t.t0=r,t.next="sql"===t.t0?5:"sqlite"===t.t0||"db"===t.t0?10:14;break;case 5:return a=new TextDecoder("utf-8"),o=a.decode(n),this.runCode(o),this._sqlsInit.push(o),t.abrupt("break",15);case 10:return this.db&&this.db.close(),this.db=new this.SQL.Database(n),this._dbInit=n,t.abrupt("break",15);case 14:throw{message:"Only '.sql', '.db' and '.sqlite' files supported."};case 15:case"end":return t.stop()}}),t,this)}))),function(t,n){return e.apply(this,arguments)})},{key:"_help",value:function(){var t=this;return{"text/plain":Object.keys(this._dots).map((function(e){return"".concat(e,"\t\t").concat(t._dots[e].help)})).join("\n")}}},{key:"_export",value:function(){this.download(this.db.export(),"database.db")}},{key:"dump",value:function(){var t,e,n,r,a=this,o=null!==(e=null===(t=this.tables(!1))||void 0===t?void 0:t.values)&&void 0!==e?e:[],u=null!==(r=null===(n=this.schema())||void 0===n?void 0:n.values)&&void 0!==r?r:[],i=o.map((function(t){var e,n=(null===(e=a.db.exec("SELECT * FROM ".concat(t))[0])||void 0===e?void 0:e.values).map((function(t){return"(".concat(t.map(JSON.stringify).join(", "),")")}));return"INSERT INTO ".concat(t," VALUES ").concat(n.join(",\n"),";")}));return"".concat(u.join(";\n"),";\n").concat(i.join("\n"))}},{key:"_dump",value:function(){var t=(new TextEncoder).encode(this.dump());this.download(t,"database.sql")}},{key:"schema",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0]?"ORDER BY tbl_name, type DESC, name":"";return this.execCode('SELECT sql FROM sqlite_schema WHERE type="table" '.concat(t,";"),!1)}},{key:"_schema",value:function(){return this.formatResult(this.schema())}},{key:"tables",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0]?"ORDER BY 1":"";return this.execCode("SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n".concat(t,";"),!1)}},{key:"_tables",value:function(){return this.formatResult(this.tables())}}],[{key:"troncate_table",value:function(t){if(t.values.length>=150){var e=Math.floor(50),n=t.values.slice(0,e),r=t.values.slice(-e);t.values=n.concat([t.columns.map((function(){return"⋮ "}))],r)}}},{key:"html_table",value:function(t){this.troncate_table(t);var e=t.columns.map((function(t){return"<th>".concat(t,"</th>")})).join(""),n='<thead><tr style="text-align: right;">'.concat(e,"</tr></thead>"),r=t.values.map((function(t){return"<tr>"+t.map((function(t){return"<td>".concat(t,"</td>")})).join("")+"</tr>"})).join(""),a="<tbody>".concat(r,"</tbody>");return'<table class="dataframe" border="1">'.concat(n).concat(a,"</table>")}},{key:"text_table",value:function(t){h.troncate_table(t);var e=t.columns.join("\t"),n=t.values.map((function(t){return t.join("\t")})).join("\n");return"".concat(e,"\n").concat(n)}}]),h}(h.H)},3397:()=>{},3196:()=>{},8087:()=>{},633:()=>{},395:()=>{},488:()=>{},6024:()=>{},5862:()=>{},4854:()=>{},6602:()=>{},8639:()=>{}}]);
2
2
  //# sourceMappingURL=kernel-sql_lib_index_js.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-sql_lib_index_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-sql/lib/kernel.js"],"sourcesContent":["import { KernelBase } from \"@basthon/kernel-base\";\nimport initSqlJs from \"sql.js\";\n// see https://github.com/sql-js/react-sqljs-demo/blob/master/src/App.js\n//@ts-ignore\nimport sqlWasm from \"sql.js/dist/sql-wasm.wasm?asset-url\";\nexport class KernelSQL extends KernelBase {\n constructor(options) {\n super(options);\n this._execution_count = 0;\n // initial db file (used to restart SQLite)\n this._dbInit = undefined;\n // initial SQL strings (used to restart SQLite)\n this._sqlsInit = [];\n // dot commands\n this._dots = {\n \".backup\": {\n callback: this._export.bind(this),\n help: \"Download as binary file\",\n },\n \".dump\": {\n callback: this._dump.bind(this),\n help: \"Download as SQL file\",\n },\n \".export\": {\n callback: this._export.bind(this),\n help: \"See .backup\",\n },\n \".help\": {\n callback: this._help.bind(this),\n help: \"Show this help\",\n },\n \".save\": {\n callback: this._export.bind(this),\n help: \"See .backup\",\n },\n \".schema\": {\n callback: this._schema.bind(this),\n help: \"Show the CREATE statements\",\n },\n \".tables\": {\n callback: this._tables.bind(this),\n help: \"List names of tables\",\n },\n };\n }\n language() {\n return \"sql\";\n }\n languageName() {\n return \"SQL\";\n }\n moduleExts() {\n return [\"sql\", \"db\", \"sqlite\"];\n }\n async launch() {\n this.SQL = await initSqlJs({ locateFile: () => sqlWasm });\n this.restart();\n }\n /**\n * Troncate json table to 150 items.\n */\n static troncate_table(json) {\n const max_size = 150;\n if (json.values.length >= max_size) {\n const half_length = Math.floor(max_size / 3);\n const head = json.values.slice(0, half_length);\n const tail = json.values.slice(-half_length);\n json.values = head.concat([json.columns.map(() => \"⋮ \")], tail);\n }\n }\n /**\n * HTML version of a table (useful in notebook).\n */\n static html_table(json) {\n this.troncate_table(json);\n const columns = json.columns.map((c) => `<th>${c}</th>`).join(\"\");\n const head = `<thead><tr style=\"text-align: right;\">${columns}</tr></thead>`;\n const values = json.values\n .map((r) => \"<tr>\" + r.map((v) => `<td>${v}</td>`).join(\"\") + \"</tr>\")\n .join(\"\");\n const body = `<tbody>${values}</tbody>`;\n return `<table class=\"dataframe\" border=\"1\">${head}${body}</table>`;\n }\n /**\n * Text version of a table.\n */\n static text_table(json) {\n KernelSQL.troncate_table(json);\n const head = json.columns.join(\"\\t\");\n const values = json.values.map((r) => r.join(\"\\t\")).join(\"\\n\");\n return `${head}\\n${values}`;\n }\n /**\n * Format the result to fit Kernel API.\n */\n formatResult(execResult) {\n if (execResult == null)\n return undefined;\n return {\n \"text/plain\": KernelSQL.text_table(execResult),\n \"text/html\": KernelSQL.html_table(execResult),\n };\n }\n /**\n * Execute SQL code and return an object containing columns names\n * (.columns) and values (.values).\n */\n execCode(code, format = true) {\n var _a;\n let columns;\n let values;\n // see:\n // https://github.com/sql-js/sql.js/pull/388#issuecomment-712405389\n for (const statement of this.db.iterateStatements(code)) {\n columns = statement.getColumnNames();\n values = [];\n while (statement.step())\n values.push(statement.get());\n }\n // only last statement is relevent\n if (((_a = columns === null || columns === void 0 ? void 0 : columns.length) !== null && _a !== void 0 ? _a : 0) === 0)\n return undefined;\n const res = { columns, values };\n if (format)\n return this.formatResult(res);\n return res;\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n let result = undefined;\n const dotCommand = code.replace(/^[; \\t\\n]+|[; \\t\\n]+$/g, \"\");\n if (dotCommand in this._dots) {\n const callback = this._dots[dotCommand].callback;\n result = callback();\n }\n else\n result = this.execCode(code);\n return [result, this._execution_count];\n }\n ps1() {\n return \"sql> \";\n }\n ps2() {\n return \"...> \";\n }\n restart() {\n // warning: we should probably reload module files...\n if (this.db)\n this.db.close();\n this._execution_count = 0;\n // reloading .db file\n this.db = new this.SQL.Database(this._dbInit);\n // foreign keys are activated by default\n // see: https://www.sqlite.org/foreignkeys.html#fk_enable\n this.db.run(\"PRAGMA foreign_keys = ON;\");\n // reloading SQL modules files\n this._sqlsInit.forEach((c) => {\n this.db.run(c);\n });\n }\n more(source) {\n return false;\n }\n complete(code) {\n return [];\n }\n async putFile(filename, content) {\n // just ignoring this since we don't have a filesystem.\n }\n async putModule(filename, content) {\n content = new Uint8Array(content);\n const ext = filename.split(\".\").pop();\n switch (ext) {\n case \"sql\":\n let decoder = new TextDecoder(\"utf-8\");\n const _content = decoder.decode(content);\n this.db.run(_content);\n // SQL strings are concatenated\n this._sqlsInit.push(_content);\n break;\n case \"sqlite\":\n case \"db\":\n if (this.db)\n this.db.close();\n this.db = new this.SQL.Database(content);\n // initial db file is replaced\n this._dbInit = content;\n break;\n default:\n throw { message: \"Only '.sql', '.db' and '.sqlite' files supported.\" };\n }\n }\n /**\n * Display help.\n */\n _help() {\n const helpMessage = Object.keys(this._dots)\n .map((key) => `${key}\\t\\t${this._dots[key].help}`)\n .join(\"\\n\");\n return { \"text/plain\": helpMessage };\n }\n /**\n * Export (download) the database in binary format.\n */\n _export() {\n this.download(this.db.export(), \"database.db\");\n }\n /**\n * Return the SQL commands to build the DB in a string.\n */\n dump() {\n var _a, _b, _c, _d;\n // order is creation order (order=false)\n const tables = (_b = (_a = this.tables(false)) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : [];\n const schema = (_d = (_c = this.schema()) === null || _c === void 0 ? void 0 : _c.values) !== null && _d !== void 0 ? _d : [];\n const inserts = tables.map((table) => {\n var _a;\n const values = (_a = this.db.exec(`SELECT * FROM ${table}`)[0]) === null || _a === void 0 ? void 0 : _a.values;\n const strValues = values.map((value) => `(${value.map(JSON.stringify).join(\", \")})`);\n return `INSERT INTO ${table} VALUES ${strValues.join(\",\\n\")};`;\n });\n return `${schema.join(\";\\n\")};\\n${inserts.join(\"\\n\")}`;\n }\n /**\n * Dump (download) the database in SQL format (dot command version).\n */\n _dump() {\n const encoder = new TextEncoder();\n const view = encoder.encode(this.dump());\n this.download(view, \"database.sql\");\n }\n /**\n * Return the DB schema.\n */\n schema(order = false) {\n const orderCMD = order ? \"ORDER BY tbl_name, type DESC, name\" : \"\";\n return this.execCode(`SELECT sql FROM sqlite_schema WHERE type=\"table\" ${orderCMD};`, false);\n }\n /**\n * Return the DB schema (dot command version).\n */\n _schema() {\n return this.formatResult(this.schema());\n }\n /**\n * Return the table of tables.\n */\n tables(order = true) {\n const orderCMD = order ? \"ORDER BY 1\" : \"\";\n return this.execCode(`SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n${orderCMD};`, false);\n }\n /**\n * Return the table of tables (dot command version).\n */\n _tables() {\n return this.formatResult(this.tables());\n }\n}\n"],"names":["KernelSQL","_KernelBase","_inherits","_putModule","_putFile","_evalAsync","_launch","_super","_createSuper","options","_this","_classCallCheck","call","_execution_count","_dbInit","undefined","_sqlsInit","_dots","callback","_export","bind","_assertThisInitialized","help","_dump","_help","_schema","_tables","_createClass","key","value","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","initSqlJs","locateFile","sqlWasm","this","SQL","sent","restart","stop","apply","arguments","execResult","text_table","html_table","code","_a","columns","values","_step","format","length","_iterator","_createForOfIteratorHelper","db","iterateStatements","s","n","done","statement","getColumnNames","step","push","get","err","e","f","res","formatResult","_callee2","outCallback","errCallback","result","dotCommand","_args2","_context2","interactive","replace","execCode","abrupt","_x","_x2","_x3","_this2","close","Database","run","forEach","c","source","_callee3","filename","content","_context3","_x4","_x5","_callee4","ext","decoder","_content","_context4","Uint8Array","split","pop","t0","TextDecoder","decode","message","_x6","_x7","_this3","Object","keys","map","concat","join","download","_b","_c","_d","_this4","tables","schema","inserts","table","strValues","exec","JSON","stringify","view","TextEncoder","encode","dump","orderCMD","json","half_length","Math","floor","max_size","head","slice","tail","troncate_table","r","v","body","KernelBase"],"sourceRoot":""}
1
+ {"version":3,"file":"kernel-sql_lib_index_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-sql/lib/kernel.js"],"sourcesContent":["import { KernelBase } from \"@basthon/kernel-base\";\nimport initSqlJs from \"sql.js\";\n// see https://github.com/sql-js/react-sqljs-demo/blob/master/src/App.js\n//@ts-ignore\nimport sqlWasm from \"sql.js/dist/sql-wasm.wasm?asset-url\";\nexport class KernelSQL extends KernelBase {\n constructor(options) {\n super(options);\n this._execution_count = 0;\n // initial db file (used to restart SQLite)\n this._dbInit = undefined;\n // initial SQL strings (used to restart SQLite)\n this._sqlsInit = [];\n // dot commands\n this._dots = {\n \".backup\": {\n callback: this._export.bind(this),\n help: \"Download as binary file\",\n },\n \".dump\": {\n callback: this._dump.bind(this),\n help: \"Download as SQL file\",\n },\n \".export\": {\n callback: this._export.bind(this),\n help: \"See .backup\",\n },\n \".help\": {\n callback: this._help.bind(this),\n help: \"Show this help\",\n },\n \".save\": {\n callback: this._export.bind(this),\n help: \"See .backup\",\n },\n \".schema\": {\n callback: this._schema.bind(this),\n help: \"Show the CREATE statements\",\n },\n \".tables\": {\n callback: this._tables.bind(this),\n help: \"List names of tables\",\n },\n };\n }\n language() {\n return \"sql\";\n }\n languageName() {\n return \"SQL\";\n }\n moduleExts() {\n return [\"sql\", \"db\", \"sqlite\"];\n }\n async launch() {\n this.SQL = await initSqlJs({ locateFile: () => sqlWasm });\n this.restart();\n }\n /**\n * Troncate json table to 150 items.\n */\n static troncate_table(json) {\n const max_size = 150;\n if (json.values.length >= max_size) {\n const half_length = Math.floor(max_size / 3);\n const head = json.values.slice(0, half_length);\n const tail = json.values.slice(-half_length);\n json.values = head.concat([json.columns.map(() => \"⋮ \")], tail);\n }\n }\n /**\n * HTML version of a table (useful in notebook).\n */\n static html_table(json) {\n this.troncate_table(json);\n const columns = json.columns.map((c) => `<th>${c}</th>`).join(\"\");\n const head = `<thead><tr style=\"text-align: right;\">${columns}</tr></thead>`;\n const values = json.values\n .map((r) => \"<tr>\" + r.map((v) => `<td>${v}</td>`).join(\"\") + \"</tr>\")\n .join(\"\");\n const body = `<tbody>${values}</tbody>`;\n return `<table class=\"dataframe\" border=\"1\">${head}${body}</table>`;\n }\n /**\n * Text version of a table.\n */\n static text_table(json) {\n KernelSQL.troncate_table(json);\n const head = json.columns.join(\"\\t\");\n const values = json.values.map((r) => r.join(\"\\t\")).join(\"\\n\");\n return `${head}\\n${values}`;\n }\n /**\n * Format the result to fit Kernel API.\n */\n formatResult(execResult) {\n if (execResult == null)\n return undefined;\n return {\n \"text/plain\": KernelSQL.text_table(execResult),\n \"text/html\": KernelSQL.html_table(execResult),\n };\n }\n /**\n * Execute SQL code and return an object containing columns names\n * (.columns) and values (.values).\n */\n execCode(code, format = true) {\n var _a;\n let columns;\n let values;\n // see:\n // https://github.com/sql-js/sql.js/pull/388#issuecomment-712405389\n for (const statement of this.db.iterateStatements(code)) {\n columns = statement.getColumnNames();\n values = [];\n while (statement.step())\n values.push(statement.get());\n }\n // only last statement is relevent\n if (((_a = columns === null || columns === void 0 ? void 0 : columns.length) !== null && _a !== void 0 ? _a : 0) === 0)\n return undefined;\n const res = { columns, values };\n if (format)\n return this.formatResult(res);\n return res;\n }\n /**\n * Run SQL code without returning anything.\n *\n * This is mainly done to bypass the db.run memory's limitation:\n * https://github.com/sql-js/sql.js/issues/482\n */\n runCode(code) {\n // FIXME: this should be replaced by this.db.run(code) once\n // https://github.com/sql-js/sql.js/issues/482\n // is fixed since this should be faster than the\n // statement split used here...\n for (const statement of this.db.iterateStatements(code)) {\n while (statement.step())\n ;\n }\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n let result = undefined;\n const dotCommand = code.replace(/^[; \\t\\n]+|[; \\t\\n]+$/g, \"\");\n if (dotCommand in this._dots) {\n const callback = this._dots[dotCommand].callback;\n result = callback();\n }\n else\n result = this.execCode(code);\n return [result, this._execution_count];\n }\n ps1() {\n return \"sql> \";\n }\n ps2() {\n return \"...> \";\n }\n restart() {\n // warning: we should probably reload module files...\n if (this.db)\n this.db.close();\n this._execution_count = 0;\n // reloading .db file\n this.db = new this.SQL.Database(this._dbInit);\n // foreign keys are activated by default\n // see: https://www.sqlite.org/foreignkeys.html#fk_enable\n this.runCode(\"PRAGMA foreign_keys = ON;\");\n // reloading SQL modules files\n this._sqlsInit.forEach((c) => {\n this.runCode(c);\n });\n }\n more(source) {\n return false;\n }\n complete(code) {\n return [];\n }\n async putFile(filename, content) {\n // just ignoring this since we don't have a filesystem.\n }\n async putModule(filename, content) {\n content = new Uint8Array(content);\n const ext = filename.split(\".\").pop();\n switch (ext) {\n case \"sql\":\n let decoder = new TextDecoder(\"utf-8\");\n const _content = decoder.decode(content);\n this.runCode(_content);\n // SQL strings are concatenated\n this._sqlsInit.push(_content);\n break;\n case \"sqlite\":\n case \"db\":\n if (this.db)\n this.db.close();\n this.db = new this.SQL.Database(content);\n // initial db file is replaced\n this._dbInit = content;\n break;\n default:\n throw { message: \"Only '.sql', '.db' and '.sqlite' files supported.\" };\n }\n }\n /**\n * Display help.\n */\n _help() {\n const helpMessage = Object.keys(this._dots)\n .map((key) => `${key}\\t\\t${this._dots[key].help}`)\n .join(\"\\n\");\n return { \"text/plain\": helpMessage };\n }\n /**\n * Export (download) the database in binary format.\n */\n _export() {\n this.download(this.db.export(), \"database.db\");\n }\n /**\n * Return the SQL commands to build the DB in a string.\n */\n dump() {\n var _a, _b, _c, _d;\n // order is creation order (order=false)\n const tables = (_b = (_a = this.tables(false)) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : [];\n const schema = (_d = (_c = this.schema()) === null || _c === void 0 ? void 0 : _c.values) !== null && _d !== void 0 ? _d : [];\n const inserts = tables.map((table) => {\n var _a;\n const values = (_a = this.db.exec(`SELECT * FROM ${table}`)[0]) === null || _a === void 0 ? void 0 : _a.values;\n const strValues = values.map((value) => `(${value.map(JSON.stringify).join(\", \")})`);\n return `INSERT INTO ${table} VALUES ${strValues.join(\",\\n\")};`;\n });\n return `${schema.join(\";\\n\")};\\n${inserts.join(\"\\n\")}`;\n }\n /**\n * Dump (download) the database in SQL format (dot command version).\n */\n _dump() {\n const encoder = new TextEncoder();\n const view = encoder.encode(this.dump());\n this.download(view, \"database.sql\");\n }\n /**\n * Return the DB schema.\n */\n schema(order = false) {\n const orderCMD = order ? \"ORDER BY tbl_name, type DESC, name\" : \"\";\n return this.execCode(`SELECT sql FROM sqlite_schema WHERE type=\"table\" ${orderCMD};`, false);\n }\n /**\n * Return the DB schema (dot command version).\n */\n _schema() {\n return this.formatResult(this.schema());\n }\n /**\n * Return the table of tables.\n */\n tables(order = true) {\n const orderCMD = order ? \"ORDER BY 1\" : \"\";\n return this.execCode(`SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n${orderCMD};`, false);\n }\n /**\n * Return the table of tables (dot command version).\n */\n _tables() {\n return this.formatResult(this.tables());\n }\n}\n"],"names":["KernelSQL","_KernelBase","_inherits","_putModule","_putFile","_evalAsync","_launch","_super","_createSuper","options","_this","_classCallCheck","call","_execution_count","_dbInit","undefined","_sqlsInit","_dots","callback","_export","bind","_assertThisInitialized","help","_dump","_help","_schema","_tables","_createClass","key","value","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","initSqlJs","locateFile","sqlWasm","this","SQL","sent","restart","stop","apply","arguments","execResult","text_table","html_table","code","_a","columns","values","_step","format","length","_iterator","_createForOfIteratorHelper","db","iterateStatements","s","n","done","statement","getColumnNames","step","push","get","err","e","f","res","formatResult","_step2","_iterator2","_callee2","outCallback","errCallback","result","dotCommand","_args2","_context2","interactive","replace","execCode","abrupt","_x","_x2","_x3","_this2","close","Database","runCode","forEach","c","source","_callee3","filename","content","_context3","_x4","_x5","_callee4","ext","decoder","_content","_context4","Uint8Array","split","pop","t0","TextDecoder","decode","message","_x6","_x7","_this3","Object","keys","map","concat","join","download","_b","_c","_d","_this4","tables","schema","inserts","table","strValues","exec","JSON","stringify","view","TextEncoder","encode","dump","orderCMD","json","half_length","Math","floor","max_size","head","slice","tail","troncate_table","r","v","body","KernelBase"],"sourceRoot":""}