@basthon/browser-bundle 0.62.8 → 0.62.9

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 (48) hide show
  1. package/lib/{0.62.8 → 0.62.9}/python3/basthon.tar +0 -0
  2. package/lib/{0.62.8/python3-old → 0.62.9/python3}/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  3. package/lib/{0.62.8 → 0.62.9}/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  4. package/lib/{0.62.8 → 0.62.9}/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
  5. package/lib/{0.62.8 → 0.62.9}/python3/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  6. package/lib/{0.62.8 → 0.62.9}/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  7. package/lib/0.62.9/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  8. package/lib/{0.62.8/python3-old → 0.62.9/python3}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  9. package/lib/{0.62.8/python3-old → 0.62.9/python3}/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  10. package/lib/{0.62.8 → 0.62.9}/python3/repodata.json +1 -1
  11. package/lib/{0.62.8 → 0.62.9}/python3-old/basthon.js +1 -1
  12. package/lib/{0.62.8/python3 → 0.62.9/python3-old}/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  13. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  14. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/ipythonblocks-0.0.1-py3-none-any.whl +0 -0
  15. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/ivp-0.0.1-py3-none-any.whl +0 -0
  16. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/lolviz-0.0.1-py3-none-any.whl +0 -0
  17. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/p5-0.0.1-py3-none-any.whl +0 -0
  18. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  19. package/lib/{0.62.8 → 0.62.9}/python3-old/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  20. package/lib/0.62.9/python3-old/modules/requests-0.0.1-py3-none-any.whl +0 -0
  21. package/lib/{0.62.8/python3 → 0.62.9/python3-old}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  22. package/lib/{0.62.8/python3 → 0.62.9/python3-old}/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  23. package/lib/bundle.js +1 -1
  24. package/lib/bundle.js.map +1 -1
  25. package/lib/kernel-base_lib_index_js.js +1 -1
  26. package/lib/kernel-base_lib_index_js.js.map +1 -1
  27. package/lib/kernel-javascript_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_-82f1e0.js +1 -1
  28. package/lib/kernel-javascript_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_-82f1e0.js.map +1 -1
  29. package/lib/kernel-ocaml_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_modul-226bf5.js +1 -1
  30. package/lib/kernel-ocaml_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_modul-226bf5.js.map +1 -1
  31. package/lib/kernel-python3-old_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node-f36a96.js +1 -1
  32. package/lib/kernel-python3-old_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node-f36a96.js.map +1 -1
  33. package/lib/kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697.js +1 -1
  34. package/lib/kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697.js.map +1 -1
  35. package/lib/kernel-sql_lib_index_js.js +1 -1
  36. package/lib/kernel-sql_lib_index_js.js.map +1 -1
  37. 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
  38. 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
  39. package/package.json +3 -3
  40. package/lib/0.62.8/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  41. package/lib/0.62.8/python3-old/modules/requests-0.0.1-py3-none-any.whl +0 -0
  42. /package/lib/{0.62.8 → 0.62.9}/python3/modules/extern/pytutor-main.min.css +0 -0
  43. /package/lib/{0.62.8 → 0.62.9}/python3/modules/extern/pytutor-main.min.js +0 -0
  44. /package/lib/{0.62.8 → 0.62.9}/python3/modules/extern/pytutor-main.min.js.map +0 -0
  45. /package/lib/{0.62.8 → 0.62.9}/python3-old/basthon.data +0 -0
  46. /package/lib/{0.62.8 → 0.62.9}/python3-old/modules/extern/pytutor-main.min.css +0 -0
  47. /package/lib/{0.62.8 → 0.62.9}/python3-old/modules/extern/pytutor-main.min.js +0 -0
  48. /package/lib/{0.62.8 → 0.62.9}/python3-old/modules/extern/pytutor-main.min.js.map +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697"],{5144:(e,t,n)=>{n.r(t),n.d(t,{KernelPython3:()=>h});var r=n(4795),o=n(9249),i=n(7371),u=n(5754),a=n(1987),c=n(5058),s=n(2841),l=n.n(s),f=n(6806);function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y(e){var t=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(e){return!1}}();return function(){var n,r=(0,c.Z)(e);if(t){var o=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,a.Z)(this,n)}}var h=function(e){(0,u.Z)(d,e);var t,n,a,c,s,f=y(d);function d(e){var t,n;return(0,o.Z)(this,d),(t=f.call(this,e))._pyodideURLs=["https://cdn.jsdelivr.net/pyodide/v{PYODIDE_VERSION}/full/pyodide.js"],t.__kernel__=null,t.pythonVersion="",t._pyodideURLs.unshift("".concat(t.basthonRoot(),"/pyodide/pyodide.js")),t._pyodideURLs=null!==(n=null==e?void 0:e.pyodideURLs)&&void 0!==n?n:t._pyodideURLs,t}return(0,i.Z)(d,[{key:"basthonModulesRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.basthonRoot(e)+"/modules"}},{key:"language",value:function(){return"python3"}},{key:"languageName",value:function(){return"Python 3"}},{key:"moduleExts",value:function(){return["py"]}},{key:"_onload",value:(s=(0,r.Z)(l().mark((function e(){var t,n,r,o,i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=window.pyodide,n=t._api.repodata_packages,r=0,o=Object.keys(n);r<o.length;r++)i=o[r],(u=n[i]).file_name=u.file_name.replace("{basthonRoot}",this.basthonRoot(!0));return this.pythonVersion=t.runPython("import platform ; platform.python_version()"),e.next=6,t.loadPackage("basthon");case 6:this.__kernel__=t.pyimport("basthon").__kernel__;case 7:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"launch",value:(c=(0,r.Z)(l().mark((function e(){var t,n,r,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this._pyodideURLs[0],n=p(this._pyodideURLs),e.prev=2,n.s();case 4:if((r=n.n()).done){e.next=20;break}return o=(o=r.value).replace("{PYODIDE_VERSION}","0.23.2"),e.prev=7,e.next=10,fetch(o,{method:"HEAD"});case 10:if(!e.sent.ok){e.next=14;break}return t=o,e.abrupt("break",20);case 14:e.next=18;break;case 16:e.prev=16,e.t0=e.catch(7);case 18:e.next=4;break;case 20:e.next=25;break;case 22:e.prev=22,e.t1=e.catch(2),n.e(e.t1);case 25:return e.prev=25,n.f(),e.finish(25);case 28:return e.prev=28,e.next=31,d.loadScript(t);case 31:e.next=38;break;case 33:throw e.prev=33,e.t2=e.catch(28),console.log(e.t2),console.error("Can't load pyodide.js"),e.t2;case 38:if(null!=window.loadPyodide){e.next=41;break}throw console.log("window.loadPyodide is null!"),new Error("Can't load pyodide.js");case 41:return e.prev=41,e.next=44,window.loadPyodide({lockFileURL:this.basthonRoot()+"/repodata.json"});case 44:window.pyodide=e.sent,e.next=52;break;case 47:throw e.prev=47,e.t3=e.catch(41),console.log(e.t3),console.error("Can't load Python from Pyodide"),e.t3;case 52:return e.next=54,this._onload();case 54:case"end":return e.stop()}}),e,this,[[2,22,25,28],[7,16],[28,33],[41,47]])}))),function(){return c.apply(this,arguments)})},{key:"execution_count",get:function(){return this.__kernel__.execution_count()}},{key:"evalAsync",value:(a=(0,r.Z)(l().mark((function e(t,n,r){var o,i,u,a=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=a.length>3&&void 0!==a[3]?a[3]:null,void 0===n&&(n=function(e){console.log(e)}),void 0===r&&(r=function(e){console.error(e)}),e.next=5,this.__kernel__.eval(t,n,r,o);case 5:if((i=e.sent)instanceof window.pyodide.ffi.PyProxy){e.next=8;break}throw i;case 8:return u=i.toJs({create_proxies:!1,dict_converter:Object.fromEntries}),i.destroy(),e.abrupt("return",u);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return a.apply(this,arguments)})},{key:"restart",value:function(){return this.__kernel__.restart()}},{key:"putFile",value:(n=(0,r.Z)(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.__kernel__.put_file(t,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"putModule",value:(t=(0,r.Z)(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.__kernel__.put_module(t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})},{key:"userModules",value:function(){var e=this.__kernel__.user_modules();if(!(e instanceof window.pyodide.ffi.PyProxy))return e;var t=e.toJs();return e.destroy(),t}},{key:"getFile",value:function(e){return this.__kernel__.get_file(e).toJs()}},{key:"getUserModuleFile",value:function(e){return this.__kernel__.get_user_module_file(e).toJs()}},{key:"more",value:function(e){return this.__kernel__.more(e)}},{key:"banner",value:function(){return'Python 3.11.2 (main, May 3 2023 04:00:05) on WebAssembly/Emscripten\nType "help", "copyright", "credits" or "license" for more information.'}},{key:"complete",value:function(e){var t=this.__kernel__.complete(e);if(!(t instanceof window.pyodide.ffi.PyProxy))return t;var n=t.toJs();return t.destroy(),n}},{key:"chdir",value:function(e){window.pyodide._module.FS.chdir(e)}},{key:"mkdir",value:function(e){window.pyodide._module.FS.mkdir(e)}}]),d}(f.H)},753:(e,t,n)=>{function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{Z:()=>r})},6666:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(5850);function o(e,t,n){return(t=(0,r.Z)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}n.d(t,{Z:()=>r})},5754:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(8960);function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,r.Z)(e,t)}},1987:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(6522),o=n(753);function i(e,t){if(t&&("object"===(0,r.Z)(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,o.Z)(e)}},8960:(e,t,n)=>{function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(5058),o=n(8960);function i(e,t,n){return i=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(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&(0,o.Z)(i,n.prototype),i},i.apply(null,arguments)}function u(e){var t="function"==typeof Map?new Map:void 0;return u=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return i(e,arguments,(0,r.Z)(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(n,e)},u(e)}}}]);
