@pyscript/core 0.7.27 → 0.7.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/codemirror-BDx3jn9j.js +2 -0
- package/dist/codemirror-BDx3jn9j.js.map +1 -0
- package/dist/codemirror_commands-JTJPAaAA.js +2 -0
- package/dist/codemirror_commands-JTJPAaAA.js.map +1 -0
- package/dist/codemirror_lang-python-r-dBg-Wd.js +2 -0
- package/dist/codemirror_lang-python-r-dBg-Wd.js.map +1 -0
- package/dist/codemirror_language-BeYrpeur.js +2 -0
- package/dist/codemirror_language-BeYrpeur.js.map +1 -0
- package/dist/codemirror_state-DxSVIxgn.js +2 -0
- package/dist/codemirror_state-DxSVIxgn.js.map +1 -0
- package/dist/codemirror_view-BsXnWedx.js +2 -0
- package/dist/codemirror_view-BsXnWedx.js.map +1 -0
- package/dist/core-BrNc1IIg.js +4 -0
- package/dist/core-BrNc1IIg.js.map +1 -0
- package/dist/core.css +1 -1
- package/dist/core.js +1 -1
- package/dist/{deprecations-manager-kmj_AGsV.js → deprecations-manager-DRJgE8qJ.js} +2 -2
- package/dist/{deprecations-manager-kmj_AGsV.js.map → deprecations-manager-DRJgE8qJ.js.map} +1 -1
- package/dist/{donkey-CKcbaOhQ.js → donkey-BnYtNAQe.js} +2 -2
- package/dist/{donkey-CKcbaOhQ.js.map → donkey-BnYtNAQe.js.map} +1 -1
- package/dist/{error-DN097_kl.js → error-DGunRiee.js} +2 -2
- package/dist/{error-DN097_kl.js.map → error-DGunRiee.js.map} +1 -1
- package/dist/index-CSo4Vcso.js +2 -0
- package/dist/index-CSo4Vcso.js.map +1 -0
- package/dist/{mpy-CmHIC_T4.js → mpy-Chq-mVyj.js} +2 -2
- package/dist/mpy-Chq-mVyj.js.map +1 -0
- package/dist/{py-BY9OyURr.js → py-DdbXoDn0.js} +2 -2
- package/dist/py-DdbXoDn0.js.map +1 -0
- package/dist/{py-editor-md0FEZ4Z.js → py-editor-B_2eMuPl.js} +2 -2
- package/dist/py-editor-B_2eMuPl.js.map +1 -0
- package/dist/{py-game-CDWnCqy1.js → py-game-BtbHgsps.js} +2 -2
- package/dist/py-game-BtbHgsps.js.map +1 -0
- package/dist/{py-terminal-DDBTLKy-.js → py-terminal-y3Wo8qu7.js} +2 -2
- package/dist/{py-terminal-DDBTLKy-.js.map → py-terminal-y3Wo8qu7.js.map} +1 -1
- package/dist/pyodide_graph-CX6fRcVL.js +2 -0
- package/dist/pyodide_graph-CX6fRcVL.js.map +1 -0
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/toml-Blg7Izee.js.map +1 -1
- package/dist/toml-V4Savzlc.js.map +1 -1
- package/dist/xterm-Bdboj2r8.js +2 -0
- package/dist/xterm-Bdboj2r8.js.map +1 -0
- package/dist/xterm-readline-DTqC_fk6.js +2 -0
- package/dist/xterm-readline-DTqC_fk6.js.map +1 -0
- package/dist/{xterm_addon-fit-DxKdSnof.js → xterm_addon-fit-43qXDVCl.js} +2 -14
- package/dist/xterm_addon-fit-43qXDVCl.js.map +1 -0
- package/dist/{xterm_addon-web-links-B6rWzrcs.js → xterm_addon-web-links-DVH-i-UR.js} +2 -14
- package/dist/xterm_addon-web-links-DVH-i-UR.js.map +1 -0
- package/dist/zip-T1gzVEcZ.js +2 -0
- package/dist/zip-T1gzVEcZ.js.map +1 -0
- package/package.json +21 -19
- package/src/3rd-party/xterm-readline.js +2 -2
- package/src/3rd-party/xterm.js +10 -2
- package/src/3rd-party/xterm_addon-fit.js +2 -14
- package/src/3rd-party/xterm_addon-web-links.js +2 -14
- package/src/core.css +1 -1
- package/src/fs.js +0 -2
- package/src/plugins/py-editor.js +12 -1
- package/src/plugins/py-terminal/mpy.js +1 -1
- package/src/plugins/py-terminal/py.js +1 -1
- package/dist/codemirror-lAW8P_b2.js +0 -2
- package/dist/codemirror-lAW8P_b2.js.map +0 -1
- package/dist/codemirror_commands-Og5MXTi1.js +0 -2
- package/dist/codemirror_commands-Og5MXTi1.js.map +0 -1
- package/dist/codemirror_lang-python-C__shTTP.js +0 -2
- package/dist/codemirror_lang-python-C__shTTP.js.map +0 -1
- package/dist/codemirror_language-BRdaMe3x.js +0 -2
- package/dist/codemirror_language-BRdaMe3x.js.map +0 -1
- package/dist/codemirror_state-BNbbkoNK.js +0 -2
- package/dist/codemirror_state-BNbbkoNK.js.map +0 -1
- package/dist/codemirror_view-WuoIJFLW.js +0 -2
- package/dist/codemirror_view-WuoIJFLW.js.map +0 -1
- package/dist/core-of365ts-.js +0 -4
- package/dist/core-of365ts-.js.map +0 -1
- package/dist/index-DqzYjG-t.js +0 -2
- package/dist/index-DqzYjG-t.js.map +0 -1
- package/dist/mpy-CmHIC_T4.js.map +0 -1
- package/dist/py-BY9OyURr.js.map +0 -1
- package/dist/py-editor-md0FEZ4Z.js.map +0 -1
- package/dist/py-game-CDWnCqy1.js.map +0 -1
- package/dist/pyodide_graph-BvONa7d5.js +0 -2
- package/dist/pyodide_graph-BvONa7d5.js.map +0 -1
- package/dist/xterm-DrSYbXEP.js +0 -2
- package/dist/xterm-DrSYbXEP.js.map +0 -1
- package/dist/xterm-readline-C4_t4zrr.js +0 -2
- package/dist/xterm-readline-C4_t4zrr.js.map +0 -1
- package/dist/xterm_addon-fit-DxKdSnof.js.map +0 -1
- package/dist/xterm_addon-web-links-B6rWzrcs.js.map +0 -1
- package/dist/zip-CoY8ac0B.js +0 -2
- package/dist/zip-CoY8ac0B.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"py-editor-B_2eMuPl.js","sources":["../src/plugins/py-editor.js"],"sourcesContent":["// PyScript py-editor plugin\nimport withResolvers from \"@webreflection/utils/with-resolvers\";\nimport { Hook, XWorker, dedent, defineProperties } from \"polyscript/exports\";\nimport { TYPES, offline_interpreter, relative_url, stdlib } from \"../core.js\";\nimport { notify } from \"./error.js\";\nimport codemirror from \"./codemirror.js\";\n\n// Define the run and stop buttons as SVG icons\n// These can be replaced with custom icons if desired\n// through `data-run` and `data-stop` (dataset) attributes.\nlet RUN_BUTTON = `<svg style=\"height:24px;width:24px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19,12a1,1,0,0,1-.55.89l-10,5A1,1,0,0,1,8,18a1,1,0,0,1-.53-.15A1,1,0,0,1,7,17V7a1,1,0,0,1,1.45-.89l10,5A1,1,0,0,1,19,12Z\" fill=\"#464646\"/></svg>`;\nlet STOP_BUTTON = `<svg style=\"height:24px;width:24px\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M7 7h10v10H7z\" style=\"fill:#464646;stroke:#464646;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal\"/></svg>`;\n\nlet id = 0;\nconst getID = (type) => `${type}-editor-${id++}`;\n\nconst envs = new Map();\nconst configs = new Map();\nconst editors = new WeakMap();\n\nconst hooks = {\n worker: {\n codeBeforeRun: () => stdlib,\n // works on both Pyodide and MicroPython\n onReady: ({ runAsync, io }, { sync }) => {\n io.stdout = io.buffered(sync.write);\n io.stderr = io.buffered(sync.writeErr);\n sync.revoke();\n sync.runAsync = runAsync;\n },\n },\n};\n\nconst validate = (config, result) => {\n if (typeof result === \"boolean\") throw `Invalid source: ${config}`;\n return result;\n};\n\nconst getRelatedScript = (target, type) => {\n const editor = target.closest(`.${type}-editor-box`);\n return editor?.parentNode?.previousElementSibling;\n};\n\nasync function execute({ currentTarget, script }, onBeforeRun = \"\") {\n const { env, pySrc, outDiv } = this;\n const hasRunButton = !!currentTarget;\n\n if (hasRunButton) {\n currentTarget.classList.add(\"running\");\n currentTarget.innerHTML = STOP_BUTTON;\n outDiv.innerHTML = \"\";\n }\n\n if (!envs.has(env)) {\n const srcLink = URL.createObjectURL(new Blob([\"\"]));\n const details = {\n type: this.interpreter,\n serviceWorker: this.serviceWorker,\n };\n const { config } = this;\n if (config) {\n // verify that config can be parsed and used\n try {\n details.configURL = relative_url(config);\n if (config.endsWith(\".toml\")) {\n const [{ parse }, toml] = await Promise.all([\n import(\n /* webpackIgnore: true */ \"../3rd-party/toml.js\"\n ),\n fetch(config).then((r) => r.ok && r.text()),\n ]);\n details.config = parse(validate(config, toml));\n } else if (config.endsWith(\".json\")) {\n const json = await fetch(config).then(\n (r) => r.ok && r.json(),\n );\n details.config = validate(config, json);\n } else {\n details.configURL = relative_url(\"./config.txt\");\n details.config = JSON.parse(config);\n }\n details.version = offline_interpreter(details.config);\n } catch (error) {\n notify(error);\n return;\n }\n } else {\n details.config = {};\n }\n\n const xworker = XWorker.call(new Hook(null, hooks), srcLink, details);\n\n // expose xworker like in terminal or other workers to allow\n // creation and destruction of editors on the fly\n if (hasRunButton) {\n for (const type of TYPES.keys()) {\n script = getRelatedScript(currentTarget, type);\n if (script) break;\n }\n }\n\n defineProperties(script, { xworker: { value: xworker } });\n\n const { sync } = xworker;\n const { promise, resolve } = withResolvers();\n envs.set(env, promise);\n sync.revoke = () => {\n URL.revokeObjectURL(srcLink);\n resolve(xworker);\n };\n }\n\n // wait for the env then set the target div\n // before executing the current code\n return envs.get(env).then((xworker) => {\n xworker.onerror = ({ error }) => {\n if (hasRunButton) {\n outDiv.insertAdjacentHTML(\n \"beforeend\",\n `<span style='color:red'>${\n error.message || error\n }</span>\\n`,\n );\n }\n console.error(error);\n };\n\n const enable = () => {\n if (hasRunButton) {\n currentTarget.classList.remove(\"running\");\n currentTarget.innerHTML = RUN_BUTTON;\n const { previousElementSibling } =\n currentTarget.closest(\"[data-env]\").parentElement;\n previousElementSibling?.dispatchEvent(\n new Event(\"py-editor:done\", {\n bubbles: true,\n cancelable: true,\n }),\n );\n }\n };\n const { sync } = xworker;\n sync.write = (str) => {\n if (hasRunButton) outDiv.innerText += `${str}\\n`;\n else console.log(str);\n };\n sync.writeErr = (str) => {\n if (hasRunButton) {\n outDiv.insertAdjacentHTML(\n \"beforeend\",\n `<span style='color:red'>${str}</span>\\n`,\n );\n } else {\n notify(str);\n console.error(str);\n }\n };\n if (onBeforeRun) onBeforeRun += \";\";\n sync.runAsync(onBeforeRun + pySrc).then(enable, enable);\n });\n}\n\nconst replaceScript = (script, type) => {\n script.xworker?.terminate();\n const clone = script.cloneNode(true);\n clone.type = `${type}-editor`;\n const editor = editors.get(script);\n if (editor) {\n const content = editor.state.doc.toString();\n clone.textContent = content;\n editors.delete(script);\n script.nextElementSibling.remove();\n }\n script.replaceWith(clone);\n};\n\nconst makeRunButton = (handler, type) => {\n const runButton = document.createElement(\"button\");\n runButton.className = `absolute ${type}-editor-run-button`;\n runButton.innerHTML = RUN_BUTTON;\n runButton.setAttribute(\"aria-label\", \"Python Script Run Button\");\n runButton.addEventListener(\"click\", async (event) => {\n const script = getRelatedScript(runButton, type);\n if (\n runButton.classList.contains(\"running\") &&\n confirm(\"Stop evaluating this code?\")\n ) {\n if (script) {\n const env = script.getAttribute(\"env\");\n // remove the bootstrapped env which could be one or shared\n if (env) {\n for (const [key, value] of TYPES) {\n if (key === type) {\n configs.delete(`${value}-${env}`);\n envs.delete(`${value}-${env}`);\n break;\n }\n }\n }\n // lonley script without setup node should be replaced\n if (script.xworker) replaceScript(script, type);\n // all scripts sharing the same env should be replaced\n else {\n const sel = `script[type^=\"${type}-editor\"][env=\"${env}\"]`;\n for (const script of document.querySelectorAll(sel))\n replaceScript(script, type);\n }\n }\n return;\n }\n runButton.blur();\n await handler.handleEvent(\n event,\n script?.getAttribute(\"onbeforerun\") || \"\",\n );\n });\n return runButton;\n};\n\nconst makeEditorDiv = (handler, type) => {\n const editorDiv = document.createElement(\"div\");\n editorDiv.className = `${type}-editor-input`;\n editorDiv.setAttribute(\"aria-label\", \"Python Script Area\");\n\n const runButton = makeRunButton(handler, type);\n const editorShadowContainer = document.createElement(\"div\");\n\n // avoid outer elements intercepting key events (reveal as example)\n editorShadowContainer.addEventListener(\"keydown\", (event) => {\n event.stopPropagation();\n });\n\n editorDiv.append(runButton, editorShadowContainer);\n\n return editorDiv;\n};\n\nconst makeOutDiv = (type) => {\n const outDiv = document.createElement(\"div\");\n outDiv.className = `${type}-editor-output`;\n outDiv.id = `${getID(type)}-output`;\n return outDiv;\n};\n\nconst makeBoxDiv = (handler, type, output) => {\n const boxDiv = document.createElement(\"div\");\n boxDiv.className = `${type}-editor-box`;\n\n const editorDiv = makeEditorDiv(handler, type);\n // allow specifying an existing output div by id\n const outDiv = output ? document.getElementById(output) : makeOutDiv(type);\n if (output) outDiv.classList.add(`${type}-editor-output`);\n boxDiv.append(editorDiv, outDiv);\n\n return [boxDiv, outDiv, editorDiv.querySelector(\"button\")];\n};\n\nconst init = async (script, type, interpreter) => {\n const [\n { basicSetup, EditorView },\n { Compartment },\n { python },\n { indentUnit },\n { keymap },\n { defaultKeymap, indentWithTab },\n ] = await Promise.all([\n codemirror.core,\n codemirror.state,\n codemirror.python,\n codemirror.language,\n codemirror.view,\n codemirror.commands,\n ]);\n\n let isSetup = script.hasAttribute(\"setup\");\n const hasConfig = script.hasAttribute(\"config\");\n const serviceWorker = script.getAttribute(\"service-worker\");\n const env = `${interpreter}-${script.getAttribute(\"env\") || getID(type)}`;\n\n // allow specifying custom run and stop buttons through dataset attributes\n const { dataset } = script;\n if (dataset.run) RUN_BUTTON = dataset.run;\n if (dataset.stop) STOP_BUTTON = dataset.stop;\n\n // helps preventing too lazy ServiceWorker initialization on button run\n if (serviceWorker) {\n new XWorker(\"data:application/javascript,postMessage(0)\", {\n type: \"dummy\",\n serviceWorker,\n }).onmessage = ({ target }) => target.terminate();\n }\n\n // allow bootstrap with same env for repeated editor creation\n // only if `env-override` is explicitly set as attribute\n if (hasConfig && configs.has(env)) {\n if (script.hasAttribute(\"env-override\")) {\n // in this case we need to bootstrap the env again\n // because otherwise each env would leak\n envs.delete(env);\n } else {\n throw new SyntaxError(\n configs.get(env)\n ? `duplicated config for env: ${env}`\n : `unable to add a config to the env: ${env}`,\n );\n }\n }\n\n configs.set(env, hasConfig);\n\n let source = script.textContent;\n\n // verify the src points to a valid file that can be parsed\n const { src } = script;\n if (src) {\n try {\n source = validate(\n src,\n await fetch(src).then((b) => b.ok && b.text()),\n );\n } catch (error) {\n notify(error);\n return;\n }\n }\n\n const context = {\n // allow the listener to be overridden at distance\n handleEvent: execute,\n serviceWorker,\n interpreter,\n env,\n config: hasConfig && script.getAttribute(\"config\"),\n get pySrc() {\n return isSetup ? source : editor.state.doc.toString();\n },\n get outDiv() {\n return isSetup ? null : outDiv;\n },\n };\n\n let target;\n defineProperties(script, {\n target: { get: () => target },\n handleEvent: {\n get: () => context.handleEvent,\n set: (callback) => {\n // do not bother with logic if it was set back as its original handler\n if (callback === execute) context.handleEvent = execute;\n // in every other case be sure that if the listener override returned\n // `false` nothing happens, otherwise keep doing what it always did\n else {\n context.handleEvent = async (event, onBeforeRun) => {\n // trap the currentTarget ASAP (if any)\n // otherwise it gets lost asynchronously\n const { currentTarget } = event;\n // augment a code snapshot before invoking the override\n defineProperties(event, {\n code: { value: context.pySrc },\n });\n // avoid executing the default handler if the override returned `false`\n if ((await callback(event)) !== false)\n await execute.call(\n context,\n { currentTarget },\n onBeforeRun,\n );\n };\n }\n },\n },\n code: {\n get: () => context.pySrc,\n set: (insert) => {\n if (isSetup) return;\n editor.update([\n editor.state.update({\n changes: {\n from: 0,\n to: editor.state.doc.length,\n insert,\n },\n }),\n ]);\n },\n },\n process: {\n /**\n * Simulate a setup node overriding the source to evaluate.\n * @param {string} code the Python code to evaluate.\n * @param {boolean} asRunButtonAction invoke the `Run` button handler.\n * @returns {Promise<...>} fulfill once code has been evaluated.\n */\n value(code, asRunButtonAction = false) {\n if (asRunButtonAction) return listener();\n const wasSetup = isSetup;\n const wasSource = source;\n isSetup = true;\n source = code;\n const restore = () => {\n isSetup = wasSetup;\n source = wasSource;\n };\n return context\n .handleEvent({ currentTarget: null })\n .then(restore, restore);\n },\n },\n });\n\n const notifyEditor = () => {\n const event = new Event(`${type}-editor`, { bubbles: true });\n script.dispatchEvent(event);\n };\n\n if (isSetup) {\n context.handleEvent({ currentTarget: null, script }).then(notifyEditor);\n return;\n }\n\n const selector = script.getAttribute(\"target\");\n\n if (selector) {\n target =\n document.getElementById(selector) ||\n document.querySelector(selector);\n if (!target) throw new Error(`Unknown target ${selector}`);\n } else {\n target = document.createElement(`${type}-editor`);\n target.style.display = \"block\";\n script.after(target);\n }\n\n if (!target.id) target.id = getID(type);\n if (!target.hasAttribute(\"exec-id\")) target.setAttribute(\"exec-id\", 0);\n if (!target.hasAttribute(\"root\")) target.setAttribute(\"root\", target.id);\n\n // @see https://github.com/JeffersGlass/mkdocs-pyscript/blob/main/mkdocs_pyscript/js/makeblocks.js\n const [boxDiv, outDiv, runButton] = makeBoxDiv(\n context,\n type,\n script.getAttribute(\"output\"),\n );\n boxDiv.dataset.env = script.hasAttribute(\"env\") ? env : interpreter;\n\n const inputChild = boxDiv.querySelector(`.${type}-editor-input > div`);\n const parent = inputChild.attachShadow({ mode: \"open\" });\n // avoid inheriting styles from the outer component\n const styles = [\":host { all: initial; }\"];\n // allows max-rows which also enables min-rows\n // the editor grows up to all code in it by default otherwise\n const rows = script.getAttribute(\"rows\");\n if (rows) {\n const maxHeight = Math.floor(parseInt(rows) * 18.5) + \"px\";\n const minHeight = Math.floor(3 * 18.5) + \"px\";\n styles.push(\n `.cm-editor { height: auto; max-height: ${maxHeight}; min-height: ${minHeight}; }`,\n );\n }\n\n // inject the styles into the shadow DOM\n parent.innerHTML = `<style>${styles.join(\"\\n\")}</style>`;\n\n target.appendChild(boxDiv);\n\n const doc = dedent(script.textContent).trim();\n\n // preserve user indentation, if any\n const indentation = /^([ \\t]+)/m.test(doc) ? RegExp.$1 : \" \";\n\n const listener = () => !runButton.click();\n const editor = new EditorView({\n extensions: [\n indentUnit.of(indentation),\n new Compartment().of(python()),\n keymap.of([\n { key: \"Ctrl-Enter\", run: listener, preventDefault: true },\n { key: \"Cmd-Enter\", run: listener, preventDefault: true },\n { key: \"Shift-Enter\", run: listener, preventDefault: true },\n // Consider removing defaultKeymap as likely redundant with basicSetup\n ...defaultKeymap,\n // @see https://codemirror.net/examples/tab/\n indentWithTab,\n ]),\n basicSetup,\n ],\n foldGutter: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-foldgutter\"],\n parent,\n doc,\n });\n\n editors.set(script, editor);\n editor.focus();\n notifyEditor();\n};\n\n// avoid too greedy MutationObserver operations at distance\nlet timeout = 0;\n\n// avoid delayed initialization\nlet queue = Promise.resolve();\n\n// reset interval value then check for new scripts\nconst resetTimeout = () => {\n timeout = 0;\n pyEditor();\n};\n\n// triggered both ASAP on the living DOM and via MutationObserver later\nconst pyEditor = () => {\n if (timeout) return;\n timeout = setTimeout(resetTimeout, 250);\n for (const [type, interpreter] of TYPES) {\n const selector = `script[type=\"${type}-editor\"]`;\n for (const script of document.querySelectorAll(selector)) {\n // avoid any further bootstrap by changing the type as active\n script.type += \"-active\";\n // don't await in here or multiple calls might happen\n // while the first script is being initialized\n queue = queue.then(() => init(script, type, interpreter));\n }\n }\n return queue;\n};\n\nnew MutationObserver(pyEditor).observe(document, {\n childList: true,\n subtree: true,\n});\n\n// try to check the current document ASAP\nexport default pyEditor();\n"],"names":["RUN_BUTTON","STOP_BUTTON","id","getID","type","envs","Map","configs","editors","WeakMap","hooks","worker","codeBeforeRun","stdlib","onReady","runAsync","io","sync","stdout","buffered","write","stderr","writeErr","revoke","validate","config","result","getRelatedScript","target","editor","closest","parentNode","previousElementSibling","async","execute","currentTarget","script","onBeforeRun","env","pySrc","outDiv","this","hasRunButton","classList","add","innerHTML","has","srcLink","URL","createObjectURL","Blob","details","interpreter","serviceWorker","configURL","relative_url","endsWith","parse","toml","Promise","all","import","fetch","then","r","ok","text","json","JSON","version","offline_interpreter","error","notify","xworker","XWorker","call","Hook","TYPES","keys","defineProperties","value","promise","resolve","withResolvers","set","revokeObjectURL","get","onerror","insertAdjacentHTML","message","console","enable","remove","parentElement","dispatchEvent","Event","bubbles","cancelable","str","innerText","log","replaceScript","terminate","clone","cloneNode","content","state","doc","toString","textContent","delete","nextElementSibling","replaceWith","makeEditorDiv","handler","editorDiv","document","createElement","className","setAttribute","runButton","addEventListener","event","contains","confirm","getAttribute","key","sel","querySelectorAll","blur","handleEvent","makeRunButton","editorShadowContainer","stopPropagation","append","makeBoxDiv","output","boxDiv","getElementById","makeOutDiv","querySelector","init","basicSetup","EditorView","Compartment","python","indentUnit","keymap","defaultKeymap","indentWithTab","codemirror","core","language","view","commands","isSetup","hasAttribute","hasConfig","dataset","run","stop","onmessage","SyntaxError","source","src","b","context","callback","code","insert","update","changes","from","to","length","process","asRunButtonAction","listener","wasSetup","wasSource","restore","notifyEditor","selector","Error","style","display","after","parent","attachShadow","mode","styles","rows","maxHeight","Math","floor","parseInt","minHeight","push","join","appendChild","dedent","trim","indentation","test","RegExp","$1","click","extensions","of","preventDefault","foldGutter","gutters","focus","timeout","queue","resetTimeout","pyEditor","setTimeout","MutationObserver","observe","childList","subtree","pyEditor_default"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{l as t,h as e,j as n,k as r,s as a,a as i,m as o,n as s}from"./core-
|
|
2
|
-
//# sourceMappingURL=py-game-
|
|
1
|
+
import{l as t,h as e,j as n,k as r,s as a,a as i,m as o,n as s}from"./core-BrNc1IIg.js";const p=s("py-game");let c=!0;const l={main:{onReady:async(n,s)=>{c&&(c=!1,console.warn("⚠️ EXPERIMENTAL `py-game` FEATURE"));let l={};if(s.hasAttribute("config")){const a=s.getAttribute("config"),{json:i,toml:o,text:c,url:m}=await r(a);if(i)l=JSON.parse(c);else if(o){const{parse:t}=await import("./toml-Blg7Izee.js");l=t(c)}if(l.packages){await n.interpreter.loadPackage("micropip");const t=n.interpreter.pyimport("micropip");await t.install(l.packages,{keep_going:!0}),t.destroy()}await((n,...r)=>t(e.get(n),...r))("py-game",p,n.interpreter,l,m?new URL(m,location.href).href:location.href)}n.interpreter.registerJsModule("_pyscript",{PyWorker(){throw new Error("Unable to use PyWorker in py-game scripts")},js_import:(...t)=>Promise.all(t.map(t=>import(t))),get target(){return s.id}}),await n.interpreter.runPythonAsync(a),n.interpreter.runPython('\nimport builtins\ndef input(prompt=""):\n import js\n return js.prompt(prompt)\n\nbuiltins.input = input\ndel builtins\ndel input\n');let m=i(s.textContent);s.src&&(m=await fetch(s.src).then(o));const g=s.getAttribute("target")||"canvas",u=document.getElementById(g);n.interpreter.canvas.setCanvas2D(u);const y=new CustomEvent("py-game",{bubbles:!0,cancelable:!0,detail:{canvas:u,code:m,config:l,wrap:n}});s.dispatchEvent(y),y.defaultPrevented||await n.interpreter.runPythonAsync(m)}}};n("py-game",{config:{packages:["pygame-ce"]},configURL:new URL("./config.txt",location.href).href,interpreter:"pyodide",env:"py-game",hooks:l});
|
|
2
|
+
//# sourceMappingURL=py-game-BtbHgsps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"py-game-BtbHgsps.js","sources":["../node_modules/polyscript/esm/exports.js","../src/plugins/py-game.js"],"sourcesContent":["// this file simply exports enough stuff to allow\n// 3rd party libraries, including PyScript, to work\nimport { buffered } from './interpreter/_io.js';\nimport { createProgress } from './interpreter/_utils.js';\nimport { loadProgress as lP } from './interpreter/_python.js';\nimport { registry } from './interpreters.js';\nimport { toml } from './3rd-party.js';\n\nconst loadProgress = (type, ...rest) => lP(registry.get(type), ...rest);\n\nexport { buffered, createProgress, loadProgress, toml };\nexport * from './index.js';\nexport * from './script-handler.js';\nexport * from './utils.js';\n","import {\n dedent,\n define,\n createProgress,\n loadProgress,\n} from \"polyscript/exports\";\n\nimport { stdlib } from \"../core.js\";\nimport { configDetails } from \"../config.js\";\nimport { getText } from \"../fetch.js\";\n\nconst progress = createProgress(\"py-game\");\n\nconst inputPatch = `\nimport builtins\ndef input(prompt=\"\"):\n import js\n return js.prompt(prompt)\n\nbuiltins.input = input\ndel builtins\ndel input\n`;\n\nlet toBeWarned = true;\n\nconst hooks = {\n main: {\n onReady: async (wrap, script) => {\n if (toBeWarned) {\n toBeWarned = false;\n console.warn(\"⚠️ EXPERIMENTAL `py-game` FEATURE\");\n }\n\n let config = {};\n if (script.hasAttribute(\"config\")) {\n const value = script.getAttribute(\"config\");\n const { json, toml, text, url } = await configDetails(value);\n if (json) config = JSON.parse(text);\n else if (toml) {\n const { parse } = await import(\n /* webpackIgnore: true */ \"../3rd-party/toml.js\"\n );\n config = parse(text);\n }\n if (config.packages) {\n await wrap.interpreter.loadPackage(\"micropip\");\n const micropip = wrap.interpreter.pyimport(\"micropip\");\n await micropip.install(config.packages, {\n keep_going: true,\n });\n micropip.destroy();\n }\n await loadProgress(\n \"py-game\",\n progress,\n wrap.interpreter,\n config,\n url ? new URL(url, location.href).href : location.href,\n );\n }\n\n wrap.interpreter.registerJsModule(\"_pyscript\", {\n PyWorker() {\n throw new Error(\n \"Unable to use PyWorker in py-game scripts\",\n );\n },\n js_import: (...urls) =>\n Promise.all(urls.map((url) => import(url))),\n get target() {\n return script.id;\n },\n });\n\n await wrap.interpreter.runPythonAsync(stdlib);\n wrap.interpreter.runPython(inputPatch);\n\n let code = dedent(script.textContent);\n if (script.src) code = await fetch(script.src).then(getText);\n\n const target = script.getAttribute(\"target\") || \"canvas\";\n const canvas = document.getElementById(target);\n wrap.interpreter.canvas.setCanvas2D(canvas);\n\n // allow 3rd party to hook themselves right before\n // the code gets executed\n const event = new CustomEvent(\"py-game\", {\n bubbles: true,\n cancelable: true,\n detail: {\n canvas,\n code,\n config,\n wrap,\n },\n });\n script.dispatchEvent(event);\n // run only if the default was not prevented\n if (!event.defaultPrevented)\n await wrap.interpreter.runPythonAsync(code);\n },\n },\n};\n\ndefine(\"py-game\", {\n config: { packages: [\"pygame-ce\"] },\n configURL: new URL(\"./config.txt\", location.href).href,\n interpreter: \"pyodide\",\n env: \"py-game\",\n hooks,\n});\n"],"names":["progress","createProgress","toBeWarned","hooks","main","onReady","async","wrap","script","console","warn","config","hasAttribute","value","getAttribute","json","toml","text","url","configDetails","JSON","parse","import","packages","interpreter","loadPackage","micropip","pyimport","install","keep_going","destroy","type","rest","lP","registry","get","loadProgress","URL","location","href","registerJsModule","PyWorker","Error","js_import","urls","Promise","all","map","target","id","runPythonAsync","stdlib","runPython","code","dedent","textContent","src","fetch","then","getText","canvas","document","getElementById","setCanvas2D","event","CustomEvent","bubbles","cancelable","detail","dispatchEvent","defaultPrevented","define","configURL","env"],"mappings":"wFAQA,MCGMA,EAAWC,EAAe,WAahC,IAAIC,GAAa,EAEjB,MAAMC,EAAQ,CACVC,KAAM,CACFC,QAASC,MAAOC,EAAMC,KACdN,IACAA,GAAa,EACbO,QAAQC,KAAK,sCAGjB,IAAIC,EAAS,CAAA,EACb,GAAIH,EAAOI,aAAa,UAAW,CAC/B,MAAMC,EAAQL,EAAOM,aAAa,WAC5BC,KAAEA,EAAIC,KAAEA,EAAIC,KAAEA,EAAIC,IAAEA,SAAcC,EAAcN,GACtD,GAAIE,EAAMJ,EAASS,KAAKC,MAAMJ,QACzB,GAAID,EAAM,CACX,MAAMK,MAAEA,SAAgBC,OACM,sBAE9BX,EAASU,EAAMJ,EACnB,CACA,GAAIN,EAAOY,SAAU,OACXhB,EAAKiB,YAAYC,YAAY,YACnC,MAAMC,EAAWnB,EAAKiB,YAAYG,SAAS,kBACrCD,EAASE,QAAQjB,EAAOY,SAAU,CACpCM,YAAY,IAEhBH,EAASI,SACb,MD5CK,EAACC,KAASC,IAASC,EAAGC,EAASC,IAAIJ,MAAUC,GC6C5CI,CACF,UACApC,EACAO,EAAKiB,YACLb,EACAO,EAAM,IAAImB,IAAInB,EAAKoB,SAASC,MAAMA,KAAOD,SAASC,KAE1D,CAEAhC,EAAKiB,YAAYgB,iBAAiB,YAAa,CAC3C,QAAAC,GACI,MAAM,IAAIC,MACN,4CAER,EACAC,UAAW,IAAIC,IACXC,QAAQC,IAAIF,EAAKG,IAAK7B,GAAQI,OAAOJ,KACzC,UAAI8B,GACA,OAAOxC,EAAOyC,EAClB,UAGE1C,EAAKiB,YAAY0B,eAAeC,GACtC5C,EAAKiB,YAAY4B,UA/DV,8IAiEP,IAAIC,EAAOC,EAAO9C,EAAO+C,aACrB/C,EAAOgD,MAAKH,QAAaI,MAAMjD,EAAOgD,KAAKE,KAAKC,IAEpD,MAAMX,EAASxC,EAAOM,aAAa,WAAa,SAC1C8C,EAASC,SAASC,eAAed,GACvCzC,EAAKiB,YAAYoC,OAAOG,YAAYH,GAIpC,MAAMI,EAAQ,IAAIC,YAAY,UAAW,CACrCC,SAAS,EACTC,YAAY,EACZC,OAAQ,CACJR,SACAP,OACA1C,SACAJ,UAGRC,EAAO6D,cAAcL,GAEhBA,EAAMM,wBACD/D,EAAKiB,YAAY0B,eAAeG,MAKtDkB,EAAO,UAAW,CACd5D,OAAQ,CAAEY,SAAU,CAAC,cACrBiD,UAAW,IAAInC,IAAI,eAAgBC,SAASC,MAAMA,KAClDf,YAAa,UACbiD,IAAK,UACLtE","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{T as t,b as e,r}from"./core-
|
|
2
|
-
//# sourceMappingURL=py-terminal-
|
|
1
|
+
import{T as t,b as e,r}from"./core-BrNc1IIg.js";import{notify as s}from"./error-DGunRiee.js";const o=[],a=new WeakSet,n=t=>{throw s(t),new Error(t)},m=({attributes:{worker:t}})=>!t;let c=!0;for(const s of t.keys()){const t=`script[type="${s}"][terminal],${s}-script[terminal]`;o.push(t),e.set(t,async t=>{const e=document.querySelectorAll(o.join(","));if([].filter.call(e,m).length>1&&n("You can use at most 1 main terminal"),c&&(c=!1,document.head.append(Object.assign(document.createElement("link"),{rel:"stylesheet",href:r("./xterm.css",import.meta.url)}))),a.has(t))return;a.add(t);const i=e=>e.default(t);"mpy"===s?await import("./mpy-Chq-mVyj.js").then(i):await import("./py-DdbXoDn0.js").then(i)})}
|
|
2
|
+
//# sourceMappingURL=py-terminal-y3Wo8qu7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"py-terminal-
|
|
1
|
+
{"version":3,"file":"py-terminal-y3Wo8qu7.js","sources":["../src/plugins/py-terminal.js"],"sourcesContent":["// PyScript py-terminal plugin\nimport { TYPES, relative_url } from \"../core.js\";\nimport { notify } from \"./error.js\";\nimport { customObserver } from \"polyscript/exports\";\n\n// will contain all valid selectors\nconst SELECTORS = [];\n\n// avoid processing same elements twice\nconst processed = new WeakSet();\n\n// show the error on main and\n// stops the module from keep executing\nconst notifyAndThrow = (message) => {\n notify(message);\n throw new Error(message);\n};\n\nconst onceOnMain = ({ attributes: { worker } }) => !worker;\n\nlet addStyle = true;\n\nfor (const type of TYPES.keys()) {\n const selector = `script[type=\"${type}\"][terminal],${type}-script[terminal]`;\n SELECTORS.push(selector);\n customObserver.set(selector, async (element) => {\n // we currently support only one terminal on main as in \"classic\"\n const terminals = document.querySelectorAll(SELECTORS.join(\",\"));\n if ([].filter.call(terminals, onceOnMain).length > 1)\n notifyAndThrow(\"You can use at most 1 main terminal\");\n\n // import styles lazily\n if (addStyle) {\n addStyle = false;\n document.head.append(\n Object.assign(document.createElement(\"link\"), {\n rel: \"stylesheet\",\n href: relative_url(\"./xterm.css\", import.meta.url),\n }),\n );\n }\n\n if (processed.has(element)) return;\n processed.add(element);\n\n const bootstrap = (module) => module.default(element);\n\n // we can't be smart with template literals for the dynamic import\n // or bundlers are incapable of producing multiple files around\n if (type === \"mpy\") {\n await import(/* webpackIgnore: true */ \"./py-terminal/mpy.js\").then(\n bootstrap,\n );\n } else {\n await import(/* webpackIgnore: true */ \"./py-terminal/py.js\").then(\n bootstrap,\n );\n }\n });\n}\n"],"names":["SELECTORS","processed","WeakSet","notifyAndThrow","message","notify","Error","onceOnMain","attributes","worker","addStyle","type","TYPES","keys","selector","push","customObserver","set","async","element","terminals","document","querySelectorAll","join","filter","call","length","head","append","Object","assign","createElement","rel","href","relative_url","url","has","add","bootstrap","module","default","import","then"],"mappings":"6FAMA,MAAMA,EAAY,GAGZC,EAAY,IAAIC,QAIhBC,EAAkBC,IAEpB,MADAC,EAAOD,GACD,IAAIE,MAAMF,IAGdG,EAAa,EAAGC,YAAcC,cAAgBA,EAEpD,IAAIC,GAAW,EAEf,IAAK,MAAMC,KAAQC,EAAMC,OAAQ,CAC7B,MAAMC,EAAW,gBAAgBH,iBAAoBA,qBACrDX,EAAUe,KAAKD,GACfE,EAAeC,IAAIH,EAAUI,MAAOC,IAEhC,MAAMC,EAAYC,SAASC,iBAAiBtB,EAAUuB,KAAK,MAe3D,GAdI,GAAGC,OAAOC,KAAKL,EAAWb,GAAYmB,OAAS,GAC/CvB,EAAe,uCAGfO,IACAA,GAAW,EACXW,SAASM,KAAKC,OACVC,OAAOC,OAAOT,SAASU,cAAc,QAAS,CAC1CC,IAAK,aACLC,KAAMC,EAAa,0BAA2BC,SAKtDlC,EAAUmC,IAAIjB,GAAU,OAC5BlB,EAAUoC,IAAIlB,GAEd,MAAMmB,EAAaC,GAAWA,EAAOC,QAAQrB,GAIhC,QAATR,QACM8B,OAAiC,qBAAwBC,KAC3DJ,SAGEG,OAAiC,oBAAuBC,KAC1DJ,IAIhB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var t=new Proxy({v:["latest","stable","314.0.2","314.0.1","314.0.0","0.29.4","0.29.3","0.29.2","0.29.1","0.29.0","0.28.3","0.28.2","0.28.1","0.28.0","0.27.7","0.27.6","0.27.5","0.27.4","0.27.3","0.27.2","0.27.1","0.27.0"],p:{affine:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],aiohappyeyeballs:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],aiohttp:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],aiosignal:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],altair:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"annotated-doc":[0,1,2,3,4],"annotated-types":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],anyio:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],apsw:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],"argon2-cffi":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"argon2-cffi-bindings":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],astropy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],astropy_iers_data:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],asttokens:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"async-timeout":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],atomicwrites:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],attrs:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"audioop-lts":[0,1,2,3,4,5,6,7,8,9,10,11,12],"awkward-cpp":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],b2d:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bcrypt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],beautifulsoup4:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"bilby.cython":[0,1,2,3,4,5,6,7,8,9],biopython:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bitarray:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bitstring:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bleach:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bokeh:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"boost-histogram":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],bottleneck:[0,1,2,3,4,5,6,7],brotli:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cachetools:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cartopy:[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],casadi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"cbor-diag":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],certifi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cffi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cffi_example:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cftime:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"charset-normalizer":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],clarabel:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],click:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cligj:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],clingo:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cloudpickle:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cmyt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cobs:[0,1,2,3,4,5,6,7,8,9,10,11,12],colorspacious:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],contourpy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],coolprop:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],coverage:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],crc32c:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],crcmod:[0,1,2,3,4],cryptography:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cssselect:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"cvxpy-base":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cycler:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cysignals:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cytoolz:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],decorator:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],demes:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],deprecated:[0,1,2,3,4,5],deprecation:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],diskcache:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],distlib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],distro:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],dnspython:[0,1,2,3,4],docutils:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],donfig:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],duckdb:[0,1,2,3,4,14,15,16,17,18,19,20,21],ewah_bool_utils:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],exceptiongroup:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],executing:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],fastapi:[0,1,2,3,4,5,6,7,8,9],fiona:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],fonttools:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],freesasa:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],frozenlist:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],fsspec:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],future:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],galpy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],geopandas:[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],gmpy2:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"google-crc32c":[0,1,2,3,4,5,6,7],h11:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],h3:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],h5py:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],healpy:[0,1,2,5,6,7],highspy:[0,1,2,3,4,5,6,7,8,9],html5lib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],httpcore:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],httpx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],idna:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],igraph:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],imageio:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],iminuit:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],iniconfig:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],ipython:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],jedi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],jinja2:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],jiter:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],joblib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],jsonpatch:[0,1,2,3,4,5,6,7,8,9],jsonpointer:[0,1,2,3,4,5,6,7,8,9],jsonschema:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],jsonschema_specifications:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],kiwisolver:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"lakers-python":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],lazy_loader:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"lazy-object-proxy":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],libcst:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],librt:[0,1,2,3,4],lightgbm:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],logbook:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],lxml:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],lz4:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],markupsafe:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],matplotlib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"matplotlib-inline":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"memory-allocator":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],micropip:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],ml_dtypes:[0,1,2,3,4,5,6,7],mmh3:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"more-itertools":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],mpmath:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],msgpack:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],msgspec:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],msprime:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],multidict:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],munch:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],mypy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],narwhals:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],ndindex:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],netcdf4:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],networkx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],newick:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],nh3:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],nlopt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],nltk:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],numcodecs:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],numpy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],openai:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"opencv-python":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],optlang:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],orjson:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],packaging:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pandas:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],parso:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],patsy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pcodec:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],peewee:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],phispy:[0,1,2,3,4,5],"pi-heif":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pillow:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pillow-heif":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pkgconfig:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],platformdirs:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],pluggy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],ply:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],polars:[0,1,2,3,4,14,15,16,17,18,19,20,21],prompt_toolkit:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],propcache:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],protobuf:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pure-eval":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],py:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyarrow:[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20],pyclipper:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pycparser:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pycryptodome:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pydantic:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pydantic_core:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pydoc_data:[0,1,2,3,4],pyerfa:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pygame-ce":[0,1,2,3,4,5,6,7,8,9,14,15,16,17,18,19,20,21],pygments:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyheif:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyiceberg:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyinstrument:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pymongo:[0,1,2,3,4],pymupdf:[0,1,2,3,4,5,6,7,8,9,10,11,12],pynacl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pyodide-http":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pyodide-unix-timezones":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyparsing:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyproj:[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],pyroaring:[0,1,2,3,4,5],pyrodigal:[0,1,2,3,4,5,6,7],pyrsistent:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pysam:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyshp:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pytaglib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],pytest:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pytest-asyncio":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"pytest-benchmark":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pytest_httpx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"python-calamine":[0,1,2,3,4,5,6,7,8,9],"python-dateutil":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"python-flint":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"python-flirt":[0,1,2,3,4,5],"python-sat":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"python-solvespace":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pytz:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pywavelets:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyxirr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pyyaml:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],rasterio:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],rateslib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],rebound:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],reboundx:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],referencing:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],regex:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],requests:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],retrying:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],rich:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"rpds-py":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"ruamel.yaml":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],safetensors:[0,1,2,3,4],"scikit-image":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"scikit-learn":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],scipy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],screed:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sentencepiece:[0,1,2,3,4],setuptools:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],shapely:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],simplejson:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sisl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],six:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"smart-open":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sniffio:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],sortedcontainers:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],soundfile:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],soupsieve:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sourmash:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],soxr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sparseqr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sqlalchemy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"stack-data":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],starlette:[0,1,2,3,4,5,6,7,8,9],statsmodels:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],strictyaml:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],svgwrite:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],swiglpk:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],sympy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],tblib:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],termcolor:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],texttable:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],texture2ddecoder:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],threadpoolctl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],tiktoken:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],tomli:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"tomli-w":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],toolz:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],tqdm:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],traitlets:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],traits:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"tree-sitter":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"tree-sitter-go":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"tree-sitter-java":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"tree-sitter-python":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],tskit:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"typing-extensions":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"typing-inspection":[0,1,2,3,4,5,6,7],tzdata:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],ujson:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],uncertainties:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],unyt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],urllib3:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"vega-datasets":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],vrplib:[0,1,2,3,4,5,6,7,8,9],wcwidth:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],webencodings:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],wordcloud:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],wrapt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],xarray:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],xgboost:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],xlrd:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],xxhash:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],xyzservices:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],yarl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],yt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],zarr:[0,1,2,3,4,14,15,16,17,18,19,20,21],zengl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],zfpy:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],zstandard:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],blosc2:[3,4,5,6,7,8,9,10,11,12,13],fastcan:[3,4,5,6,7,8,9],gsw:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],robotraconteur:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],asciitree:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],autograd:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],cramjam:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"css-inline":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],fastparquet:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"imgui-bundle":[5,6,7,8,9,10,11,12,13],inspice:[5,6,7,8,9,10,11,12,13],pplpy:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],primecountpy:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],pycdfpp:[5,6,7],"pylimer-tools":[5,6,7,8,9],"python-magic":[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],river:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],rustworkx:[5,6,7,8,9,10,11,12,13],pyxel:[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],"arro3-compute":[14,15,16,17,18,19,20,21],"arro3-core":[14,15,16,17,18,19,20,21],"arro3-io":[14,15,16,17,18,19,20,21],gensim:[14,15,16,17,18,19,20,21],"matplotlib-pyodide":[14,15,16,17,18,19,20,21],mne:[14,15,16,17,18,19,20,21],osqp:[14,15,16],"rust-abi-test":[14,15,16,17,18,19,20,21],"rust-panic-test":[14,15,16,17,18,19,20,21]}},{has:(t,e)=>t.v.includes(e),get:(t,e)=>{const o=t.v.indexOf(e);return new Proxy(t.p,{has:(t,e)=>t[e]?.includes(o)})}});export{t as default};
|
|
2
|
+
//# sourceMappingURL=pyodide_graph-CX6fRcVL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pyodide_graph-CX6fRcVL.js","sources":["../node_modules/polyscript/esm/interpreter/pyodide_graph.js"],"sourcesContent":["// ⚠️ GENERATED AUTOMATICALLY - DO NOT MODIFY\nexport default new Proxy(\n {'v':['latest','stable','314.0.2','314.0.1','314.0.0','0.29.4','0.29.3','0.29.2','0.29.1','0.29.0','0.28.3','0.28.2','0.28.1','0.28.0','0.27.7','0.27.6','0.27.5','0.27.4','0.27.3','0.27.2','0.27.1','0.27.0'],'p':{'affine':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'aiohappyeyeballs':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'aiohttp':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'aiosignal':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'altair':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'annotated-doc':[0,1,2,3,4],'annotated-types':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'anyio':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'apsw':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],'argon2-cffi':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'argon2-cffi-bindings':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'astropy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'astropy_iers_data':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'asttokens':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'async-timeout':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'atomicwrites':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'attrs':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'audioop-lts':[0,1,2,3,4,5,6,7,8,9,10,11,12],'awkward-cpp':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'b2d':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bcrypt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'beautifulsoup4':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bilby.cython':[0,1,2,3,4,5,6,7,8,9],'biopython':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bitarray':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bitstring':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bleach':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bokeh':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'boost-histogram':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'bottleneck':[0,1,2,3,4,5,6,7],'brotli':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cachetools':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cartopy':[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],'casadi':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cbor-diag':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'certifi':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cffi':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cffi_example':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cftime':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'charset-normalizer':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'clarabel':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'click':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cligj':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'clingo':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cloudpickle':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cmyt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cobs':[0,1,2,3,4,5,6,7,8,9,10,11,12],'colorspacious':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'contourpy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'coolprop':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'coverage':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'crc32c':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'crcmod':[0,1,2,3,4],'cryptography':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cssselect':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cvxpy-base':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cycler':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cysignals':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cytoolz':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'decorator':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'demes':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'deprecated':[0,1,2,3,4,5],'deprecation':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'diskcache':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'distlib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'distro':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'dnspython':[0,1,2,3,4],'docutils':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'donfig':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'duckdb':[0,1,2,3,4,14,15,16,17,18,19,20,21],'ewah_bool_utils':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'exceptiongroup':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'executing':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'fastapi':[0,1,2,3,4,5,6,7,8,9],'fiona':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'fonttools':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'freesasa':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'frozenlist':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'fsspec':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'future':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'galpy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'geopandas':[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],'gmpy2':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'google-crc32c':[0,1,2,3,4,5,6,7],'h11':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'h3':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],'h5py':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'healpy':[0,1,2,5,6,7],'highspy':[0,1,2,3,4,5,6,7,8,9],'html5lib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'httpcore':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'httpx':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],'idna':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'igraph':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'imageio':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'iminuit':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'iniconfig':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ipython':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'jedi':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'jinja2':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'jiter':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'joblib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'jsonpatch':[0,1,2,3,4,5,6,7,8,9],'jsonpointer':[0,1,2,3,4,5,6,7,8,9],'jsonschema':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'jsonschema_specifications':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'kiwisolver':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'lakers-python':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'lazy_loader':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'lazy-object-proxy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'libcst':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'librt':[0,1,2,3,4],'lightgbm':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'logbook':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'lxml':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'lz4':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'markupsafe':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'matplotlib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'matplotlib-inline':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'memory-allocator':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'micropip':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ml_dtypes':[0,1,2,3,4,5,6,7],'mmh3':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'more-itertools':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'mpmath':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'msgpack':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'msgspec':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'msprime':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'multidict':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'munch':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'mypy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'narwhals':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ndindex':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'netcdf4':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'networkx':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'newick':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'nh3':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'nlopt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'nltk':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'numcodecs':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'numpy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'openai':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'opencv-python':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'optlang':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'orjson':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'packaging':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pandas':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'parso':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'patsy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pcodec':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],'peewee':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'phispy':[0,1,2,3,4,5],'pi-heif':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pillow':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pillow-heif':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pkgconfig':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'platformdirs':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'pluggy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ply':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'polars':[0,1,2,3,4,14,15,16,17,18,19,20,21],'prompt_toolkit':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'propcache':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'protobuf':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pure-eval':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'py':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyarrow':[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20],'pyclipper':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pycparser':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pycryptodome':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pydantic':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pydantic_core':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pydoc_data':[0,1,2,3,4],'pyerfa':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pygame-ce':[0,1,2,3,4,5,6,7,8,9,14,15,16,17,18,19,20,21],'pygments':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyheif':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyiceberg':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyinstrument':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pymongo':[0,1,2,3,4],'pymupdf':[0,1,2,3,4,5,6,7,8,9,10,11,12],'pynacl':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyodide-http':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyodide-unix-timezones':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyparsing':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyproj':[0,1,2,3,4,5,6,7,14,15,16,17,18,19,20,21],'pyroaring':[0,1,2,3,4,5],'pyrodigal':[0,1,2,3,4,5,6,7],'pyrsistent':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pysam':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyshp':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pytaglib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'pytest':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pytest-asyncio':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pytest-benchmark':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pytest_httpx':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'python-calamine':[0,1,2,3,4,5,6,7,8,9],'python-dateutil':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'python-flint':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'python-flirt':[0,1,2,3,4,5],'python-sat':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'python-solvespace':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pytz':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pywavelets':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyxirr':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pyyaml':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rasterio':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rateslib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rebound':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'reboundx':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'referencing':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'regex':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'requests':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'retrying':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rich':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rpds-py':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ruamel.yaml':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'safetensors':[0,1,2,3,4],'scikit-image':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'scikit-learn':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'scipy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'screed':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sentencepiece':[0,1,2,3,4],'setuptools':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'shapely':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'simplejson':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sisl':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'six':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'smart-open':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sniffio':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],'sortedcontainers':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'soundfile':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'soupsieve':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sourmash':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'soxr':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sparseqr':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sqlalchemy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'stack-data':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'starlette':[0,1,2,3,4,5,6,7,8,9],'statsmodels':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'strictyaml':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'svgwrite':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'swiglpk':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'sympy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tblib':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'termcolor':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'texttable':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'texture2ddecoder':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'threadpoolctl':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tiktoken':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tomli':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tomli-w':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'toolz':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tqdm':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'traitlets':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'traits':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tree-sitter':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tree-sitter-go':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tree-sitter-java':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tree-sitter-python':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'tskit':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'typing-extensions':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'typing-inspection':[0,1,2,3,4,5,6,7],'tzdata':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'ujson':[0,1,2,3,4,5,6,7,8,9,10,11,12,13],'uncertainties':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'unyt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'urllib3':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'vega-datasets':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'vrplib':[0,1,2,3,4,5,6,7,8,9],'wcwidth':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'webencodings':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'wordcloud':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'wrapt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'xarray':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'xgboost':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'xlrd':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'xxhash':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'xyzservices':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'yarl':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'yt':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'zarr':[0,1,2,3,4,14,15,16,17,18,19,20,21],'zengl':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'zfpy':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'zstandard':[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'blosc2':[3,4,5,6,7,8,9,10,11,12,13],'fastcan':[3,4,5,6,7,8,9],'gsw':[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'robotraconteur':[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'asciitree':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'autograd':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'cramjam':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'css-inline':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],'fastparquet':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'imgui-bundle':[5,6,7,8,9,10,11,12,13],'inspice':[5,6,7,8,9,10,11,12,13],'pplpy':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'primecountpy':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'pycdfpp':[5,6,7],'pylimer-tools':[5,6,7,8,9],'python-magic':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'river':[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'rustworkx':[5,6,7,8,9,10,11,12,13],'pyxel':[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],'arro3-compute':[14,15,16,17,18,19,20,21],'arro3-core':[14,15,16,17,18,19,20,21],'arro3-io':[14,15,16,17,18,19,20,21],'gensim':[14,15,16,17,18,19,20,21],'matplotlib-pyodide':[14,15,16,17,18,19,20,21],'mne':[14,15,16,17,18,19,20,21],'osqp':[14,15,16],'rust-abi-test':[14,15,16,17,18,19,20,21],'rust-panic-test':[14,15,16,17,18,19,20,21]}},\n {\n has: (target, version) => target.v.includes(version),\n get: (target, version) => {\n const i = target.v.indexOf(version);\n return new Proxy(target.p, {\n has: (target, pkg) => target[pkg]?.includes(i),\n });\n },\n },\n);\n"],"names":["pyodide_graph","Proxy","v","p","affine","aiohappyeyeballs","aiohttp","aiosignal","altair","anyio","apsw","astropy","astropy_iers_data","asttokens","atomicwrites","attrs","b2d","bcrypt","beautifulsoup4","biopython","bitarray","bitstring","bleach","bokeh","bottleneck","brotli","cachetools","cartopy","casadi","certifi","cffi","cffi_example","cftime","clarabel","click","cligj","clingo","cloudpickle","cmyt","cobs","colorspacious","contourpy","coolprop","coverage","crc32c","crcmod","cryptography","cssselect","cycler","cysignals","cytoolz","decorator","demes","deprecated","deprecation","diskcache","distlib","distro","dnspython","docutils","donfig","duckdb","ewah_bool_utils","exceptiongroup","executing","fastapi","fiona","fonttools","freesasa","frozenlist","fsspec","future","galpy","geopandas","gmpy2","h11","h3","h5py","healpy","highspy","html5lib","httpcore","httpx","idna","igraph","imageio","iminuit","iniconfig","ipython","jedi","jinja2","jiter","joblib","jsonpatch","jsonpointer","jsonschema","jsonschema_specifications","kiwisolver","lazy_loader","libcst","librt","lightgbm","logbook","lxml","lz4","markupsafe","matplotlib","micropip","ml_dtypes","mmh3","mpmath","msgpack","msgspec","msprime","multidict","munch","mypy","narwhals","ndindex","netcdf4","networkx","newick","nh3","nlopt","nltk","numcodecs","numpy","openai","optlang","orjson","packaging","pandas","parso","patsy","pcodec","peewee","phispy","pillow","pkgconfig","platformdirs","pluggy","ply","polars","prompt_toolkit","propcache","protobuf","py","pyarrow","pyclipper","pycparser","pycryptodome","pydantic","pydantic_core","pydoc_data","pyerfa","pygments","pyheif","pyiceberg","pyinstrument","pymongo","pymupdf","pynacl","pyparsing","pyproj","pyroaring","pyrodigal","pyrsistent","pysam","pyshp","pytaglib","pytest","pytest_httpx","pytz","pywavelets","pyxirr","pyyaml","rasterio","rateslib","rebound","reboundx","referencing","regex","requests","retrying","rich","safetensors","scipy","screed","sentencepiece","setuptools","shapely","simplejson","sisl","six","sniffio","sortedcontainers","soundfile","soupsieve","sourmash","soxr","sparseqr","sqlalchemy","starlette","statsmodels","strictyaml","svgwrite","swiglpk","sympy","tblib","termcolor","texttable","texture2ddecoder","threadpoolctl","tiktoken","tomli","toolz","tqdm","traitlets","traits","tskit","tzdata","ujson","uncertainties","unyt","urllib3","vrplib","wcwidth","webencodings","wordcloud","wrapt","xarray","xgboost","xlrd","xxhash","xyzservices","yarl","yt","zarr","zengl","zfpy","zstandard","blosc2","fastcan","gsw","robotraconteur","asciitree","autograd","cramjam","fastparquet","inspice","pplpy","primecountpy","pycdfpp","river","rustworkx","pyxel","gensim","mne","osqp","has","target","version","includes","get","i","indexOf","pkg"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/storage.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const{assign:e}=Object,t="entries",s="readonly",n="readwrite",r={durability:"default",prefix:"IDBMap"},a=({target:{result:e}})=>e;class i extends EventTarget{#e;#t;#s;async#n(s,n){const r=(await this.#e).transaction(t,n,this.#t);return new Promise((n,a)=>e(s(r.objectStore(t)),{onsuccess:n,onerror:a}))}constructor(s,{durability:n=r.durability,prefix:i=r.prefix}=r){super(),this.#s=i,this.#t={durability:n},this.#e=new Promise((n,r)=>{e(indexedDB.open(`${this.#s}/${s}`),{onupgradeneeded({target:{result:e,transaction:s}}){e.objectStoreNames.length||e.createObjectStore(t),s.oncomplete=()=>n(e)},onsuccess(e){n(a(e))},onerror(e){r(e),this.dispatchEvent(e)}})}).then(e=>{const t=this.dispatchEvent.bind(this);for(const s in e)s.startsWith("on")&&(e[s]=t);return e})}dispatchEvent(t){const{type:s,message:n,isTrusted:r}=t;return super.dispatchEvent(r?e(new Event(s),{message:n}):t)}async close(){(await this.#e).close()}get size(){return this.#n(e=>e.count(),s).then(a)}async clear(){await this.#n(e=>e.clear(),n)}async delete(e){await this.#n(t=>t.delete(e),n)}async entries(){const e=await this.keys();return Promise.all(e.map(e=>this.get(e).then(t=>[e,t])))}async forEach(e,t=this){for(const[s,n]of await this.entries())await e.call(t,n,s,this)}async get(e){return await this.#n(t=>t.get(e),s).then(a)}async has(e){return void 0!==await this.#n(t=>t.getKey(e),s).then(a)}async keys(){return await this.#n(e=>e.getAllKeys(),s).then(a)}async set(e,t){return await this.#n(s=>s.put(t,e),n),this}async values(){const e=await this.keys();return Promise.all(e.map(e=>this.get(e)))}get[Symbol.toStringTag](){return this.#s}}class c extends Map{#r;#a;constructor(...e){super(),this.#r=new i(...e),this.#a=this.#r.entries().then(e=>{for(const[t,s]of e)super.set(t,s)})}async close(){await this.#a,await this.#r.close()}async sync(){await this.#a}clear(){return this.#a=this.#a.then(()=>this.#r.clear()),super.clear()}delete(e){return this.#a=this.#a.then(()=>this.#r.delete(e)),super.delete(e)}set(e,t){return this.#a=this.#a.then(()=>this.#r.set(e,t)),super.set(e,t)}}const{parse:o,stringify:u}=JSON,{keys:l}=Object,h=String,y="string",p={},f="object",w=(e,t)=>t,d=e=>e instanceof h?h(e):e,g=(e,t)=>typeof t===y?new h(t):t,m=(e,t,s,n)=>{const r=[];for(let a=l(
|
|
1
|
+
const{assign:e}=Object,t="entries",s="readonly",n="readwrite",r={durability:"default",prefix:"IDBMap"},a=({target:{result:e}})=>e;class i extends EventTarget{#e;#t;#s;async#n(s,n){const r=(await this.#e).transaction(t,n,this.#t);return new Promise((n,a)=>e(s(r.objectStore(t)),{onsuccess:n,onerror:a}))}constructor(s,{durability:n=r.durability,prefix:i=r.prefix}=r){super(),this.#s=i,this.#t={durability:n},this.#e=new Promise((n,r)=>{e(indexedDB.open(`${this.#s}/${s}`),{onupgradeneeded({target:{result:e,transaction:s}}){e.objectStoreNames.length||e.createObjectStore(t),s.oncomplete=()=>n(e)},onsuccess(e){n(a(e))},onerror(e){r(e),this.dispatchEvent(e)}})}).then(e=>{const t=this.dispatchEvent.bind(this);for(const s in e)s.startsWith("on")&&(e[s]=t);return e})}dispatchEvent(t){const{type:s,message:n,isTrusted:r}=t;return super.dispatchEvent(r?e(new Event(s),{message:n}):t)}async close(){(await this.#e).close()}get size(){return this.#n(e=>e.count(),s).then(a)}async clear(){await this.#n(e=>e.clear(),n)}async delete(e){await this.#n(t=>t.delete(e),n)}async entries(){const e=await this.keys();return Promise.all(e.map(e=>this.get(e).then(t=>[e,t])))}async forEach(e,t=this){for(const[s,n]of await this.entries())await e.call(t,n,s,this)}async get(e){return await this.#n(t=>t.get(e),s).then(a)}async has(e){return void 0!==await this.#n(t=>t.getKey(e),s).then(a)}async keys(){return await this.#n(e=>e.getAllKeys(),s).then(a)}async set(e,t){return await this.#n(s=>s.put(t,e),n),this}async values(){const e=await this.keys();return Promise.all(e.map(e=>this.get(e)))}get[Symbol.toStringTag](){return this.#s}}class c extends Map{#r;#a;constructor(...e){super(),this.#r=new i(...e),this.#a=this.#r.entries().then(e=>{for(const[t,s]of e)super.set(t,s)})}async close(){await this.#a,await this.#r.close()}async sync(){await this.#a}clear(){return this.#a=this.#a.then(()=>this.#r.clear()),super.clear()}delete(e){return this.#a=this.#a.then(()=>this.#r.delete(e)),super.delete(e)}set(e,t){return this.#a=this.#a.then(()=>this.#r.set(e,t)),super.set(e,t)}}const{parse:o,stringify:u}=JSON,{keys:l}=Object,h=String,y="string",p={},f="object",w=(e,t)=>t,d=e=>e instanceof h?h(e):e,g=(e,t)=>typeof t===y?new h(t):t,m=(e,t,s)=>{const n=h(t.push(s)-1);return e.set(s,n),n},b=(e,t)=>{const s=o(e,g).map(d),n=w;let r=s[0];if(typeof r===f&&r){const e=[],t=((e,t,s,n)=>r=>{for(let a=l(r),{length:i}=a,c=0;c<i;c++){const i=a[c],o=r[i];if(o instanceof h){const a=e[+o];typeof a!==f||s.has(a)?r[i]=n.call(r,i,a):(s.add(a),r[i]=p,t.push({o:r,k:i,r:a}))}else r[i]!==p&&(r[i]=n.call(r,i,o))}return r})(s,e,new Set,n);r=t(r);let a=0;for(;a<e.length;){const{o:s,k:r,r:i}=e[a++];s[r]=n.call(s,r,t(i))}}return n.call({"":r},"",r)},x=(e,t,s)=>{const n=w,r=new Map,a=[],i=[];let c=+m(r,a,n.call({"":e},"",e)),o=!c;for(;c<a.length;)o=!0,i[c]=u(a[c++],l,s);return"["+i.join(",")+"]";function l(e,t){if(o)return o=!o,t;const s=n.call(this,e,t);switch(typeof s){case f:if(null===s)return s;case y:return r.get(s)||m(r,a,s)}return s}},{isView:v}=ArrayBuffer,q=e=>{const[t,s]=b(e);return"null"===t?null:"generic"===t?s:"bytearray"===t?new Uint8Array(e).buffer:"memoryview"===t?new Uint8Array(e):e},S=async e=>{if(!e)throw new SyntaxError("The storage name must be defined");const t=new c(`@pyscript/${e}`),s=new Map;await t.sync();for(const[e,n]of t.entries())s.set(e,q(n));const n=()=>{s.clear(),t.clear()},r=async()=>{await t.sync()};return new Proxy(s,{ownKeys:e=>[...e.keys()],has:(e,t)=>e.has(t),get:(e,t)=>"clear"===t?n:"sync"===t?r:e.get(t),set:(e,s,n)=>(e.set(s,n),t.set(s,(e=>{if(null==e)return x(["null",0]);switch(typeof e){case"object":if(v(e))return x(["memoryview",[...e]]);if(e instanceof ArrayBuffer)return x(["bytearray",[...new Uint8Array(e)]]);case"string":case"number":case"boolean":return x(["generic",e]);default:throw new TypeError(`Unexpected value: ${String(e)}`)}})(n)),!0),deleteProperty:(e,s)=>(e.has(s)&&(e.delete(s),t.delete(s)),!0)})};export{S as storage};
|
|
2
2
|
//# sourceMappingURL=storage.js.map
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sources":["../node_modules/@webreflection/idb-map/index.js","../node_modules/@webreflection/idb-map/sync.js","../node_modules/flatted/esm/index.js","../src/storage.js"],"sourcesContent":["const { assign } = Object;\n\nconst STORAGE = 'entries';\nconst READONLY = 'readonly';\nconst READWRITE = 'readwrite';\n\n/**\n * @typedef {Object} IDBMapOptions\n * @prop {'strict' | 'relaxed' | 'default'} [durability]\n * @prop {string} [prefix]\n */\n\n/** @typedef {[IDBValidKey, unknown]} IDBMapEntry */\n\n/** @type {IDBMapOptions} */\nconst defaultOptions = { durability: 'default', prefix: 'IDBMap' };\n\n/**\n * @template T\n * @param {{ target: IDBRequest<T> }} event\n * @returns {T}\n */\nconst result = ({ target: { result } }) => result;\n\nexport default class IDBMap extends EventTarget {\n // Privates\n /** @type {Promise<IDBDatabase>} */ #db;\n /** @type {IDBMapOptions} */ #options;\n /** @type {string} */ #prefix;\n\n /**\n * @template T\n * @param {(store: IDBObjectStore) => IDBRequest<T>} what\n * @param {'readonly' | 'readwrite'} how\n * @returns {Promise<T>}\n */\n async #transaction(what, how) {\n const db = await this.#db;\n const t = db.transaction(STORAGE, how, this.#options);\n return new Promise((onsuccess, onerror) => assign(\n what(t.objectStore(STORAGE)),\n {\n onsuccess,\n onerror,\n }\n ));\n }\n\n /**\n * @param {string} name\n * @param {IDBMapOptions} options\n */\n constructor(\n name,\n {\n durability = defaultOptions.durability,\n prefix = defaultOptions.prefix,\n } = defaultOptions\n ) {\n super();\n this.#prefix = prefix;\n this.#options = { durability };\n this.#db = new Promise((resolve, reject) => {\n assign(\n indexedDB.open(`${this.#prefix}/${name}`),\n {\n onupgradeneeded({ target: { result, transaction } }) {\n if (!result.objectStoreNames.length)\n result.createObjectStore(STORAGE);\n transaction.oncomplete = () => resolve(result);\n },\n onsuccess(event) {\n resolve(result(event));\n },\n onerror(event) {\n reject(event);\n this.dispatchEvent(event);\n },\n },\n );\n }).then(result => {\n const boundDispatch = this.dispatchEvent.bind(this);\n for (const key in result) {\n if (key.startsWith('on'))\n result[key] = boundDispatch;\n }\n return result;\n });\n }\n\n // EventTarget Forwards\n /**\n * @param {Event} event\n * @returns \n */\n dispatchEvent(event) {\n const { type, message, isTrusted } = event;\n return super.dispatchEvent(\n // avoid re-dispatching of the same event\n isTrusted ?\n assign(new Event(type), { message }) :\n event\n );\n }\n\n // IDBDatabase Forwards\n async close() {\n (await this.#db).close();\n }\n\n // Map async API\n get size() {\n return this.#transaction(\n store => store.count(),\n READONLY,\n ).then(result);\n }\n\n async clear() {\n await this.#transaction(\n store => store.clear(),\n READWRITE,\n );\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async delete(key) {\n await this.#transaction(\n store => store.delete(key),\n READWRITE,\n );\n }\n\n /**\n * @returns {Promise<IDBMapEntry[]>}\n */\n async entries() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key).then(value => [key, value])));\n }\n\n /**\n * @param {(unknown, IDBValidKey, IDBMap) => void} callback\n * @param {unknown} [context]\n */\n async forEach(callback, context = this) {\n for (const [key, value] of await this.entries())\n await callback.call(context, value, key, this);\n }\n\n /**\n * @param {IDBValidKey} key\n * @returns {Promise<unknown | undefined>}\n */\n async get(key) {\n const value = await this.#transaction(\n store => store.get(key),\n READONLY,\n ).then(result);\n return value;\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async has(key) {\n const k = await this.#transaction(\n store => store.getKey(key),\n READONLY,\n ).then(result);\n return k !== void 0;\n }\n\n async keys() {\n const keys = await this.#transaction(\n store => store.getAllKeys(),\n READONLY,\n ).then(result);\n return keys;\n }\n\n /**\n * @param {IDBValidKey} key\n * @param {unknown} value\n */\n async set(key, value) {\n await this.#transaction(\n store => store.put(value, key),\n READWRITE,\n );\n return this;\n }\n\n async values() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key)));\n }\n\n get [Symbol.toStringTag]() {\n return this.#prefix;\n }\n}\n","import IDBMap from './index.js';\n\nexport default class IDBMapSync extends Map {\n #map;\n #queue;\n constructor(...args) {\n super();\n this.#map = new IDBMap(...args);\n this.#queue = this.#map.entries().then(entries => {\n for (const [key, value] of entries)\n super.set(key, value);\n });\n }\n async close() {\n await this.#queue;\n await this.#map.close();\n }\n async sync() {\n await this.#queue;\n }\n clear() {\n this.#queue = this.#queue.then(() => this.#map.clear());\n return super.clear();\n }\n delete(key) {\n this.#queue = this.#queue.then(() => this.#map.delete(key));\n return super.delete(key);\n }\n set(key, value) {\n this.#queue = this.#queue.then(() => this.#map.set(key, value));\n return super.set(key, value);\n }\n}\n","/// <reference types=\"../types/index.d.ts\" />\n\n// (c) 2020-present Andrea Giammarchi\n\nconst {parse: $parse, stringify: $stringify} = JSON;\nconst {keys} = Object;\n\nconst Primitive = String; // it could be Number\nconst primitive = 'string'; // it could be 'number'\n\nconst ignore = {};\nconst object = 'object';\n\nconst noop = (_, value) => value;\n\nconst primitives = value => (\n value instanceof Primitive ? Primitive(value) : value\n);\n\nconst Primitives = (_, value) => (\n typeof value === primitive ? new Primitive(value) : value\n);\n\nconst revive = (input, parsed, output, $) => {\n const lazy = [];\n for (let ke = keys(output), {length} = ke, y = 0; y < length; y++) {\n const k = ke[y];\n const value = output[k];\n if (value instanceof Primitive) {\n const tmp = input[value];\n if (typeof tmp === object && !parsed.has(tmp)) {\n parsed.add(tmp);\n output[k] = ignore;\n lazy.push({k, a: [input, parsed, tmp, $]});\n }\n else\n output[k] = $.call(output, k, tmp);\n }\n else if (output[k] !== ignore)\n output[k] = $.call(output, k, value);\n }\n for (let {length} = lazy, i = 0; i < length; i++) {\n const {k, a} = lazy[i];\n output[k] = $.call(output, k, revive.apply(null, a));\n }\n return output;\n};\n\nconst set = (known, input, value) => {\n const index = Primitive(input.push(value) - 1);\n known.set(value, index);\n return index;\n};\n\n/**\n * Converts a specialized flatted string into a JS value.\n * @param {string} text\n * @param {(this: any, key: string, value: any) => any} [reviver]\n * @returns {any}\n */\nexport const parse = (text, reviver) => {\n const input = $parse(text, Primitives).map(primitives);\n const value = input[0];\n const $ = reviver || noop;\n const tmp = typeof value === object && value ?\n revive(input, new Set, value, $) :\n value;\n return $.call({'': tmp}, '', tmp);\n};\n\n/**\n * Converts a JS value into a specialized flatted string.\n * @param {any} value\n * @param {((this: any, key: string, value: any) => any) | (string | number)[] | null | undefined} [replacer]\n * @param {string | number | undefined} [space]\n * @returns {string}\n */\nexport const stringify = (value, replacer, space) => {\n const $ = replacer && typeof replacer === object ?\n (k, v) => (k === '' || -1 < replacer.indexOf(k) ? v : void 0) :\n (replacer || noop);\n const known = new Map;\n const input = [];\n const output = [];\n let i = +set(known, input, $.call({'': value}, '', value));\n let firstRun = !i;\n while (i < input.length) {\n firstRun = true;\n output[i] = $stringify(input[i++], replace, space);\n }\n return '[' + output.join(',') + ']';\n function replace(key, value) {\n if (firstRun) {\n firstRun = !firstRun;\n return value;\n }\n const after = $.call(this, key, value);\n switch (typeof after) {\n case object:\n if (after === null) return after;\n case primitive:\n return known.get(after) || set(known, input, after);\n }\n return after;\n }\n};\n\n/**\n * Converts a generic value into a JSON serializable object without losing recursion.\n * @param {any} value\n * @returns {any}\n */\nexport const toJSON = value => $parse(stringify(value));\n\n/**\n * Converts a previously serialized object with recursion into a recursive one.\n * @param {any} value\n * @returns {any}\n */\nexport const fromJSON = value => parse($stringify(value));\n","import IDBMapSync from \"@webreflection/idb-map/sync\";\nimport { parse, stringify } from \"flatted\";\n\nconst { isView } = ArrayBuffer;\n\nconst to_idb = (value) => {\n if (value == null) return stringify([\"null\", 0]);\n /* eslint-disable no-fallthrough */\n switch (typeof value) {\n case \"object\": {\n if (isView(value)) return stringify([\"memoryview\", [...value]]);\n if (value instanceof ArrayBuffer)\n return stringify([\"bytearray\", [...new Uint8Array(value)]]);\n }\n case \"string\":\n case \"number\":\n case \"boolean\":\n return stringify([\"generic\", value]);\n default:\n throw new TypeError(`Unexpected value: ${String(value)}`);\n }\n};\n\nconst from_idb = (value) => {\n const [kind, result] = parse(value);\n if (kind === \"null\") return null;\n if (kind === \"generic\") return result;\n if (kind === \"bytearray\") return new Uint8Array(value).buffer;\n if (kind === \"memoryview\") return new Uint8Array(value);\n return value;\n};\n\n// this export simulate pyscript.storage exposed in the Python world\nexport const storage = async (name) => {\n if (!name) throw new SyntaxError(\"The storage name must be defined\");\n\n const store = new IDBMapSync(`@pyscript/${name}`);\n const map = new Map();\n await store.sync();\n for (const [k, v] of store.entries()) map.set(k, from_idb(v));\n\n const clear = () => {\n map.clear();\n store.clear();\n };\n\n const sync = async () => {\n await store.sync();\n };\n\n return new Proxy(map, {\n ownKeys: (map) => [...map.keys()],\n has: (map, name) => map.has(name),\n get: (map, name) => {\n if (name === \"clear\") return clear;\n if (name === \"sync\") return sync;\n return map.get(name);\n },\n set: (map, name, value) => {\n map.set(name, value);\n store.set(name, to_idb(value));\n return true;\n },\n deleteProperty: (map, name) => {\n if (map.has(name)) {\n map.delete(name);\n store.delete(name);\n }\n return true;\n },\n });\n};\n"],"names":["assign","Object","STORAGE","READONLY","READWRITE","defaultOptions","durability","prefix","result","target","IDBMap","EventTarget","db","options","transaction","what","how","t","this","Promise","onsuccess","onerror","objectStore","constructor","name","super","resolve","reject","indexedDB","open","onupgradeneeded","objectStoreNames","length","createObjectStore","oncomplete","event","dispatchEvent","then","boundDispatch","bind","key","startsWith","type","message","isTrusted","Event","close","size","store","count","clear","delete","entries","keys","all","map","get","value","forEach","callback","context","call","has","getKey","getAllKeys","set","put","values","Symbol","toStringTag","IDBMapSync","Map","queue","args","sync","parse","$parse","stringify","$stringify","JSON","Primitive","String","primitive","ignore","object","noop","_","primitives","Primitives","revive","input","parsed","output","$","lazy","ke","y","k","tmp","add","push","a","i","apply","known","index","replacer","space","firstRun","replace","join","after","isView","ArrayBuffer","from_idb","kind","text","Set","Uint8Array","buffer","storage","async","SyntaxError","v","Proxy","ownKeys","TypeError","to_idb","deleteProperty"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
1
|
+
{"version":3,"file":"storage.js","sources":["../node_modules/@webreflection/idb-map/index.js","../node_modules/@webreflection/idb-map/sync.js","../node_modules/flatted/esm/index.js","../src/storage.js"],"sourcesContent":["const { assign } = Object;\n\nconst STORAGE = 'entries';\nconst READONLY = 'readonly';\nconst READWRITE = 'readwrite';\n\n/**\n * @typedef {Object} IDBMapOptions\n * @prop {'strict' | 'relaxed' | 'default'} [durability]\n * @prop {string} [prefix]\n */\n\n/** @typedef {[IDBValidKey, unknown]} IDBMapEntry */\n\n/** @type {IDBMapOptions} */\nconst defaultOptions = { durability: 'default', prefix: 'IDBMap' };\n\n/**\n * @template T\n * @param {{ target: IDBRequest<T> }} event\n * @returns {T}\n */\nconst result = ({ target: { result } }) => result;\n\nexport default class IDBMap extends EventTarget {\n // Privates\n /** @type {Promise<IDBDatabase>} */ #db;\n /** @type {IDBMapOptions} */ #options;\n /** @type {string} */ #prefix;\n\n /**\n * @template T\n * @param {(store: IDBObjectStore) => IDBRequest<T>} what\n * @param {'readonly' | 'readwrite'} how\n * @returns {Promise<T>}\n */\n async #transaction(what, how) {\n const db = await this.#db;\n const t = db.transaction(STORAGE, how, this.#options);\n return new Promise((onsuccess, onerror) => assign(\n what(t.objectStore(STORAGE)),\n {\n onsuccess,\n onerror,\n }\n ));\n }\n\n /**\n * @param {string} name\n * @param {IDBMapOptions} options\n */\n constructor(\n name,\n {\n durability = defaultOptions.durability,\n prefix = defaultOptions.prefix,\n } = defaultOptions\n ) {\n super();\n this.#prefix = prefix;\n this.#options = { durability };\n this.#db = new Promise((resolve, reject) => {\n assign(\n indexedDB.open(`${this.#prefix}/${name}`),\n {\n onupgradeneeded({ target: { result, transaction } }) {\n if (!result.objectStoreNames.length)\n result.createObjectStore(STORAGE);\n transaction.oncomplete = () => resolve(result);\n },\n onsuccess(event) {\n resolve(result(event));\n },\n onerror(event) {\n reject(event);\n this.dispatchEvent(event);\n },\n },\n );\n }).then(result => {\n const boundDispatch = this.dispatchEvent.bind(this);\n for (const key in result) {\n if (key.startsWith('on'))\n result[key] = boundDispatch;\n }\n return result;\n });\n }\n\n // EventTarget Forwards\n /**\n * @param {Event} event\n * @returns \n */\n dispatchEvent(event) {\n const { type, message, isTrusted } = event;\n return super.dispatchEvent(\n // avoid re-dispatching of the same event\n isTrusted ?\n assign(new Event(type), { message }) :\n event\n );\n }\n\n // IDBDatabase Forwards\n async close() {\n (await this.#db).close();\n }\n\n // Map async API\n get size() {\n return this.#transaction(\n store => store.count(),\n READONLY,\n ).then(result);\n }\n\n async clear() {\n await this.#transaction(\n store => store.clear(),\n READWRITE,\n );\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async delete(key) {\n await this.#transaction(\n store => store.delete(key),\n READWRITE,\n );\n }\n\n /**\n * @returns {Promise<IDBMapEntry[]>}\n */\n async entries() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key).then(value => [key, value])));\n }\n\n /**\n * @param {(unknown, IDBValidKey, IDBMap) => void} callback\n * @param {unknown} [context]\n */\n async forEach(callback, context = this) {\n for (const [key, value] of await this.entries())\n await callback.call(context, value, key, this);\n }\n\n /**\n * @param {IDBValidKey} key\n * @returns {Promise<unknown | undefined>}\n */\n async get(key) {\n const value = await this.#transaction(\n store => store.get(key),\n READONLY,\n ).then(result);\n return value;\n }\n\n /**\n * @param {IDBValidKey} key\n */\n async has(key) {\n const k = await this.#transaction(\n store => store.getKey(key),\n READONLY,\n ).then(result);\n return k !== void 0;\n }\n\n async keys() {\n const keys = await this.#transaction(\n store => store.getAllKeys(),\n READONLY,\n ).then(result);\n return keys;\n }\n\n /**\n * @param {IDBValidKey} key\n * @param {unknown} value\n */\n async set(key, value) {\n await this.#transaction(\n store => store.put(value, key),\n READWRITE,\n );\n return this;\n }\n\n async values() {\n const keys = await this.keys();\n return Promise.all(keys.map(key => this.get(key)));\n }\n\n get [Symbol.toStringTag]() {\n return this.#prefix;\n }\n}\n","import IDBMap from './index.js';\n\nexport default class IDBMapSync extends Map {\n #map;\n #queue;\n constructor(...args) {\n super();\n this.#map = new IDBMap(...args);\n this.#queue = this.#map.entries().then(entries => {\n for (const [key, value] of entries)\n super.set(key, value);\n });\n }\n async close() {\n await this.#queue;\n await this.#map.close();\n }\n async sync() {\n await this.#queue;\n }\n clear() {\n this.#queue = this.#queue.then(() => this.#map.clear());\n return super.clear();\n }\n delete(key) {\n this.#queue = this.#queue.then(() => this.#map.delete(key));\n return super.delete(key);\n }\n set(key, value) {\n this.#queue = this.#queue.then(() => this.#map.set(key, value));\n return super.set(key, value);\n }\n}\n","/// <reference types=\"../types/index.d.ts\" />\n\n// (c) 2020-present Andrea Giammarchi\n\nconst {parse: $parse, stringify: $stringify} = JSON;\nconst {keys} = Object;\n\nconst Primitive = String; // it could be Number\nconst primitive = 'string'; // it could be 'number'\n\nconst ignore = {};\nconst object = 'object';\n\nconst noop = (_, value) => value;\n\nconst primitives = value => (\n value instanceof Primitive ? Primitive(value) : value\n);\n\nconst Primitives = (_, value) => (\n typeof value === primitive ? new Primitive(value) : value\n);\n\nconst resolver = (input, lazy, parsed, $) => output => {\n for (let ke = keys(output), {length} = ke, y = 0; y < length; y++) {\n const k = ke[y];\n const value = output[k];\n if (value instanceof Primitive) {\n const tmp = input[+value];\n if (typeof tmp === object && !parsed.has(tmp)) {\n parsed.add(tmp);\n output[k] = ignore;\n lazy.push({ o: output, k, r: tmp });\n }\n else\n output[k] = $.call(output, k, tmp);\n }\n else if (output[k] !== ignore)\n output[k] = $.call(output, k, value);\n }\n return output;\n};\n\nconst set = (known, input, value) => {\n const index = Primitive(input.push(value) - 1);\n known.set(value, index);\n return index;\n};\n\n/**\n * Converts a specialized flatted string into a JS value.\n * @param {string} text\n * @param {(this: any, key: string, value: any) => any} [reviver]\n * @returns {any}\n */\nexport const parse = (text, reviver) => {\n const input = $parse(text, Primitives).map(primitives);\n const $ = reviver || noop;\n\n let value = input[0];\n\n if (typeof value === object && value) {\n const lazy = [];\n const revive = resolver(input, lazy, new Set, $);\n value = revive(value);\n\n let i = 0;\n while (i < lazy.length) {\n // it could be a lazy.shift() but that's costly\n const {o, k, r} = lazy[i++];\n o[k] = $.call(o, k, revive(r));\n }\n }\n\n return $.call({'': value}, '', value);\n};\n\n/**\n * Converts a JS value into a specialized flatted string.\n * @param {any} value\n * @param {((this: any, key: string, value: any) => any) | (string | number)[] | null | undefined} [replacer]\n * @param {string | number | undefined} [space]\n * @returns {string}\n */\nexport const stringify = (value, replacer, space) => {\n const $ = replacer && typeof replacer === object ?\n (k, v) => (k === '' || -1 < replacer.indexOf(k) ? v : void 0) :\n (replacer || noop);\n const known = new Map;\n const input = [];\n const output = [];\n let i = +set(known, input, $.call({'': value}, '', value));\n let firstRun = !i;\n while (i < input.length) {\n firstRun = true;\n output[i] = $stringify(input[i++], replace, space);\n }\n return '[' + output.join(',') + ']';\n function replace(key, value) {\n if (firstRun) {\n firstRun = !firstRun;\n return value;\n }\n const after = $.call(this, key, value);\n switch (typeof after) {\n case object:\n if (after === null) return after;\n case primitive:\n return known.get(after) || set(known, input, after);\n }\n return after;\n }\n};\n\n/**\n * Converts a generic value into a JSON serializable object without losing recursion.\n * @param {any} value\n * @returns {any}\n */\nexport const toJSON = value => $parse(stringify(value));\n\n/**\n * Converts a previously serialized object with recursion into a recursive one.\n * @param {any} value\n * @returns {any}\n */\nexport const fromJSON = value => parse($stringify(value));\n","import IDBMapSync from \"@webreflection/idb-map/sync\";\nimport { parse, stringify } from \"flatted\";\n\nconst { isView } = ArrayBuffer;\n\nconst to_idb = (value) => {\n if (value == null) return stringify([\"null\", 0]);\n /* eslint-disable no-fallthrough */\n switch (typeof value) {\n case \"object\": {\n if (isView(value)) return stringify([\"memoryview\", [...value]]);\n if (value instanceof ArrayBuffer)\n return stringify([\"bytearray\", [...new Uint8Array(value)]]);\n }\n case \"string\":\n case \"number\":\n case \"boolean\":\n return stringify([\"generic\", value]);\n default:\n throw new TypeError(`Unexpected value: ${String(value)}`);\n }\n};\n\nconst from_idb = (value) => {\n const [kind, result] = parse(value);\n if (kind === \"null\") return null;\n if (kind === \"generic\") return result;\n if (kind === \"bytearray\") return new Uint8Array(value).buffer;\n if (kind === \"memoryview\") return new Uint8Array(value);\n return value;\n};\n\n// this export simulate pyscript.storage exposed in the Python world\nexport const storage = async (name) => {\n if (!name) throw new SyntaxError(\"The storage name must be defined\");\n\n const store = new IDBMapSync(`@pyscript/${name}`);\n const map = new Map();\n await store.sync();\n for (const [k, v] of store.entries()) map.set(k, from_idb(v));\n\n const clear = () => {\n map.clear();\n store.clear();\n };\n\n const sync = async () => {\n await store.sync();\n };\n\n return new Proxy(map, {\n ownKeys: (map) => [...map.keys()],\n has: (map, name) => map.has(name),\n get: (map, name) => {\n if (name === \"clear\") return clear;\n if (name === \"sync\") return sync;\n return map.get(name);\n },\n set: (map, name, value) => {\n map.set(name, value);\n store.set(name, to_idb(value));\n return true;\n },\n deleteProperty: (map, name) => {\n if (map.has(name)) {\n map.delete(name);\n store.delete(name);\n }\n return true;\n },\n });\n};\n"],"names":["assign","Object","STORAGE","READONLY","READWRITE","defaultOptions","durability","prefix","result","target","IDBMap","EventTarget","db","options","transaction","what","how","t","this","Promise","onsuccess","onerror","objectStore","constructor","name","super","resolve","reject","indexedDB","open","onupgradeneeded","objectStoreNames","length","createObjectStore","oncomplete","event","dispatchEvent","then","boundDispatch","bind","key","startsWith","type","message","isTrusted","Event","close","size","store","count","clear","delete","entries","keys","all","map","get","value","forEach","callback","context","call","has","getKey","getAllKeys","set","put","values","Symbol","toStringTag","IDBMapSync","Map","queue","args","sync","parse","$parse","stringify","$stringify","JSON","Primitive","String","primitive","ignore","object","noop","_","primitives","Primitives","known","input","index","push","text","reviver","$","lazy","revive","parsed","output","ke","y","k","tmp","add","o","r","resolver","Set","i","replacer","space","firstRun","replace","join","after","isView","ArrayBuffer","from_idb","kind","Uint8Array","buffer","storage","async","SyntaxError","v","Proxy","ownKeys","TypeError","to_idb","deleteProperty"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|