@basthon/browser-bundle 0.41.7 → 0.41.10
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.
- package/lib/{0.41.7 → 0.41.10}/basthon.data +0 -0
- package/lib/{0.41.7 → 0.41.10}/basthon.js +1 -1
- package/lib/{0.41.7 → 0.41.10}/modules/IPython-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/extern/pytutor-main.min.css +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/extern/pytutor-main.min.js +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/extern/pytutor-main.min.js.map +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/ipythonblocks-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/ivp-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/lolviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/p5-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/requests-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/turtle-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.41.7 → 0.41.10}/modules/tutor-0.0.1-py3-none-any.whl +0 -0
- package/lib/kernel-javascript_lib_index_js.js +1 -1
- package/lib/kernel-javascript_lib_index_js.js.map +1 -1
- package/lib/kernel-ocaml_lib_index_js.js +1 -1
- package/lib/kernel-ocaml_lib_index_js.js.map +1 -1
- package/lib/kernel-python3_lib_index_js.js +1 -1
- package/lib/kernel-python3_lib_index_js.js.map +1 -1
- package/lib/kernel-sql_lib_index_js.js +1 -1
- package/lib/kernel-sql_lib_index_js.js.map +1 -1
- package/package.json +3 -3
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var Module=void 0!==pyodide._module?pyodide._module:{};Module.expectedDataFileDownloads||(Module.expectedDataFileDownloads=0,Module.finishedDataFileDownloads=0),Module.expectedDataFileDownloads++,function(e){if("object"==typeof window)window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/");else{if("undefined"==typeof location)throw"using preloaded data can only be done on a web page or in a web worker";encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var a="basthon.data";"function"!=typeof Module.locateFilePackage||Module.locateFile||(Module.locateFile=Module.locateFilePackage,err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var o=Module.locateFile?Module.locateFile(a,""):a,t=e.remote_package_size;e.package_uuid;var l,d,n,s,i=null,u=Module.getPreloadedPackage?Module.getPreloadedPackage(o,t):null;function r(){function a(e,a){if(!e)throw a+(new Error).stack}function o(o){Module.finishedDataFileDownloads++,a(o,"Loading data file failed."),a(o instanceof ArrayBuffer,"bad input to processPackageData");var t=new Uint8Array(o),l={data:null,cachedOffset:34388,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1043,2149,3376,4529,5745,6965,8297,9660,10869,12196,13380,14612,15834,17162,18590,19797,21003,22112,23493,24826,26212,27485,28764,29821,31102,31928,33030,34182],sizes:[1043,1106,1227,1153,1216,1220,1332,1363,1209,1327,1184,1232,1222,1328,1428,1207,1206,1109,1381,1333,1386,1273,1279,1057,1281,826,1102,1152,206],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};l.data=t,LZ4=Module.LZ4,a("object"==typeof LZ4,"LZ4 not present - was your app build with -s LZ4=1 ?"),LZ4.loadPackage({metadata:e,compressedData:l}),Module.removeRunDependency("datafile_lib/dist//basthon.data")}Module.FS_createPath("/","lib",!0,!0),Module.FS_createPath("/lib","python3.8",!0,!0),Module.FS_createPath("/lib/python3.8","site-packages",!0,!0),Module.FS_createPath("/lib/python3.8/site-packages","basthon",!0,!0),Module.addRunDependency("datafile_lib/dist//basthon.data"),Module.preloadResults||(Module.preloadResults={}),Module.preloadResults["lib/dist//basthon.data"]={fromCache:!1},u?(o(u),u=null):i=o}u||(l=o,d=t,n=function(e){i?(i(e),i=null):u=e},(s=new XMLHttpRequest).open("GET",l,!0),s.responseType="arraybuffer",s.onprogress=function(e){var a=l,o=d;if(e.total&&(o=e.total),e.loaded){s.addedTotal?Module.dataFileDownloads[a].loaded=e.loaded:(s.addedTotal=!0,Module.dataFileDownloads||(Module.dataFileDownloads={}),Module.dataFileDownloads[a]={loaded:e.loaded,total:o});var t=0,n=0,i=0;for(var u in Module.dataFileDownloads){var r=Module.dataFileDownloads[u];t+=r.total,n+=r.loaded,i++}t=Math.ceil(t*Module.expectedDataFileDownloads/i),Module.setStatus&&Module.setStatus("Downloading data... ("+n+"/"+t+")")}else Module.dataFileDownloads||Module.setStatus&&Module.setStatus("Downloading data...")},s.onerror=function(e){throw new Error("NetworkError for: "+l)},s.onload=function(e){if(!(200==s.status||304==s.status||206==s.status||0==s.status&&s.response))throw new Error(s.statusText+" : "+s.responseURL);var a=s.response;n(a)},s.send(null)),Module.calledRun?r():(Module.preRun||(Module.preRun=[]),Module.preRun.push(r))}({files:[{filename:"/lib/python3.8/site-packages/basthon/utils.py",start:0,end:2379,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_patch_modules.py",start:2379,end:14340,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_pyodide_base.py",start:14340,end:27474,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_patch_builtins.py",start:27474,end:29752,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_pyodide_console.py",start:29752,end:41347,audio:0},{filename:"/lib/python3.8/site-packages/basthon/kernel.py",start:41347,end:45913,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_console.py",start:45913,end:50829,audio:0},{filename:"/lib/python3.8/site-packages/basthon/packages.py",start:50829,end:57245,audio:0},{filename:"/lib/python3.8/site-packages/basthon/__init__.py",start:57245,end:57583,audio:0}],remote_package_size:38484,package_uuid:"
|
|
1
|
+
var Module=void 0!==pyodide._module?pyodide._module:{};Module.expectedDataFileDownloads||(Module.expectedDataFileDownloads=0,Module.finishedDataFileDownloads=0),Module.expectedDataFileDownloads++,function(e){if("object"==typeof window)window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/");else{if("undefined"==typeof location)throw"using preloaded data can only be done on a web page or in a web worker";encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var a="basthon.data";"function"!=typeof Module.locateFilePackage||Module.locateFile||(Module.locateFile=Module.locateFilePackage,err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var o=Module.locateFile?Module.locateFile(a,""):a,t=e.remote_package_size;e.package_uuid;var l,d,n,s,i=null,u=Module.getPreloadedPackage?Module.getPreloadedPackage(o,t):null;function r(){function a(e,a){if(!e)throw a+(new Error).stack}function o(o){Module.finishedDataFileDownloads++,a(o,"Loading data file failed."),a(o instanceof ArrayBuffer,"bad input to processPackageData");var t=new Uint8Array(o),l={data:null,cachedOffset:34388,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1043,2149,3376,4529,5745,6965,8297,9660,10869,12196,13380,14612,15834,17162,18590,19797,21003,22112,23493,24826,26212,27485,28764,29821,31102,31928,33030,34182],sizes:[1043,1106,1227,1153,1216,1220,1332,1363,1209,1327,1184,1232,1222,1328,1428,1207,1206,1109,1381,1333,1386,1273,1279,1057,1281,826,1102,1152,206],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};l.data=t,LZ4=Module.LZ4,a("object"==typeof LZ4,"LZ4 not present - was your app build with -s LZ4=1 ?"),LZ4.loadPackage({metadata:e,compressedData:l}),Module.removeRunDependency("datafile_lib/dist//basthon.data")}Module.FS_createPath("/","lib",!0,!0),Module.FS_createPath("/lib","python3.8",!0,!0),Module.FS_createPath("/lib/python3.8","site-packages",!0,!0),Module.FS_createPath("/lib/python3.8/site-packages","basthon",!0,!0),Module.addRunDependency("datafile_lib/dist//basthon.data"),Module.preloadResults||(Module.preloadResults={}),Module.preloadResults["lib/dist//basthon.data"]={fromCache:!1},u?(o(u),u=null):i=o}u||(l=o,d=t,n=function(e){i?(i(e),i=null):u=e},(s=new XMLHttpRequest).open("GET",l,!0),s.responseType="arraybuffer",s.onprogress=function(e){var a=l,o=d;if(e.total&&(o=e.total),e.loaded){s.addedTotal?Module.dataFileDownloads[a].loaded=e.loaded:(s.addedTotal=!0,Module.dataFileDownloads||(Module.dataFileDownloads={}),Module.dataFileDownloads[a]={loaded:e.loaded,total:o});var t=0,n=0,i=0;for(var u in Module.dataFileDownloads){var r=Module.dataFileDownloads[u];t+=r.total,n+=r.loaded,i++}t=Math.ceil(t*Module.expectedDataFileDownloads/i),Module.setStatus&&Module.setStatus("Downloading data... ("+n+"/"+t+")")}else Module.dataFileDownloads||Module.setStatus&&Module.setStatus("Downloading data...")},s.onerror=function(e){throw new Error("NetworkError for: "+l)},s.onload=function(e){if(!(200==s.status||304==s.status||206==s.status||0==s.status&&s.response))throw new Error(s.statusText+" : "+s.responseURL);var a=s.response;n(a)},s.send(null)),Module.calledRun?r():(Module.preRun||(Module.preRun=[]),Module.preRun.push(r))}({files:[{filename:"/lib/python3.8/site-packages/basthon/utils.py",start:0,end:2379,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_patch_modules.py",start:2379,end:14340,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_pyodide_base.py",start:14340,end:27474,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_patch_builtins.py",start:27474,end:29752,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_pyodide_console.py",start:29752,end:41347,audio:0},{filename:"/lib/python3.8/site-packages/basthon/kernel.py",start:41347,end:45913,audio:0},{filename:"/lib/python3.8/site-packages/basthon/_console.py",start:45913,end:50829,audio:0},{filename:"/lib/python3.8/site-packages/basthon/packages.py",start:50829,end:57245,audio:0},{filename:"/lib/python3.8/site-packages/basthon/__init__.py",start:57245,end:57583,audio:0}],remote_package_size:38484,package_uuid:"d92bc018-7ea4-4e37-baf2-53abe78aec05"});
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-javascript_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>y});var r=n(4795),o=n(7371),u=n(9249),c=n(5754),i=n(8657),a=n(5058),l=n(8501),s=n(7162),f=n.n(s),p=n(2490);function v(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,a.Z)(e);if(t){var o=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var h=function(e){(0,c.Z)(n,e);var t=v(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,o.Z)(n)}((0,l.Z)(Error)),d=function(e){(0,c.Z)(n,e);var t=v(n);function n(e,r){var o;return(0,u.Z)(this,n),(o=t.call(this,e)).detail=r,o}return(0,o.Z)(n)}((0,l.Z)(Event)),y=function(){function e(t){(0,u.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,c,i;return(0,o.Z)(e,[{key:"version",value:function(){return"0.41.7"}},{key:"language",value:function(){throw new h("language")}},{key:"languageName",value:function(){throw new h("languageName")}},{key:"moduleExts",value:function(){throw new h("moduleExts")}},{key:"launch",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new h("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new h("evalAsync")}},{key:"restart",value:function(){throw new h("restart")}},{key:"putFile",value:function(e,t){throw new h("putFile")}},{key:"putModule",value:function(e,t){throw new h("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new h("getFile")}},{key:"getUserModuleFile",value:function(e){throw new h("getUserModuleFile")}},{key:"more",value:function(e){throw new h("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(c=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return c.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new d("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,o,u,c,i,a,l,s=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=s.clone(t);r.stream=e,r.content=n,s.dispatchEvent("eval.output",r)}},r=n("stdout"),o=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,o,t);case 6:u=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),o(e.t0.toString()),(c=this.clone(t)).error=e.t0,c.execution_count=this.execution_count,this.dispatchEvent("eval.error",c),e.abrupt("return");case 17:if(null!=u){e.next=19;break}return e.abrupt("return");case 19:i=u[0],a=u[1],(l=this.clone(t)).execution_count=a,null!=i&&(l.result=i),this.dispatchEvent("eval.finished",l);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},242:(e,t,n)=>{n.r(t),n.d(t,{KernelJavaScript:()=>p});var r=n(4795),o=n(9249),u=n(7371),c=n(5754),i=n(8657),a=n(5058),l=n(7162),s=n.n(l);function f(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,a.Z)(e);if(t){var o=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var p=function(e){(0,c.Z)(a,e);var t,n,i=f(a);function a(e){var t;return(0,o.Z)(this,a),(t=i.call(this,e))._context={Basthon:void 0,Jupyter:void 0,window:void 0},t.execution_count=0,t}return(0,u.Z)(a,[{key:"language",value:function(){return"javascript"}},{key:"languageName",value:function(){return"Javascript"}},{key:"moduleExts",value:function(){return["js"]}},{key:"launch",value:(n=(0,r.Z)(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)})},{key:"eval",value:function(e){try{return window.eval("with(Basthon._context) { ".concat(e," }"))}catch(t){if(t instanceof SyntaxError)return new Function("with(this) { ".concat(e," }")).call(this._context);throw t}}},{key:"evalAsync",value:(t=(0,r.Z)(s().mark((function e(t,n,r){var o,u,c,i=arguments;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(i.length>3&&void 0!==i[3]?i[3]:null).interactive=!0,o=console.log,u=console.error,console.log=n,console.error=r,this.execution_count++,c=void 0;try{c=this.eval(t)}catch(e){console.error("Uncaught ".concat(e.name||"",": ").concat(null==e?void 0:e.message))}return console.log=o,console.error=u,void 0!==c&&(c={"text/plain":JSON.stringify(c)}),e.abrupt("return",[c,this.execution_count]);case 13:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"ps1",value:function(){return" js> "}},{key:"ps2",value:function(){return"...> "}},{key:"restart",value:function(){}},{key:"more",value:function(e){return!1}},{key:"complete",value:function(e){return[]}},{key:"putFile",value:function(e,t){console.error("Fichier ".concat(e," not added since putFile has no mean in the JS context."))}},{key:"putModule",value:function(e,t){if(t=new Uint8Array(t),"js"!==e.split(".").pop())throw{message:"Only '.js' files supported."};var n=new TextDecoder("utf-8").decode(t);this.eval(n)}}]),a}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf: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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>u});var o=n(753);function u(e,t){if(t&&("object"===r(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||function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(5058),o=n(8960);function u(){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}}function c(e,t,n){return c=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var u=new(Function.bind.apply(e,r));return n&&(0,o.Z)(u,n.prototype),u},c.apply(null,arguments)}function i(e){var t="function"==typeof Map?new Map:void 0;return i=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,u)}function u(){return c(e,arguments,(0,r.Z)(this).constructor)}return u.prototype=Object.create(e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(u,e)},i(e)}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-javascript_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>y});var r=n(4795),o=n(7371),u=n(9249),c=n(5754),i=n(8657),a=n(5058),l=n(8501),s=n(7162),f=n.n(s),p=n(2490);function v(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,a.Z)(e);if(t){var o=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var h=function(e){(0,c.Z)(n,e);var t=v(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,o.Z)(n)}((0,l.Z)(Error)),d=function(e){(0,c.Z)(n,e);var t=v(n);function n(e,r){var o;return(0,u.Z)(this,n),(o=t.call(this,e)).detail=r,o}return(0,o.Z)(n)}((0,l.Z)(Event)),y=function(){function e(t){(0,u.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,c,i;return(0,o.Z)(e,[{key:"version",value:function(){return"0.41.10"}},{key:"language",value:function(){throw new h("language")}},{key:"languageName",value:function(){throw new h("languageName")}},{key:"moduleExts",value:function(){throw new h("moduleExts")}},{key:"launch",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new h("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new h("evalAsync")}},{key:"restart",value:function(){throw new h("restart")}},{key:"putFile",value:function(e,t){throw new h("putFile")}},{key:"putModule",value:function(e,t){throw new h("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new h("getFile")}},{key:"getUserModuleFile",value:function(e){throw new h("getUserModuleFile")}},{key:"more",value:function(e){throw new h("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(c=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return c.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new d("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,o,u,c,i,a,l,s=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=s.clone(t);r.stream=e,r.content=n,s.dispatchEvent("eval.output",r)}},r=n("stdout"),o=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,o,t);case 6:u=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),o(e.t0.toString()),(c=this.clone(t)).error=e.t0,c.execution_count=this.execution_count,this.dispatchEvent("eval.error",c),e.abrupt("return");case 17:if(null!=u){e.next=19;break}return e.abrupt("return");case 19:i=u[0],a=u[1],(l=this.clone(t)).execution_count=a,null!=i&&(l.result=i),this.dispatchEvent("eval.finished",l);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},242:(e,t,n)=>{n.r(t),n.d(t,{KernelJavaScript:()=>p});var r=n(4795),o=n(9249),u=n(7371),c=n(5754),i=n(8657),a=n(5058),l=n(7162),s=n.n(l);function f(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,a.Z)(e);if(t){var o=(0,a.Z)(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return(0,i.Z)(this,n)}}var p=function(e){(0,c.Z)(a,e);var t,n,i=f(a);function a(e){var t;return(0,o.Z)(this,a),(t=i.call(this,e))._context={Basthon:void 0,Jupyter:void 0,window:void 0},t.execution_count=0,t}return(0,u.Z)(a,[{key:"language",value:function(){return"javascript"}},{key:"languageName",value:function(){return"Javascript"}},{key:"moduleExts",value:function(){return["js"]}},{key:"launch",value:(n=(0,r.Z)(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)})},{key:"eval",value:function(e){try{return window.eval("with(Basthon._context) { ".concat(e," }"))}catch(t){if(t instanceof SyntaxError)return new Function("with(this) { ".concat(e," }")).call(this._context);throw t}}},{key:"evalAsync",value:(t=(0,r.Z)(s().mark((function e(t,n,r){var o,u,c,i=arguments;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:(i.length>3&&void 0!==i[3]?i[3]:null).interactive=!0,o=console.log,u=console.error,console.log=n,console.error=r,this.execution_count++,c=void 0;try{c=this.eval(t)}catch(e){console.error("Uncaught ".concat(e.name||"",": ").concat(null==e?void 0:e.message))}return console.log=o,console.error=u,void 0!==c&&(c={"text/plain":JSON.stringify(c)}),e.abrupt("return",[c,this.execution_count]);case 13:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"ps1",value:function(){return" js> "}},{key:"ps2",value:function(){return"...> "}},{key:"restart",value:function(){}},{key:"more",value:function(e){return!1}},{key:"complete",value:function(e){return[]}},{key:"putFile",value:function(e,t){console.error("Fichier ".concat(e," not added since putFile has no mean in the JS context."))}},{key:"putModule",value:function(e,t){if(t=new Uint8Array(t),"js"!==e.split(".").pop())throw{message:"Only '.js' files supported."};var n=new TextDecoder("utf-8").decode(t);this.eval(n)}}]),a}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf: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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>u});var o=n(753);function u(e,t){if(t&&("object"===r(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||function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>i});var r=n(5058),o=n(8960);function u(){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}}function c(e,t,n){return c=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var u=new(Function.bind.apply(e,r));return n&&(0,o.Z)(u,n.prototype),u},c.apply(null,arguments)}function i(e){var t="function"==typeof Map?new Map:void 0;return i=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,u)}function u(){return c(e,arguments,(0,r.Z)(this).constructor)}return u.prototype=Object.create(e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(u,e)},i(e)}}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-javascript_lib_index_js.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-javascript_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","webpack://@basthon/browser-bundle/../kernel-javascript/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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.7\";\n","import { KernelBase } from '@basthon/kernel-base';\nexport class KernelJavaScript extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n this._context = {\n Basthon: undefined,\n Jupyter: undefined,\n window: undefined,\n };\n this.execution_count = 0;\n }\n ;\n ;\n language() { return \"javascript\"; }\n ;\n languageName() { return \"Javascript\"; }\n ;\n moduleExts() { return ['js']; }\n ;\n async launch() { }\n ;\n eval(code) {\n try {\n // using context to hide several global variables\n return window.eval(`with(Basthon._context) { ${code} }`);\n }\n catch (e) {\n if (e instanceof SyntaxError)\n return (new Function(`with(this) { ${code} }`)).call(this._context);\n throw e;\n }\n }\n ;\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n // backup\n const console_log = console.log;\n const console_error = console.error;\n console.log = outCallback;\n console.error = errCallback;\n this.execution_count++;\n // evaluation\n let result = undefined;\n try {\n result = this.eval(code);\n }\n catch (e) {\n console.error(`Uncaught ${e.name || \"\"}: ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n // restoration\n console.log = console_log;\n console.error = console_error;\n // return result\n if (typeof result !== 'undefined')\n result = { 'text/plain': JSON.stringify(result) };\n return [result, this.execution_count];\n }\n ;\n ps1() { return \" js> \"; }\n ;\n ps2() { return \"...> \"; }\n ;\n restart() { }\n ;\n more(source) { return false; }\n ;\n complete(code) { return []; }\n ;\n putFile(filename, content) {\n console.error(`Fichier ${filename} not added since putFile has no mean in the JS context.`);\n }\n ;\n putModule(filename, content) {\n content = new Uint8Array(content);\n const ext = filename.split('.').pop();\n switch (ext) {\n case 'js':\n let decoder = new TextDecoder(\"utf-8\");\n const _content = decoder.decode(content);\n this.eval(_content);\n break;\n default:\n throw { message: \"Only '.js' files supported.\" };\n }\n }\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelJavaScript","_context","Basthon","undefined","Jupyter","eval","e","SyntaxError","Function","call","interactive","console_log","console","log","console_error","message","Uint8Array","_content","TextDecoder","decode","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","a","push","apply","instance","arguments","_wrapNativeSuper","_cache","Map","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-javascript_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","webpack://@basthon/browser-bundle/../kernel-javascript/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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.10\";\n","import { KernelBase } from '@basthon/kernel-base';\nexport class KernelJavaScript extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n this._context = {\n Basthon: undefined,\n Jupyter: undefined,\n window: undefined,\n };\n this.execution_count = 0;\n }\n ;\n ;\n language() { return \"javascript\"; }\n ;\n languageName() { return \"Javascript\"; }\n ;\n moduleExts() { return ['js']; }\n ;\n async launch() { }\n ;\n eval(code) {\n try {\n // using context to hide several global variables\n return window.eval(`with(Basthon._context) { ${code} }`);\n }\n catch (e) {\n if (e instanceof SyntaxError)\n return (new Function(`with(this) { ${code} }`)).call(this._context);\n throw e;\n }\n }\n ;\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n // backup\n const console_log = console.log;\n const console_error = console.error;\n console.log = outCallback;\n console.error = errCallback;\n this.execution_count++;\n // evaluation\n let result = undefined;\n try {\n result = this.eval(code);\n }\n catch (e) {\n console.error(`Uncaught ${e.name || \"\"}: ${e === null || e === void 0 ? void 0 : e.message}`);\n }\n // restoration\n console.log = console_log;\n console.error = console_error;\n // return result\n if (typeof result !== 'undefined')\n result = { 'text/plain': JSON.stringify(result) };\n return [result, this.execution_count];\n }\n ;\n ps1() { return \" js> \"; }\n ;\n ps2() { return \"...> \"; }\n ;\n restart() { }\n ;\n more(source) { return false; }\n ;\n complete(code) { return []; }\n ;\n putFile(filename, content) {\n console.error(`Fichier ${filename} not added since putFile has no mean in the JS context.`);\n }\n ;\n putModule(filename, content) {\n content = new Uint8Array(content);\n const ext = filename.split('.').pop();\n switch (ext) {\n case 'js':\n let decoder = new TextDecoder(\"utf-8\");\n const _content = decoder.decode(content);\n this.eval(_content);\n break;\n default:\n throw { message: \"Only '.js' files supported.\" };\n }\n }\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelJavaScript","_context","Basthon","undefined","Jupyter","eval","e","SyntaxError","Function","call","interactive","console_log","console","log","console_error","message","Uint8Array","_content","TextDecoder","decode","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_construct","Parent","Class","a","push","apply","instance","arguments","_wrapNativeSuper","_cache","Map","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-ocaml_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>_});var r=n(4795),a=n(7371),o=n(9249),i=n(5754),u=n(8657),c=n(5058),s=n(8501),l=n(7162),f=n.n(l),p=n(2490);function v(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 a=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var d=function(e){(0,i.Z)(n,e);var t=v(n);function n(e){var r;return(0,o.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),h=function(e){(0,i.Z)(n,e);var t=v(n);function n(e,r){var a;return(0,o.Z)(this,n),(a=t.call(this,e)).detail=r,a}return(0,a.Z)(n)}((0,s.Z)(Event)),_=function(){function e(t){(0,o.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,i,u;return(0,a.Z)(e,[{key:"version",value:function(){return"0.41.7"}},{key:"language",value:function(){throw new d("language")}},{key:"languageName",value:function(){throw new d("languageName")}},{key:"moduleExts",value:function(){throw new d("moduleExts")}},{key:"launch",value:(u=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new d("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return u.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new d("evalAsync")}},{key:"restart",value:function(){throw new d("restart")}},{key:"putFile",value:function(e,t){throw new d("putFile")}},{key:"putModule",value:function(e,t){throw new d("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new d("getFile")}},{key:"getUserModuleFile",value:function(e){throw new d("getUserModuleFile")}},{key:"more",value:function(e){throw new d("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return i.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new h("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,a,o,i,u,c,s,l=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=l.clone(t);r.stream=e,r.content=n,l.dispatchEvent("eval.output",r)}},r=n("stdout"),a=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,a,t);case 6:o=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),a(e.t0.toString()),(i=this.clone(t)).error=e.t0,i.execution_count=this.execution_count,this.dispatchEvent("eval.error",i),e.abrupt("return");case 17:if(null!=o){e.next=19;break}return e.abrupt("return");case 19:u=o[0],c=o[1],(s=this.clone(t)).execution_count=c,null!=u&&(s.result=u),this.dispatchEvent("eval.finished",s);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},7629:(e,t,n)=>{n.r(t),n.d(t,{KernelOCaml:()=>p});var r=n(4795),a=n(9249),o=n(7371),i=n(5754),u=n(8657),c=n(5058),s=n(7162),l=n.n(s);function f(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 a=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var p=function(e){(0,i.Z)(v,e);var t,u,c,s,p=f(v);function v(e){var t;return(0,a.Z)(this,v),(t=p.call(this,e)).__eval_data__={},t._initInnerCode='open Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##download path)\n let create_canvas () = (Js.Unsafe.eval_string "window.Basthon.__kernel__")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##displaycanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##savecanvas canvas path)\n let download_canvas ?(format = "png") canvas: unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##downloadcanvas canvas format)\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string "window.Basthon.__kernel__")##version()\n let help () : unit = print_endline {ext|Basthon module\n help: Show this help.\n download path: Download a file from the local filesystem.\n display_image path: Display a PNG image from the local filesystem.\n create_canvas: Create a HTML5 canvas to be displayed with display_canvas.\n display_canvas canvas: Display a HTML5 canvas created with create_canvas.\n save_canvas canvas path: Save a canvas to a PNG/JPG file to the local filesystem.\n download_canvas ?(format = "png") canvas: Download a canvas to a PNG/JPG file.\n|ext}\nend',t}return(0,o.Z)(v,[{key:"language",value:function(){return"ocaml"}},{key:"languageName",value:function(){return"OCaml"}},{key:"moduleExts",value:function(){return["ml"]}},{key:"launch",value:(s=(0,r.Z)(l().mark((function e(){var t,r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.e("kernel-ocaml_lib___kernel___js").then(n.t.bind(n,7409,23));case 2:t=e.sent,r=t.__kernel__,this.__kernel__=r,this.restart();case 6:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"evalAsync",value:(c=(0,r.Z)(l().mark((function e(t,n,r){var a,o,i,u,c=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=c.length>3&&void 0!==c[3]?c[3]:null,null!=this.__kernel__){e.next=3;break}return e.abrupt("return");case 3:return 0===this.execution_count&&(null===(o=this.__kernel__)||void 0===o||o.exec(this._initInnerCode)),a.interactive=!0,this.__eval_data__=a,this.__kernel__.io.stdout=n,this.__kernel__.io.stderr=r,this.execution_count++,u=null===(i=this.__kernel__)||void 0===i?void 0:i.exec(t),this.__kernel__.io.stdout=console.log,this.__kernel__.io.stderr=console.error,u="string"==typeof u&&u.length>0?{"text/plain":u.replace(/\n$/,"")}:void 0,e.abrupt("return",[u,this.execution_count]);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return c.apply(this,arguments)})},{key:"restart",value:function(){var e;if(0!==(null===(e=this.__kernel__)||void 0===e?void 0:e.init()))throw new Error("Can't start OCaml kernel!");this.execution_count=0}},{key:"ocamlDownload",value:function(e,t){var n=window.jsoo_runtime.caml_convert_bytes_to_array(e);this.download(n,t)}},{key:"displayCanvas",value:function(e){var t=JSON.parse(JSON.stringify(this.__eval_data__));t.display_type="ocaml-canvas",t.content=e,this.dispatchEvent("eval.display",t)}},{key:"saveCanvas",value:(u=(0,r.Z)(l().mark((function e(t,n){var r,a,o,i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=this.__kernel__){e.next=2;break}return e.abrupt("return");case 2:return a=null===(r=n.split(".").pop())||void 0===r?void 0:r.toLowerCase(),o="image/png","jpg"!==a&&"jpeg"!==a||(o="image/jpeg"),e.next=7,new Promise((function(e){return t.toBlob(e,o)}));case 7:if(null!=(i=e.sent)){e.next=10;break}return e.abrupt("return");case 10:return e.next=12,new Response(i).arrayBuffer();case 12:u=e.sent,this.__kernel__.createfile(n,u);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"downloadCanvas",value:function(e,t){var n;switch(null!=t&&("string"==typeof t||t instanceof String)||(t="png"),t=t.toLowerCase()){case"jpg":case"jpeg":n="image/jpeg";break;default:n="image/png",t="png"}var r=e.toDataURL(n).replace(n,"image/octet-stream");this.download(r,"canvas.".concat(t))}},{key:"displayImage",value:(t=(0,r.Z)(l().mark((function e(t){var n,r,a,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=JSON.parse(JSON.stringify(this.__eval_data__)),r=window.jsoo_runtime.caml_convert_bytes_to_array(t),a=new Blob([r],{type:"image/png"}),e.next=5,new Promise((function(e){var t=new FileReader;t.onloadend=function(){return e(t.result)},t.readAsDataURL(a)}));case 5:o=e.sent,i=o.slice("data:image/png;base64,".length),n.display_type="multiple",n.content={"image/png":i},this.dispatchEvent("eval.display",n);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"putFile",value:function(e,t){null!=this.__kernel__&&this.__kernel__.createfile(e,t)}},{key:"putModule",value:function(e,t){var n;this.putFile(e,t),null===(n=this.__kernel__)||void 0===n||n.loadmodule(e)}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){}},{key:"getUserModuleFile",value:function(e){}},{key:"more",value:function(e){return!1}},{key:"banner",value:function(){return" OCaml version 4.11.1\n"}},{key:"ps1",value:function(){return"# "}},{key:"ps2",value:function(){return" "}},{key:"complete",value:function(e){return[]}}]),v}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}n.d(t,{Z:()=>r})},5754:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(8960);function a(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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>o});var a=n(753);function o(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,a.Z)(e)}},8960:(e,t,n)=>{function r(e,t){return r=Object.setPrototypeOf||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),a=n(8960);function o(){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}}function i(e,t,n){return i=o()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&(0,a.Z)(o,n.prototype),o},i.apply(null,arguments)}function u(e){var t="function"==typeof Map?new Map:void 0;return u=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,o)}function o(){return i(e,arguments,(0,r.Z)(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),(0,a.Z)(o,e)},u(e)}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-ocaml_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>_});var r=n(4795),a=n(7371),o=n(9249),i=n(5754),u=n(8657),c=n(5058),s=n(8501),l=n(7162),f=n.n(l),p=n(2490);function v(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 a=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var d=function(e){(0,i.Z)(n,e);var t=v(n);function n(e){var r;return(0,o.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),h=function(e){(0,i.Z)(n,e);var t=v(n);function n(e,r){var a;return(0,o.Z)(this,n),(a=t.call(this,e)).detail=r,a}return(0,a.Z)(n)}((0,s.Z)(Event)),_=function(){function e(t){(0,o.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,i,u;return(0,a.Z)(e,[{key:"version",value:function(){return"0.41.10"}},{key:"language",value:function(){throw new d("language")}},{key:"languageName",value:function(){throw new d("languageName")}},{key:"moduleExts",value:function(){throw new d("moduleExts")}},{key:"launch",value:(u=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new d("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return u.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new d("evalAsync")}},{key:"restart",value:function(){throw new d("restart")}},{key:"putFile",value:function(e,t){throw new d("putFile")}},{key:"putModule",value:function(e,t){throw new d("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new d("getFile")}},{key:"getUserModuleFile",value:function(e){throw new d("getUserModuleFile")}},{key:"more",value:function(e){throw new d("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return i.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new h("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,a,o,i,u,c,s,l=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=l.clone(t);r.stream=e,r.content=n,l.dispatchEvent("eval.output",r)}},r=n("stdout"),a=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,a,t);case 6:o=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),a(e.t0.toString()),(i=this.clone(t)).error=e.t0,i.execution_count=this.execution_count,this.dispatchEvent("eval.error",i),e.abrupt("return");case 17:if(null!=o){e.next=19;break}return e.abrupt("return");case 19:u=o[0],c=o[1],(s=this.clone(t)).execution_count=c,null!=u&&(s.result=u),this.dispatchEvent("eval.finished",s);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},7629:(e,t,n)=>{n.r(t),n.d(t,{KernelOCaml:()=>p});var r=n(4795),a=n(9249),o=n(7371),i=n(5754),u=n(8657),c=n(5058),s=n(7162),l=n.n(s);function f(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 a=(0,c.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,u.Z)(this,n)}}var p=function(e){(0,i.Z)(v,e);var t,u,c,s,p=f(v);function v(e){var t;return(0,a.Z)(this,v),(t=p.call(this,e)).__eval_data__={},t._initInnerCode='open Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##download path)\n let create_canvas () = (Js.Unsafe.eval_string "window.Basthon.__kernel__")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##displaycanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##savecanvas canvas path)\n let download_canvas ?(format = "png") canvas: unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##downloadcanvas canvas format)\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string "window.Basthon.__kernel__")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string "window.Basthon.__kernel__")##version()\n let help () : unit = print_endline {ext|Basthon module\n help: Show this help.\n download path: Download a file from the local filesystem.\n display_image path: Display a PNG image from the local filesystem.\n create_canvas: Create a HTML5 canvas to be displayed with display_canvas.\n display_canvas canvas: Display a HTML5 canvas created with create_canvas.\n save_canvas canvas path: Save a canvas to a PNG/JPG file to the local filesystem.\n download_canvas ?(format = "png") canvas: Download a canvas to a PNG/JPG file.\n|ext}\nend',t}return(0,o.Z)(v,[{key:"language",value:function(){return"ocaml"}},{key:"languageName",value:function(){return"OCaml"}},{key:"moduleExts",value:function(){return["ml"]}},{key:"launch",value:(s=(0,r.Z)(l().mark((function e(){var t,r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.e("kernel-ocaml_lib___kernel___js").then(n.t.bind(n,7409,23));case 2:t=e.sent,r=t.__kernel__,this.__kernel__=r,this.restart();case 6:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"evalAsync",value:(c=(0,r.Z)(l().mark((function e(t,n,r){var a,o,i,u,c=arguments;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=c.length>3&&void 0!==c[3]?c[3]:null,null!=this.__kernel__){e.next=3;break}return e.abrupt("return");case 3:return 0===this.execution_count&&(null===(o=this.__kernel__)||void 0===o||o.exec(this._initInnerCode)),a.interactive=!0,this.__eval_data__=a,this.__kernel__.io.stdout=n,this.__kernel__.io.stderr=r,this.execution_count++,u=null===(i=this.__kernel__)||void 0===i?void 0:i.exec(t),this.__kernel__.io.stdout=console.log,this.__kernel__.io.stderr=console.error,u="string"==typeof u&&u.length>0?{"text/plain":u.replace(/\n$/,"")}:void 0,e.abrupt("return",[u,this.execution_count]);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return c.apply(this,arguments)})},{key:"restart",value:function(){var e;if(0!==(null===(e=this.__kernel__)||void 0===e?void 0:e.init()))throw new Error("Can't start OCaml kernel!");this.execution_count=0}},{key:"ocamlDownload",value:function(e,t){var n=window.jsoo_runtime.caml_convert_bytes_to_array(e);this.download(n,t)}},{key:"displayCanvas",value:function(e){var t=JSON.parse(JSON.stringify(this.__eval_data__));t.display_type="ocaml-canvas",t.content=e,this.dispatchEvent("eval.display",t)}},{key:"saveCanvas",value:(u=(0,r.Z)(l().mark((function e(t,n){var r,a,o,i,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=this.__kernel__){e.next=2;break}return e.abrupt("return");case 2:return a=null===(r=n.split(".").pop())||void 0===r?void 0:r.toLowerCase(),o="image/png","jpg"!==a&&"jpeg"!==a||(o="image/jpeg"),e.next=7,new Promise((function(e){return t.toBlob(e,o)}));case 7:if(null!=(i=e.sent)){e.next=10;break}return e.abrupt("return");case 10:return e.next=12,new Response(i).arrayBuffer();case 12:u=e.sent,this.__kernel__.createfile(n,u);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"downloadCanvas",value:function(e,t){var n;switch(null!=t&&("string"==typeof t||t instanceof String)||(t="png"),t=t.toLowerCase()){case"jpg":case"jpeg":n="image/jpeg";break;default:n="image/png",t="png"}var r=e.toDataURL(n).replace(n,"image/octet-stream");this.download(r,"canvas.".concat(t))}},{key:"displayImage",value:(t=(0,r.Z)(l().mark((function e(t){var n,r,a,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=JSON.parse(JSON.stringify(this.__eval_data__)),r=window.jsoo_runtime.caml_convert_bytes_to_array(t),a=new Blob([r],{type:"image/png"}),e.next=5,new Promise((function(e){var t=new FileReader;t.onloadend=function(){return e(t.result)},t.readAsDataURL(a)}));case 5:o=e.sent,i=o.slice("data:image/png;base64,".length),n.display_type="multiple",n.content={"image/png":i},this.dispatchEvent("eval.display",n);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"putFile",value:function(e,t){null!=this.__kernel__&&this.__kernel__.createfile(e,t)}},{key:"putModule",value:function(e,t){var n;this.putFile(e,t),null===(n=this.__kernel__)||void 0===n||n.loadmodule(e)}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){}},{key:"getUserModuleFile",value:function(e){}},{key:"more",value:function(e){return!1}},{key:"banner",value:function(){return" OCaml version 4.11.1\n"}},{key:"ps1",value:function(){return"# "}},{key:"ps2",value:function(){return" "}},{key:"complete",value:function(e){return[]}}]),v}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}n.d(t,{Z:()=>r})},5754:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(8960);function a(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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>o});var a=n(753);function o(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return(0,a.Z)(e)}},8960:(e,t,n)=>{function r(e,t){return r=Object.setPrototypeOf||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),a=n(8960);function o(){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}}function i(e,t,n){return i=o()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&(0,a.Z)(o,n.prototype),o},i.apply(null,arguments)}function u(e){var t="function"==typeof Map?new Map:void 0;return u=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,o)}function o(){return i(e,arguments,(0,r.Z)(this).constructor)}return o.prototype=Object.create(e.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}),(0,a.Z)(o,e)},u(e)}}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-ocaml_lib_index_js.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-ocaml_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","webpack://@basthon/browser-bundle/../kernel-ocaml/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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.7\";\n","import { KernelBase } from '@basthon/kernel-base';\n/**\n * An OCaml kernel that satisfies Basthon's API.\n */\nexport class KernelOCaml extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n this.__eval_data__ = {};\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##download path)\n let create_canvas () = (Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##displaycanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##downloadcanvas canvas format)\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##version()\n let help () : unit = print_endline {ext|\\\nBasthon module\n help: Show this help.\n download path: Download a file from the local filesystem.\n display_image path: Display a PNG image from the local filesystem.\n create_canvas: Create a HTML5 canvas to be displayed with display_canvas.\n display_canvas canvas: Display a HTML5 canvas created with create_canvas.\n save_canvas canvas path: Save a canvas to a PNG/JPG file to the local filesystem.\n download_canvas ?(format = \"png\") canvas: Download a canvas to a PNG/JPG file.\n|ext}\nend`;\n }\n language() { return \"ocaml\"; }\n languageName() { return \"OCaml\"; }\n moduleExts() { return ['ml']; }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n this.restart();\n }\n /**\n * Basthon async code evaluation function.\n */\n async evalAsync(code, outCallback, errCallback, data = null) {\n var _a, _b;\n // force interactivity in all modes\n if (this.__kernel__ == null)\n return;\n if (this.execution_count === 0)\n (_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.exec(this._initInnerCode);\n data.interactive = true;\n this.__eval_data__ = data;\n // set stream callbacks\n this.__kernel__.io.stdout = outCallback;\n this.__kernel__.io.stderr = errCallback;\n this.execution_count++;\n let result = (_b = this.__kernel__) === null || _b === void 0 ? void 0 : _b.exec(code);\n // restoration\n this.__kernel__.io.stdout = console.log;\n this.__kernel__.io.stderr = console.error;\n // return result\n if (typeof result === 'string' && result.length > 0)\n result = { 'text/plain': result.replace(/\\n$/, \"\") };\n else\n result = undefined;\n return [result, this.execution_count];\n }\n /**\n * Restart the kernel.\n */\n restart() {\n var _a;\n if (((_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.init()) !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n this.execution_count = 0;\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = window.jsoo_runtime.caml_convert_bytes_to_array(content);\n this.download(array, filename);\n }\n /**\n * Send eval.display event with the given canvas\n * and ocaml-canvas as display_type.\n */\n displayCanvas(canvas) {\n // simple copy to update evaluation data with display_data\n const display_data = JSON.parse(JSON.stringify(this.__eval_data__));\n display_data['display_type'] = 'ocaml-canvas';\n display_data['content'] = canvas;\n this.dispatchEvent(\"eval.display\", display_data);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n var _a;\n if (this.__kernel__ == null)\n return;\n const ext = (_a = path.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const blob = await new Promise((resolve) => canvas.toBlob(resolve, mime));\n if (blob == null)\n return;\n // await blob.arrayBuffer() seems not support for old browser version\n const content = await new Response(blob).arrayBuffer();\n this.__kernel__.createfile(path, content);\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n downloadCanvas(canvas, format) {\n if (format == null || !(typeof format === 'string' || format instanceof String))\n format = \"png\";\n format = format.toLowerCase();\n let mime;\n switch (format) {\n case \"jpg\":\n case \"jpeg\":\n mime = \"image/jpeg\";\n break;\n case \"png\":\n default:\n mime = \"image/png\";\n // we force png\n format = \"png\";\n break;\n }\n const image = canvas.toDataURL(mime).replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n // simple copy to update evaluation data with display_data\n const display_data = JSON.parse(JSON.stringify(this.__eval_data__));\n const array = window.jsoo_runtime.caml_convert_bytes_to_array(content);\n // convert array to\n const blob = new Blob([array], { 'type': 'image/png' });\n const dataURL = await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n const png = dataURL.slice(\"data:image/png;base64,\".length);\n display_data['display_type'] = 'multiple';\n display_data['content'] = { 'image/png': png };\n this.dispatchEvent(\"eval.display\", display_data);\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n putFile(filename, content) {\n if (this.__kernel__ == null)\n return;\n this.__kernel__.createfile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n putModule(filename, content) {\n var _a;\n this.putFile(filename, content);\n /* why is this needed?\n * even if path is already added using the #directory directive,\n * one should recall the directive each time the folder is modified...\n */\n (_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.loadmodule(filename);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n return [];\n }\n /**\n * Download a file from the VFS.\n */\n getFile(path) {\n }\n /**\n * Download a user module file.\n */\n getUserModuleFile(filename) {\n }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n more(source) {\n return false;\n }\n /**\n * Mimic the OCaml's REPL banner.\n */\n banner() {\n return \" OCaml version 4.11.1\\n\";\n }\n ps1() { return \"# \"; }\n ;\n ps2() { return \" \"; }\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 return [];\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelOCaml","__eval_data__","_initInnerCode","__kernel__","restart","exec","interactive","io","stdout","stderr","_b","console","log","length","replace","undefined","init","array","jsoo_runtime","caml_convert_bytes_to_array","canvas","display_data","toLowerCase","mime","toBlob","Response","arrayBuffer","createfile","format","image","toDataURL","reader","FileReader","onloadend","readAsDataURL","dataURL","png","slice","loadmodule","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","call","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","Class","a","push","apply","instance","Function","arguments","_wrapNativeSuper","_cache","Map","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-ocaml_lib_index_js.js","mappings":"6sBAKMA,EAAAA,SAAAA,I,uBACF,WAAYC,GAAU,6BAClB,iCAAkBA,EAAlB,uBACKC,KAAO,sBAFM,E,iBADpBF,E,OAA4BG,QAS5BC,EAAAA,SAAAA,I,uBACF,WAAYC,EAAIC,GAAM,6BAClB,cAAMD,IACDE,OAASD,EAFI,E,iBADpBF,E,OAAqBI,QAUdC,EAAb,WACI,WAAYC,IAAU,eAClBC,KAAKC,QAAS,EACdD,KAAKE,QAAU,IAAIC,EAAAA,EACnBH,KAAKI,gBAAkB,EAEvBJ,KAAKK,UAAYN,EANzB,kDAWI,WAAY,MCnCO,YDwBvB,sBAiBI,WAAa,MAAM,IAAIV,EAAoB,cAjB/C,0BAuBI,WAAiB,MAAM,IAAIA,EAAoB,kBAvBnD,wBA4BI,WACI,MAAM,IAAIA,EAAoB,gBA7BtC,yCAmCI,oFAAuB,IAAIA,EAAoB,UAA/C,2CAnCJ,oEAwCI,SAAUiB,EAAMC,EAAaC,GACzB,MAAM,IAAInB,EAAoB,eAzCtC,qBA4CI,WAAY,MAAM,IAAIA,EAAoB,aA5C9C,qBA8CI,SAAQoB,EAAUC,GACd,MAAM,IAAIrB,EAAoB,aA/CtC,uBAkDI,SAAUoB,EAAUC,GAChB,MAAM,IAAIrB,EAAoB,eAnDtC,yBAsDI,WAAgB,MAAO,KAtD3B,qBAwDI,SAAQsB,GAAQ,MAAM,IAAItB,EAAoB,aAxDlD,+BA0DI,SAAkBoB,GACd,MAAM,IAAIpB,EAAoB,uBA3DtC,kBA8DI,SAAKuB,GAAU,MAAM,IAAIvB,EAAoB,UA9DjD,sBAgEI,SAASiB,GAAQ,MAAO,KAhE5B,oBAkEI,WAAW,+BAAyBN,KAAKa,eAA9B,YAlEf,iBAoEI,WAAQ,MAAO,SApEnB,iBAsEI,WAAQ,MAAO,SAtEnB,uCA2EI,uGAEcb,KAAKc,SAFnB,6DAKQd,KAAKE,QAAQa,OAAb,MALR,0BASIf,KAAKgB,iBAAiB,eAAgBhB,KAAKiB,cAAcC,KAAKlB,OAC9DA,KAAKC,QAAS,EACdD,KAAKE,QAAQiB,UAXjB,yDA3EJ,8DA2FI,WAAc,OAAOnB,KAAKC,SA3F9B,yCA+FI,8FAAuBD,KAAKE,QAAQkB,QAApC,gDA/FJ,sEAoGI,WAA8B,IAAlBC,EAAkB,wDACtBC,EAAMtB,KAAKK,UAAY,IAAML,KAAKuB,UACtC,GAAIF,IAAaC,EAAIE,WAAW,QAAS,CACrC,IAAMC,EAAOC,OAAOC,SAASC,OAASF,OAAOC,SAASE,SACtDP,EAAMG,EAAKK,UAAU,EAAGL,EAAKM,YAAY,MAAQ,IAAMT,EAE3D,OAAOA,IA1Gf,sBAgHI,SAAS3B,EAAMc,GACX,KAAsB,iBAATd,GAAqBA,aAAgBqC,QAAS,CACvD,IAAMC,EAAO,IAAIC,KAAK,CAACvC,GAAO,CAAEwC,KAAM,6BACtCxC,EAAO+B,OAAOU,IAAIC,gBAAgBJ,GAEtC,IAAMK,EAASC,SAASC,cAAc,KACtCF,EAAOG,SAAWhC,EAClB6B,EAAOI,KAAO/C,EACd2C,EAAOK,OAAS,SAChBL,EAAOM,MAAMC,QAAU,OACvBN,SAASO,KAAKC,YAAYT,GAC1BA,EAAOU,QACPT,SAASO,KAAKG,YAAYX,KA5HlC,2BAiJI,SAAcY,EAAWvD,GACrB4C,SAASY,cAAc,IAAI1D,EAAJ,kBAA4ByD,GAAavD,MAlJxE,8BA0JI,SAAiBuD,EAAWE,GACxBb,SAASvB,iBAAT,kBAAqCkC,IAAa,SAAUG,GAASD,EAASC,EAAMzD,aA3J5F,mBAiKI,SAAM0D,GAEF,OAAOC,KAAKC,MAAMD,KAAKE,UAAUH,MAnKzC,0BA0KI,SAAa7C,EAAUC,GACnB,IAAIgD,EACEC,EAA2C,QAApCD,EAAKjD,EAASmD,MAAM,KAAKC,aAA0B,IAAPH,EAAgBA,EAAK,GAC9E,OAAI1D,KAAK8D,aAAaC,SAASJ,GACpB3D,KAAKgE,UAAUvD,EAAUC,GAGzBV,KAAKiE,QAAQxD,EAAUC,KAjL1C,gDAwLI,WAAoBf,GAApB,mGACUuE,EAAc,SAACC,GAAD,OAAS,SAACC,GAC1B,IAAIC,EAAY,EAAKC,MAAM3E,GAC3B0E,EAAUE,OAASJ,EACnBE,EAAU3D,QAAU0D,EACpB,EAAKjB,cAAc,cAAekB,KAEhC9D,EAAc2D,EAAY,UAC1B1D,EAAc0D,EAAY,UARpC,kBAWqBlE,KAAKwE,UAAU7E,EAAKW,KAAMC,EAAaC,EAAab,GAXzE,OAWQ8E,EAXR,8DAcQjE,EAAY,KAAMkE,aACZL,EAAYrE,KAAKsE,MAAM3E,IACnBgF,MAAV,KACAN,EAAUjE,gBAAkBJ,KAAKI,gBACjCJ,KAAKmD,cAAc,aAAckB,GAlBzC,8BAqBgB,MAARI,EArBR,mDAuBUG,EAASH,EAAK,GACdI,EAAiBJ,EAAK,IACxBJ,EAAYrE,KAAKsE,MAAM3E,IACjBS,gBAAkByE,EACd,MAAVD,IACAP,EAAUO,OAASA,GACvB5E,KAAKmD,cAAc,gBAAiBkB,GA7BxC,yDAxLJ,wEAkII,SAAkB/C,GACd,OAAO,IAAIwD,SAAQ,SAAU3D,EAASJ,GAClC,IAAIgE,EAASxC,SAASC,cAAc,UACpCuC,EAAOC,OAAS7D,EAChB4D,EAAOE,QAAUlE,EACjBgE,EAAOG,IAAM5D,EACbiB,SAAS4C,KAAKpC,YAAYgC,UAxItC,M,4jBEpBO,IAAMK,EAAb,4CACI,WAAYrF,GAAU,6BAClB,cAAMA,IACDsF,cAAgB,GACrB,EAAKC,eAAL,85CAHkB,EAD1B,uCA0BI,WAAa,MAAO,UA1BxB,0BA2BI,WAAiB,MAAO,UA3B5B,wBA4BI,WAAe,MAAO,CAAC,QA5B3B,yCAgCI,sGACiC,gEADjC,gBACYC,EADZ,EACYA,WACRvF,KAAKuF,WAAaA,EAClBvF,KAAKwF,UAHT,gDAhCJ,yFAwCI,WAAgBlF,EAAMC,EAAaC,GAAnC,4FAAgDb,EAAhD,+BAAuD,KAG5B,MAAnBK,KAAKuF,WAHb,wDAKiC,IAAzBvF,KAAKI,kBACsB,QAA1BsD,EAAK1D,KAAKuF,kBAA+B,IAAP7B,GAAyBA,EAAG+B,KAAKzF,KAAKsF,iBAC7E3F,EAAK+F,aAAc,EACnB1F,KAAKqF,cAAgB1F,EAErBK,KAAKuF,WAAWI,GAAGC,OAASrF,EAC5BP,KAAKuF,WAAWI,GAAGE,OAASrF,EAC5BR,KAAKI,kBACDwE,EAAoC,QAA1BkB,EAAK9F,KAAKuF,kBAA+B,IAAPO,OAAgB,EAASA,EAAGL,KAAKnF,GAEjFN,KAAKuF,WAAWI,GAAGC,OAASG,QAAQC,IACpChG,KAAKuF,WAAWI,GAAGE,OAASE,QAAQpB,MAGhCC,EADkB,iBAAXA,GAAuBA,EAAOqB,OAAS,EACrC,CAAE,aAAcrB,EAAOsB,QAAQ,MAAO,UAEtCC,EArBjB,kBAsBW,CAACvB,EAAQ5E,KAAKI,kBAtBzB,iDAxCJ,uEAmEI,WACI,IAAIsD,EACJ,GAAgF,KAAhD,QAA1BA,EAAK1D,KAAKuF,kBAA+B,IAAP7B,OAAgB,EAASA,EAAG0C,QAChE,MAAM,IAAI5G,MAAM,6BACpBQ,KAAKI,gBAAkB,IAvE/B,2BA4EI,SAAcM,EAASD,GACnB,IAAM4F,EAAQ3E,OAAO4E,aAAaC,4BAA4B7F,GAC9DV,KAAKyC,SAAS4D,EAAO5F,KA9E7B,2BAoFI,SAAc+F,GAEV,IAAMC,EAAelD,KAAKC,MAAMD,KAAKE,UAAUzD,KAAKqF,gBACpDoB,EAAY,aAAmB,eAC/BA,EAAY,QAAcD,EAC1BxG,KAAKmD,cAAc,eAAgBsD,KAzF3C,6CA8FI,WAAiBD,EAAQ7F,GAAzB,kFAE2B,MAAnBX,KAAKuF,WAFb,wDAIU5B,EAAuC,QAAhCD,EAAK/C,EAAKiD,MAAM,KAAKC,aAA0B,IAAPH,OAAgB,EAASA,EAAGgD,cAC7EC,EAAO,YACC,QAARhD,GAAyB,SAARA,IACjBgD,EAAO,cAPf,SAQuB,IAAI7B,SAAQ,SAAC3D,GAAD,OAAaqF,EAAOI,OAAOzF,EAASwF,MARvE,UASgB,OADN1E,EARV,4EAY0B,IAAI4E,SAAS5E,GAAM6E,cAZ7C,QAYUpG,EAZV,OAaIV,KAAKuF,WAAWwB,WAAWpG,EAAMD,GAbrC,iDA9FJ,4EAgHI,SAAe8F,EAAQQ,GAInB,IAAIL,EACJ,OAJc,MAAVK,IAAsC,iBAAXA,GAAuBA,aAAkBhF,UACpEgF,EAAS,OACbA,EAASA,EAAON,eAGZ,IAAK,MACL,IAAK,OACDC,EAAO,aACP,MAEJ,QACIA,EAAO,YAEPK,EAAS,MAGjB,IAAMC,EAAQT,EAAOU,UAAUP,GAAMT,QAAQS,EAAM,sBACnD3G,KAAKyC,SAASwE,EAAd,iBAA+BD,MAlIvC,+CAuII,WAAmBtG,GAAnB,sFAEU+F,EAAelD,KAAKC,MAAMD,KAAKE,UAAUzD,KAAKqF,gBAC9CgB,EAAQ3E,OAAO4E,aAAaC,4BAA4B7F,GAExDuB,EAAO,IAAIC,KAAK,CAACmE,GAAQ,CAAE,KAAQ,cAL7C,SAM0B,IAAIvB,SAAQ,SAAC3D,GAC/B,IAAMgG,EAAS,IAAIC,WACnBD,EAAOE,UAAY,kBAAMlG,EAAQgG,EAAOvC,SACxCuC,EAAOG,cAAcrF,MAT7B,OAMUsF,EANV,OAWUC,EAAMD,EAAQE,MAAM,yBAAyBxB,QACnDQ,EAAY,aAAmB,WAC/BA,EAAY,QAAc,CAAE,YAAae,GACzCxH,KAAKmD,cAAc,eAAgBsD,GAdvC,iDAvIJ,mEA0JI,SAAQhG,EAAUC,GACS,MAAnBV,KAAKuF,YAETvF,KAAKuF,WAAWwB,WAAWtG,EAAUC,KA7J7C,uBAmKI,SAAUD,EAAUC,GAChB,IAAIgD,EACJ1D,KAAKiE,QAAQxD,EAAUC,GAKI,QAA1BgD,EAAK1D,KAAKuF,kBAA+B,IAAP7B,GAAyBA,EAAGgE,WAAWjH,KA1KlF,yBA+KI,WACI,MAAO,KAhLf,qBAqLI,SAAQE,MArLZ,+BA0LI,SAAkBF,MA1LtB,kBAgMI,SAAKG,GACD,OAAO,IAjMf,oBAsMI,WACI,MAAO,mCAvMf,iBAyMI,WAAQ,MAAO,OAzMnB,iBA2MI,WAAQ,MAAO,OA3MnB,sBAmNI,SAASN,GACL,MAAO,OApNf,G,QAAiCR,I,cCJlB,SAAS6H,EAAuBC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,E,iCCLM,SAASE,EAAgBC,GAItC,OAHAD,EAAkBE,OAAOC,eAAiBD,OAAOE,eAAiB,SAAyBH,GACzF,OAAOA,EAAEI,WAAaH,OAAOE,eAAeH,IAEvCD,EAAgBC,G,gECHV,SAASK,EAAUC,EAAUC,GAC1C,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIC,UAAU,sDAGtBF,EAASG,UAAYR,OAAOS,OAAOH,GAAcA,EAAWE,UAAW,CACrEE,YAAa,CACXC,MAAON,EACPO,UAAU,EACVC,cAAc,KAGlBb,OAAOc,eAAeT,EAAU,YAAa,CAC3CO,UAAU,IAERN,IAAY,OAAeD,EAAUC,K,eChB5B,SAASS,EAAQzF,GAG9B,OAAOyF,EAAU,mBAAqBC,QAAU,iBAAmBA,OAAOC,SAAW,SAAU3F,GAC7F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAO,mBAAqB0F,QAAU1F,EAAIoF,cAAgBM,QAAU1F,IAAQ0F,OAAOR,UAAY,gBAAkBlF,GACvHyF,EAAQzF,G,8BCLE,SAAS4F,EAA2BtB,EAAMuB,GACvD,GAAIA,IAA2B,WAAlBJ,EAAQI,IAAsC,mBAATA,GAChD,OAAOA,EACF,QAAa,IAATA,EACT,MAAM,IAAIZ,UAAU,4DAGtB,OAAO,EAAAa,EAAA,GAAsBxB,K,eCThB,SAASyB,EAAgBtB,EAAGuB,GAMzC,OALAD,EAAkBrB,OAAOC,gBAAkB,SAAyBF,EAAGuB,GAErE,OADAvB,EAAEI,UAAYmB,EACPvB,GAGFsB,EAAgBtB,EAAGuB,G,0ECNb,SAASC,IACtB,GAAuB,oBAAZC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,QAAQpB,UAAUqB,QAAQV,KAAKK,QAAQC,UAAUG,QAAS,IAAI,iBACvD,EACP,MAAOE,GACP,OAAO,GCPI,SAASC,EAAWC,EAAQvF,EAAMwF,GAc/C,OAZEF,EADE,IACWP,QAAQC,UAER,SAAoBO,EAAQvF,EAAMwF,GAC7C,IAAIC,EAAI,CAAC,MACTA,EAAEC,KAAKC,MAAMF,EAAGzF,GAChB,IACI4F,EAAW,IADGC,SAASpJ,KAAKkJ,MAAMJ,EAAQE,IAG9C,OADID,IAAO,EAAAhC,EAAA,GAAeoC,EAAUJ,EAAMzB,WACnC6B,GAIJN,EAAWK,MAAM,KAAMG,WCZjB,SAASC,EAAiBP,GACvC,IAAIQ,EAAwB,mBAARC,IAAqB,IAAIA,SAAQvE,EA8BrD,OA5BAqE,EAAmB,SAA0BP,GAC3C,GAAc,OAAVA,ICRkCU,EDQEV,GCPsB,IAAzDK,SAAS5F,SAASyE,KAAKwB,GAAIC,QAAQ,kBDOQ,OAAOX,ECR5C,IAA2BU,EDUtC,GAAqB,mBAAVV,EACT,MAAM,IAAI1B,UAAU,sDAGtB,QAAsB,IAAXkC,EAAwB,CACjC,GAAIA,EAAOI,IAAIZ,GAAQ,OAAOQ,EAAOK,IAAIb,GAEzCQ,EAAOM,IAAId,EAAOe,GAGpB,SAASA,IACP,OAAO,EAAUf,EAAOM,WAAW,EAAArC,EAAA,GAAelI,MAAM0I,aAW1D,OARAsC,EAAQxC,UAAYR,OAAOS,OAAOwB,EAAMzB,UAAW,CACjDE,YAAa,CACXC,MAAOqC,EACPC,YAAY,EACZrC,UAAU,EACVC,cAAc,MAGX,EAAAZ,EAAA,GAAe+C,EAASf,IAG1BO,EAAiBP","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js","webpack://@basthon/browser-bundle/../kernel-ocaml/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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.10\";\n","import { KernelBase } from '@basthon/kernel-base';\n/**\n * An OCaml kernel that satisfies Basthon's API.\n */\nexport class KernelOCaml extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n this.__eval_data__ = {};\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##download path)\n let create_canvas () = (Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##displaycanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##downloadcanvas canvas format)\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"window.Basthon.__kernel__\")##version()\n let help () : unit = print_endline {ext|\\\nBasthon module\n help: Show this help.\n download path: Download a file from the local filesystem.\n display_image path: Display a PNG image from the local filesystem.\n create_canvas: Create a HTML5 canvas to be displayed with display_canvas.\n display_canvas canvas: Display a HTML5 canvas created with create_canvas.\n save_canvas canvas path: Save a canvas to a PNG/JPG file to the local filesystem.\n download_canvas ?(format = \"png\") canvas: Download a canvas to a PNG/JPG file.\n|ext}\nend`;\n }\n language() { return \"ocaml\"; }\n languageName() { return \"OCaml\"; }\n moduleExts() { return ['ml']; }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n this.restart();\n }\n /**\n * Basthon async code evaluation function.\n */\n async evalAsync(code, outCallback, errCallback, data = null) {\n var _a, _b;\n // force interactivity in all modes\n if (this.__kernel__ == null)\n return;\n if (this.execution_count === 0)\n (_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.exec(this._initInnerCode);\n data.interactive = true;\n this.__eval_data__ = data;\n // set stream callbacks\n this.__kernel__.io.stdout = outCallback;\n this.__kernel__.io.stderr = errCallback;\n this.execution_count++;\n let result = (_b = this.__kernel__) === null || _b === void 0 ? void 0 : _b.exec(code);\n // restoration\n this.__kernel__.io.stdout = console.log;\n this.__kernel__.io.stderr = console.error;\n // return result\n if (typeof result === 'string' && result.length > 0)\n result = { 'text/plain': result.replace(/\\n$/, \"\") };\n else\n result = undefined;\n return [result, this.execution_count];\n }\n /**\n * Restart the kernel.\n */\n restart() {\n var _a;\n if (((_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.init()) !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n this.execution_count = 0;\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = window.jsoo_runtime.caml_convert_bytes_to_array(content);\n this.download(array, filename);\n }\n /**\n * Send eval.display event with the given canvas\n * and ocaml-canvas as display_type.\n */\n displayCanvas(canvas) {\n // simple copy to update evaluation data with display_data\n const display_data = JSON.parse(JSON.stringify(this.__eval_data__));\n display_data['display_type'] = 'ocaml-canvas';\n display_data['content'] = canvas;\n this.dispatchEvent(\"eval.display\", display_data);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n var _a;\n if (this.__kernel__ == null)\n return;\n const ext = (_a = path.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const blob = await new Promise((resolve) => canvas.toBlob(resolve, mime));\n if (blob == null)\n return;\n // await blob.arrayBuffer() seems not support for old browser version\n const content = await new Response(blob).arrayBuffer();\n this.__kernel__.createfile(path, content);\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n downloadCanvas(canvas, format) {\n if (format == null || !(typeof format === 'string' || format instanceof String))\n format = \"png\";\n format = format.toLowerCase();\n let mime;\n switch (format) {\n case \"jpg\":\n case \"jpeg\":\n mime = \"image/jpeg\";\n break;\n case \"png\":\n default:\n mime = \"image/png\";\n // we force png\n format = \"png\";\n break;\n }\n const image = canvas.toDataURL(mime).replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n // simple copy to update evaluation data with display_data\n const display_data = JSON.parse(JSON.stringify(this.__eval_data__));\n const array = window.jsoo_runtime.caml_convert_bytes_to_array(content);\n // convert array to\n const blob = new Blob([array], { 'type': 'image/png' });\n const dataURL = await new Promise((resolve) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.readAsDataURL(blob);\n });\n const png = dataURL.slice(\"data:image/png;base64,\".length);\n display_data['display_type'] = 'multiple';\n display_data['content'] = { 'image/png': png };\n this.dispatchEvent(\"eval.display\", display_data);\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n putFile(filename, content) {\n if (this.__kernel__ == null)\n return;\n this.__kernel__.createfile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n putModule(filename, content) {\n var _a;\n this.putFile(filename, content);\n /* why is this needed?\n * even if path is already added using the #directory directive,\n * one should recall the directive each time the folder is modified...\n */\n (_a = this.__kernel__) === null || _a === void 0 ? void 0 : _a.loadmodule(filename);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n return [];\n }\n /**\n * Download a file from the VFS.\n */\n getFile(path) {\n }\n /**\n * Download a user module file.\n */\n getUserModuleFile(filename) {\n }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n more(source) {\n return false;\n }\n /**\n * Mimic the OCaml's REPL banner.\n */\n banner() {\n return \" OCaml version 4.11.1\\n\";\n }\n ps1() { return \"# \"; }\n ;\n ps2() { return \" \"; }\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 return [];\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelOCaml","__eval_data__","_initInnerCode","__kernel__","restart","exec","interactive","io","stdout","stderr","_b","console","log","length","replace","undefined","init","array","jsoo_runtime","caml_convert_bytes_to_array","canvas","display_data","toLowerCase","mime","toBlob","Response","arrayBuffer","createfile","format","image","toDataURL","reader","FileReader","onloadend","readAsDataURL","dataURL","png","slice","loadmodule","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","call","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","Class","a","push","apply","instance","Function","arguments","_wrapNativeSuper","_cache","Map","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-python3_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>v});var r=n(4795),o=n(7371),u=n(9249),i=n(5754),a=n(8657),c=n(5058),l=n(8501),s=n(7162),f=n.n(s),p=n(2490);function d(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,i.Z)(n,e);var t=d(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,o.Z)(n)}((0,l.Z)(Error)),y=function(e){(0,i.Z)(n,e);var t=d(n);function n(e,r){var o;return(0,u.Z)(this,n),(o=t.call(this,e)).detail=r,o}return(0,o.Z)(n)}((0,l.Z)(Event)),v=function(){function e(t){(0,u.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,i,a;return(0,o.Z)(e,[{key:"version",value:function(){return"0.41.7"}},{key:"language",value:function(){throw new h("language")}},{key:"languageName",value:function(){throw new h("languageName")}},{key:"moduleExts",value:function(){throw new h("moduleExts")}},{key:"launch",value:(a=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new h("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return a.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new h("evalAsync")}},{key:"restart",value:function(){throw new h("restart")}},{key:"putFile",value:function(e,t){throw new h("putFile")}},{key:"putModule",value:function(e,t){throw new h("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new h("getFile")}},{key:"getUserModuleFile",value:function(e){throw new h("getUserModuleFile")}},{key:"more",value:function(e){throw new h("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return i.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new y("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,o,u,i,a,c,l,s=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=s.clone(t);r.stream=e,r.content=n,s.dispatchEvent("eval.output",r)}},r=n("stdout"),o=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,o,t);case 6:u=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),o(e.t0.toString()),(i=this.clone(t)).error=e.t0,i.execution_count=this.execution_count,this.dispatchEvent("eval.error",i),e.abrupt("return");case 17:if(null!=u){e.next=19;break}return e.abrupt("return");case 19:a=u[0],c=u[1],(l=this.clone(t)).execution_count=c,null!=a&&(l.result=a),this.dispatchEvent("eval.finished",l);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},5144:(e,t,n)=>{n.r(t),n.d(t,{KernelPython3:()=>p});var r=n(4795),o=n(9249),u=n(7371),i=n(5754),a=n(8657),c=n(5058),l=n(7162),s=n.n(l);function f(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 p=function(e){(0,i.Z)(l,e);var t,n,a,c=f(l);function l(e){var t;return(0,o.Z)(this,l),(t=c.call(this,e))._pyodideUrl="https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js",t.__kernel__=null,t.pythonVersion="",t}return(0,u.Z)(l,[{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:(a=(0,r.Z)(s().mark((function e(){var t,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=window.pyodide,this.pythonVersion=t.runPython("import platform ; platform.python_version()"),n=console.error,console.error=function(){},e.next=6,t.loadPackage(this.basthonRoot(!0)+"/basthon.js");case 6:return console.error=n,e.next=9,t.runPythonAsync("import basthon as __basthon__");case 9:return this.__kernel__=t.globals.__basthon__.__kernel__,e.next=12,t.runPythonAsync("del __basthon__");case 12:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"launch",value:(n=(0,r.Z)(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.basthonRoot()+"/pyodide/pyodide.js",e.next=4,fetch(t,{method:"HEAD"});case 4:e.sent.ok&&(this._pyodideUrl=t),e.next=10;break;case 8:e.prev=8,e.t0=e.catch(0);case 10:return window.languagePluginUrl=this._pyodideUrl.substr(0,this._pyodideUrl.lastIndexOf("/"))+"/",e.prev=11,e.next=14,l.loadScript(this._pyodideUrl);case 14:e.next=21;break;case 16:throw e.prev=16,e.t1=e.catch(11),console.log(e.t1),console.error("Can't load pyodide.js"),e.t1;case 21:if(null!=window.languagePluginLoader){e.next=23;break}throw new Error("Can't load pyodide.js");case 23:return e.next=25,window.languagePluginLoader.then(this._onload.bind(this),(function(){throw new Error("Can't load Python from Pyodide")}));case 25:case"end":return e.stop()}}),e,this,[[0,8],[11,16]])}))),function(){return n.apply(this,arguments)})},{key:"evalAsync",value:(t=(0,r.Z)(s().mark((function e(t,n,r){var o,u=arguments;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=u.length>3&&void 0!==u[3]?u[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:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"restart",value:function(){return this.__kernel__.restart()}},{key:"putFile",value:function(e,t){this.__kernel__.put_file(e,t)}},{key:"putModule",value:function(e,t){return this.__kernel__.put_module(e,t)}},{key:"userModules",value:function(){return this.__kernel__.user_modules()}},{key:"getFile",value:function(e){return this.__kernel__.get_file(e)}},{key:"getUserModuleFile",value:function(e){return this.__kernel__.get_user_module_file(e)}},{key:"more",value:function(e){return this.__kernel__.more(e)}},{key:"banner",value:function(){return'Python 3.8.2 (default, Dec 25 2020 21:20:57) on WebAssembly VM\nType "help", "copyright", "credits" or "license" for more information.'}},{key:"complete",value:function(e){return this.__kernel__.complete(e)}},{key:"chdir",value:function(e){window.pyodide._module.FS.chdir(e)}},{key:"mkdir",value:function(e){window.pyodide._module.FS.mkdir(e)}}]),l}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf: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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>u});var o=n(753);function u(e,t){if(t&&("object"===r(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||function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(5058),o=n(8960);function u(){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}}function i(e,t,n){return i=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var u=new(Function.bind.apply(e,r));return n&&(0,o.Z)(u,n.prototype),u},i.apply(null,arguments)}function a(e){var t="function"==typeof Map?new Map:void 0;return a=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,u)}function u(){return i(e,arguments,(0,r.Z)(this).constructor)}return u.prototype=Object.create(e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(u,e)},a(e)}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-python3_lib_index_js"],{6806:(e,t,n)=>{n.d(t,{H:()=>v});var r=n(4795),o=n(7371),u=n(9249),i=n(5754),a=n(8657),c=n(5058),l=n(8501),s=n(7162),f=n.n(s),p=n(2490);function d(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,i.Z)(n,e);var t=d(n);function n(e){var r;return(0,u.Z)(this,n),(r=t.call(this,"Function ".concat(e," not implemented!"))).name="NotImplementedError",r}return(0,o.Z)(n)}((0,l.Z)(Error)),y=function(e){(0,i.Z)(n,e);var t=d(n);function n(e,r){var o;return(0,u.Z)(this,n),(o=t.call(this,e)).detail=r,o}return(0,o.Z)(n)}((0,l.Z)(Event)),v=function(){function e(t){(0,u.Z)(this,e),this._ready=!1,this._loaded=new p.I,this.execution_count=0,this._rootPath=t}var t,n,i,a;return(0,o.Z)(e,[{key:"version",value:function(){return"0.41.10"}},{key:"language",value:function(){throw new h("language")}},{key:"languageName",value:function(){throw new h("languageName")}},{key:"moduleExts",value:function(){throw new h("moduleExts")}},{key:"launch",value:(a=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new h("launch");case 1:case"end":return e.stop()}}),e)}))),function(){return a.apply(this,arguments)})},{key:"evalAsync",value:function(e,t,n){throw new h("evalAsync")}},{key:"restart",value:function(){throw new h("restart")}},{key:"putFile",value:function(e,t){throw new h("putFile")}},{key:"putModule",value:function(e,t){throw new h("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(e){throw new h("getFile")}},{key:"getUserModuleFile",value:function(e){throw new h("getUserModuleFile")}},{key:"more",value:function(e){throw new h("more")}},{key:"complete",value:function(e){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(i=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.launch();case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),this._loaded.reject(e.t0),e.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return i.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(f().mark((function e(){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._loaded.promise;case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this._rootPath+"/"+this.version();if(e&&!t.startsWith("http")){var n=window.location.origin+window.location.pathname;t=n.substring(0,n.lastIndexOf("/"))+"/"+t}return t}},{key:"download",value:function(e,t){if(!("string"==typeof e||e instanceof String)){var n=new Blob([e],{type:"application/octet-stream"});e=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=t,r.href=e,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(e,t){document.dispatchEvent(new y("basthon.".concat(e),t))}},{key:"addEventListener",value:function(e,t){document.addEventListener("basthon.".concat(e),(function(e){t(e.detail)}))}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"putRessource",value:function(e,t){var n,r=null!==(n=e.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(e,t):this.putFile(e,t)}},{key:"evalFromEvent",value:(t=(0,r.Z)(f().mark((function e(t){var n,r,o,u,i,a,c,l,s=this;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=function(e){return function(n){var r=s.clone(t);r.stream=e,r.content=n,s.dispatchEvent("eval.output",r)}},r=n("stdout"),o=n("stderr"),e.prev=3,e.next=6,this.evalAsync(t.code,r,o,t);case 6:u=e.sent,e.next=17;break;case 9:return e.prev=9,e.t0=e.catch(3),o(e.t0.toString()),(i=this.clone(t)).error=e.t0,i.execution_count=this.execution_count,this.dispatchEvent("eval.error",i),e.abrupt("return");case 17:if(null!=u){e.next=19;break}return e.abrupt("return");case 19:a=u[0],c=u[1],(l=this.clone(t)).execution_count=c,null!=a&&(l.result=a),this.dispatchEvent("eval.finished",l);case 25:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e){return t.apply(this,arguments)})}],[{key:"loadScript",value:function(e){return new Promise((function(t,n){var r=document.createElement("script");r.onload=t,r.onerror=n,r.src=e,document.head.appendChild(r)}))}}]),e}()},5144:(e,t,n)=>{n.r(t),n.d(t,{KernelPython3:()=>p});var r=n(4795),o=n(9249),u=n(7371),i=n(5754),a=n(8657),c=n(5058),l=n(7162),s=n.n(l);function f(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 p=function(e){(0,i.Z)(l,e);var t,n,a,c=f(l);function l(e){var t;return(0,o.Z)(this,l),(t=c.call(this,e))._pyodideUrl="https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js",t.__kernel__=null,t.pythonVersion="",t}return(0,u.Z)(l,[{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:(a=(0,r.Z)(s().mark((function e(){var t,n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=window.pyodide,this.pythonVersion=t.runPython("import platform ; platform.python_version()"),n=console.error,console.error=function(){},e.next=6,t.loadPackage(this.basthonRoot(!0)+"/basthon.js");case 6:return console.error=n,e.next=9,t.runPythonAsync("import basthon as __basthon__");case 9:return this.__kernel__=t.globals.__basthon__.__kernel__,e.next=12,t.runPythonAsync("del __basthon__");case 12:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"launch",value:(n=(0,r.Z)(s().mark((function e(){var t;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.basthonRoot()+"/pyodide/pyodide.js",e.next=4,fetch(t,{method:"HEAD"});case 4:e.sent.ok&&(this._pyodideUrl=t),e.next=10;break;case 8:e.prev=8,e.t0=e.catch(0);case 10:return window.languagePluginUrl=this._pyodideUrl.substr(0,this._pyodideUrl.lastIndexOf("/"))+"/",e.prev=11,e.next=14,l.loadScript(this._pyodideUrl);case 14:e.next=21;break;case 16:throw e.prev=16,e.t1=e.catch(11),console.log(e.t1),console.error("Can't load pyodide.js"),e.t1;case 21:if(null!=window.languagePluginLoader){e.next=23;break}throw new Error("Can't load pyodide.js");case 23:return e.next=25,window.languagePluginLoader.then(this._onload.bind(this),(function(){throw new Error("Can't load Python from Pyodide")}));case 25:case"end":return e.stop()}}),e,this,[[0,8],[11,16]])}))),function(){return n.apply(this,arguments)})},{key:"evalAsync",value:(t=(0,r.Z)(s().mark((function e(t,n,r){var o,u=arguments;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=u.length>3&&void 0!==u[3]?u[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:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"restart",value:function(){return this.__kernel__.restart()}},{key:"putFile",value:function(e,t){this.__kernel__.put_file(e,t)}},{key:"putModule",value:function(e,t){return this.__kernel__.put_module(e,t)}},{key:"userModules",value:function(){return this.__kernel__.user_modules()}},{key:"getFile",value:function(e){return this.__kernel__.get_file(e)}},{key:"getUserModuleFile",value:function(e){return this.__kernel__.get_user_module_file(e)}},{key:"more",value:function(e){return this.__kernel__.more(e)}},{key:"banner",value:function(){return'Python 3.8.2 (default, Dec 25 2020 21:20:57) on WebAssembly VM\nType "help", "copyright", "credits" or "license" for more information.'}},{key:"complete",value:function(e){return this.__kernel__.complete(e)}},{key:"chdir",value:function(e){window.pyodide._module.FS.chdir(e)}},{key:"mkdir",value:function(e){window.pyodide._module.FS.mkdir(e)}}]),l}(n(6806).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})},5058:(e,t,n)=>{function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf: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)}},8657:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}n.d(t,{Z:()=>u});var o=n(753);function u(e,t){if(t&&("object"===r(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||function(e,t){return e.__proto__=t,e},r(e,t)}n.d(t,{Z:()=>r})},8501:(e,t,n)=>{n.d(t,{Z:()=>a});var r=n(5058),o=n(8960);function u(){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}}function i(e,t,n){return i=u()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var u=new(Function.bind.apply(e,r));return n&&(0,o.Z)(u,n.prototype),u},i.apply(null,arguments)}function a(e){var t="function"==typeof Map?new Map:void 0;return a=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;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,u)}function u(){return i(e,arguments,(0,r.Z)(this).constructor)}return u.prototype=Object.create(e.prototype,{constructor:{value:u,enumerable:!1,writable:!0,configurable:!0}}),(0,o.Z)(u,e)},a(e)}}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-python3_lib_index_js.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-python3_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","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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.7\";\n","import { KernelBase } from '@basthon/kernel-base';\n/**\n * A Python kernel that satisfies Basthon's API.\n */\nexport class KernelPython3 extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n /**\n * Where to find pyodide.js (private).\n */\n this._pyodideUrl = \"https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js\";\n this.__kernel__ = null;\n this.pythonVersion = \"\";\n }\n /**\n * Get the URL of Basthon modules dir.\n */\n basthonModulesRoot(absolute = false) {\n return this.basthonRoot(absolute) + \"/modules\";\n }\n language() { return \"python3\"; }\n languageName() { return \"Python 3\"; }\n moduleExts() { return ['py']; }\n /**\n * What to do when loaded (private).\n */\n async _onload() {\n const pyodide = window.pyodide;\n // get the version of Python from Python\n this.pythonVersion = pyodide.runPython(\"import platform ; platform.python_version()\");\n // this is for avoiding \"Unknown package 'basthon'\" error\n // but can be removed with 0.17.0 since it is fixed upstream\n const consoleErrorBck = console.error;\n console.error = () => { };\n await pyodide.loadPackage(this.basthonRoot(true) + \"/basthon.js\");\n console.error = consoleErrorBck;\n // importing basthon to get it's kernel\n await pyodide.runPythonAsync(\"import basthon as __basthon__\");\n // kernel lookup\n this.__kernel__ = pyodide.globals.__basthon__.__kernel__;\n // removing basthon from global namespace\n await pyodide.runPythonAsync(\"del __basthon__\");\n }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n /* testing if Pyodide is installed locally */\n try {\n const url = this.basthonRoot() + \"/pyodide/pyodide.js\";\n const response = await fetch(url, { method: \"HEAD\" });\n if (response.ok)\n this._pyodideUrl = url;\n }\n catch (e) { }\n // forcing Pyodide to look at the right location for other files\n window.languagePluginUrl = this._pyodideUrl.substr(0, this._pyodideUrl.lastIndexOf('/')) + '/';\n try {\n await KernelPython3.loadScript(this._pyodideUrl);\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load pyodide.js\");\n throw error;\n }\n if (window.languagePluginLoader == null) {\n throw new Error(\"Can't load pyodide.js\");\n }\n await window.languagePluginLoader.then(this._onload.bind(this), function () { throw new Error(\"Can't load Python from Pyodide\"); });\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) { console.log(text); };\n }\n if (typeof errCallback === 'undefined') {\n errCallback = function (text) { console.error(text); };\n }\n // loading dependencies are loaded by eval\n return await this.__kernel__.eval(code, outCallback, errCallback, data);\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 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 putModule(filename, content) {\n return this.__kernel__.put_module(filename, content);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n return this.__kernel__.user_modules();\n }\n /**\n * Download a file from the VFS.\n */\n getFile(path) {\n return this.__kernel__.get_file(path);\n }\n /**\n * Download a user module file.\n */\n getUserModuleFile(filename) {\n return this.__kernel__.get_user_module_file(filename);\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.8.2 (default, Dec 25 2020 21:20:57) on WebAssembly VM\\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 return this.__kernel__.complete(code);\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelPython3","_pyodideUrl","__kernel__","pythonVersion","basthonRoot","pyodide","runPython","consoleErrorBck","console","loadPackage","runPythonAsync","globals","__basthon__","fetch","method","ok","languagePluginUrl","substr","loadScript","log","languagePluginLoader","then","_onload","eval","restart","put_file","put_module","user_modules","get_file","get_user_module_file","more","complete","_module","FS","chdir","mkdir","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","call","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","Class","a","push","apply","instance","Function","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-python3_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","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/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/typeof.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/construct.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 { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.10\";\n","import { KernelBase } from '@basthon/kernel-base';\n/**\n * A Python kernel that satisfies Basthon's API.\n */\nexport class KernelPython3 extends KernelBase {\n constructor(rootPath) {\n super(rootPath);\n /**\n * Where to find pyodide.js (private).\n */\n this._pyodideUrl = \"https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js\";\n this.__kernel__ = null;\n this.pythonVersion = \"\";\n }\n /**\n * Get the URL of Basthon modules dir.\n */\n basthonModulesRoot(absolute = false) {\n return this.basthonRoot(absolute) + \"/modules\";\n }\n language() { return \"python3\"; }\n languageName() { return \"Python 3\"; }\n moduleExts() { return ['py']; }\n /**\n * What to do when loaded (private).\n */\n async _onload() {\n const pyodide = window.pyodide;\n // get the version of Python from Python\n this.pythonVersion = pyodide.runPython(\"import platform ; platform.python_version()\");\n // this is for avoiding \"Unknown package 'basthon'\" error\n // but can be removed with 0.17.0 since it is fixed upstream\n const consoleErrorBck = console.error;\n console.error = () => { };\n await pyodide.loadPackage(this.basthonRoot(true) + \"/basthon.js\");\n console.error = consoleErrorBck;\n // importing basthon to get it's kernel\n await pyodide.runPythonAsync(\"import basthon as __basthon__\");\n // kernel lookup\n this.__kernel__ = pyodide.globals.__basthon__.__kernel__;\n // removing basthon from global namespace\n await pyodide.runPythonAsync(\"del __basthon__\");\n }\n /**\n * Start the Basthon kernel asynchronously.\n */\n async launch() {\n /* testing if Pyodide is installed locally */\n try {\n const url = this.basthonRoot() + \"/pyodide/pyodide.js\";\n const response = await fetch(url, { method: \"HEAD\" });\n if (response.ok)\n this._pyodideUrl = url;\n }\n catch (e) { }\n // forcing Pyodide to look at the right location for other files\n window.languagePluginUrl = this._pyodideUrl.substr(0, this._pyodideUrl.lastIndexOf('/')) + '/';\n try {\n await KernelPython3.loadScript(this._pyodideUrl);\n }\n catch (error) {\n console.log(error);\n console.error(\"Can't load pyodide.js\");\n throw error;\n }\n if (window.languagePluginLoader == null) {\n throw new Error(\"Can't load pyodide.js\");\n }\n await window.languagePluginLoader.then(this._onload.bind(this), function () { throw new Error(\"Can't load Python from Pyodide\"); });\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) { console.log(text); };\n }\n if (typeof errCallback === 'undefined') {\n errCallback = function (text) { console.error(text); };\n }\n // loading dependencies are loaded by eval\n return await this.__kernel__.eval(code, outCallback, errCallback, data);\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 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 putModule(filename, content) {\n return this.__kernel__.put_module(filename, content);\n }\n /**\n * List modules launched via putModule.\n */\n userModules() {\n return this.__kernel__.user_modules();\n }\n /**\n * Download a file from the VFS.\n */\n getFile(path) {\n return this.__kernel__.get_file(path);\n }\n /**\n * Download a user module file.\n */\n getUserModuleFile(filename) {\n return this.__kernel__.get_user_module_file(filename);\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.8.2 (default, Dec 25 2020 21:20:57) on WebAssembly VM\\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 return this.__kernel__.complete(code);\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\n return self;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : 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\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}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\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\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\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\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\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;\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\n return _construct.apply(null, arguments);\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\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\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\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelPython3","_pyodideUrl","__kernel__","pythonVersion","basthonRoot","pyodide","runPython","consoleErrorBck","console","loadPackage","runPythonAsync","globals","__basthon__","fetch","method","ok","languagePluginUrl","substr","loadScript","log","languagePluginLoader","then","_onload","eval","restart","put_file","put_module","user_modules","get_file","get_user_module_file","more","complete","_module","FS","chdir","mkdir","_assertThisInitialized","self","ReferenceError","_getPrototypeOf","o","Object","setPrototypeOf","getPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","value","writable","configurable","defineProperty","_typeof","Symbol","iterator","_possibleConstructorReturn","call","assertThisInitialized","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_construct","Parent","Class","a","push","apply","instance","Function","arguments","_wrapNativeSuper","_cache","Map","undefined","fn","indexOf","has","get","set","Wrapper","enumerable"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-sql_lib_index_js"],{6806:(t,e,n)=>{"use strict";n.d(e,{H:()=>y});var r=n(4795),a=n(7371),u=n(9249),o=n(5754),i=n(8657),c=n(5058),s=n(8501),l=n(7162),h=n.n(l),d=n(2490);function f(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,i.Z)(this,n)}}var v=function(t){(0,o.Z)(n,t);var e=f(n);function n(t){var r;return(0,u.Z)(this,n),(r=e.call(this,"Function ".concat(t," not implemented!"))).name="NotImplementedError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),p=function(t){(0,o.Z)(n,t);var e=f(n);function n(t,r){var a;return(0,u.Z)(this,n),(a=e.call(this,t)).detail=r,a}return(0,a.Z)(n)}((0,s.Z)(Event)),y=function(){function t(e){(0,u.Z)(this,t),this._ready=!1,this._loaded=new d.I,this.execution_count=0,this._rootPath=e}var e,n,o,i;return(0,a.Z)(t,[{key:"version",value:function(){return"0.41.7"}},{key:"language",value:function(){throw new v("language")}},{key:"languageName",value:function(){throw new v("languageName")}},{key:"moduleExts",value:function(){throw new v("moduleExts")}},{key:"launch",value:(i=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new v("launch");case 1:case"end":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)})},{key:"evalAsync",value:function(t,e,n){throw new v("evalAsync")}},{key:"restart",value:function(){throw new v("restart")}},{key:"putFile",value:function(t,e){throw new v("putFile")}},{key:"putModule",value:function(t,e){throw new v("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(t){throw new v("getFile")}},{key:"getUserModuleFile",value:function(t){throw new v("getUserModuleFile")}},{key:"more",value:function(t){throw new v("more")}},{key:"complete",value:function(t){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(o=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.launch();case 3:t.next=9;break;case 5:return t.prev=5,t.t0=t.catch(0),this._loaded.reject(t.t0),t.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return t.stop()}}),t,this,[[0,5]])}))),function(){return o.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._loaded.promise;case 2:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this._rootPath+"/"+this.version();if(t&&!e.startsWith("http")){var n=window.location.origin+window.location.pathname;e=n.substring(0,n.lastIndexOf("/"))+"/"+e}return e}},{key:"download",value:function(t,e){if(!("string"==typeof t||t instanceof String)){var n=new Blob([t],{type:"application/octet-stream"});t=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=e,r.href=t,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(t,e){document.dispatchEvent(new p("basthon.".concat(t),e))}},{key:"addEventListener",value:function(t,e){document.addEventListener("basthon.".concat(t),(function(t){e(t.detail)}))}},{key:"clone",value:function(t){return JSON.parse(JSON.stringify(t))}},{key:"putRessource",value:function(t,e){var n,r=null!==(n=t.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(t,e):this.putFile(t,e)}},{key:"evalFromEvent",value:(e=(0,r.Z)(h().mark((function t(e){var n,r,a,u,o,i,c,s,l=this;return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=function(t){return function(n){var r=l.clone(e);r.stream=t,r.content=n,l.dispatchEvent("eval.output",r)}},r=n("stdout"),a=n("stderr"),t.prev=3,t.next=6,this.evalAsync(e.code,r,a,e);case 6:u=t.sent,t.next=17;break;case 9:return t.prev=9,t.t0=t.catch(3),a(t.t0.toString()),(o=this.clone(e)).error=t.t0,o.execution_count=this.execution_count,this.dispatchEvent("eval.error",o),t.abrupt("return");case 17:if(null!=u){t.next=19;break}return t.abrupt("return");case 19:i=u[0],c=u[1],(s=this.clone(e)).execution_count=c,null!=i&&(s.result=i),this.dispatchEvent("eval.finished",s);case 25:case"end":return t.stop()}}),t,this,[[3,9]])}))),function(t){return e.apply(this,arguments)})}],[{key:"loadScript",value:function(t){return new Promise((function(e,n){var r=document.createElement("script");r.onload=e,r.onerror=n,r.src=t,document.head.appendChild(r)}))}}]),t}()},7834:(t,e,n)=>{"use strict";n.r(e),n.d(e,{KernelSQL:()=>b});var r=n(4795),a=n(9249),u=n(7371),o=n(753),i=n(5754),c=n(8657),s=n(5058),l=n(7162),h=n.n(l),d=n(6806),f=n(532),v=n.n(f),p=n(193);function y(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,s.Z)(t);if(e){var a=(0,s.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var b=function(t){(0,i.Z)(s,t);var e,n,c=y(s);function s(t){var e;return(0,a.Z)(this,s),(e=c.call(this,t)).execution_count=0,e._dbInit=void 0,e._sqlsInit=[],e._dots={".backup":{callback:e._export.bind((0,o.Z)(e)),help:"Download as binary file"},".dump":{callback:e._dump.bind((0,o.Z)(e)),help:"Download as SQL file"},".export":{callback:e._export.bind((0,o.Z)(e)),help:"See .backup"},".help":{callback:e._help.bind((0,o.Z)(e)),help:"Show this help"},".save":{callback:e._export.bind((0,o.Z)(e)),help:"See .backup"},".schema":{callback:e._schema.bind((0,o.Z)(e)),help:"Show the CREATE statements"},".tables":{callback:e._tables.bind((0,o.Z)(e)),help:"List names of tables"}},e}return(0,u.Z)(s,[{key:"language",value:function(){return"sql"}},{key:"languageName",value:function(){return"SQL"}},{key:"moduleExts",value:function(){return["sql","db","sqlite"]}},{key:"launch",value:(n=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v()({locateFile:function(){return p}});case 2:this.SQL=t.sent,this.restart();case 4:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"formatResult",value:function(t){var e=void 0;return null!=t&&t.length>0&&(e={"text/plain":s.text_table(t[0]),"text/html":s.html_table(t[0])}),e}},{key:"evalAsync",value:(e=(0,r.Z)(h().mark((function t(e,n,r){var a,u,o,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,(u=e.replace(/^[; \t\n]+|[; \t\n]+$/g,""))in this._dots?(o=this._dots[u].callback,a=o()):a=this.formatResult(this.db.exec(e)),t.abrupt("return",[a,this.execution_count]);case 7:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.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:function(t,e){}},{key:"putModule",value:function(t,e){switch(e=new Uint8Array(e),t.split(".").pop()){case"sql":var n=new TextDecoder("utf-8").decode(e);this.db.run(n),this._sqlsInit.push(n);break;case"sqlite":case"db":this.db&&this.db.close(),this.db=new this.SQL.Database(e),this._dbInit=e;break;default:throw{message:"Only '.sql', '.db' and '.sqlite' files supported."}}}},{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=this,r=null===(t=this.tables(!1)[0])||void 0===t?void 0:t.values,a=null===(e=this.schema()[0])||void 0===e?void 0:e.values,u=r.map((function(t){var e,r=(null===(e=n.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(r.join(",\n"),";")}));return"".concat(a.join(";\n"),";\n").concat(u.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],e=t?"ORDER BY tbl_name, type DESC, name":"";return this.db.exec('SELECT sql FROM sqlite_schema WHERE type="table" '.concat(e,";"))}},{key:"_schema",value:function(){return this.formatResult(this.schema())}},{key:"tables",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=t?"ORDER BY 1":"";return this.db.exec("SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n".concat(e,";"))}},{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){s.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)}}]),s}(d.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"],{6806:(t,e,n)=>{"use strict";n.d(e,{H:()=>y});var r=n(4795),a=n(7371),u=n(9249),o=n(5754),i=n(8657),c=n(5058),s=n(8501),l=n(7162),h=n.n(l),d=n(2490);function f(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,i.Z)(this,n)}}var v=function(t){(0,o.Z)(n,t);var e=f(n);function n(t){var r;return(0,u.Z)(this,n),(r=e.call(this,"Function ".concat(t," not implemented!"))).name="NotImplementedError",r}return(0,a.Z)(n)}((0,s.Z)(Error)),p=function(t){(0,o.Z)(n,t);var e=f(n);function n(t,r){var a;return(0,u.Z)(this,n),(a=e.call(this,t)).detail=r,a}return(0,a.Z)(n)}((0,s.Z)(Event)),y=function(){function t(e){(0,u.Z)(this,t),this._ready=!1,this._loaded=new d.I,this.execution_count=0,this._rootPath=e}var e,n,o,i;return(0,a.Z)(t,[{key:"version",value:function(){return"0.41.10"}},{key:"language",value:function(){throw new v("language")}},{key:"languageName",value:function(){throw new v("languageName")}},{key:"moduleExts",value:function(){throw new v("moduleExts")}},{key:"launch",value:(i=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:throw new v("launch");case 1:case"end":return t.stop()}}),t)}))),function(){return i.apply(this,arguments)})},{key:"evalAsync",value:function(t,e,n){throw new v("evalAsync")}},{key:"restart",value:function(){throw new v("restart")}},{key:"putFile",value:function(t,e){throw new v("putFile")}},{key:"putModule",value:function(t,e){throw new v("putModule")}},{key:"userModules",value:function(){return[]}},{key:"getFile",value:function(t){throw new v("getFile")}},{key:"getUserModuleFile",value:function(t){throw new v("getUserModuleFile")}},{key:"more",value:function(t){throw new v("more")}},{key:"complete",value:function(t){return[]}},{key:"banner",value:function(){return"Welcome to the ".concat(this.languageName()," REPL!")}},{key:"ps1",value:function(){return">>> "}},{key:"ps2",value:function(){return"... "}},{key:"init",value:(o=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this.launch();case 3:t.next=9;break;case 5:return t.prev=5,t.t0=t.catch(0),this._loaded.reject(t.t0),t.abrupt("return");case 9:this.addEventListener("eval.request",this.evalFromEvent.bind(this)),this._ready=!0,this._loaded.resolve();case 12:case"end":return t.stop()}}),t,this,[[0,5]])}))),function(){return o.apply(this,arguments)})},{key:"ready",get:function(){return this._ready}},{key:"loaded",value:(n=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this._loaded.promise;case 2:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"basthonRoot",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=this._rootPath+"/"+this.version();if(t&&!e.startsWith("http")){var n=window.location.origin+window.location.pathname;e=n.substring(0,n.lastIndexOf("/"))+"/"+e}return e}},{key:"download",value:function(t,e){if(!("string"==typeof t||t instanceof String)){var n=new Blob([t],{type:"application/octet-stream"});t=window.URL.createObjectURL(n)}var r=document.createElement("a");r.download=e,r.href=t,r.target="_blank",r.style.display="none",document.body.appendChild(r),r.click(),document.body.removeChild(r)}},{key:"dispatchEvent",value:function(t,e){document.dispatchEvent(new p("basthon.".concat(t),e))}},{key:"addEventListener",value:function(t,e){document.addEventListener("basthon.".concat(t),(function(t){e(t.detail)}))}},{key:"clone",value:function(t){return JSON.parse(JSON.stringify(t))}},{key:"putRessource",value:function(t,e){var n,r=null!==(n=t.split(".").pop())&&void 0!==n?n:"";return this.moduleExts().includes(r)?this.putModule(t,e):this.putFile(t,e)}},{key:"evalFromEvent",value:(e=(0,r.Z)(h().mark((function t(e){var n,r,a,u,o,i,c,s,l=this;return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=function(t){return function(n){var r=l.clone(e);r.stream=t,r.content=n,l.dispatchEvent("eval.output",r)}},r=n("stdout"),a=n("stderr"),t.prev=3,t.next=6,this.evalAsync(e.code,r,a,e);case 6:u=t.sent,t.next=17;break;case 9:return t.prev=9,t.t0=t.catch(3),a(t.t0.toString()),(o=this.clone(e)).error=t.t0,o.execution_count=this.execution_count,this.dispatchEvent("eval.error",o),t.abrupt("return");case 17:if(null!=u){t.next=19;break}return t.abrupt("return");case 19:i=u[0],c=u[1],(s=this.clone(e)).execution_count=c,null!=i&&(s.result=i),this.dispatchEvent("eval.finished",s);case 25:case"end":return t.stop()}}),t,this,[[3,9]])}))),function(t){return e.apply(this,arguments)})}],[{key:"loadScript",value:function(t){return new Promise((function(e,n){var r=document.createElement("script");r.onload=e,r.onerror=n,r.src=t,document.head.appendChild(r)}))}}]),t}()},7834:(t,e,n)=>{"use strict";n.r(e),n.d(e,{KernelSQL:()=>b});var r=n(4795),a=n(9249),u=n(7371),o=n(753),i=n(5754),c=n(8657),s=n(5058),l=n(7162),h=n.n(l),d=n(6806),f=n(532),v=n.n(f),p=n(193);function y(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,s.Z)(t);if(e){var a=(0,s.Z)(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return(0,c.Z)(this,n)}}var b=function(t){(0,i.Z)(s,t);var e,n,c=y(s);function s(t){var e;return(0,a.Z)(this,s),(e=c.call(this,t)).execution_count=0,e._dbInit=void 0,e._sqlsInit=[],e._dots={".backup":{callback:e._export.bind((0,o.Z)(e)),help:"Download as binary file"},".dump":{callback:e._dump.bind((0,o.Z)(e)),help:"Download as SQL file"},".export":{callback:e._export.bind((0,o.Z)(e)),help:"See .backup"},".help":{callback:e._help.bind((0,o.Z)(e)),help:"Show this help"},".save":{callback:e._export.bind((0,o.Z)(e)),help:"See .backup"},".schema":{callback:e._schema.bind((0,o.Z)(e)),help:"Show the CREATE statements"},".tables":{callback:e._tables.bind((0,o.Z)(e)),help:"List names of tables"}},e}return(0,u.Z)(s,[{key:"language",value:function(){return"sql"}},{key:"languageName",value:function(){return"SQL"}},{key:"moduleExts",value:function(){return["sql","db","sqlite"]}},{key:"launch",value:(n=(0,r.Z)(h().mark((function t(){return h().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,v()({locateFile:function(){return p}});case 2:this.SQL=t.sent,this.restart();case 4:case"end":return t.stop()}}),t,this)}))),function(){return n.apply(this,arguments)})},{key:"formatResult",value:function(t){var e=void 0;return null!=t&&t.length>0&&(e={"text/plain":s.text_table(t[0]),"text/html":s.html_table(t[0])}),e}},{key:"evalAsync",value:(e=(0,r.Z)(h().mark((function t(e,n,r){var a,u,o,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,(u=e.replace(/^[; \t\n]+|[; \t\n]+$/g,""))in this._dots?(o=this._dots[u].callback,a=o()):a=this.formatResult(this.db.exec(e)),t.abrupt("return",[a,this.execution_count]);case 7:case"end":return t.stop()}}),t,this)}))),function(t,n,r){return e.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:function(t,e){}},{key:"putModule",value:function(t,e){switch(e=new Uint8Array(e),t.split(".").pop()){case"sql":var n=new TextDecoder("utf-8").decode(e);this.db.run(n),this._sqlsInit.push(n);break;case"sqlite":case"db":this.db&&this.db.close(),this.db=new this.SQL.Database(e),this._dbInit=e;break;default:throw{message:"Only '.sql', '.db' and '.sqlite' files supported."}}}},{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=this,r=null===(t=this.tables(!1)[0])||void 0===t?void 0:t.values,a=null===(e=this.schema()[0])||void 0===e?void 0:e.values,u=r.map((function(t){var e,r=(null===(e=n.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(r.join(",\n"),";")}));return"".concat(a.join(";\n"),";\n").concat(u.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],e=t?"ORDER BY tbl_name, type DESC, name":"";return this.db.exec('SELECT sql FROM sqlite_schema WHERE type="table" '.concat(e,";"))}},{key:"_schema",value:function(){return this.formatResult(this.schema())}},{key:"tables",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=t?"ORDER BY 1":"";return this.db.exec("SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n".concat(e,";"))}},{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){s.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)}}]),s}(d.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-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js","webpack://@basthon/browser-bundle/../kernel-sql/lib/kernel.js"],"sourcesContent":["import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.7\";\n","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(rootPath) {\n super(rootPath);\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 ;\n language() { return \"sql\"; }\n ;\n languageName() { return \"SQL\"; }\n ;\n moduleExts() { return ['sql', 'db', 'sqlite']; }\n ;\n async launch() {\n this.SQL = await initSqlJs({ locateFile: () => sqlWasm });\n this.restart();\n }\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 /**\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.map((r) => '<tr>' + r.map((v) => `<td>${v}</td>`).join('') + '</tr>').join('');\n const body = `<tbody>${values}</tbody>`;\n return `<table class=\"dataframe\" border=\"1\">${head}${body}</table>`;\n }\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 /**\n * Format the result to fit Kernel API.\n */\n formatResult(output) {\n let result = undefined;\n if (output != null && output.length > 0)\n result = {\n 'text/plain': KernelSQL.text_table(output[0]),\n 'text/html': KernelSQL.html_table(output[0])\n };\n return result;\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.formatResult(this.db.exec(code));\n return [result, this.execution_count];\n }\n ;\n ps1() { return \"sql> \"; }\n ;\n ps2() { 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 => { this.db.run(c); });\n }\n ;\n more(source) { return false; }\n ;\n complete(code) { return []; }\n ;\n putFile(filename, content) {\n // just ignoring this since we don't have a filesystem.\n }\n ;\n 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).map((key) => `${key}\\t\\t${this._dots[key].help}`).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;\n // order is creation order (order=false)\n const tables = (_a = this.tables(false)[0]) === null || _a === void 0 ? void 0 : _a.values;\n const schema = (_b = this.schema()[0]) === null || _b === void 0 ? void 0 : _b.values;\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.db.exec(`SELECT sql FROM sqlite_schema WHERE type=\"table\" ${orderCMD};`);\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.db.exec(`SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n${orderCMD};`);\n }\n /**\n * Return the table of tables (dot command version).\n */\n _tables() {\n return this.formatResult(this.tables());\n }\n}\n"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelSQL","_dbInit","undefined","_sqlsInit","_dots","_export","_dump","_help","_schema","_tables","initSqlJs","locateFile","sqlWasm","SQL","restart","output","length","text_table","html_table","interactive","dotCommand","replace","formatResult","db","exec","close","Database","run","forEach","c","Uint8Array","_content","TextDecoder","decode","push","message","Object","keys","map","key","help","join","_b","tables","values","schema","inserts","table","strValues","value","view","TextEncoder","encode","dump","order","orderCMD","json","half_length","Math","floor","max_size","slice","tail","concat","columns","troncate_table","r","v"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-sql_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","webpack://@basthon/browser-bundle/../kernel-sql/lib/kernel.js"],"sourcesContent":["import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from './version';\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(rootPath) {\n this._ready = false;\n this._loaded = new PromiseDelegate();\n this.execution_count = 0;\n // root path where kernel is installed\n this._rootPath = rootPath;\n }\n /**\n * Kernel version number (string).\n */\n version() { return VERSION; }\n ;\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() { 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() { throw new NotImplementedError(\"languageName\"); }\n ;\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n ;\n /**\n * Launch the kernel.\n */\n async launch() { throw new NotImplementedError(\"launch\"); }\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 ;\n restart() { throw new NotImplementedError(\"restart\"); }\n ;\n putFile(filename, content) {\n throw new NotImplementedError(\"putFile\");\n }\n ;\n putModule(filename, content) {\n throw new NotImplementedError(\"putModule\");\n }\n ;\n userModules() { return []; }\n ;\n getFile(path) { throw new NotImplementedError(\"getFile\"); }\n ;\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n ;\n more(source) { throw new NotImplementedError(\"more\"); }\n ;\n complete(code) { return []; }\n ;\n banner() { return `Welcome to the ${this.languageName()} REPL!`; }\n ;\n ps1() { return \">>> \"; }\n ;\n ps2() { 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() { return this._ready; }\n /**\n * Promise that resolve when the kernel is loaded.\n */\n async loaded() { await this._loaded.promise; }\n /**\n * Root for kernel files. This is always the versnion number\n * directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version();\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 /**\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 /**\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 /**\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 document.addEventListener(`basthon.${eventName}`, function (event) { callback(event.detail); });\n }\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 /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n 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 this.putModule(filename, content);\n }\n else {\n return this.putFile(filename, content);\n }\n }\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.41.10\";\n","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(rootPath) {\n super(rootPath);\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 ;\n language() { return \"sql\"; }\n ;\n languageName() { return \"SQL\"; }\n ;\n moduleExts() { return ['sql', 'db', 'sqlite']; }\n ;\n async launch() {\n this.SQL = await initSqlJs({ locateFile: () => sqlWasm });\n this.restart();\n }\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 /**\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.map((r) => '<tr>' + r.map((v) => `<td>${v}</td>`).join('') + '</tr>').join('');\n const body = `<tbody>${values}</tbody>`;\n return `<table class=\"dataframe\" border=\"1\">${head}${body}</table>`;\n }\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 /**\n * Format the result to fit Kernel API.\n */\n formatResult(output) {\n let result = undefined;\n if (output != null && output.length > 0)\n result = {\n 'text/plain': KernelSQL.text_table(output[0]),\n 'text/html': KernelSQL.html_table(output[0])\n };\n return result;\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.formatResult(this.db.exec(code));\n return [result, this.execution_count];\n }\n ;\n ps1() { return \"sql> \"; }\n ;\n ps2() { 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 => { this.db.run(c); });\n }\n ;\n more(source) { return false; }\n ;\n complete(code) { return []; }\n ;\n putFile(filename, content) {\n // just ignoring this since we don't have a filesystem.\n }\n ;\n 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).map((key) => `${key}\\t\\t${this._dots[key].help}`).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;\n // order is creation order (order=false)\n const tables = (_a = this.tables(false)[0]) === null || _a === void 0 ? void 0 : _a.values;\n const schema = (_b = this.schema()[0]) === null || _b === void 0 ? void 0 : _b.values;\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.db.exec(`SELECT sql FROM sqlite_schema WHERE type=\"table\" ${orderCMD};`);\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.db.exec(`SELECT name FROM sqlite_schema\nWHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'\n${orderCMD};`);\n }\n /**\n * Return the table of tables (dot command version).\n */\n _tables() {\n return this.formatResult(this.tables());\n }\n}\n"],"names":["NotImplementedError","funcName","name","Error","BasthonEvent","id","data","detail","Event","KernelBase","rootPath","this","_ready","_loaded","PromiseDelegate","execution_count","_rootPath","code","outCallback","errCallback","filename","content","path","source","languageName","launch","reject","addEventListener","evalFromEvent","bind","resolve","promise","absolute","url","version","startsWith","base","window","location","origin","pathname","substring","lastIndexOf","String","blob","Blob","type","URL","createObjectURL","anchor","document","createElement","download","href","target","style","display","body","appendChild","click","removeChild","eventName","dispatchEvent","callback","event","obj","JSON","parse","stringify","_a","ext","split","pop","moduleExts","includes","putModule","putFile","stdCallback","std","text","dataEvent","clone","stream","evalAsync","args","toString","error","result","executionCount","Promise","script","onload","onerror","src","head","KernelSQL","_dbInit","undefined","_sqlsInit","_dots","_export","_dump","_help","_schema","_tables","initSqlJs","locateFile","sqlWasm","SQL","restart","output","length","text_table","html_table","interactive","dotCommand","replace","formatResult","db","exec","close","Database","run","forEach","c","Uint8Array","_content","TextDecoder","decode","push","message","Object","keys","map","key","help","join","_b","tables","values","schema","inserts","table","strValues","value","view","TextEncoder","encode","dump","order","orderCMD","json","half_length","Math","floor","max_size","slice","tail","concat","columns","troncate_table","r","v"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basthon/browser-bundle",
|
|
3
|
-
"version": "0.41.
|
|
3
|
+
"version": "0.41.10",
|
|
4
4
|
"description": "Basthon - Browser bundle",
|
|
5
5
|
"homepage": "https://basthon.fr",
|
|
6
6
|
"bugs": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"lib"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@basthon/kernel-loader": "
|
|
24
|
+
"@basthon/kernel-loader": "0.41.10"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/core": "^7.16.4",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"build:prod": "webpack --config webpack.prod.config.js",
|
|
54
54
|
"clean": "rm -rf lib/"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "93ac03b3ee46314af393aa2278ecaae601bcad2f"
|
|
57
57
|
}
|