1
+ "use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697"],{5144:(e,t,n)=>{n.r(t),n.d(t,{KernelPython3:()=>h});var r=n(4795),o=n(9249),i=n(7371),u=n(1987),a=n(5058),c=n(5754),s=n(2841),l=n.n(s),f=n(6806);function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}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 i,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw i}}}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n){return t=(0,a.Z)(t),(0,u.Z)(e,_()?Reflect.construct(t,n||[],(0,a.Z)(e).constructor):t.apply(e,n))}function _(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(_=function(){return!!e})()}var h=function(e){function t(e){var n,r;return(0,o.Z)(this,t),(n=y(this,t,[e]))._pyodideURLs=["https://cdn.jsdelivr.net/pyodide/v{PYODIDE_VERSION}/full/pyodide.js"],n.__kernel__=null,n.pythonVersion="",n._pyodideURLs.unshift("".concat(n.basthonRoot(),"/pyodide/pyodide.js")),n._pyodideURLs=null!==(r=null==e?void 0:e.pyodideURLs)&&void 0!==r?r:n._pyodideURLs,n}var n,u,a,s,f;return(0,c.Z)(t,e),(0,i.Z)(t,[{key:"basthonModulesRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this.basthonRoot(e)+"/modules"}},{key:"language",value:function(){return"python3"}},{key:"languageName",value:function(){return"Python 3"}},{key:"moduleExts",value:function(){return["py"]}},{key:"_onload",value:(f=(0,r.Z)(l().mark((function e(){var t,n,r,o,i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(t=window.pyodide,n=t._api.repodata_packages,r=0,o=Object.keys(n);r<o.length;r++)i=o[r],(u=n[i]).file_name=u.file_name.replace("{basthonRoot}",this.basthonRoot(!0));return this.pythonVersion=t.runPython("import platform ; platform.python_version()"),e.next=6,t.loadPackage("basthon");case 6:this.__kernel__=t.pyimport("basthon").__kernel__;case 7:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"launch",value:(s=(0,r.Z)(l().mark((function e(){var n,r,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=this._pyodideURLs[0],r=p(this._pyodideURLs),e.prev=2,r.s();case 4:if((o=r.n()).done){e.next=20;break}return i=(i=o.value).replace("{PYODIDE_VERSION}","0.23.2"),e.prev=7,e.next=10,fetch(i,{method:"HEAD"});case 10:if(!e.sent.ok){e.next=14;break}return n=i,e.abrupt("break",20);case 14:e.next=18;break;case 16:e.prev=16,e.t0=e.catch(7);case 18:e.next=4;break;case 20:e.next=25;break;case 22:e.prev=22,e.t1=e.catch(2),r.e(e.t1);case 25:return e.prev=25,r.f(),e.finish(25);case 28:return e.prev=28,e.next=31,t.loadScript(n);case 31:e.next=38;break;case 33:throw e.prev=33,e.t2=e.catch(28),console.log(e.t2),console.error("Can't load pyodide.js"),e.t2;case 38:if(null!=window.loadPyodide){e.next=41;break}throw console.log("window.loadPyodide is null!"),new Error("Can't load pyodide.js");case 41:return e.prev=41,e.next=44,window.loadPyodide({lockFileURL:this.basthonRoot()+"/repodata.json"});case 44:window.pyodide=e.sent,e.next=52;break;case 47:throw e.prev=47,e.t3=e.catch(41),console.log(e.t3),console.error("Can't load Python from Pyodide"),e.t3;case 52:return e.next=54,this._onload();case 54:case"end":return e.stop()}}),e,this,[[2,22,25,28],[7,16],[28,33],[41,47]])}))),function(){return s.apply(this,arguments)})},{key:"execution_count",get:function(){return this.__kernel__.execution_count()}},{key:"evalAsync",value:(a=(0,r.Z)(l().mark((function e(t,n,r){var o,i,u,a=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=a.length>3&&void 0!==a[3]?a[3]:null,void 0===n&&(n=function(e){console.log(e)}),void 0===r&&(r=function(e){console.error(e)}),e.next=5,this.__kernel__.eval(t,n,r,o);case 5:if((i=e.sent)instanceof window.pyodide.ffi.PyProxy){e.next=8;break}throw i;case 8:return u=i.toJs({create_proxies:!1,dict_converter:Object.fromEntries}),i.destroy(),e.abrupt("return",u);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return a.apply(this,arguments)})},{key:"restart",value:function(){return this.__kernel__.restart()}},{key:"putFile",value:(u=(0,r.Z)(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.__kernel__.put_file(t,n);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"putModule",value:(n=(0,r.Z)(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.__kernel__.put_module(t,n);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"userModules",value:function(){var e=this.__kernel__.user_modules();if(!(e instanceof window.pyodide.ffi.PyProxy))return e;var t=e.toJs();return e.destroy(),t}},{key:"getFile",value:function(e){return this.__kernel__.get_file(e).toJs()}},{key:"getUserModuleFile",value:function(e){return this.__kernel__.get_user_module_file(e).toJs()}},{key:"more",value:function(e){return this.__kernel__.more(e)}},{key:"banner",value:function(){return'Python 3.11.2 (main, May 3 2023 04:00:05) on WebAssembly/Emscripten\nType "help", "copyright", "credits" or "license" for more information.'}},{key:"complete",value:function(e){var t=this.__kernel__.complete(e);if(!(t instanceof window.pyodide.ffi.PyProxy))return t;var n=t.toJs();return t.destroy(),n}},{key:"chdir",value:function(e){window.pyodide._module.FS.chdir(e)}},{key:"mkdir",value:function(e){window.pyodide._module.FS.mkdir(e)}}]),t}(f.H)},753:(e,t,n)=>{function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}n.d(t,{Z:()=>r})},6666:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(5850);function o(e,t,n){return(t=(0,r.Z)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}n.d(t,{Z:()=>r})},5754:(e,t,n)=>{n.d(t,{Z:()=>o});var r=n(8960);function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&(0,r.Z)(e,t)}},1987:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(6522),o=n(753);function i(e,t){if(t&&("object"===(0,r.Z)(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,o.Z)(e)}},8960:(e,t,n)=>{function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>u});var r=n(5058),o=n(8960);function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function u(e){var t="function"==typeof Map?new Map:void 0;return u=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(i())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var u=new(e.bind.apply(e,r));return n&&(0,o.Z)(u,n.prototype),u}(e,arguments,(0,r.Z)(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(n,e)},u(e)}}}]);
2
2
  //# sourceMappingURL=kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-python3/lib/kernel.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/construct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js"],"sourcesContent":["import { KernelBase } from \"@basthon/kernel-base\";\nconst PYODIDE_VERSION = \"0.23.2\";\n/**\n * A Python kernel that satisfies Basthon's API.\n */\nexport class KernelPython3 extends KernelBase {\n constructor(options) {\n var _a;\n super(options);\n /**\n * Where to find pyodide.js (private).\n */\n this._pyodideURLs = [\n `https://cdn.jsdelivr.net/pyodide/v{PYODIDE_VERSION}/full/pyodide.js`,\n ];\n this.__kernel__ = null;\n this.pythonVersion = \"\";\n // for locally installed Pyodide\n this._pyodideURLs.unshift(`${this.basthonRoot()}/pyodide/pyodide.js`);\n this._pyodideURLs = (_a = options === null || options === void 0 ? void 0 : options.pyodideURLs) !== null && _a !== void 0 ? _a : this._pyodideURLs;\n }\n /**\n * Get the URL of Basthon modules dir.\n */\n basthonModulesRoot(absolute = false) {\n return this.basthonRoot(absolute) + \"/modules\";\n }\n language() {\n return \"python3\";\n }\n languageName() {\n return \"Python 3\";\n }\n moduleExts() {\n return [\"py\"];\n }\n /**\n * What to do when loaded (private).\n */\n async _onload() {\n const pyodide = window.pyodide;\n // reformat repodata\n const packages = pyodide._api.repodata_packages;\n for (let p of Object.keys(packages)) {\n const item = packages[p];\n item.file_name = item.file_name.replace(\"{basthonRoot}\", this.basthonRoot(true));\n }\n // get the version of Python from Python\n this.pythonVersion = pyodide.runPython(\"import platform ; platform.python_version()\");\n // load basthon and get kernel\n await pyodide.loadPackage(\"basthon\");\n this.__kernel__ = pyodide.pyimport(\"basthon\").__kernel__;\n }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n let pyodideURL = this._pyodideURLs[0];\n for (let url of this._pyodideURLs) {\n url = url.replace(\"{PYODIDE_VERSION}\", PYODIDE_VERSION);\n try {\n const response = await fetch(url, { method: \"HEAD\" });\n if (response.ok) {\n pyodideURL = url;\n break;\n }\n }\n catch (e) { }\n }\n try {\n await KernelPython3.loadScript(pyodideURL);\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load pyodide.js\");\n throw error;\n }\n if (window.loadPyodide == null) {\n console.log(\"window.loadPyodide is null!\");\n throw new Error(\"Can't load pyodide.js\");\n }\n try {\n // loading with custom repodata.json\n window.pyodide = await window.loadPyodide({\n lockFileURL: this.basthonRoot() + \"/repodata.json\",\n });\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load Python from Pyodide\");\n throw error;\n }\n await this._onload();\n }\n /**\n * Execution count getter overload.\n */\n get execution_count() {\n return this.__kernel__.execution_count();\n }\n /**\n * Basthon async code evaluation function.\n */\n async evalAsync(code, outCallback, errCallback, data = null) {\n if (typeof outCallback === \"undefined\") {\n outCallback = function (text) {\n console.log(text);\n };\n }\n if (typeof errCallback === \"undefined\") {\n errCallback = function (text) {\n console.error(text);\n };\n }\n // dependencies are loaded by eval\n const proxy = await this.__kernel__.eval(code, outCallback, errCallback, data);\n // when an error occures, proxy should be the error message\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n throw proxy;\n const res = proxy.toJs({\n create_proxies: false,\n dict_converter: Object.fromEntries,\n });\n proxy.destroy();\n return res;\n }\n /**\n * Restart the kernel.\n */\n restart() {\n return this.__kernel__.restart();\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n this.__kernel__.put_file(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n return await this.__kernel__.put_module(filename, content);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n const proxy = this.__kernel__.user_modules();\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n return proxy;\n const res = proxy.toJs();\n proxy.destroy();\n return res;\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n return this.__kernel__.get_file(path).toJs();\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n return this.__kernel__.get_user_module_file(filename).toJs();\n }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 for teminal prompt.\n */\n more(source) {\n return this.__kernel__.more(source);\n }\n /**\n * Mimic the CPython's REPL banner.\n */\n banner() {\n /* We don't return this.__kernel__.banner();\n * since the banner should be available ASAP.\n * In tests, we check this.banner() === this.__kernel__.banner().\n */\n return `Python 3.11.2 (main, May 3 2023 04:00:05) on WebAssembly/Emscripten\\nType \\\"help\\\", \\\"copyright\\\", \\\"credits\\\" or \\\"license\\\" for more information.`;\n }\n /**\n * Complete a code at the end (usefull for tab completion).\n *\n * Returns an array of two elements: the list of completions\n * and the start index.\n */\n complete(code) {\n const proxy = this.__kernel__.complete(code);\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n return proxy;\n const res = proxy.toJs();\n proxy.destroy();\n return res;\n }\n /**\n * Change current directory (Python's virtual FS).\n */\n chdir(path) {\n window.pyodide._module.FS.chdir(path);\n }\n /**\n * Create directory (Python's virtual FS).\n */\n mkdir(path) {\n window.pyodide._module.FS.mkdir(path);\n }\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}"],"names":["KernelPython3","_KernelBase","_inherits","_putModule","_putFile","_evalAsync","_launch","_onload2","_super","_createSuper","options","_this","_a","_classCallCheck","call","_pyodideURLs","__kernel__","pythonVersion","unshift","concat","basthonRoot","pyodideURLs","_createClass","key","value","absolute","arguments","length","undefined","this","_asyncToGenerator","_regeneratorRuntime","_callee","pyodide","packages","_i","_Object$keys","p","item","_context","prev","next","window","_api","repodata_packages","Object","keys","file_name","replace","runPython","loadPackage","pyimport","stop","apply","_callee2","pyodideURL","_iterator","_step","url","_context2","_createForOfIteratorHelper","s","n","done","fetch","method","sent","ok","abrupt","t0","t1","e","f","finish","loadScript","t2","console","log","error","loadPyodide","Error","lockFileURL","t3","_onload","get","execution_count","_callee3","code","outCallback","errCallback","data","proxy","res","_args3","_context3","text","eval","ffi","PyProxy","toJs","create_proxies","dict_converter","fromEntries","destroy","_x","_x2","_x3","restart","_callee4","filename","content","_context4","put_file","_x4","_x5","_callee5","_context5","put_module","_x6","_x7","user_modules","path","get_file","get_user_module_file","source","more","complete","_module","FS","chdir","mkdir","KernelBase","_assertThisInitialized","self","ReferenceError","_defineProperty","obj","defineProperty","enumerable","configurable","writable","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","subClass","superClass","TypeError","prototype","create","constructor","_possibleConstructorReturn","_setPrototypeOf","_construct","Parent","args","Class","Reflect","construct","sham","Proxy","Boolean","valueOf","a","push","instance","Function","_wrapNativeSuper","_cache","Map","fn","toString","indexOf","has","set","Wrapper"],"sourceRoot":""}
1
+ {"version":3,"file":"kernel-python3_lib_index_js-node_modules_babel_runtime_helpers_esm_defineProperty_js-node_mod-1ab697.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-python3/lib/kernel.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/construct.js"],"sourcesContent":["import { KernelBase } from \"@basthon/kernel-base\";\nconst PYODIDE_VERSION = \"0.23.2\";\n/**\n * A Python kernel that satisfies Basthon's API.\n */\nexport class KernelPython3 extends KernelBase {\n constructor(options) {\n var _a;\n super(options);\n /**\n * Where to find pyodide.js (private).\n */\n this._pyodideURLs = [\n `https://cdn.jsdelivr.net/pyodide/v{PYODIDE_VERSION}/full/pyodide.js`,\n ];\n this.__kernel__ = null;\n this.pythonVersion = \"\";\n // for locally installed Pyodide\n this._pyodideURLs.unshift(`${this.basthonRoot()}/pyodide/pyodide.js`);\n this._pyodideURLs = (_a = options === null || options === void 0 ? void 0 : options.pyodideURLs) !== null && _a !== void 0 ? _a : this._pyodideURLs;\n }\n /**\n * Get the URL of Basthon modules dir.\n */\n basthonModulesRoot(absolute = false) {\n return this.basthonRoot(absolute) + \"/modules\";\n }\n language() {\n return \"python3\";\n }\n languageName() {\n return \"Python 3\";\n }\n moduleExts() {\n return [\"py\"];\n }\n /**\n * What to do when loaded (private).\n */\n async _onload() {\n const pyodide = window.pyodide;\n // reformat repodata\n const packages = pyodide._api.repodata_packages;\n for (let p of Object.keys(packages)) {\n const item = packages[p];\n item.file_name = item.file_name.replace(\"{basthonRoot}\", this.basthonRoot(true));\n }\n // get the version of Python from Python\n this.pythonVersion = pyodide.runPython(\"import platform ; platform.python_version()\");\n // load basthon and get kernel\n await pyodide.loadPackage(\"basthon\");\n this.__kernel__ = pyodide.pyimport(\"basthon\").__kernel__;\n }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n let pyodideURL = this._pyodideURLs[0];\n for (let url of this._pyodideURLs) {\n url = url.replace(\"{PYODIDE_VERSION}\", PYODIDE_VERSION);\n try {\n const response = await fetch(url, { method: \"HEAD\" });\n if (response.ok) {\n pyodideURL = url;\n break;\n }\n }\n catch (e) { }\n }\n try {\n await KernelPython3.loadScript(pyodideURL);\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load pyodide.js\");\n throw error;\n }\n if (window.loadPyodide == null) {\n console.log(\"window.loadPyodide is null!\");\n throw new Error(\"Can't load pyodide.js\");\n }\n try {\n // loading with custom repodata.json\n window.pyodide = await window.loadPyodide({\n lockFileURL: this.basthonRoot() + \"/repodata.json\",\n });\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load Python from Pyodide\");\n throw error;\n }\n await this._onload();\n }\n /**\n * Execution count getter overload.\n */\n get execution_count() {\n return this.__kernel__.execution_count();\n }\n /**\n * Basthon async code evaluation function.\n */\n async evalAsync(code, outCallback, errCallback, data = null) {\n if (typeof outCallback === \"undefined\") {\n outCallback = function (text) {\n console.log(text);\n };\n }\n if (typeof errCallback === \"undefined\") {\n errCallback = function (text) {\n console.error(text);\n };\n }\n // dependencies are loaded by eval\n const proxy = await this.__kernel__.eval(code, outCallback, errCallback, data);\n // when an error occures, proxy should be the error message\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n throw proxy;\n const res = proxy.toJs({\n create_proxies: false,\n dict_converter: Object.fromEntries,\n });\n proxy.destroy();\n return res;\n }\n /**\n * Restart the kernel.\n */\n restart() {\n return this.__kernel__.restart();\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n this.__kernel__.put_file(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n return await this.__kernel__.put_module(filename, content);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n const proxy = this.__kernel__.user_modules();\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n return proxy;\n const res = proxy.toJs();\n proxy.destroy();\n return res;\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n return this.__kernel__.get_file(path).toJs();\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n return this.__kernel__.get_user_module_file(filename).toJs();\n }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 for teminal prompt.\n */\n more(source) {\n return this.__kernel__.more(source);\n }\n /**\n * Mimic the CPython's REPL banner.\n */\n banner() {\n /* We don't return this.__kernel__.banner();\n * since the banner should be available ASAP.\n * In tests, we check this.banner() === this.__kernel__.banner().\n */\n return `Python 3.11.2 (main, May 3 2023 04:00:05) on WebAssembly/Emscripten\\nType \\\"help\\\", \\\"copyright\\\", \\\"credits\\\" or \\\"license\\\" for more information.`;\n }\n /**\n * Complete a code at the end (usefull for tab completion).\n *\n * Returns an array of two elements: the list of completions\n * and the start index.\n */\n complete(code) {\n const proxy = this.__kernel__.complete(code);\n if (!(proxy instanceof window.pyodide.ffi.PyProxy))\n return proxy;\n const res = proxy.toJs();\n proxy.destroy();\n return res;\n }\n /**\n * Change current directory (Python's virtual FS).\n */\n chdir(path) {\n window.pyodide._module.FS.chdir(path);\n }\n /**\n * Create directory (Python's virtual FS).\n */\n mkdir(path) {\n window.pyodide._module.FS.mkdir(path);\n }\n}\n","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n try {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n } catch (e) {\n return typeof fn === \"function\";\n }\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}"],"names":["KernelPython3","_KernelBase","options","_this","_a","_classCallCheck","_callSuper","_pyodideURLs","__kernel__","pythonVersion","unshift","concat","basthonRoot","pyodideURLs","_putModule","_putFile","_evalAsync","_launch","_onload2","_inherits","_createClass","key","value","absolute","arguments","length","undefined","this","_asyncToGenerator","_regeneratorRuntime","_callee","pyodide","packages","_i","_Object$keys","p","item","_context","prev","next","window","_api","repodata_packages","Object","keys","file_name","replace","runPython","loadPackage","pyimport","stop","apply","_callee2","pyodideURL","_iterator","_step","url","_context2","_createForOfIteratorHelper","s","n","done","fetch","method","sent","ok","abrupt","t0","t1","e","f","finish","loadScript","t2","console","log","error","loadPyodide","Error","lockFileURL","t3","_onload","get","execution_count","_callee3","code","outCallback","errCallback","data","proxy","res","_args3","_context3","text","eval","ffi","PyProxy","toJs","create_proxies","dict_converter","fromEntries","destroy","_x","_x2","_x3","restart","_callee4","filename","content","_context4","put_file","_x4","_x5","_callee5","_context5","put_module","_x6","_x7","user_modules","path","get_file","get_user_module_file","source","more","complete","_module","FS","chdir","mkdir","KernelBase","_assertThisInitialized","self","ReferenceError","_defineProperty","obj","defineProperty","enumerable","configurable","writable","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","subClass","superClass","TypeError","prototype","create","constructor","_possibleConstructorReturn","call","_setPrototypeOf","_isNativeReflectConstruct","t","Boolean","valueOf","Reflect","construct","_wrapNativeSuper","Class","_cache","Map","fn","Function","toString","indexOf","has","set","Wrapper","r","push"],"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),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:()=>{}}]);
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:()=>k});var a=n(4795),r=n(9249),o=n(7371),u=n(1987),i=n(5058),l=n(753),c=n(5754),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 a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:r}}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,a=new Array(e);n<e;n++)a[n]=t[n];return a}function m(t,e,n){return e=(0,i.Z)(e),(0,u.Z)(t,_()?Reflect.construct(e,n||[],(0,i.Z)(t).constructor):e.apply(t,n))}function _(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(_=function(){return!!t})()}var k=function(t){function e(t){var n;return(0,r.Z)(this,e),(n=m(this,e,[t]))._execution_count=0,n._dbInit=void 0,n._sqlsInit=[],n._dots={".backup":{callback:n._export.bind((0,l.Z)(n)),help:"Download as binary file"},".dump":{callback:n._dump.bind((0,l.Z)(n)),help:"Download as SQL file"},".export":{callback:n._export.bind((0,l.Z)(n)),help:"See .backup"},".help":{callback:n._help.bind((0,l.Z)(n)),help:"Show this help"},".save":{callback:n._export.bind((0,l.Z)(n)),help:"See .backup"},".schema":{callback:n._schema.bind((0,l.Z)(n)),help:"Show the CREATE statements"},".tables":{callback:n._tables.bind((0,l.Z)(n)),help:"List names of tables"}},n}var n,u,i,s;return(0,c.Z)(e,t),(0,o.Z)(e,[{key:"language",value:function(){return"sql"}},{key:"languageName",value:function(){return"SQL"}},{key:"moduleExts",value:function(){return["sql","db","sqlite"]}},{key:"launch",value:(s=(0,a.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 s.apply(this,arguments)})},{key:"formatResult",value:function(t){if(null!=t)return{"text/plain":e.text_table(t),"text/html":e.html_table(t)}}},{key:"execCode",value:function(t){var e,n,a,r,o=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=b(this.db.iterateStatements(t));try{for(u.s();!(r=u.n()).done;){var i=r.value;for(n=i.getColumnNames(),a=[];i.step();)a.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:a};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 a=e.value;a.step(););}catch(t){n.e(t)}finally{n.f()}}},{key:"evalAsync",value:(i=(0,a.Z)(h().mark((function t(e,n,a){var r,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++,r=void 0,(o=e.replace(/^[; \t\n]+|[; \t\n]+$/g,""))in this._dots?(u=this._dots[o].callback,r=u()):r=this.execCode(e),t.abrupt("return",[r,this._execution_count]);case 7:case"end":return t.stop()}}),t,this)}))),function(t,e,n){return i.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:(u=(0,a.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 u.apply(this,arguments)})},{key:"putModule",value:(n=(0,a.Z)(h().mark((function t(e,n){var a,r,o;return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=new Uint8Array(n),a=e.split(".").pop(),t.t0=a,t.next="sql"===t.t0?5:"sqlite"===t.t0||"db"===t.t0?10:14;break;case 5:return r=new TextDecoder("utf-8"),o=r.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,e){return n.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,a,r=this,o=null!==(e=null===(t=this.tables(!1))||void 0===t?void 0:t.values)&&void 0!==e?e:[],u=null!==(a=null===(n=this.schema())||void 0===n?void 0:n.values)&&void 0!==a?a:[],i=o.map((function(t){var e,n=(null===(e=r.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),a=t.values.slice(-e);t.values=n.concat([t.columns.map((function(){return"⋮ "}))],a)}}},{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>"),a=t.values.map((function(t){return"<tr>"+t.map((function(t){return"<td>".concat(t,"</td>")})).join("")+"</tr>"})).join(""),r="<tbody>".concat(a,"</tbody>");return'<table class="dataframe" border="1">'.concat(n).concat(r,"</table>")}},{key:"text_table",value:function(t){e.troncate_table(t);var n=t.columns.join("\t"),a=t.values.map((function(t){return t.join("\t")})).join("\n");return"".concat(n,"\n").concat(a)}}]),e}(f.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 /**\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":""}
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","options","_this","_classCallCheck","_callSuper","_execution_count","_dbInit","undefined","_sqlsInit","_dots","callback","_export","bind","_assertThisInitialized","help","_dump","_help","_schema","_tables","_putModule","_putFile","_evalAsync","_launch","_inherits","_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":""}