@basthon/browser-bundle 0.73.2 → 0.73.3
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.73.2 → 0.73.3}/python3/basthon.tar +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/IPython-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/turtle-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/modules/tutor-0.0.1-py3-none-any.whl +0 -0
- package/lib/{0.73.2 → 0.73.3}/python3/repodata.json +1 -1
- package/lib/kernel-base_lib_commons_js-kernel-base_lib_version_js-kernel-echo_lib_index_js.js +1 -1
- package/lib/kernel-base_lib_commons_js-kernel-base_lib_version_js-kernel-echo_lib_index_js.js.map +1 -1
- package/lib/kernel-base_lib_worker_index_js-_3c190.js +1 -1
- package/lib/kernel-base_lib_worker_index_js-_3c190.js.map +1 -1
- package/lib/kernel-base_lib_worker_kernel-worker_js.js +1 -1
- package/lib/kernel-base_lib_worker_kernel-worker_js.js.map +1 -1
- package/lib/kernel-javascript_lib_worker_js.js +1 -1
- package/lib/kernel-javascript_lib_worker_js.js.map +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d0.js +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d0.js.map +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d1.js +1 -1
- package/lib/kernel-ocaml_lib_comlink-worker_js-_d37d1.js.map +1 -1
- package/package.json +3 -3
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/053e308b29fa94c9768c.png +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/43557192d14bec1ce5a1.png +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/62dc93aaa1f4a5ab9654.png +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/a3c784d737c50501dfcd.png +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/a3fa2b0f6d2467fdac56.png +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/bundle.js +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/bundle.js.LICENSE.txt +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/bundle.js.map +0 -0
- /package/lib/{0.73.2 → 0.73.3}/python3/modules/extern/tutor/f997956ae061f27f24f5.png +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-ocaml_lib_comlink-worker_js-_d37d0.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/webpack/runtime/chunk loaded","webpack://@basthon/browser-bundle/webpack/runtime/create fake namespace object","webpack://@basthon/browser-bundle/webpack/runtime/startup chunk dependencies","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/worker.js","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/comlink-worker.js","webpack://@basthon/browser-bundle/webpack/bootstrap","webpack://@basthon/browser-bundle/webpack/runtime/compat get default export","webpack://@basthon/browser-bundle/webpack/runtime/define property getters","webpack://@basthon/browser-bundle/webpack/runtime/ensure chunk","webpack://@basthon/browser-bundle/webpack/runtime/get javascript chunk filename","webpack://@basthon/browser-bundle/webpack/runtime/global","webpack://@basthon/browser-bundle/webpack/runtime/hasOwnProperty shorthand","webpack://@basthon/browser-bundle/webpack/runtime/make namespace object","webpack://@basthon/browser-bundle/webpack/runtime/publicPath","webpack://@basthon/browser-bundle/webpack/runtime/importScripts chunk loading","webpack://@basthon/browser-bundle/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn Promise.all([\"vendors-node_modules_promise-delegate_dist_es_PromiseDelegate_js-node_modules_babel_runtime_r-2b2010\",\"kernel-base_lib_worker_kernel-main_js\",\"kernel-base_lib_worker_index_js-_3c190\"].map(__webpack_require__.e, __webpack_require__)).then(next);\n};","import { KernelWorkerBase } from \"@basthon/kernel-base/worker\";\n// convert any canvas to a blob (async)\nconst toBlob = async (canvas, type) => {\n if (canvas instanceof globalThis.OffscreenCanvas) {\n return await canvas.convertToBlob({ type });\n }\n else {\n return await new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob == null)\n reject();\n else\n resolve(blob);\n }, type);\n });\n }\n};\nexport class OCamlKernelWorker extends KernelWorkerBase {\n constructor(options) {\n // do not forget to call the parent constructor\n super(options);\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string \"self.basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"self.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 sleep duration: Sleep for a certain amount of seconds.\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() {\n return \"ocaml\";\n }\n /*\n * Initialize the kernel.\n */\n async _init(options) {\n // io redirections\n console.info = (...args) => console.log(...args);\n console.warn = (...args) => console.error(...args);\n globalThis.addEventListener(\"error\", (e) => console.error(e.toString()));\n // kernel loading\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // mock Graphics_js.draw_image for use in worker\n // see https://github.com/ocsigen/js_of_ocaml/blob/1c43da9a925a9df247548158879439ef4039eb38/runtime/graphics.js#L442\n self.jsoo_runtime.caml_gr_draw_image = (im, x, y) => {\n const s = self.jsoo_runtime.caml_gr_state_get();\n s.context.putImageData(im, x, s.height - im.height - y);\n return 0;\n };\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n async _eval(data, code) {\n if (this.__kernel__ == null)\n return;\n this.__eval_data__ = data;\n this.__kernel__.io.stdout = (...args) => {\n this.sendStdoutStream(data, args.join(\" \"));\n };\n this.__kernel__.io.stderr = (...args) => {\n this.sendStderrStream(data, args.join(\" \"));\n };\n const result = this.__kernel__?.exec(code);\n if (typeof result === \"string\" && result.length > 0)\n return { \"text/plain\": result.replace(/\\n$/, \"\") };\n return undefined;\n }\n /**\n * Special case of starting a legacy kernel.\n */\n async legacyStart() {\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n /**\n * Special case of stoping a legacy kernel.\n */\n async legacyStop() { }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n async more(code) {\n return false;\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 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 this.__kernel__?.loadmodule(filename);\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = self.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 this.display(canvas);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n if (this.__kernel__ == null)\n return;\n const ext = path.split(\".\").pop()?.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n const content = await blob.arrayBuffer();\n this.__kernel__.createfile(path, content);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n async downloadCanvas(canvas, format) {\n if (format == null)\n format = \"png\";\n //@ts-ignore\n format = format.toString().toLowerCase();\n const types = { jpg: \"image/jpeg\", jpeg: \"images/jpeg\", png: \"image/png\" };\n if (!(format in types))\n format = \"png\";\n const mime = types[format];\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n let image = await this.blobToDataURL(blob);\n // image = image.replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n const data = this.clone(this.__eval_data__);\n const array = self.jsoo_runtime.caml_convert_bytes_to_array(content);\n const blob = new Blob([array], { type: \"image/png\" });\n const promise = this.displayBlob(blob, data);\n this.addEvalPromise(promise);\n await promise;\n }\n}\n","import { expose } from \"@basthon/kernel-base/worker\";\nimport { OCamlKernelWorker } from \"./worker\";\nexpose(OCamlKernelWorker);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors-node_modules_promise-delegate_dist_es_PromiseDelegate_js-node_modules_babel_runtime_r-2b2010\",\"kernel-base_lib_worker_kernel-main_js\",\"kernel-base_lib_worker_index_js-_3c190\"], () => (__webpack_require__(2000)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = self.location + \"\";\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t\"kernel-ocaml_lib_comlink-worker_js-_d37d0\": 1,\n\t\"kernel-ocaml_lib_comlink-worker_js-_d37d1\": 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunk_basthon_browser_bundle\"] = self[\"webpackChunk_basthon_browser_bundle\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","leafPrototypes","getProto","next","toBlob","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","canvas","type","_context","prev","globalThis","OffscreenCanvas","convertToBlob","abrupt","sent","Promise","resolve","reject","blob","stop","_x","_x2","apply","arguments","OCamlKernelWorker","_KernelWorkerBase","options","_this","_classCallCheck","_initInnerCode","_inherits","_createClass","key","value","_init2","_callee2","_this$__kernel__","_this$__kernel__$init","_this$__kernel__2","_yield$import","__kernel__","_context2","console","info","_console","log","warn","_console2","error","addEventListener","e","toString","this","init","call","Error","self","jsoo_runtime","caml_gr_draw_image","im","x","y","s","caml_gr_state_get","context","putImageData","height","exec","_x3","_eval2","_callee3","data","code","_this$__kernel__3","result","_this2","_context3","__eval_data__","io","stdout","_len","length","args","Array","_key","sendStdoutStream","join","stderr","_len2","_key2","sendStderrStream","replace","undefined","_x4","_x5","_legacyStart","_callee4","_this$__kernel__4","_this$__kernel__4$ini","_this$__kernel__5","_context4","_legacyStop","_callee5","_context5","_more","_callee6","_context6","_x6","filename","content","createfile","_this$__kernel__6","putFile","loadmodule","array","caml_convert_bytes_to_array","download","display","_saveCanvas","_callee8","path","_path$split$pop","ext","mime","promise","_this3","_context8","split","pop","toLowerCase","_callee7","_context7","arrayBuffer","addEvalPromise","_x7","_x8","_downloadCanvas","_callee10","format","types","_this4","_context10","jpg","jpeg","png","_callee9","image","_context9","blobToDataURL","concat","_x9","_x10","_displayImage","_callee11","_context11","clone","Blob","displayBlob","_x11","KernelWorkerBase","expose","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","__webpack_exports__","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","t","mode","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","g","Function","window","prop","prototype","hasOwnProperty","Symbol","toStringTag","scriptUrl","importScripts","location","document","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","p","b","installedChunks","chunkLoadingGlobal","parentChunkLoadingFunction","push","bind","moreModules","runtime","map"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-ocaml_lib_comlink-worker_js-_d37d0.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/webpack/runtime/chunk loaded","webpack://@basthon/browser-bundle/webpack/runtime/create fake namespace object","webpack://@basthon/browser-bundle/webpack/runtime/startup chunk dependencies","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/worker.js","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/comlink-worker.js","webpack://@basthon/browser-bundle/webpack/bootstrap","webpack://@basthon/browser-bundle/webpack/runtime/compat get default export","webpack://@basthon/browser-bundle/webpack/runtime/define property getters","webpack://@basthon/browser-bundle/webpack/runtime/ensure chunk","webpack://@basthon/browser-bundle/webpack/runtime/get javascript chunk filename","webpack://@basthon/browser-bundle/webpack/runtime/global","webpack://@basthon/browser-bundle/webpack/runtime/hasOwnProperty shorthand","webpack://@basthon/browser-bundle/webpack/runtime/make namespace object","webpack://@basthon/browser-bundle/webpack/runtime/publicPath","webpack://@basthon/browser-bundle/webpack/runtime/importScripts chunk loading","webpack://@basthon/browser-bundle/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\treturn Promise.all([\"vendors-node_modules_promise-delegate_dist_es_PromiseDelegate_js-node_modules_babel_runtime_r-2b2010\",\"kernel-base_lib_worker_kernel-main_js\",\"kernel-base_lib_worker_index_js-_3c190\"].map(__webpack_require__.e, __webpack_require__)).then(next);\n};","import { KernelWorkerBase } from \"@basthon/kernel-base/worker\";\n// convert any canvas to a blob (async)\nconst toBlob = async (canvas, type) => {\n if (canvas instanceof globalThis.OffscreenCanvas) {\n return await canvas.convertToBlob({ type });\n }\n else {\n return await new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob == null)\n reject();\n else\n resolve(blob);\n }, type);\n });\n }\n};\nexport class OCamlKernelWorker extends KernelWorkerBase {\n constructor(options) {\n // do not forget to call the parent constructor\n super(options);\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string \"self.basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"self.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 sleep duration: Sleep for a certain amount of seconds.\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() {\n return \"ocaml\";\n }\n /*\n * Initialize the kernel.\n */\n async _init(options) {\n // io redirections\n if (!this.isLegacy()) {\n console.info = (...args) => console.log(...args);\n console.warn = (...args) => console.error(...args);\n globalThis.addEventListener(\"error\", (e) => console.error(e.toString()));\n }\n // kernel loading\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // mock Graphics_js.draw_image for use in worker\n // see https://github.com/ocsigen/js_of_ocaml/blob/1c43da9a925a9df247548158879439ef4039eb38/runtime/graphics.js#L442\n self.jsoo_runtime.caml_gr_draw_image = (im, x, y) => {\n const s = self.jsoo_runtime.caml_gr_state_get();\n s.context.putImageData(im, x, s.height - im.height - y);\n return 0;\n };\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n async _eval(data, code) {\n if (this.__kernel__ == null)\n return;\n this.__eval_data__ = data;\n this.__kernel__.io.stdout = (...args) => {\n this.sendStdoutStream(data, args.join(\" \"));\n };\n this.__kernel__.io.stderr = (...args) => {\n this.sendStderrStream(data, args.join(\" \"));\n };\n const result = this.__kernel__?.exec(code);\n if (typeof result === \"string\" && result.length > 0)\n return { \"text/plain\": result.replace(/\\n$/, \"\") };\n return undefined;\n }\n /**\n * Special case of starting a legacy kernel.\n */\n async legacyStart() {\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n /**\n * Special case of stoping a legacy kernel.\n */\n async legacyStop() { }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n async more(code) {\n return false;\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 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 this.__kernel__?.loadmodule(filename);\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = self.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 this.display(canvas);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n if (this.__kernel__ == null)\n return;\n const ext = path.split(\".\").pop()?.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n const content = await blob.arrayBuffer();\n this.__kernel__.createfile(path, content);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n async downloadCanvas(canvas, format) {\n if (format == null)\n format = \"png\";\n //@ts-ignore\n format = format.toString().toLowerCase();\n const types = { jpg: \"image/jpeg\", jpeg: \"images/jpeg\", png: \"image/png\" };\n if (!(format in types))\n format = \"png\";\n const mime = types[format];\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n let image = await this.blobToDataURL(blob);\n // image = image.replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n const data = this.clone(this.__eval_data__);\n const array = self.jsoo_runtime.caml_convert_bytes_to_array(content);\n const blob = new Blob([array], { type: \"image/png\" });\n const promise = this.displayBlob(blob, data);\n this.addEvalPromise(promise);\n await promise;\n }\n}\n","import { expose } from \"@basthon/kernel-base/worker\";\nimport { OCamlKernelWorker } from \"./worker\";\nexpose(OCamlKernelWorker);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors-node_modules_promise-delegate_dist_es_PromiseDelegate_js-node_modules_babel_runtime_r-2b2010\",\"kernel-base_lib_worker_kernel-main_js\",\"kernel-base_lib_worker_index_js-_3c190\"], () => (__webpack_require__(2000)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = self.location + \"\";\n\n// object to store loaded chunks\n// \"1\" means \"already loaded\"\nvar installedChunks = {\n\t\"kernel-ocaml_lib_comlink-worker_js-_d37d0\": 1,\n\t\"kernel-ocaml_lib_comlink-worker_js-_d37d1\": 1\n};\n\n// importScripts chunk loading\nvar installChunk = (data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\twhile(chunkIds.length)\n\t\tinstalledChunks[chunkIds.pop()] = 1;\n\tparentChunkLoadingFunction(data);\n};\n__webpack_require__.f.i = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\timportScripts(__webpack_require__.p + __webpack_require__.u(chunkId));\n\t\t}\n\t}\n};\n\nvar chunkLoadingGlobal = self[\"webpackChunk_basthon_browser_bundle\"] = self[\"webpackChunk_basthon_browser_bundle\"] || [];\nvar parentChunkLoadingFunction = chunkLoadingGlobal.push.bind(chunkLoadingGlobal);\nchunkLoadingGlobal.push = installChunk;\n\n// no HMR\n\n// no HMR manifest","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n"],"names":["deferred","leafPrototypes","getProto","next","toBlob","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","canvas","type","_context","prev","globalThis","OffscreenCanvas","convertToBlob","abrupt","sent","Promise","resolve","reject","blob","stop","_x","_x2","apply","arguments","OCamlKernelWorker","_KernelWorkerBase","options","_this","_classCallCheck","_initInnerCode","_inherits","_createClass","key","value","_init2","_callee2","_this$__kernel__","_this$__kernel__$init","_this$__kernel__2","_yield$import","__kernel__","_context2","this","isLegacy","console","info","_console","log","warn","_console2","error","addEventListener","e","toString","init","call","Error","self","jsoo_runtime","caml_gr_draw_image","im","x","y","s","caml_gr_state_get","context","putImageData","height","exec","_x3","_eval2","_callee3","data","code","_this$__kernel__3","result","_this2","_context3","__eval_data__","io","stdout","_len","length","args","Array","_key","sendStdoutStream","join","stderr","_len2","_key2","sendStderrStream","replace","undefined","_x4","_x5","_legacyStart","_callee4","_this$__kernel__4","_this$__kernel__4$ini","_this$__kernel__5","_context4","_legacyStop","_callee5","_context5","_more","_callee6","_context6","_x6","filename","content","createfile","_this$__kernel__6","putFile","loadmodule","array","caml_convert_bytes_to_array","download","display","_saveCanvas","_callee8","path","_path$split$pop","ext","mime","promise","_this3","_context8","split","pop","toLowerCase","_callee7","_context7","arrayBuffer","addEvalPromise","_x7","_x8","_downloadCanvas","_callee10","format","types","_this4","_context10","jpg","jpeg","png","_callee9","image","_context9","blobToDataURL","concat","_x9","_x10","_displayImage","_callee11","_context11","clone","Blob","displayBlob","_x11","KernelWorkerBase","expose","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","__webpack_exports__","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","t","mode","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","chunkId","all","reduce","promises","u","g","Function","window","prop","prototype","hasOwnProperty","Symbol","toStringTag","scriptUrl","importScripts","location","document","currentScript","tagName","toUpperCase","src","scripts","getElementsByTagName","test","p","b","installedChunks","chunkLoadingGlobal","parentChunkLoadingFunction","push","bind","moreModules","runtime","map"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-ocaml_lib_comlink-worker_js-_d37d0","kernel-ocaml_lib_comlink-worker_js-_d37d1"],{2e3:(e,n,t)=>{var a=t(2069),r=t(5152),s=t(414),o=t(5309),i=t(2715),l=t(9296),c=t(6330),u=t(5799),_=t.n(u);function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}var f=function(){var e=(0,c.A)(_().mark((function e(n,t){return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n instanceof globalThis.OffscreenCanvas)){e.next=6;break}return e.next=3,n.convertToBlob({type:t});case 3:case 8:return e.abrupt("return",e.sent);case 6:return e.next=8,new Promise((function(e,a){n.toBlob((function(n){null==n?a():e(n)}),t)}));case 9:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),v=function(e){function n(e){var t,a,s,l;return(0,r.A)(this,n),a=this,s=n,l=[e],s=(0,i.A)(s),(t=(0,o.A)(a,p()?Reflect.construct(s,l||[],(0,i.A)(a).constructor):s.apply(a,l)))._initInnerCode='open Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string "self.basthon")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string "self.basthon.__kernel__")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string "self.basthon")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##savecanvas canvas path)\n let download_canvas ?(format = "png") canvas: unit = ignore((Js.Unsafe.eval_string "self.basthon")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string "self.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 sleep duration: Sleep for a certain amount of seconds.\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,l.A)(n,e),(0,s.A)(n,[{key:"language",value:function(){return"ocaml"}},{key:"_init",value:(m=(0,c.A)(_().mark((function e(n){var a,r,s,o,i;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.info=function(){var e;return(e=console).log.apply(e,arguments)},console.warn=function(){var e;return(e=console).error.apply(e,arguments)},globalThis.addEventListener("error",(function(e){return console.error(e.toString())})),e.next=
|
|
1
|
+
"use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-ocaml_lib_comlink-worker_js-_d37d0","kernel-ocaml_lib_comlink-worker_js-_d37d1"],{2e3:(e,n,t)=>{var a=t(2069),r=t(5152),s=t(414),o=t(5309),i=t(2715),l=t(9296),c=t(6330),u=t(5799),_=t.n(u);function p(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(p=function(){return!!e})()}var f=function(){var e=(0,c.A)(_().mark((function e(n,t){return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n instanceof globalThis.OffscreenCanvas)){e.next=6;break}return e.next=3,n.convertToBlob({type:t});case 3:case 8:return e.abrupt("return",e.sent);case 6:return e.next=8,new Promise((function(e,a){n.toBlob((function(n){null==n?a():e(n)}),t)}));case 9:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),v=function(e){function n(e){var t,a,s,l;return(0,r.A)(this,n),a=this,s=n,l=[e],s=(0,i.A)(s),(t=(0,o.A)(a,p()?Reflect.construct(s,l||[],(0,i.A)(a).constructor):s.apply(a,l)))._initInnerCode='open Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string "self.basthon")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string "self.basthon.__kernel__")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string "self.basthon")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##savecanvas canvas path)\n let download_canvas ?(format = "png") canvas: unit = ignore((Js.Unsafe.eval_string "self.basthon")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string "self.basthon.__kernel__")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string "self.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 sleep duration: Sleep for a certain amount of seconds.\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,l.A)(n,e),(0,s.A)(n,[{key:"language",value:function(){return"ocaml"}},{key:"_init",value:(m=(0,c.A)(_().mark((function e(n){var a,r,s,o,i;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.isLegacy()||(console.info=function(){var e;return(e=console).log.apply(e,arguments)},console.warn=function(){var e;return(e=console).error.apply(e,arguments)},globalThis.addEventListener("error",(function(e){return console.error(e.toString())}))),e.next=3,t.e("kernel-ocaml_lib___kernel___js").then(t.t.bind(t,1841,23));case 3:if(o=e.sent,i=o.__kernel__,this.__kernel__=i,0===(null===(a=this.__kernel__)||void 0===a||null===(r=a.init)||void 0===r?void 0:r.call(a))){e.next=8;break}throw new Error("Can't start OCaml kernel!");case 8:self.jsoo_runtime.caml_gr_draw_image=function(e,n,t){var a=self.jsoo_runtime.caml_gr_state_get();return a.context.putImageData(e,n,a.height-e.height-t),0},null===(s=this.__kernel__)||void 0===s||s.exec(this._initInnerCode);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return m.apply(this,arguments)})},{key:"_eval",value:(k=(0,c.A)(_().mark((function e(n,t){var a,r,s=this;return _().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:if(this.__eval_data__=n,this.__kernel__.io.stdout=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];s.sendStdoutStream(n,t.join(" "))},this.__kernel__.io.stderr=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];s.sendStderrStream(n,t.join(" "))},!("string"==typeof(r=null===(a=this.__kernel__)||void 0===a?void 0:a.exec(t))&&r.length>0)){e.next=8;break}return e.abrupt("return",{"text/plain":r.replace(/\n$/,"")});case 8:return e.abrupt("return",void 0);case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return k.apply(this,arguments)})},{key:"legacyStart",value:(g=(0,c.A)(_().mark((function e(){var n,t,a;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0===(null===(n=this.__kernel__)||void 0===n||null===(t=n.init)||void 0===t?void 0:t.call(n))){e.next=2;break}throw new Error("Can't start OCaml kernel!");case 2:null===(a=this.__kernel__)||void 0===a||a.exec(this._initInnerCode);case 3:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"legacyStop",value:(d=(0,c.A)(_().mark((function e(){return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)})},{key:"more",value:(h=(0,c.A)(_().mark((function e(n){return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",!1);case 1:case"end":return e.stop()}}),e)}))),function(e){return h.apply(this,arguments)})},{key:"putFile",value:function(e,n){null!=this.__kernel__&&this.__kernel__.createfile(e,n)}},{key:"putModule",value:function(e,n){var t;this.putFile(e,n),null===(t=this.__kernel__)||void 0===t||t.loadmodule(e)}},{key:"ocamlDownload",value:function(e,n){var t=self.jsoo_runtime.caml_convert_bytes_to_array(e);this.download(t,n)}},{key:"displayCanvas",value:function(e){this.display(e)}},{key:"saveCanvas",value:(v=(0,c.A)(_().mark((function e(n,t){var a,r,s,o,i=this;return _().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 r=null===(a=t.split(".").pop())||void 0===a?void 0:a.toLowerCase(),s="image/png","jpg"!==r&&"jpeg"!==r||(s="image/jpeg"),o=(0,c.A)(_().mark((function e(){var a,r;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f(n,s);case 2:return a=e.sent,e.next=5,a.arrayBuffer();case 5:r=e.sent,i.__kernel__.createfile(t,r);case 7:case"end":return e.stop()}}),e)})))(),this.addEvalPromise(o),e.next=9,o;case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return v.apply(this,arguments)})},{key:"downloadCanvas",value:(u=(0,c.A)(_().mark((function e(n,t){var a,r,s,o=this;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null==t&&(t="png"),(t=t.toString().toLowerCase())in(a={jpg:"image/jpeg",jpeg:"images/jpeg",png:"image/png"})||(t="png"),r=a[t],s=(0,c.A)(_().mark((function e(){var a,s;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f(n,r);case 2:return a=e.sent,e.next=5,o.blobToDataURL(a);case 5:s=e.sent,o.download(s,"canvas.".concat(t));case 7:case"end":return e.stop()}}),e)})))(),this.addEvalPromise(s),e.next=9,s;case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return u.apply(this,arguments)})},{key:"displayImage",value:(a=(0,c.A)(_().mark((function e(n){var t,a,r,s;return _().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this.clone(this.__eval_data__),a=self.jsoo_runtime.caml_convert_bytes_to_array(n),r=new Blob([a],{type:"image/png"}),s=this.displayBlob(r,t),this.addEvalPromise(s),e.next=7,s;case 7:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})}]);var a,u,v,h,d,g,k,m}(a.fI);(0,a.p)(v)}}]);
|
|
2
2
|
//# sourceMappingURL=kernel-ocaml_lib_comlink-worker_js-_d37d1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-ocaml_lib_comlink-worker_js-_d37d1.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-ocaml/lib/worker.js","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/comlink-worker.js"],"sourcesContent":["import { KernelWorkerBase } from \"@basthon/kernel-base/worker\";\n// convert any canvas to a blob (async)\nconst toBlob = async (canvas, type) => {\n if (canvas instanceof globalThis.OffscreenCanvas) {\n return await canvas.convertToBlob({ type });\n }\n else {\n return await new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob == null)\n reject();\n else\n resolve(blob);\n }, type);\n });\n }\n};\nexport class OCamlKernelWorker extends KernelWorkerBase {\n constructor(options) {\n // do not forget to call the parent constructor\n super(options);\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string \"self.basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"self.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 sleep duration: Sleep for a certain amount of seconds.\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() {\n return \"ocaml\";\n }\n /*\n * Initialize the kernel.\n */\n async _init(options) {\n // io redirections\n console.info = (...args) => console.log(...args);\n console.warn = (...args) => console.error(...args);\n globalThis.addEventListener(\"error\", (e) => console.error(e.toString()));\n // kernel loading\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // mock Graphics_js.draw_image for use in worker\n // see https://github.com/ocsigen/js_of_ocaml/blob/1c43da9a925a9df247548158879439ef4039eb38/runtime/graphics.js#L442\n self.jsoo_runtime.caml_gr_draw_image = (im, x, y) => {\n const s = self.jsoo_runtime.caml_gr_state_get();\n s.context.putImageData(im, x, s.height - im.height - y);\n return 0;\n };\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n async _eval(data, code) {\n if (this.__kernel__ == null)\n return;\n this.__eval_data__ = data;\n this.__kernel__.io.stdout = (...args) => {\n this.sendStdoutStream(data, args.join(\" \"));\n };\n this.__kernel__.io.stderr = (...args) => {\n this.sendStderrStream(data, args.join(\" \"));\n };\n const result = this.__kernel__?.exec(code);\n if (typeof result === \"string\" && result.length > 0)\n return { \"text/plain\": result.replace(/\\n$/, \"\") };\n return undefined;\n }\n /**\n * Special case of starting a legacy kernel.\n */\n async legacyStart() {\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n /**\n * Special case of stoping a legacy kernel.\n */\n async legacyStop() { }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n async more(code) {\n return false;\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 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 this.__kernel__?.loadmodule(filename);\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = self.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 this.display(canvas);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n if (this.__kernel__ == null)\n return;\n const ext = path.split(\".\").pop()?.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n const content = await blob.arrayBuffer();\n this.__kernel__.createfile(path, content);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n async downloadCanvas(canvas, format) {\n if (format == null)\n format = \"png\";\n //@ts-ignore\n format = format.toString().toLowerCase();\n const types = { jpg: \"image/jpeg\", jpeg: \"images/jpeg\", png: \"image/png\" };\n if (!(format in types))\n format = \"png\";\n const mime = types[format];\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n let image = await this.blobToDataURL(blob);\n // image = image.replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n const data = this.clone(this.__eval_data__);\n const array = self.jsoo_runtime.caml_convert_bytes_to_array(content);\n const blob = new Blob([array], { type: \"image/png\" });\n const promise = this.displayBlob(blob, data);\n this.addEvalPromise(promise);\n await promise;\n }\n}\n","import { expose } from \"@basthon/kernel-base/worker\";\nimport { OCamlKernelWorker } from \"./worker\";\nexpose(OCamlKernelWorker);\n"],"names":["toBlob","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","canvas","type","_context","prev","next","globalThis","OffscreenCanvas","convertToBlob","abrupt","sent","Promise","resolve","reject","blob","stop","_x","_x2","apply","arguments","OCamlKernelWorker","_KernelWorkerBase","options","_this","_classCallCheck","_initInnerCode","_inherits","_createClass","key","value","_init2","_callee2","_this$__kernel__","_this$__kernel__$init","_this$__kernel__2","_yield$import","__kernel__","_context2","console","info","_console","log","warn","_console2","error","addEventListener","e","toString","this","init","call","Error","self","jsoo_runtime","caml_gr_draw_image","im","x","y","s","caml_gr_state_get","context","putImageData","height","exec","_x3","_eval2","_callee3","data","code","_this$__kernel__3","result","_this2","_context3","__eval_data__","io","stdout","_len","length","args","Array","_key","sendStdoutStream","join","stderr","_len2","_key2","sendStderrStream","replace","undefined","_x4","_x5","_legacyStart","_callee4","_this$__kernel__4","_this$__kernel__4$ini","_this$__kernel__5","_context4","_legacyStop","_callee5","_context5","_more","_callee6","_context6","_x6","filename","content","createfile","_this$__kernel__6","putFile","loadmodule","array","caml_convert_bytes_to_array","download","display","_saveCanvas","_callee8","path","_path$split$pop","ext","mime","promise","_this3","_context8","split","pop","toLowerCase","_callee7","_context7","arrayBuffer","addEvalPromise","_x7","_x8","_downloadCanvas","_callee10","format","types","_this4","_context10","jpg","jpeg","png","_callee9","image","_context9","blobToDataURL","concat","_x9","_x10","_displayImage","_callee11","_context11","clone","Blob","displayBlob","_x11","KernelWorkerBase","expose"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"kernel-ocaml_lib_comlink-worker_js-_d37d1.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-ocaml/lib/worker.js","webpack://@basthon/browser-bundle/../kernel-ocaml/lib/comlink-worker.js"],"sourcesContent":["import { KernelWorkerBase } from \"@basthon/kernel-base/worker\";\n// convert any canvas to a blob (async)\nconst toBlob = async (canvas, type) => {\n if (canvas instanceof globalThis.OffscreenCanvas) {\n return await canvas.convertToBlob({ type });\n }\n else {\n return await new Promise((resolve, reject) => {\n canvas.toBlob((blob) => {\n if (blob == null)\n reject();\n else\n resolve(blob);\n }, type);\n });\n }\n};\nexport class OCamlKernelWorker extends KernelWorkerBase {\n constructor(options) {\n // do not forget to call the parent constructor\n super(options);\n this._initInnerCode = `\\\nopen Js_of_ocaml\nmodule Basthon = struct\n let download (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##download path)\n let sleep (duration: float): unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##sleep duration)\n let create_canvas () = (Js.Unsafe.eval_string \"self.basthon.__kernel__\")##createcanvas()\n let display_canvas canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##displayCanvas canvas)\n let save_canvas canvas (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##savecanvas canvas path)\n let download_canvas ?(format = \"png\") canvas: unit = ignore((Js.Unsafe.eval_string \"self.basthon\")##downloadCanvas canvas (Js.string format))\n let display_image (path: string): unit = ignore((Js.Unsafe.eval_string \"self.basthon.__kernel__\")##displayimage path)\n let version () : string = (Js.Unsafe.eval_string \"self.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 sleep duration: Sleep for a certain amount of seconds.\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() {\n return \"ocaml\";\n }\n /*\n * Initialize the kernel.\n */\n async _init(options) {\n // io redirections\n if (!this.isLegacy()) {\n console.info = (...args) => console.log(...args);\n console.warn = (...args) => console.error(...args);\n globalThis.addEventListener(\"error\", (e) => console.error(e.toString()));\n }\n // kernel loading\n const { __kernel__ } = await import(\"./__kernel__\");\n this.__kernel__ = __kernel__;\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // mock Graphics_js.draw_image for use in worker\n // see https://github.com/ocsigen/js_of_ocaml/blob/1c43da9a925a9df247548158879439ef4039eb38/runtime/graphics.js#L442\n self.jsoo_runtime.caml_gr_draw_image = (im, x, y) => {\n const s = self.jsoo_runtime.caml_gr_state_get();\n s.context.putImageData(im, x, s.height - im.height - y);\n return 0;\n };\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n async _eval(data, code) {\n if (this.__kernel__ == null)\n return;\n this.__eval_data__ = data;\n this.__kernel__.io.stdout = (...args) => {\n this.sendStdoutStream(data, args.join(\" \"));\n };\n this.__kernel__.io.stderr = (...args) => {\n this.sendStderrStream(data, args.join(\" \"));\n };\n const result = this.__kernel__?.exec(code);\n if (typeof result === \"string\" && result.length > 0)\n return { \"text/plain\": result.replace(/\\n$/, \"\") };\n return undefined;\n }\n /**\n * Special case of starting a legacy kernel.\n */\n async legacyStart() {\n if (this.__kernel__?.init?.() !== 0)\n throw new Error(\"Can't start OCaml kernel!\");\n // execute magic init code\n this.__kernel__?.exec(this._initInnerCode);\n }\n /**\n * Special case of stoping a legacy kernel.\n */\n async legacyStop() { }\n /**\n * Is the source ready to be evaluated or want we more?\n * Usefull to set ps1/ps2 in teminal prompt.\n */\n async more(code) {\n return false;\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 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 this.__kernel__?.loadmodule(filename);\n }\n /**\n * OCaml wrapper arround Kernel.download (to be called by __kernel__.ml).\n */\n ocamlDownload(content, filename) {\n const array = self.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 this.display(canvas);\n }\n /**\n * Save a canvas to a file on the local FS.\n */\n async saveCanvas(canvas, path) {\n if (this.__kernel__ == null)\n return;\n const ext = path.split(\".\").pop()?.toLowerCase();\n let mime = \"image/png\";\n if (ext === \"jpg\" || ext === \"jpeg\")\n mime = \"image/jpeg\";\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n const content = await blob.arrayBuffer();\n this.__kernel__.createfile(path, content);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Download a canvas as an image file (png or jpg).\n */\n async downloadCanvas(canvas, format) {\n if (format == null)\n format = \"png\";\n //@ts-ignore\n format = format.toString().toLowerCase();\n const types = { jpg: \"image/jpeg\", jpeg: \"images/jpeg\", png: \"image/png\" };\n if (!(format in types))\n format = \"png\";\n const mime = types[format];\n const promise = (async () => {\n const blob = await toBlob(canvas, mime);\n let image = await this.blobToDataURL(blob);\n // image = image.replace(mime, \"image/octet-stream\");\n this.download(image, `canvas.${format}`);\n })();\n this.addEvalPromise(promise);\n await promise;\n }\n /**\n * Display a PNG image.\n */\n async displayImage(content) {\n const data = this.clone(this.__eval_data__);\n const array = self.jsoo_runtime.caml_convert_bytes_to_array(content);\n const blob = new Blob([array], { type: \"image/png\" });\n const promise = this.displayBlob(blob, data);\n this.addEvalPromise(promise);\n await promise;\n }\n}\n","import { expose } from \"@basthon/kernel-base/worker\";\nimport { OCamlKernelWorker } from \"./worker\";\nexpose(OCamlKernelWorker);\n"],"names":["toBlob","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","canvas","type","_context","prev","next","globalThis","OffscreenCanvas","convertToBlob","abrupt","sent","Promise","resolve","reject","blob","stop","_x","_x2","apply","arguments","OCamlKernelWorker","_KernelWorkerBase","options","_this","_classCallCheck","_initInnerCode","_inherits","_createClass","key","value","_init2","_callee2","_this$__kernel__","_this$__kernel__$init","_this$__kernel__2","_yield$import","__kernel__","_context2","this","isLegacy","console","info","_console","log","warn","_console2","error","addEventListener","e","toString","init","call","Error","self","jsoo_runtime","caml_gr_draw_image","im","x","y","s","caml_gr_state_get","context","putImageData","height","exec","_x3","_eval2","_callee3","data","code","_this$__kernel__3","result","_this2","_context3","__eval_data__","io","stdout","_len","length","args","Array","_key","sendStdoutStream","join","stderr","_len2","_key2","sendStderrStream","replace","undefined","_x4","_x5","_legacyStart","_callee4","_this$__kernel__4","_this$__kernel__4$ini","_this$__kernel__5","_context4","_legacyStop","_callee5","_context5","_more","_callee6","_context6","_x6","filename","content","createfile","_this$__kernel__6","putFile","loadmodule","array","caml_convert_bytes_to_array","download","display","_saveCanvas","_callee8","path","_path$split$pop","ext","mime","promise","_this3","_context8","split","pop","toLowerCase","_callee7","_context7","arrayBuffer","addEvalPromise","_x7","_x8","_downloadCanvas","_callee10","format","types","_this4","_context10","jpg","jpeg","png","_callee9","image","_context9","blobToDataURL","concat","_x9","_x10","_displayImage","_callee11","_context11","clone","Blob","displayBlob","_x11","KernelWorkerBase","expose"],"sourceRoot":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basthon/browser-bundle",
|
|
3
|
-
"version": "0.73.
|
|
3
|
+
"version": "0.73.3",
|
|
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": "0.73.
|
|
24
|
+
"@basthon/kernel-loader": "0.73.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@babel/core": "^7.24.4",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"build:prod": "webpack --config webpack.prod.config.ts",
|
|
58
58
|
"clean": "rimraf lib/"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "68894e4db137b9cd8ec8676a2ed9c76752120a8f"
|
|
61
61
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|