@basthon/browser-bundle 0.63.0 → 0.64.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/lib/{0.63.0 → 0.64.1}/python3/basthon.tar +0 -0
  2. package/lib/{0.63.0 → 0.64.1}/python3/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  3. package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  4. package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/p5-0.0.1-py3-none-any.whl +0 -0
  5. package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  6. package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  7. package/lib/{0.63.0 → 0.64.1}/python3/modules/requests-0.0.1-py3-none-any.whl +0 -0
  8. package/lib/{0.63.0 → 0.64.1}/python3/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  9. package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  10. package/lib/{0.63.0 → 0.64.1}/python3/repodata.json +1 -1
  11. package/lib/bundle.js +1 -1
  12. package/lib/bundle.js.map +1 -1
  13. package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js +1 -1
  14. package/lib/kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js.map +1 -1
  15. package/lib/kernel-base_lib_worker_index_js-_a2470.js.map +1 -1
  16. package/lib/kernel-base_lib_worker_index_js-_a2471.js +1 -1
  17. package/lib/kernel-base_lib_worker_index_js-_a2471.js.map +1 -1
  18. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-javascript_lib_comlink-worker_js.js +1 -1
  19. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-javascript_lib_comlink-worker_js.js.map +1 -1
  20. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-ocaml_lib_comlink-worker_js.js +1 -1
  21. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-ocaml_lib_comlink-worker_js.js.map +1 -1
  22. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-sql_lib_comlink-worker_js.js +1 -1
  23. package/lib/kernel-base_lib_worker_kernel-worker_js-kernel-sql_lib_comlink-worker_js.js.map +1 -1
  24. package/lib/kernel-python3_lib_index_js.js +1 -1
  25. package/lib/kernel-python3_lib_index_js.js.map +1 -1
  26. package/package.json +3 -3
  27. package/lib/0.63.0/python3/modules/extern/pytutor-main.min.css +0 -35
  28. package/lib/0.63.0/python3/modules/extern/pytutor-main.min.js +0 -2
  29. package/lib/0.63.0/python3/modules/extern/pytutor-main.min.js.LICENSE.txt +0 -31
  30. package/lib/0.63.0/python3/modules/extern/pytutor-main.min.js.map +0 -1
  31. package/lib/0.63.0/python3/modules/graphviz-0.0.1-py3-none-any.whl +0 -0
  32. package/lib/0.63.0/python3/modules/p5-0.0.1-py3-none-any.whl +0 -0
  33. package/lib/0.63.0/python3/modules/proj4py-0.0.1-py3-none-any.whl +0 -0
  34. package/lib/0.63.0/python3/modules/rcviz-0.0.1-py3-none-any.whl +0 -0
  35. package/lib/0.63.0/python3/modules/tutor-0.0.1-py3-none-any.whl +0 -0
  36. package/lib/0.63.0/python3-old/basthon.data +0 -0
  37. package/lib/0.63.0/python3-old/basthon.js +0 -1
  38. package/lib/0.63.0/python3-old/modules/IPython-0.0.1-py3-none-any.whl +0 -0
  39. package/lib/0.63.0/python3-old/modules/ipythonblocks-0.0.1-py3-none-any.whl +0 -0
  40. package/lib/0.63.0/python3-old/modules/ivp-0.0.1-py3-none-any.whl +0 -0
  41. package/lib/0.63.0/python3-old/modules/lolviz-0.0.1-py3-none-any.whl +0 -0
  42. package/lib/0.63.0/python3-old/modules/requests-0.0.1-py3-none-any.whl +0 -0
  43. package/lib/0.63.0/python3-old/modules/turtle-0.0.1-py3-none-any.whl +0 -0
  44. package/lib/kernel-python3-old_lib_index_js.js +0 -2
  45. package/lib/kernel-python3-old_lib_index_js.js.map +0 -1
  46. /package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/extern/pytutor-main.min.css +0 -0
  47. /package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/extern/pytutor-main.min.js +0 -0
  48. /package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/extern/pytutor-main.min.js.LICENSE.txt +0 -0
  49. /package/lib/{0.63.0/python3-old → 0.64.1/python3}/modules/extern/pytutor-main.min.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/get.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/construct.js"],"sourcesContent":["/**\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/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n const prefix = localfsScheme;\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = await self.basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n};\n/**\n * Get the origin of an url.\n */\nconst origin = (url) => new URL(url).origin;\n/**\n * Get the parent path of an url.\n */\nconst parent = (url) => {\n const abs = new URL(url).href;\n return abs.substring(0, abs.lastIndexOf(\"/\"));\n};\n/**\n * we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\nconst mockFetch = (legacy) => {\n // already mocked?\n if (self.fetch.name === \"mockedFetch\")\n return;\n const trueFetch = self.fetch;\n async function mockedFetch(request, init) {\n if (!legacy && (self.importScripts == null || self._assetsURL == null))\n return Response.error();\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (!legacy && origin(url) === origin(self._assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(self._assetsURL)) {\n const proxy = self._remoteProxy;\n const { body, options } = await proxy.fetch(url, init);\n return new Response(body, options);\n }\n throw new Error(\"Ressource is outside the proxy' scope\");\n }\n return await trueFetch(url, init);\n }\n catch (e) {\n console.error(`security proxy: request to ${url} throw error: ${e.toString()}`);\n return Response.error();\n }\n }\n self.fetch = mockedFetch;\n};\nexport { NotImplementedError, mockFetch };\n","import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from \"./version\";\nimport { NotImplementedError } from \"./commons\";\n// const desc = Object.getOwnPropertyDescriptor(\n// HTMLImageElement.prototype,\n// \"src\"\n// );\n// Object.defineProperty(HTMLImageElement.prototype, \"src\", {\n// ...desc,\n// get: function () {\n// return desc?.get?.call(this);\n// },\n// set: function (e) {\n// const prefix = _localfsScheme;\n// if (e.startsWith(prefix)) {\n// const path = e.slice(prefix.length);\n// //@ts-ignore\n// const content = window.Basthon.getFile(path).buffer;\n// (async () => desc?.set?.call(this, await toDataURL(content)))();\n// } else {\n// desc?.set?.call(this, e);\n// }\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}\nexport { VERSION };\n/**\n * API that any Basthon kernel should fill to be supported\n * in console/notebook.\n */\nexport class KernelBase {\n constructor(options) {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = Promise.resolve();\n this._execution_count = 0;\n this._pendingInput = undefined;\n // a map to register wrapped listeners to allow later remove\n this._listeners = new Map();\n this._files = new Map();\n this._modules = new Map();\n this._options = this.clone(options);\n // root path where kernel is installed\n this._rootPath = options.rootPath;\n }\n /**\n * Is this kernel safe? (loaded from an isolated web worker)\n */\n safeKernel() {\n return false;\n }\n /**\n * Kernel version number (string).\n */\n version() {\n return VERSION;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\n }\n /**\n * Language name implemented in the kernel (string).\n * As it should be displayed in text.\n */\n languageName() {\n throw new NotImplementedError(\"languageName\");\n }\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n /**\n * Execution count getter.\n */\n get execution_count() {\n return this._execution_count;\n }\n /**\n * Async code evaluation that resolves with the result.\n */\n evalAsync(code, outCallback, errCallback, data = null) {\n throw new NotImplementedError(\"evalAsync\");\n }\n async putFile(filename, content) {\n this._files.set(filename, content);\n }\n async putModule(filename, content) {\n this._modules.set(filename, content);\n }\n userModules() {\n return [];\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n throw new NotImplementedError(\"getFile\");\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n async more(source) {\n throw new NotImplementedError(\"more\");\n }\n async complete(code) {\n return [];\n }\n banner() {\n return `Welcome to the ${this.languageName()} REPL!`;\n }\n ps1() {\n return \">>> \";\n }\n ps2() {\n return \"... \";\n }\n /**\n * Launch the kernel (used to wrap a promise around init).\n */\n async _init() { }\n /**\n * Initialize the kernel and start it.\n */\n async init() {\n if (!this.safeKernel())\n console.warn(`%c⚠ DANGER ⚠: this kernel is not safe!` +\n \" Please consider using a safe kernel.\", \"color: red; font-size: 20px;\");\n try {\n await this._init();\n }\n catch (error) {\n this._ready.reject(error);\n return;\n }\n // connecting eval to basthon.eval.request event.\n this.addEventListener(\"eval.request\", this.evalFromEvent.bind(this));\n await this.start();\n }\n /**\n * Start the kernel (used to wrap a promise around start).\n */\n async _start() { }\n /**\n * Start the kernel.\n */\n async start() {\n await this._stopped;\n this._execution_count = 0;\n try {\n await this._start();\n }\n catch (error) {\n this._ready.reject(error);\n return;\n }\n this._files.forEach((v, k) => this.putFile(k, v));\n this._modules.forEach((v, k) => this.putModule(k, v));\n this._isReady = true;\n this._ready.resolve();\n }\n /**\n * Perform async part of the stoping process.\n */\n async _stop() { }\n /**\n * Stop the kernel synchronously (to ensure kernel is stopped after the call).\n */\n stop() {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = this._stop();\n }\n /**\n * Restart the kernel (stop and start).\n * Use await this.ready() to ensure kernel is started\n */\n restart() {\n this.stop(); // sync\n this.start(); // async\n }\n /**\n * Is the kernel ready?\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * Promise that resolves when the kernel is ready (started).\n */\n async ready() {\n return this._ready.promise;\n }\n /**\n * Root for kernel files. This is always the language directory\n * inside the version number directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version() + \"/\" + this.language();\n if (absolute && !url.startsWith(\"http\")) {\n const base = window.location.origin + window.location.pathname;\n url = base.substring(0, base.lastIndexOf(\"/\")) + \"/\" + url;\n }\n return url;\n }\n /**\n * Downloading data (bytes array or data URL) as filename\n * (opening browser dialog).\n */\n download(data, filename) {\n if (!(typeof data === \"string\" || data instanceof String)) {\n const blob = new Blob([data], { type: \"application/octet-stream\" });\n data = window.URL.createObjectURL(blob);\n }\n const anchor = document.createElement(\"a\");\n anchor.download = filename;\n anchor.href = data;\n anchor.target = \"_blank\";\n anchor.style.display = \"none\"; // just to be safe!\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n }\n /**\n * Dynamically load a script asynchronously.\n */\n static loadScript(url) {\n return new Promise(function (resolve, reject) {\n let script = document.createElement(\"script\");\n script.onload = resolve;\n script.onerror = reject;\n script.src = url;\n document.head.appendChild(script);\n });\n }\n /**\n * Wrapper around document.dispatchEvent.\n * It adds the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n dispatchEvent(eventName, data) {\n document.dispatchEvent(new BasthonEvent(`basthon.${eventName}`, data));\n }\n /**\n * Wrapper around document.addEventListener.\n * It manages the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n addEventListener(eventName, callback) {\n // wrapped callback\n const _callback = (event) => callback(event.detail);\n document.addEventListener(`basthon.${eventName}`, _callback);\n // register the wrapped callback in order to remove it\n let listeners = this._listeners.get(eventName);\n if (listeners == null) {\n listeners = new Map();\n this._listeners.set(eventName, listeners);\n }\n listeners.set(callback, _callback);\n }\n /**\n * Wrapper around document.removeEventListener.\n * It manages the 'basthon.' prefix to each event name.\n */\n removeEventListener(eventName, callback) {\n // get the wrapped callback\n const listeners = this._listeners.get(eventName);\n document.removeEventListener(`basthon.${eventName}`, listeners?.get(callback));\n }\n /**\n * Send eval.input event then wait for the user response and return it.\n */\n async inputAsync(prompt, password = false, data = undefined) {\n data = this.clone(data);\n data.content = { prompt, password };\n const pd = new PromiseDelegate();\n data.resolve = pd.resolve.bind(pd);\n data.reject = pd.reject.bind(pd);\n this._pendingInput = pd;\n this.dispatchEvent(\"eval.input\", data);\n const res = await pd.promise;\n this._pendingInput = undefined;\n return res;\n }\n /**\n * Close a pending input.\n */\n resolvePendingInput() {\n this._pendingInput?.resolve(\"\");\n }\n /**\n * Simple clone via JSON copy.\n */\n clone(obj) {\n // simple trick that is enough for our purpose.\n return JSON.parse(JSON.stringify(obj));\n }\n /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n async putRessource(filename, content) {\n const ext = filename.split(\".\").pop() ?? \"\";\n if (this.moduleExts().includes(ext)) {\n return await this.putModule(filename, content);\n }\n else {\n return await this.putFile(filename, content);\n }\n }\n /**\n * Is an input pending?\n */\n pendingInput() {\n return this._pendingInput != null;\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.63.0\";\n","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","fetchFromLocalFS","_ref","_asyncToGenerator","_regeneratorRuntime","_callee2","localfsScheme","url","toDataURL","prefix","path","content","options","dataURL","mime","_context2","prev","next","_ref2","_callee","_context","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x3","apply","arguments","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x","_x2","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","importScripts","_assetsURL","error","Request","_objectSpread","credentials","toString","startsWith","_remoteProxy","console","BasthonEvent","_Event","id","data","detail","Event","KernelBase","this","_isReady","_ready","PromiseDelegate","_stopped","_execution_count","_pendingInput","undefined","_listeners","Map","_files","_modules","_options","clone","_rootPath","rootPath","key","value","VERSION","get","code","outCallback","errCallback","_putFile","filename","set","_putModule","_more","source","_complete","_callee4","_context4","_x6","languageName","_init2","_callee5","_context5","_init3","_callee6","_context6","safeKernel","warn","_init","addEventListener","evalFromEvent","bind","start","_start2","_callee7","_context7","_start3","_callee8","_this2","_context8","_start","forEach","v","k","putFile","putModule","_stop2","_callee9","_context9","_stop","_callee10","_context10","promise","absolute","version","language","base","window","location","pathname","String","blob","type","createObjectURL","anchor","document","createElement","download","target","style","display","appendChild","click","removeChild","eventName","dispatchEvent","callback","_callback","event","listeners","removeEventListener","_inputAsync","_callee11","prompt","password","pd","res","_args11","_context11","_x7","_this$_pendingInput","obj","JSON","parse","stringify","_putRessource","_callee12","_filename$split$pop","ext","_context12","split","pop","moduleExts","includes","_x8","_x9","_evalFromEvent","_callee13","stdCallback","args","_dataEvent","executionCount","dataEvent","_this3","_context13","std","text","stream","evalAsync","execution_count","_x10","script","onload","src","head","_assertThisInitialized","e","ReferenceError","_defineProperty","r","t","Object","defineProperty","enumerable","configurable","writable","_get","Reflect","p","o","hasOwnProperty","call","getPrototypeOf","n","getOwnPropertyDescriptor","_getPrototypeOf","setPrototypeOf","__proto__","TypeError","prototype","create","constructor","_possibleConstructorReturn","_setPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","construct","Function","has","Wrapper","push"],"sourceRoot":""}
1
+ {"version":3,"file":"kernel-base_lib_kernel_js-node_modules_babel_runtime_helpers_esm_get_js.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/kernel.js","webpack://@basthon/browser-bundle/../kernel-base/lib/version.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/get.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/superPropBase.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","webpack://@basthon/browser-bundle/../../node_modules/@babel/runtime/helpers/esm/construct.js"],"sourcesContent":["/**\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/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n const prefix = localfsScheme;\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = await self.basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n};\n/**\n * Get the origin of an url.\n */\nconst origin = (url) => new URL(url).origin;\n/**\n * Get the parent path of an url.\n */\nconst parent = (url) => {\n const abs = new URL(url).href;\n return abs.substring(0, abs.lastIndexOf(\"/\"));\n};\n/**\n * we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\nconst mockFetch = (legacy) => {\n // already mocked?\n if (self.fetch.name === \"mockedFetch\")\n return;\n const trueFetch = self.fetch;\n async function mockedFetch(request, init) {\n if (!legacy && (self.importScripts == null || self._assetsURL == null))\n return Response.error();\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (!legacy && origin(url) === origin(self._assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(self._assetsURL)) {\n const proxy = self._remoteProxy;\n const { body, options } = await proxy.fetch(url, init);\n return new Response(body, options);\n }\n throw new Error(\"Ressource is outside the proxy' scope\");\n }\n return await trueFetch(url, init);\n }\n catch (e) {\n console.error(`security proxy: request to ${url} throw error: ${e.toString()}`);\n return Response.error();\n }\n }\n self.fetch = mockedFetch;\n};\nexport { NotImplementedError, mockFetch };\n","import { PromiseDelegate } from \"promise-delegate\";\nimport { VERSION } from \"./version\";\nimport { NotImplementedError } from \"./commons\";\n// const desc = Object.getOwnPropertyDescriptor(\n// HTMLImageElement.prototype,\n// \"src\"\n// );\n// Object.defineProperty(HTMLImageElement.prototype, \"src\", {\n// ...desc,\n// get: function () {\n// return desc?.get?.call(this);\n// },\n// set: function (e) {\n// const prefix = _localfsScheme;\n// if (e.startsWith(prefix)) {\n// const path = e.slice(prefix.length);\n// //@ts-ignore\n// const content = window.Basthon.getFile(path).buffer;\n// (async () => desc?.set?.call(this, await toDataURL(content)))();\n// } else {\n// desc?.set?.call(this, e);\n// }\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}\nexport { VERSION };\n/**\n * API that any Basthon kernel should fill to be supported\n * in console/notebook.\n */\nexport class KernelBase {\n constructor(options) {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = Promise.resolve();\n this._execution_count = 0;\n this._pendingInput = undefined;\n // a map to register wrapped listeners to allow later remove\n this._listeners = new Map();\n this._files = new Map();\n this._modules = new Map();\n this._options = this.clone(options);\n // root path where kernel is installed\n this._rootPath = options.rootPath;\n }\n /**\n * Is this kernel safe? (loaded from an isolated web worker)\n */\n safeKernel() {\n return false;\n }\n /**\n * Kernel version number (string).\n */\n version() {\n return VERSION;\n }\n /**\n * Language implemented in the kernel (string).\n * Generally lower case.\n */\n language() {\n throw new NotImplementedError(\"language\");\n }\n /**\n * Language name implemented in the kernel (string).\n * As it should be displayed in text.\n */\n languageName() {\n throw new NotImplementedError(\"languageName\");\n }\n /**\n * Script (module) file extensions\n */\n moduleExts() {\n throw new NotImplementedError(\"moduleExts\");\n }\n /**\n * Execution count getter.\n */\n get execution_count() {\n return this._execution_count;\n }\n /**\n * Async code evaluation that resolves with the result.\n */\n evalAsync(code, outCallback, errCallback, data = null) {\n throw new NotImplementedError(\"evalAsync\");\n }\n async putFile(filename, content) {\n this._files.set(filename, content);\n }\n async putModule(filename, content) {\n this._modules.set(filename, content);\n }\n userModules() {\n return [];\n }\n /**\n * Get a file content from the VFS.\n */\n getFile(path) {\n throw new NotImplementedError(\"getFile\");\n }\n /**\n * Get a user module file content.\n */\n getUserModuleFile(filename) {\n throw new NotImplementedError(\"getUserModuleFile\");\n }\n async more(source) {\n throw new NotImplementedError(\"more\");\n }\n async complete(code) {\n return [];\n }\n banner() {\n return `Welcome to the ${this.languageName()} REPL!`;\n }\n ps1() {\n return \">>> \";\n }\n ps2() {\n return \"... \";\n }\n /**\n * Launch the kernel (used to wrap a promise around init).\n */\n async _init() { }\n /**\n * Initialize the kernel and start it.\n */\n async init() {\n if (!this.safeKernel())\n console.warn(`%c⚠ DANGER ⚠: this kernel is not safe!` +\n \" Please consider using a safe kernel.\", \"color: red; font-size: 20px;\");\n try {\n await this._init();\n }\n catch (error) {\n this._ready.reject(error);\n return;\n }\n // connecting eval to basthon.eval.request event.\n this.addEventListener(\"eval.request\", this.evalFromEvent.bind(this));\n await this.start();\n }\n /**\n * Start the kernel (used to wrap a promise around start).\n */\n async _start() { }\n /**\n * Start the kernel.\n */\n async start() {\n await this._stopped;\n this._execution_count = 0;\n try {\n await this._start();\n }\n catch (error) {\n this._ready.reject(error);\n return;\n }\n this._files.forEach((v, k) => this.putFile(k, v));\n this._modules.forEach((v, k) => this.putModule(k, v));\n this._isReady = true;\n this._ready.resolve();\n }\n /**\n * Perform async part of the stoping process.\n */\n async _stop() { }\n /**\n * Stop the kernel synchronously (to ensure kernel is stopped after the call).\n */\n stop() {\n this._isReady = false;\n this._ready = new PromiseDelegate();\n this._stopped = this._stop();\n }\n /**\n * Restart the kernel (stop and start).\n * Use await this.ready() to ensure kernel is started\n */\n restart() {\n this.stop(); // sync\n this.start(); // async\n }\n /**\n * Is the kernel ready?\n */\n get isReady() {\n return this._isReady;\n }\n /**\n * Promise that resolves when the kernel is ready (started).\n */\n async ready() {\n return this._ready.promise;\n }\n /**\n * Root for kernel files. This is always the language directory\n * inside the version number directory inside the kernel directory.\n */\n basthonRoot(absolute = false) {\n let url = this._rootPath + \"/\" + this.version() + \"/\" + this.language();\n if (absolute && !url.startsWith(\"http\")) {\n const base = window.location.origin + window.location.pathname;\n url = base.substring(0, base.lastIndexOf(\"/\")) + \"/\" + url;\n }\n return url;\n }\n /**\n * Downloading data (bytes array or data URL) as filename\n * (opening browser dialog).\n */\n download(data, filename) {\n if (!(typeof data === \"string\" || data instanceof String)) {\n const blob = new Blob([data], { type: \"application/octet-stream\" });\n data = window.URL.createObjectURL(blob);\n }\n const anchor = document.createElement(\"a\");\n anchor.download = filename;\n anchor.href = data;\n anchor.target = \"_blank\";\n anchor.style.display = \"none\"; // just to be safe!\n document.body.appendChild(anchor);\n anchor.click();\n document.body.removeChild(anchor);\n }\n /**\n * Dynamically load a script asynchronously.\n */\n static loadScript(url) {\n return new Promise(function (resolve, reject) {\n let script = document.createElement(\"script\");\n script.onload = resolve;\n script.onerror = reject;\n script.src = url;\n document.head.appendChild(script);\n });\n }\n /**\n * Wrapper around document.dispatchEvent.\n * It adds the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n dispatchEvent(eventName, data) {\n document.dispatchEvent(new BasthonEvent(`basthon.${eventName}`, data));\n }\n /**\n * Wrapper around document.addEventListener.\n * It manages the 'basthon.' prefix to each event name and\n * manage the event lookup to retreive relevent data.\n */\n addEventListener(eventName, callback) {\n // wrapped callback\n const _callback = (event) => callback(event.detail);\n document.addEventListener(`basthon.${eventName}`, _callback);\n // register the wrapped callback in order to remove it\n let listeners = this._listeners.get(eventName);\n if (listeners == null) {\n listeners = new Map();\n this._listeners.set(eventName, listeners);\n }\n listeners.set(callback, _callback);\n }\n /**\n * Wrapper around document.removeEventListener.\n * It manages the 'basthon.' prefix to each event name.\n */\n removeEventListener(eventName, callback) {\n // get the wrapped callback\n const listeners = this._listeners.get(eventName);\n document.removeEventListener(`basthon.${eventName}`, listeners?.get(callback));\n }\n /**\n * Send eval.input event then wait for the user response and return it.\n */\n async inputAsync(prompt, password = false, data = undefined) {\n data = this.clone(data);\n data.content = { prompt, password };\n const pd = new PromiseDelegate();\n data.resolve = pd.resolve.bind(pd);\n data.reject = pd.reject.bind(pd);\n this._pendingInput = pd;\n this.dispatchEvent(\"eval.input\", data);\n const res = await pd.promise;\n this._pendingInput = undefined;\n return res;\n }\n /**\n * Close a pending input.\n */\n resolvePendingInput() {\n this._pendingInput?.resolve(\"\");\n }\n /**\n * Simple clone via JSON copy.\n */\n clone(obj) {\n // simple trick that is enough for our purpose.\n return JSON.parse(JSON.stringify(obj));\n }\n /**\n * Put a ressource (file or module).\n * Detection is based on extension.\n */\n async putRessource(filename, content) {\n const ext = filename.split(\".\").pop() ?? \"\";\n if (this.moduleExts().includes(ext)) {\n return await this.putModule(filename, content);\n }\n else {\n return await this.putFile(filename, content);\n }\n }\n /**\n * Is an input pending?\n */\n pendingInput() {\n return this._pendingInput != null;\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.64.1\";\n","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nexport { _assertThisInitialized as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import superPropBase from \"./superPropBase.js\";\nfunction _get() {\n return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, _get.apply(null, arguments);\n}\nexport { _get as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nexport { _superPropBase as default };","function _getPrototypeOf(t) {\n return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, _getPrototypeOf(t);\n}\nexport { _getPrototypeOf as default };","import setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nexport { _inherits as default };","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nexport { _possibleConstructorReturn as default };","function _setPrototypeOf(t, e) {\n return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, _setPrototypeOf(t, e);\n}\nexport { _setPrototypeOf as default };","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n })();\n}\nexport { _isNativeReflectConstruct as default };","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, _wrapNativeSuper(t);\n}\nexport { _wrapNativeSuper as default };","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nexport { _isNativeFunction as default };","import isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nexport { _construct as default };"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","fetchFromLocalFS","_ref","_asyncToGenerator","_regeneratorRuntime","_callee2","localfsScheme","url","toDataURL","prefix","path","content","options","dataURL","mime","_context2","prev","next","_ref2","_callee","_context","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x3","apply","arguments","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x","_x2","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","importScripts","_assetsURL","error","Request","_objectSpread","credentials","toString","startsWith","_remoteProxy","console","BasthonEvent","_Event","id","data","detail","Event","KernelBase","this","_isReady","_ready","PromiseDelegate","_stopped","_execution_count","_pendingInput","undefined","_listeners","Map","_files","_modules","_options","clone","_rootPath","rootPath","key","value","VERSION","get","code","outCallback","errCallback","_putFile","filename","set","_putModule","_more","source","_complete","_callee4","_context4","_x6","languageName","_init2","_callee5","_context5","_init3","_callee6","_context6","safeKernel","warn","_init","addEventListener","evalFromEvent","bind","start","_start2","_callee7","_context7","_start3","_callee8","_this2","_context8","_start","forEach","v","k","putFile","putModule","_stop2","_callee9","_context9","_stop","_callee10","_context10","promise","absolute","version","language","base","window","location","pathname","String","blob","type","createObjectURL","anchor","document","createElement","download","target","style","display","appendChild","click","removeChild","eventName","dispatchEvent","callback","_callback","event","listeners","removeEventListener","_inputAsync","_callee11","prompt","password","pd","res","_args11","_context11","_x7","_this$_pendingInput","obj","JSON","parse","stringify","_putRessource","_callee12","_filename$split$pop","ext","_context12","split","pop","moduleExts","includes","_x8","_x9","_evalFromEvent","_callee13","stdCallback","args","_dataEvent","executionCount","dataEvent","_this3","_context13","std","text","stream","evalAsync","execution_count","_x10","script","onload","src","head","_assertThisInitialized","e","ReferenceError","_defineProperty","r","t","Object","defineProperty","enumerable","configurable","writable","_get","Reflect","p","o","hasOwnProperty","call","getPrototypeOf","n","getOwnPropertyDescriptor","_getPrototypeOf","setPrototypeOf","__proto__","TypeError","prototype","create","constructor","_possibleConstructorReturn","_setPrototypeOf","_isNativeReflectConstruct","Boolean","valueOf","construct","Function","has","Wrapper","push"],"sourceRoot":""}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-base_lib_worker_index_js-_a2470.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/worker-utils.js"],"sourcesContent":["/**\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/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n const prefix = localfsScheme;\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = await self.basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n};\n/**\n * Get the origin of an url.\n */\nconst origin = (url) => new URL(url).origin;\n/**\n * Get the parent path of an url.\n */\nconst parent = (url) => {\n const abs = new URL(url).href;\n return abs.substring(0, abs.lastIndexOf(\"/\"));\n};\n/**\n * we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\nconst mockFetch = (legacy) => {\n // already mocked?\n if (self.fetch.name === \"mockedFetch\")\n return;\n const trueFetch = self.fetch;\n async function mockedFetch(request, init) {\n if (!legacy && (self.importScripts == null || self._assetsURL == null))\n return Response.error();\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (!legacy && origin(url) === origin(self._assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(self._assetsURL)) {\n const proxy = self._remoteProxy;\n const { body, options } = await proxy.fetch(url, init);\n return new Response(body, options);\n }\n throw new Error(\"Ressource is outside the proxy' scope\");\n }\n return await trueFetch(url, init);\n }\n catch (e) {\n console.error(`security proxy: request to ${url} throw error: ${e.toString()}`);\n return Response.error();\n }\n }\n self.fetch = mockedFetch;\n};\nexport { NotImplementedError, mockFetch };\n","import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\n// mock Worker to support sandboxing and keep webpack compatibility\nif (globalThis.Worker.name !== \"SandboxedWorker\") {\n class SandboxedWorker extends Worker {\n constructor(url, options) {\n if (options?.sandboxed === true) {\n const absURL = new URL(url).href;\n const assetsURL = absURL.substring(0, absURL.lastIndexOf(\"/\"));\n // worker created with a 'data' url scheme has opaque origin\n // https://html.spec.whatwg.org/multipage/workers.html#script-settings-for-workers:concept-origin-opaque\n const workerScript = `self._assetsURL = \"${assetsURL}\";\n globalThis = {importScripts: self.importScripts, location: \"${url}\"};\n importScripts(\"${url}\");\n globalThis = self;`.replace(/\\s/g, \"\");\n super(`data:text/javascript;base64,${btoa(workerScript)}`);\n }\n else {\n super(url, options);\n }\n }\n }\n globalThis.Worker = SandboxedWorker;\n}\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n this._legacy = false;\n this._legacy = options?.legacy === true;\n }\n /**\n * Is this a legacy worker? i.e. not runing in a worker.\n */\n isLegacy() {\n return this._legacy;\n }\n /**\n * Is this kernel safe? (loaded in an isolated web worker)\n */\n safeKernel() {\n return !this.isLegacy();\n }\n /**\n * Get a new worker (should be overloaded).\n */\n newWorker() {\n throw new NotImplementedError(\"newWorker\");\n }\n /**\n * Import the code for a legacy worker (running in the main thread).\n */\n async importLegacyWorker() {\n throw new NotImplementedError(\"importLegacyWorker\");\n }\n /**\n * Create the kernel webworker and setup communication.\n */\n async setupWorker() {\n const comlinkChannel = new MessageChannel();\n if (this.isLegacy()) {\n // running in main thread via message channel (fake worker)\n //@ts-ignore\n self._commPort = comlinkChannel.port1;\n await this.importLegacyWorker();\n }\n else {\n // setup the kernel worker\n const worker = this.newWorker();\n // send communication port\n worker.postMessage(comlinkChannel.port1, [comlinkChannel.port1]);\n this._worker = worker;\n }\n const KernelWorker = wrap(comlinkChannel.port2);\n // why typescript complains about this call? yet, this is advertised in\n // https://github.com/GoogleChromeLabs/comlink/blob/dffe9050f63b1b39f30213adeb1dd4b9ed7d2594/docs/examples/03-classes-example/index.html#L15\n //@ts-ignore\n this._remote = await new KernelWorker(this._options);\n // setup the communication channel\n const commChannel = new MessageChannel();\n commChannel.port2.onmessage = (e) => this.processWorkerMessage(e.data);\n await this.remote?.setCommPort(transfer(commChannel.port1, [commChannel.port1]));\n // WARNING: without the setCommPort call, KernelWorker (proxy)\n // is garbage collected and comlink releases the proxy,\n // breaking all the communications... (don't know really why)\n // If you experience this, just keep a ref on the proxy with e.g.\n // this.PROXY = KernelWorker\n }\n /**\n * Start the worker.\n */\n async _start() {\n await super._start();\n // setup the proxy worker\n const proxyWorker = new Worker(new URL(\"./comlink-proxy.js\", import.meta.url), {\n type: \"module\",\n });\n const proxy = wrap(proxyWorker);\n // setup the kernel worker\n await this.setupWorker();\n // bind ports\n const port = await proxy[createEndpoint]();\n await this.remote?.setProxyPort(transfer(port, [port]));\n // init remote\n await this.remote?.init();\n }\n /**\n * Comlink remote getter.\n */\n get remote() {\n return this._remote;\n }\n /**\n * Stop the worker.\n */\n async _stop() {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n processWorkerMessage(msg) {\n switch (msg.type) {\n case \"stream\":\n const { stream, text } = msg.content;\n const dataEvent = this.clone(msg.data);\n dataEvent.stream = stream;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n break;\n case \"download\":\n const { content, filename } = msg.content;\n this.download(content, filename);\n break;\n case \"display\":\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data, sab } = msg.content;\n (async () => {\n const res = (await this.inputAsync(prompt, password, data));\n const encodedRes = new TextEncoder().encode(res);\n new Uint8Array(sab).set(encodedRes.subarray(0, sab.byteLength));\n Atomics.notify(new Int32Array(sab), 0, 1);\n })();\n break;\n default: // ignoring (probably a comlink message)\n }\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // return result\n let result;\n switch (execResult?.status) {\n case \"ok\":\n result = execResult.result;\n break;\n case \"error\":\n break;\n }\n return [result, this._execution_count];\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n await super.putFile(filename, content);\n await this.remote?.putFile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n await super.putModule(filename, content);\n await this.remote?.putModule(filename, content);\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 async complete(code) {\n return (await this.remote?.complete(code)) ?? [];\n }\n /**\n * Tell wether we should wait for more code or if it can\n * be run as is.\n *\n * Useful to set ps1/ps2 in console prompt.\n */\n async more(code) {\n return (await this.remote?.more(code)) ?? false;\n }\n}\n","import { expose as exposeComlink } from \"comlink\";\nconst insideWorker = () => \n//@ts-ignore\ntypeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nexport const expose = (kwc) => {\n if (insideWorker()) {\n // worker\n const listener = (msg) => {\n if (!(msg?.data instanceof MessagePort))\n return;\n removeEventListener(\"message\", listener);\n exposeComlink(kwc, msg.data);\n };\n addEventListener(\"message\", listener);\n }\n else {\n // main thread\n exposeComlink(kwc, self._commPort);\n self._commPort = undefined; // no more needed\n }\n};\n"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","fetchFromLocalFS","_ref","_asyncToGenerator","_regeneratorRuntime","_callee2","localfsScheme","url","toDataURL","prefix","path","content","options","dataURL","mime","_context2","prev","next","_ref2","_callee","_context","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x3","apply","arguments","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x","_x2","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","importScripts","_assetsURL","error","Request","_objectSpread","credentials","toString","startsWith","_remoteProxy","console","globalThis","Worker","SandboxedWorker","_Worker","sandboxed","absURL","assetsURL","workerScript","replace","_callSuper","btoa","_assertThisInitialized","expose","kwc","WorkerGlobalScope","listener","msg","data","MessagePort","removeEventListener","exposeComlink","addEventListener","_commPort","undefined"],"sourceRoot":""}
1
+ {"version":3,"file":"kernel-base_lib_worker_index_js-_a2470.js","mappings":"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","sources":["webpack://@basthon/browser-bundle/../kernel-base/lib/commons.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/kernel-main.js","webpack://@basthon/browser-bundle/../kernel-base/lib/worker/worker-utils.js"],"sourcesContent":["/**\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/* fetch from local FS */\nconst fetchFromLocalFS = async (localfsScheme, url) => {\n const toDataURL = async (content) => {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n resolve(reader.result);\n };\n reader.onerror = reject;\n reader.readAsDataURL(new Blob([content]));\n });\n };\n const prefix = localfsScheme;\n const path = url.slice(prefix.length);\n let content = null;\n const options = {\n status: 200,\n statusText: \"OK\",\n headers: new Headers(),\n };\n try {\n //@ts-ignore\n content = await self.basthon.getFile(path);\n const dataURL = await toDataURL(content);\n const mime = dataURL.substring(dataURL.indexOf(\":\") + 1, dataURL.indexOf(\";\"));\n content = content.buffer;\n options.headers.append(\"Content-Type\", mime);\n options.headers.append(\"Content-Length\", content.byteLength);\n }\n catch (e) {\n options.status = 404;\n options.statusText = \"Not Found\";\n }\n return new Response(content, options);\n};\n/**\n * Get the origin of an url.\n */\nconst origin = (url) => new URL(url).origin;\n/**\n * Get the parent path of an url.\n */\nconst parent = (url) => {\n const abs = new URL(url).href;\n return abs.substring(0, abs.lastIndexOf(\"/\"));\n};\n/**\n * we mock the fetch function to:\n * - redirect queries to local FS\n * - bypass the worker's opaque origin\n */\nconst mockFetch = (legacy) => {\n // already mocked?\n if (self.fetch.name === \"mockedFetch\")\n return;\n const trueFetch = self.fetch;\n async function mockedFetch(request, init) {\n if (!legacy && (self.importScripts == null || self._assetsURL == null))\n return Response.error();\n // force all params to init object\n if (request instanceof Request)\n init = { ...request, ...init };\n // ensure credentials are not sent\n init = { ...init, ...{ credentials: \"omit\" } };\n const url = request.url ?? request.toString();\n const localfsScheme = \"filesystem:/\";\n try {\n // requests towards localfs\n if (url.startsWith(localfsScheme)) {\n return await fetchFromLocalFS(localfsScheme, url);\n }\n else if (!legacy && origin(url) === origin(self._assetsURL)) {\n // requests towards same origin\n // only url under the assets folder are proxyied\n if (parent(url).startsWith(self._assetsURL)) {\n const proxy = self._remoteProxy;\n const { body, options } = await proxy.fetch(url, init);\n return new Response(body, options);\n }\n throw new Error(\"Ressource is outside the proxy' scope\");\n }\n return await trueFetch(url, init);\n }\n catch (e) {\n console.error(`security proxy: request to ${url} throw error: ${e.toString()}`);\n return Response.error();\n }\n }\n self.fetch = mockedFetch;\n};\nexport { NotImplementedError, mockFetch };\n","import { wrap, createEndpoint, transfer } from \"comlink\";\nimport { NotImplementedError } from \"../commons\";\nimport { KernelBase } from \"../kernel\";\n// mock Worker to support sandboxing and keep webpack compatibility\nif (globalThis.Worker.name !== \"SandboxedWorker\") {\n class SandboxedWorker extends Worker {\n constructor(url, options) {\n if (options?.sandboxed === true) {\n const absURL = new URL(url).href;\n const assetsURL = absURL.substring(0, absURL.lastIndexOf(\"/\"));\n // worker created with a 'data' url scheme has opaque origin\n // https://html.spec.whatwg.org/multipage/workers.html#script-settings-for-workers:concept-origin-opaque\n const workerScript = `self._assetsURL = \"${assetsURL}\";\n globalThis = {importScripts: self.importScripts, location: \"${url}\"};\n importScripts(\"${url}\");\n globalThis = self;`.replace(/\\s/g, \"\");\n super(`data:text/javascript;base64,${btoa(workerScript)}`);\n }\n else {\n super(url, options);\n }\n }\n }\n globalThis.Worker = SandboxedWorker;\n}\nexport class KernelMainBase extends KernelBase {\n constructor(options) {\n super(options);\n this._legacy = false;\n this._legacy = options?.legacy === true;\n if (!this.isLegacy() && globalThis.crossOriginIsolated)\n this._sab = new SharedArrayBuffer(1024);\n }\n /**\n * Is this a legacy worker? i.e. not runing in a worker.\n */\n isLegacy() {\n return this._legacy;\n }\n /**\n * Is this kernel safe? (loaded in an isolated web worker)\n */\n safeKernel() {\n return !this.isLegacy();\n }\n /**\n * Get a new worker (should be overloaded).\n */\n newWorker() {\n throw new NotImplementedError(\"newWorker\");\n }\n /**\n * Import the code for a legacy worker (running in the main thread).\n */\n async importLegacyWorker() {\n throw new NotImplementedError(\"importLegacyWorker\");\n }\n /**\n * Create the kernel webworker and setup communication.\n */\n async setupWorker() {\n const comlinkChannel = new MessageChannel();\n if (this.isLegacy()) {\n // running in main thread via message channel (fake worker)\n //@ts-ignore\n self._commPort = comlinkChannel.port1;\n await this.importLegacyWorker();\n }\n else {\n // setup the kernel worker\n const worker = this.newWorker();\n // send communication port\n worker.postMessage(comlinkChannel.port1, [comlinkChannel.port1]);\n this._worker = worker;\n }\n const KernelWorker = wrap(comlinkChannel.port2);\n // why typescript complains about this call? yet, this is advertised in\n // https://github.com/GoogleChromeLabs/comlink/blob/dffe9050f63b1b39f30213adeb1dd4b9ed7d2594/docs/examples/03-classes-example/index.html#L15\n //@ts-ignore\n this._remote = await new KernelWorker(this._options);\n // setup the communication channel\n const commChannel = new MessageChannel();\n commChannel.port2.onmessage = (e) => this.processWorkerMessage(e.data);\n await this.remote?.setCommPort(transfer(commChannel.port1, [commChannel.port1]));\n // WARNING: without the setCommPort call, KernelWorker (proxy)\n // is garbage collected and comlink releases the proxy,\n // breaking all the communications... (don't know really why)\n // If you experience this, just keep a ref on the proxy with e.g.\n // this.PROXY = KernelWorker\n }\n /**\n * Start the worker.\n */\n async _start() {\n await super._start();\n // setup the proxy worker\n const proxyWorker = new Worker(new URL(\"./comlink-proxy.js\", import.meta.url), {\n type: \"module\",\n });\n const proxy = wrap(proxyWorker);\n // setup the kernel worker\n await this.setupWorker();\n if (this._sab != null) {\n console.log(\"Using SharedArrayBuffer for synchronous worker communication.\");\n await this._remote?.setSAB(this._sab);\n }\n // bind ports\n const port = await proxy[createEndpoint]();\n await this.remote?.setProxyPort(transfer(port, [port]));\n // init remote\n await this.remote?.init();\n }\n /**\n * Comlink remote getter.\n */\n get remote() {\n return this._remote;\n }\n /**\n * Stop the worker.\n */\n async _stop() {\n this._worker?.terminate();\n this._worker = undefined;\n this._remote = undefined;\n await super._stop();\n }\n /**\n * Process messages from worker (if any).\n */\n processWorkerMessage(msg) {\n switch (msg.type) {\n case \"stream\":\n const { stream, text } = msg.content;\n const dataEvent = this.clone(msg.data);\n dataEvent.stream = stream;\n dataEvent.content = text;\n this.dispatchEvent(\"eval.output\", dataEvent);\n break;\n case \"download\":\n const { content, filename } = msg.content;\n this.download(content, filename);\n break;\n case \"display\":\n this.dispatchEvent(\"eval.display\", msg.data);\n break;\n case \"input\":\n const { prompt, password, data } = msg.content;\n (async () => {\n const res = (await this.inputAsync(prompt, password, data));\n if (this._sab == null)\n return;\n const encodedRes = new TextEncoder().encode(res);\n new Uint8Array(this._sab).set(encodedRes.subarray(0, this._sab.byteLength));\n Atomics.notify(new Int32Array(this._sab), 0, 1);\n })();\n break;\n default: // ignoring (probably a comlink message)\n }\n }\n async evalAsync(code, outCallback, errCallback, data = null) {\n // force interactivity in all modes\n data.interactive = true;\n this._execution_count++;\n // evaluation\n const execResult = (await this.remote?.eval(data, code));\n // return result\n let result;\n switch (execResult?.status) {\n case \"ok\":\n result = execResult.result;\n break;\n case \"error\":\n break;\n }\n return [result, this._execution_count];\n }\n /**\n * Put a file on the local (emulated) filesystem.\n */\n async putFile(filename, content) {\n await super.putFile(filename, content);\n await this.remote?.putFile(filename, content);\n }\n /**\n * Put an importable module on the local (emulated) filesystem\n * and load dependencies.\n */\n async putModule(filename, content) {\n await super.putModule(filename, content);\n await this.remote?.putModule(filename, content);\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 async complete(code) {\n return (await this.remote?.complete(code)) ?? [];\n }\n /**\n * Tell wether we should wait for more code or if it can\n * be run as is.\n *\n * Useful to set ps1/ps2 in console prompt.\n */\n async more(code) {\n return (await this.remote?.more(code)) ?? false;\n }\n}\n","import { expose as exposeComlink } from \"comlink\";\nconst insideWorker = () => \n//@ts-ignore\ntypeof WorkerGlobalScope !== \"undefined\" && self instanceof WorkerGlobalScope;\nexport const expose = (kwc) => {\n if (insideWorker()) {\n // worker\n const listener = (msg) => {\n if (!(msg?.data instanceof MessagePort))\n return;\n removeEventListener(\"message\", listener);\n exposeComlink(kwc, msg.data);\n };\n addEventListener(\"message\", listener);\n }\n else {\n // main thread\n exposeComlink(kwc, self._commPort);\n self._commPort = undefined; // no more needed\n }\n};\n"],"names":["NotImplementedError","_Error","funcName","_this","_classCallCheck","concat","name","_inherits","_createClass","_wrapNativeSuper","Error","fetchFromLocalFS","_ref","_asyncToGenerator","_regeneratorRuntime","_callee2","localfsScheme","url","toDataURL","prefix","path","content","options","dataURL","mime","_context2","prev","next","_ref2","_callee","_context","Promise","resolve","reject","reader","FileReader","onloadend","result","onerror","readAsDataURL","Blob","abrupt","sent","stop","_x3","apply","arguments","slice","length","status","statusText","headers","Headers","self","basthon","getFile","substring","indexOf","buffer","append","byteLength","t0","Response","_x","_x2","origin","URL","parent","abs","href","lastIndexOf","mockFetch","legacy","fetch","trueFetch","_x4","_x5","_mockedFetch","_callee3","request","init","_request$url","proxy","_yield$proxy$fetch","body","_context3","importScripts","_assetsURL","error","Request","_objectSpread","credentials","toString","startsWith","_remoteProxy","console","globalThis","Worker","SandboxedWorker","_Worker","sandboxed","absURL","assetsURL","workerScript","replace","_callSuper","btoa","_assertThisInitialized","expose","kwc","WorkerGlobalScope","listener","msg","data","MessagePort","removeEventListener","exposeComlink","addEventListener","_commPort","undefined"],"sourceRoot":""}
@@ -1,3 +1,3 @@
1
1
  /*! For license information please see kernel-base_lib_worker_index_js-_a2471.js.LICENSE.txt */
2
- "use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_index_js-_a2471"],{8595:(e,t,n)=>{n.d(t,{Ij:()=>b,fI:()=>_.f,p:()=>x});var r=n(6330),a=n(5018),s=n(414),o=n(5152),i=n(2474),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f),d=n(7695),v=n(908),y=n(3297);function m(e,t,n,r){var s=(0,a.A)((0,c.A)(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof s?function(e){return s.apply(n,e)}:s}function k(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,w()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}if("SandboxedWorker"!==globalThis.Worker.name){var g=function(e){function t(e,n){var r;if((0,o.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,s=a.substring(0,a.lastIndexOf("/")),u='self._assetsURL = "'.concat(s,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;').replace(/\s/g,"");r=k(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else r=k(this,t,[e,n]);return(0,i.A)(r)}return(0,l.A)(t,e),(0,s.A)(t)}((0,p.A)(Worker));globalThis.Worker=g}var b=function(e){function t(e){var n;return(0,o.A)(this,t),(n=k(this,t,[e]))._legacy=!1,n._legacy=!0===(null==e?void 0:e.legacy),n}return(0,l.A)(t,e),(0,s.A)(t,[{key:"isLegacy",value:function(){return this._legacy}},{key:"safeKernel",value:function(){return!this.isLegacy()}},{key:"newWorker",value:function(){throw new v.E("newWorker")}},{key:"importLegacyWorker",value:(g=(0,r.A)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new v.E("importLegacyWorker");case 1:case"end":return e.stop()}}),e)}))),function(){return g.apply(this,arguments)})},{key:"setupWorker",value:(w=(0,r.A)(h().mark((function e(){var t,n,r,a,s,o=this;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new MessageChannel,!this.isLegacy()){e.next=7;break}return self._commPort=n.port1,e.next=5,this.importLegacyWorker();case 5:e.next=10;break;case 7:(r=this.newWorker()).postMessage(n.port1,[n.port1]),this._worker=r;case 10:return a=(0,d.LV)(n.port2),e.next=13,new a(this._options);case 13:return this._remote=e.sent,(s=new MessageChannel).port2.onmessage=function(e){return o.processWorkerMessage(e.data)},e.next=18,null===(t=this.remote)||void 0===t?void 0:t.setCommPort((0,d.k0)(s.port1,[s.port1]));case 18:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{key:"_start",value:(y=(0,r.A)(h().mark((function e(){var r,a,s,o,i;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"_start",this,3)([]);case 2:return s=new Worker(new URL(n.p+n.u("kernel-base_lib_worker_comlink-proxy_js"),n.b),{type:void 0}),o=(0,d.LV)(s),e.next=6,this.setupWorker();case 6:return e.next=8,o[d.UD]();case 8:return i=e.sent,e.next=11,null===(r=this.remote)||void 0===r?void 0:r.setProxyPort((0,d.k0)(i,[i]));case 11:return e.next=13,null===(a=this.remote)||void 0===a?void 0:a.init();case 13:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"remote",get:function(){return this._remote}},{key:"_stop",value:(f=(0,r.A)(h().mark((function e(){var n;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(n=this._worker)||void 0===n||n.terminate(),this._worker=void 0,this._remote=void 0,e.next=5,m(t,"_stop",this,3)([]);case 5:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"processWorkerMessage",value:function(e){var t=this;switch(e.type){case"stream":var n=e.content,a=n.stream,s=n.text,o=this.clone(e.data);o.stream=a,o.content=s,this.dispatchEvent("eval.output",o);break;case"download":var i=e.content,u=i.content,c=i.filename;this.download(u,c);break;case"display":this.dispatchEvent("eval.display",e.data);break;case"input":var l=e.content,p=l.prompt,f=l.password,d=l.data,v=l.sab;(0,r.A)(h().mark((function e(){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.inputAsync(p,f,d);case 2:n=e.sent,r=(new TextEncoder).encode(n),new Uint8Array(v).set(r.subarray(0,v.byteLength)),Atomics.notify(new Int32Array(v),0,1);case 6:case"end":return e.stop()}}),e)})))()}}},{key:"evalAsync",value:(p=(0,r.A)(h().mark((function e(t,n,r){var a,s,o,i,u=arguments;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(s=u.length>3&&void 0!==u[3]?u[3]:null).interactive=!0,this._execution_count++,e.next=5,null===(a=this.remote)||void 0===a?void 0:a.eval(s,t);case 5:o=e.sent,e.t0=null==o?void 0:o.status,e.next="ok"===e.t0?9:"error"===e.t0?11:12;break;case 9:return i=o.result,e.abrupt("break",12);case 11:return e.abrupt("break",12);case 12:return e.abrupt("return",[i,this._execution_count]);case 13:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return p.apply(this,arguments)})},{key:"putFile",value:(c=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putFile",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putFile(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"putModule",value:(u=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putModule",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putModule(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"complete",value:(i=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.complete(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=[];case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"more",value:(a=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.more(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=!1;case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})}]);var a,i,u,c,p,f,y,w,g}(y.z),_=n(5607),x=function(e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){var t=function(n){(null==n?void 0:n.data)instanceof MessagePort&&(removeEventListener("message",t),(0,d.p)(e,n.data))};addEventListener("message",t)}else(0,d.p)(e,self._commPort),self._commPort=void 0}},5607:(e,t,n)=>{n.d(t,{f:()=>p});var r=n(6330),a=n(5152),s=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=function(){return(0,s.A)((function e(t){var n=this;(0,a.A)(this,e),this._ready=new u.D,this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),(0,c.J)(this.isLegacy()),self.basthon=this,null==self._prompt&&(self._prompt=globalThis.prompt),globalThis.prompt=function(e){return n.input(e)}}),[{key:"isLegacy",value:function(){return this._legacy}},{key:"_init",value:(d=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)})},{key:"init",value:(h=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._init();case 3:this._ready.resolve(),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0);case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return h.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){this.postMessage=e.postMessage.bind(e)}},{key:"setProxyPort",value:function(e){self._remoteProxy=(0,l.LV)(e)}},{key:"sendStream",value:function(e,t,n){var r;null===(r=this.postMessage)||void 0===r||r.call(this,{data:e,type:"stream",content:{stream:t,text:n}})}},{key:"sendStdoutStream",value:function(e,t){this.sendStream(e,"stdout",t)}},{key:"sendStderrStream",value:function(e,t){this.sendStream(e,"stderr",t)}},{key:"blobToDataURL",value:(f=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){var n=new FileReader;n.onloadend=function(){return e(n.result)},n.readAsDataURL(t)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"displayBlob",value:(p=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null==n&&(n=this.clone(this.__eval_data__)),e.next=3,this.blobToDataURL(t);case 3:if(a=e.sent,s="data:image/png;base64,",!a.startsWith(s)){e.next=11;break}o=a.slice(22),n.display_type="multiple",n.content={"image/png":o},e.next=12;break;case 11:return e.abrupt("return");case 12:null===(r=this.postMessage)||void 0===r||r.call(this,{data:n,type:"display"});case 13:case"end":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:"display",value:function(e){var t,n=this,r=this.clone(this.__eval_data__);null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas?e.convertToBlob().then((function(e){return n.displayBlob(e,r)})):(r.display_type="multiple",r.content=e,null===(t=this.postMessage)||void 0===t||t.call(this,{data:r,type:"display"}))}},{key:"_eval",value:(o=(0,r.A)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return o.apply(this,arguments)})},{key:"eval",value:(n=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.__eval_data__=t,e.prev=1,e.next=4,this._eval(t,n);case 4:return r=e.sent,e.abrupt("return",{data:t,status:"ok",result:r});case 8:return e.prev=8,e.t0=e.catch(1),a=e.t0.name,s=e.t0.stack,o=e.t0.message,this.sendStderrStream(t,e.t0.toString()),e.abrupt("return",{data:t,status:"error",error:{name:a,value:o,traceback:null==s?void 0:s.toString()}});case 13:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(e,t){return n.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.E("putFile")}},{key:"putModule",value:function(e,t){throw new c.E("putModule")}},{key:"complete",value:(t=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",[]);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"more",value:(e=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("more");case 1:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})},{key:"download",value:function(e,t){var n;null===(n=this.postMessage)||void 0===n||n.call(this,{type:"download",content:{content:e,filename:t}})}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"sleep",value:function(e){if(e*=1e3,!globalThis.crossOriginIsolated||this.isLegacy())for(var t=Date.now();Date.now()-t<e;);else{var n=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(n,0,0,e)}}},{key:"decodeSharedArrayBuffer",value:function(e){for(var t=new Uint8Array(e),n=t.length;n>0&&0===t[n-1];n--);if(0===n)return"";var r=new Uint8Array(n);r.set(t.subarray(0,n));try{return(new TextDecoder).decode(r)}catch(e){if(t.length===n)throw new Error("String too long, can't decode");throw e}}},{key:"input",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(globalThis.crossOriginIsolated&&!this.isLegacy()){var r,a=this.clone(this.__eval_data__),s=new SharedArrayBuffer(1024);return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"input",content:{data:a,prompt:e,password:n,sab:s}}),Atomics.wait(new Int32Array(s),0,0),this.decodeSharedArrayBuffer(s)}return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:""}}]);var e,t,n,o,p,f,h,d}()},7695:(e,t,n)=>{n.d(t,{LV:()=>f,UD:()=>a,k0:()=>g,p:()=>l});const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),s=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),i=Symbol("Comlink.thrown"),u=e=>"object"==typeof e&&null!==e||"function"==typeof e,c=new Map([["proxy",{canHandle:e=>u(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize:e=>(e.start(),f(e))}],["throw",{canHandle:e=>u(e)&&i in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function l(e,t=globalThis,n=["*"]){t.addEventListener("message",(function a(s){if(!s||!s.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,s.origin))return void console.warn(`Invalid origin '${s.origin}' for comlink proxy`);const{id:u,type:c,path:f}=Object.assign({path:[]},s.data),h=(s.data.argumentList||[]).map(_);let d;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),n=f.reduce(((e,t)=>e[t]),e);switch(c){case"GET":d=n;break;case"SET":t[f.slice(-1)[0]]=_(s.data.value),d=!0;break;case"APPLY":d=n.apply(t,h);break;case"CONSTRUCT":d=function(e){return Object.assign(e,{[r]:!0})}(new n(...h));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;l(e,n),d=g(t,[t])}break;case"RELEASE":d=void 0;break;default:return}}catch(e){d={value:e,[i]:0}}Promise.resolve(d).catch((e=>({value:e,[i]:0}))).then((n=>{const[r,s]=b(n);t.postMessage(Object.assign(Object.assign({},r),{id:u}),s),"RELEASE"===c&&(t.removeEventListener("message",a),p(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[n,r]=b({value:new TypeError("Unserializable return value"),[i]:0});t.postMessage(Object.assign(Object.assign({},n),{id:u}),r)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function f(e,t){return m(e,[],t)}function h(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return x(e,{type:"RELEASE"}).then((()=>{p(e)}))}const v=new WeakMap,y="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(v.get(e)||0)-1;v.set(e,t),0===t&&d(e)}));function m(e,t=[],n=function(){}){let r=!1;const o=new Proxy(n,{get(n,a){if(h(r),a===s)return()=>{!function(e){y&&y.unregister(e)}(o),d(e),r=!0};if("then"===a){if(0===t.length)return{then:()=>o};const n=x(e,{type:"GET",path:t.map((e=>e.toString()))}).then(_);return n.then.bind(n)}return m(e,[...t,a])},set(n,a,s){h(r);const[o,i]=b(s);return x(e,{type:"SET",path:[...t,a].map((e=>e.toString())),value:o},i).then(_)},apply(n,s,o){h(r);const i=t[t.length-1];if(i===a)return x(e,{type:"ENDPOINT"}).then(_);if("bind"===i)return m(e,t.slice(0,-1));const[u,c]=k(o);return x(e,{type:"APPLY",path:t.map((e=>e.toString())),argumentList:u},c).then(_)},construct(n,a){h(r);const[s,o]=k(a);return x(e,{type:"CONSTRUCT",path:t.map((e=>e.toString())),argumentList:s},o).then(_)}});return function(e,t){const n=(v.get(t)||0)+1;v.set(t,n),y&&y.register(e,t,e)}(o,e),o}function k(e){const t=e.map(b);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const w=new WeakMap;function g(e,t){return w.set(e,t),e}function b(e){for(const[t,n]of c)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},w.get(e)||[]]}function _(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function t(n){n.data&&n.data.id&&n.data.id===a&&(e.removeEventListener("message",t),r(n.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:a},t),n)}))}}}]);
2
+ "use strict";(self.webpackChunk_basthon_browser_bundle=self.webpackChunk_basthon_browser_bundle||[]).push([["kernel-base_lib_worker_index_js-_a2471"],{8595:(e,t,n)=>{n.d(t,{Ij:()=>g,fI:()=>_.f,p:()=>x});var r=n(6330),a=n(5018),s=n(414),o=n(5152),i=n(2474),u=n(5309),c=n(2715),l=n(9296),p=n(2779),f=n(5799),h=n.n(f),d=n(7695),v=n(908),y=n(3297);function m(e,t,n,r){var s=(0,a.A)((0,c.A)(1&r?e.prototype:e),t,n);return 2&r&&"function"==typeof s?function(e){return s.apply(n,e)}:s}function k(e,t,n){return t=(0,c.A)(t),(0,u.A)(e,w()?Reflect.construct(t,n||[],(0,c.A)(e).constructor):t.apply(e,n))}function w(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(w=function(){return!!e})()}if("SandboxedWorker"!==globalThis.Worker.name){var b=function(e){function t(e,n){var r;if((0,o.A)(this,t),!0===(null==n?void 0:n.sandboxed)){var a=new URL(e).href,s=a.substring(0,a.lastIndexOf("/")),u='self._assetsURL = "'.concat(s,'";\n globalThis = {importScripts: self.importScripts, location: "').concat(e,'"};\n importScripts("').concat(e,'");\n globalThis = self;').replace(/\s/g,"");r=k(this,t,["data:text/javascript;base64,".concat(btoa(u))])}else r=k(this,t,[e,n]);return(0,i.A)(r)}return(0,l.A)(t,e),(0,s.A)(t)}((0,p.A)(Worker));globalThis.Worker=b}var g=function(e){function t(e){var n;return(0,o.A)(this,t),(n=k(this,t,[e]))._legacy=!1,n._legacy=!0===(null==e?void 0:e.legacy),!n.isLegacy()&&globalThis.crossOriginIsolated&&(n._sab=new SharedArrayBuffer(1024)),n}return(0,l.A)(t,e),(0,s.A)(t,[{key:"isLegacy",value:function(){return this._legacy}},{key:"safeKernel",value:function(){return!this.isLegacy()}},{key:"newWorker",value:function(){throw new v.E("newWorker")}},{key:"importLegacyWorker",value:(b=(0,r.A)(h().mark((function e(){return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new v.E("importLegacyWorker");case 1:case"end":return e.stop()}}),e)}))),function(){return b.apply(this,arguments)})},{key:"setupWorker",value:(w=(0,r.A)(h().mark((function e(){var t,n,r,a,s,o=this;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new MessageChannel,!this.isLegacy()){e.next=7;break}return self._commPort=n.port1,e.next=5,this.importLegacyWorker();case 5:e.next=10;break;case 7:(r=this.newWorker()).postMessage(n.port1,[n.port1]),this._worker=r;case 10:return a=(0,d.LV)(n.port2),e.next=13,new a(this._options);case 13:return this._remote=e.sent,(s=new MessageChannel).port2.onmessage=function(e){return o.processWorkerMessage(e.data)},e.next=18,null===(t=this.remote)||void 0===t?void 0:t.setCommPort((0,d.k0)(s.port1,[s.port1]));case 18:case"end":return e.stop()}}),e,this)}))),function(){return w.apply(this,arguments)})},{key:"_start",value:(y=(0,r.A)(h().mark((function e(){var r,a,s,o,i,u;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"_start",this,3)([]);case 2:return s=new Worker(new URL(n.p+n.u("kernel-base_lib_worker_comlink-proxy_js"),n.b),{type:void 0}),o=(0,d.LV)(s),e.next=6,this.setupWorker();case 6:if(null==this._sab){e.next=10;break}return console.log("Using SharedArrayBuffer for synchronous worker communication."),e.next=10,null===(i=this._remote)||void 0===i?void 0:i.setSAB(this._sab);case 10:return e.next=12,o[d.UD]();case 12:return u=e.sent,e.next=15,null===(r=this.remote)||void 0===r?void 0:r.setProxyPort((0,d.k0)(u,[u]));case 15:return e.next=17,null===(a=this.remote)||void 0===a?void 0:a.init();case 17:case"end":return e.stop()}}),e,this)}))),function(){return y.apply(this,arguments)})},{key:"remote",get:function(){return this._remote}},{key:"_stop",value:(f=(0,r.A)(h().mark((function e(){var n;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(n=this._worker)||void 0===n||n.terminate(),this._worker=void 0,this._remote=void 0,e.next=5,m(t,"_stop",this,3)([]);case 5:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"processWorkerMessage",value:function(e){var t=this;switch(e.type){case"stream":var n=e.content,a=n.stream,s=n.text,o=this.clone(e.data);o.stream=a,o.content=s,this.dispatchEvent("eval.output",o);break;case"download":var i=e.content,u=i.content,c=i.filename;this.download(u,c);break;case"display":this.dispatchEvent("eval.display",e.data);break;case"input":var l=e.content,p=l.prompt,f=l.password,d=l.data;(0,r.A)(h().mark((function e(){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.inputAsync(p,f,d);case 2:if(n=e.sent,null!=t._sab){e.next=5;break}return e.abrupt("return");case 5:r=(new TextEncoder).encode(n),new Uint8Array(t._sab).set(r.subarray(0,t._sab.byteLength)),Atomics.notify(new Int32Array(t._sab),0,1);case 8:case"end":return e.stop()}}),e)})))()}}},{key:"evalAsync",value:(p=(0,r.A)(h().mark((function e(t,n,r){var a,s,o,i,u=arguments;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(s=u.length>3&&void 0!==u[3]?u[3]:null).interactive=!0,this._execution_count++,e.next=5,null===(a=this.remote)||void 0===a?void 0:a.eval(s,t);case 5:o=e.sent,e.t0=null==o?void 0:o.status,e.next="ok"===e.t0?9:"error"===e.t0?11:12;break;case 9:return i=o.result,e.abrupt("break",12);case 11:return e.abrupt("break",12);case 12:return e.abrupt("return",[i,this._execution_count]);case 13:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return p.apply(this,arguments)})},{key:"putFile",value:(c=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putFile",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putFile(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return c.apply(this,arguments)})},{key:"putModule",value:(u=(0,r.A)(h().mark((function e(n,r){var a;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,m(t,"putModule",this,3)([n,r]);case 2:return e.next=4,null===(a=this.remote)||void 0===a?void 0:a.putModule(n,r);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t){return u.apply(this,arguments)})},{key:"complete",value:(i=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.complete(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=[];case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"more",value:(a=(0,r.A)(h().mark((function e(t){var n,r;return h().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null===(r=this.remote)||void 0===r?void 0:r.more(t);case 2:if(e.t1=n=e.sent,e.t0=null!==e.t1,!e.t0){e.next=6;break}e.t0=void 0!==n;case 6:if(!e.t0){e.next=10;break}e.t2=n,e.next=11;break;case 10:e.t2=!1;case 11:return e.abrupt("return",e.t2);case 12:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})}]);var a,i,u,c,p,f,y,w,b}(y.z),_=n(5607),x=function(e){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){var t=function(n){(null==n?void 0:n.data)instanceof MessagePort&&(removeEventListener("message",t),(0,d.p)(e,n.data))};addEventListener("message",t)}else(0,d.p)(e,self._commPort),self._commPort=void 0}},5607:(e,t,n)=>{n.d(t,{f:()=>p});var r=n(6330),a=n(5152),s=n(414),o=n(5799),i=n.n(o),u=n(9253),c=n(908),l=n(7695),p=function(){return(0,s.A)((function e(t){var n=this;(0,a.A)(this,e),this._ready=new u.D,this._options=t,this._legacy=!0===(null==t?void 0:t.legacy),(0,c.J)(this.isLegacy()),self.basthon=this,null==self._prompt&&(self._prompt=globalThis.prompt),globalThis.prompt=function(e){return n.input(e)}}),[{key:"isLegacy",value:function(){return this._legacy}},{key:"setSAB",value:function(e){this._sab=e}},{key:"_init",value:(d=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)}))),function(){return d.apply(this,arguments)})},{key:"init",value:(h=(0,r.A)(i().mark((function e(){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._init();case 3:this._ready.resolve(),e.next=9;break;case 6:e.prev=6,e.t0=e.catch(0),this._ready.reject(e.t0);case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(){return h.apply(this,arguments)})},{key:"ready",value:function(){return this._ready.promise}},{key:"setCommPort",value:function(e){this.postMessage=e.postMessage.bind(e)}},{key:"setProxyPort",value:function(e){self._remoteProxy=(0,l.LV)(e)}},{key:"sendStream",value:function(e,t,n){var r;null===(r=this.postMessage)||void 0===r||r.call(this,{data:e,type:"stream",content:{stream:t,text:n}})}},{key:"sendStdoutStream",value:function(e,t){this.sendStream(e,"stdout",t)}},{key:"sendStderrStream",value:function(e,t){this.sendStream(e,"stderr",t)}},{key:"blobToDataURL",value:(f=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){var n=new FileReader;n.onloadend=function(){return e(n.result)},n.readAsDataURL(t)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"displayBlob",value:(p=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null==n&&(n=this.clone(this.__eval_data__)),e.next=3,this.blobToDataURL(t);case 3:if(a=e.sent,s="data:image/png;base64,",!a.startsWith(s)){e.next=11;break}o=a.slice(22),n.display_type="multiple",n.content={"image/png":o},e.next=12;break;case 11:return e.abrupt("return");case 12:null===(r=this.postMessage)||void 0===r||r.call(this,{data:n,type:"display"});case 13:case"end":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:"display",value:function(e){var t,n=this,r=this.clone(this.__eval_data__);null!=globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas?e.convertToBlob().then((function(e){return n.displayBlob(e,r)})):(r.display_type="multiple",r.content=e,null===(t=this.postMessage)||void 0===t||t.call(this,{data:r,type:"display"}))}},{key:"_eval",value:(o=(0,r.A)(i().mark((function e(t,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("_eval");case 1:case"end":return e.stop()}}),e)}))),function(e,t){return o.apply(this,arguments)})},{key:"eval",value:(n=(0,r.A)(i().mark((function e(t,n){var r,a,s,o;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.__eval_data__=t,e.prev=1,e.next=4,this._eval(t,n);case 4:return r=e.sent,e.abrupt("return",{data:t,status:"ok",result:r});case 8:return e.prev=8,e.t0=e.catch(1),a=e.t0.name,s=e.t0.stack,o=e.t0.message,this.sendStderrStream(t,e.t0.toString()),e.abrupt("return",{data:t,status:"error",error:{name:a,value:o,traceback:null==s?void 0:s.toString()}});case 13:case"end":return e.stop()}}),e,this,[[1,8]])}))),function(e,t){return n.apply(this,arguments)})},{key:"putFile",value:function(e,t){throw new c.E("putFile")}},{key:"putModule",value:function(e,t){throw new c.E("putModule")}},{key:"complete",value:(t=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",[]);case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})},{key:"more",value:(e=(0,r.A)(i().mark((function e(t){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:throw new c.E("more");case 1:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})},{key:"download",value:function(e,t){var n;null===(n=this.postMessage)||void 0===n||n.call(this,{type:"download",content:{content:e,filename:t}})}},{key:"clone",value:function(e){return JSON.parse(JSON.stringify(e))}},{key:"sleep",value:function(e){if(e*=1e3,null!=this._sab)return Atomics.store(new Int32Array(this._sab),0,0),void Atomics.wait(new Int32Array(this._sab),0,0,e);for(var t=Date.now();Date.now()-t<e;);}},{key:"decodeSharedArrayBuffer",value:function(e){for(var t=new Uint8Array(e),n=t.length;n>0&&0===t[n-1];n--);if(0===n)return"";var r=new Uint8Array(n);r.set(t.subarray(0,n));try{return(new TextDecoder).decode(r)}catch(e){if(t.length===n)throw new Error("String too long, can't decode");throw e}}},{key:"input",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null!=this._sab){var r,a=this.clone(this.__eval_data__);return null===(r=this.postMessage)||void 0===r||r.call(this,{type:"input",content:{data:a,prompt:e,password:n}}),Atomics.store(new Int32Array(this._sab),0,0),Atomics.wait(new Int32Array(this._sab),0,0),this.decodeSharedArrayBuffer(this._sab)}return null!==(t=self._prompt(null!=e?e:""))&&void 0!==t?t:""}}]);var e,t,n,o,p,f,h,d}()},7695:(e,t,n)=>{n.d(t,{LV:()=>f,UD:()=>a,k0:()=>b,p:()=>l});const r=Symbol("Comlink.proxy"),a=Symbol("Comlink.endpoint"),s=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),i=Symbol("Comlink.thrown"),u=e=>"object"==typeof e&&null!==e||"function"==typeof e,c=new Map([["proxy",{canHandle:e=>u(e)&&e[r],serialize(e){const{port1:t,port2:n}=new MessageChannel;return l(e,t),[n,[n]]},deserialize:e=>(e.start(),f(e))}],["throw",{canHandle:e=>u(e)&&i in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function l(e,t=globalThis,n=["*"]){t.addEventListener("message",(function a(s){if(!s||!s.data)return;if(!function(e,t){for(const n of e){if(t===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(t))return!0}return!1}(n,s.origin))return void console.warn(`Invalid origin '${s.origin}' for comlink proxy`);const{id:u,type:c,path:f}=Object.assign({path:[]},s.data),h=(s.data.argumentList||[]).map(_);let d;try{const t=f.slice(0,-1).reduce(((e,t)=>e[t]),e),n=f.reduce(((e,t)=>e[t]),e);switch(c){case"GET":d=n;break;case"SET":t[f.slice(-1)[0]]=_(s.data.value),d=!0;break;case"APPLY":d=n.apply(t,h);break;case"CONSTRUCT":d=function(e){return Object.assign(e,{[r]:!0})}(new n(...h));break;case"ENDPOINT":{const{port1:t,port2:n}=new MessageChannel;l(e,n),d=b(t,[t])}break;case"RELEASE":d=void 0;break;default:return}}catch(e){d={value:e,[i]:0}}Promise.resolve(d).catch((e=>({value:e,[i]:0}))).then((n=>{const[r,s]=g(n);t.postMessage(Object.assign(Object.assign({},r),{id:u}),s),"RELEASE"===c&&(t.removeEventListener("message",a),p(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[n,r]=g({value:new TypeError("Unserializable return value"),[i]:0});t.postMessage(Object.assign(Object.assign({},n),{id:u}),r)}))})),t.start&&t.start()}function p(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function f(e,t){return m(e,[],t)}function h(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return x(e,{type:"RELEASE"}).then((()=>{p(e)}))}const v=new WeakMap,y="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const t=(v.get(e)||0)-1;v.set(e,t),0===t&&d(e)}));function m(e,t=[],n=function(){}){let r=!1;const o=new Proxy(n,{get(n,a){if(h(r),a===s)return()=>{!function(e){y&&y.unregister(e)}(o),d(e),r=!0};if("then"===a){if(0===t.length)return{then:()=>o};const n=x(e,{type:"GET",path:t.map((e=>e.toString()))}).then(_);return n.then.bind(n)}return m(e,[...t,a])},set(n,a,s){h(r);const[o,i]=g(s);return x(e,{type:"SET",path:[...t,a].map((e=>e.toString())),value:o},i).then(_)},apply(n,s,o){h(r);const i=t[t.length-1];if(i===a)return x(e,{type:"ENDPOINT"}).then(_);if("bind"===i)return m(e,t.slice(0,-1));const[u,c]=k(o);return x(e,{type:"APPLY",path:t.map((e=>e.toString())),argumentList:u},c).then(_)},construct(n,a){h(r);const[s,o]=k(a);return x(e,{type:"CONSTRUCT",path:t.map((e=>e.toString())),argumentList:s},o).then(_)}});return function(e,t){const n=(v.get(t)||0)+1;v.set(t,n),y&&y.register(e,t,e)}(o,e),o}function k(e){const t=e.map(g);return[t.map((e=>e[0])),(n=t.map((e=>e[1])),Array.prototype.concat.apply([],n))];var n}const w=new WeakMap;function b(e,t){return w.set(e,t),e}function g(e){for(const[t,n]of c)if(n.canHandle(e)){const[r,a]=n.serialize(e);return[{type:"HANDLER",name:t,value:r},a]}return[{type:"RAW",value:e},w.get(e)||[]]}function _(e){switch(e.type){case"HANDLER":return c.get(e.name).deserialize(e.value);case"RAW":return e.value}}function x(e,t,n){return new Promise((r=>{const a=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function t(n){n.data&&n.data.id&&n.data.id===a&&(e.removeEventListener("message",t),r(n.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:a},t),n)}))}}}]);
3
3
  //# sourceMappingURL=kernel-base_lib_worker_index_js-_a2471.js.map