mirror of
https://github.com/pyscript/pyscript.git
synced 2026-04-01 02:00:21 -04:00
* PyodideRuntime should be one of the runtimes * subsume interpreter into runtime API * fix eslint * add comments * move initializers, postInitializers, scriptsQueue, etc. to initialize() of Runtime Super Class * modify comment for initialize * small renaming * change id to default * fix pyscript.py import * try adding tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add inlineDynamicImports option * Make jest happy about ESM modules * Attempt to make jest happy about pyodide * point to version in accordance with node module being used * fix base.ts * fix tests * fix indexURL path determination * edit pyodide.asm.js as a part of setup process * load runtime beforeAll tests * add test for loading a package * use only runPythonAsync underneath for pyodide * import PyodideInterface type directly from pyodide * add some comments Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Philipp Rudiger <prudiger@anaconda.com>
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { writable } from 'svelte/store';
|
|
import type { PyLoader } from './components/pyloader';
|
|
import type { PyScript } from './components/pyscript';
|
|
import type { Runtime } from './runtime';
|
|
|
|
export type Initializer = () => Promise<void>;
|
|
|
|
export type Environment = {
|
|
id: string;
|
|
runtime: Runtime;
|
|
state: string;
|
|
};
|
|
|
|
/*
|
|
A store for Runtime which can encompass any
|
|
runtime, but currently only has Pyodide as its offering.
|
|
*/
|
|
export const runtimeLoaded = writable<Runtime>();
|
|
|
|
export const loadedEnvironments = writable<Record<Environment['id'], Environment>>({});
|
|
|
|
export const navBarOpen = writable(false);
|
|
export const componentsNavOpen = writable(false);
|
|
export const componentDetailsNavOpen = writable(false);
|
|
export const mainDiv = writable(null);
|
|
export const currentComponentDetails = writable([]);
|
|
export const scriptsQueue = writable<PyScript[]>([]);
|
|
export const initializers = writable<Initializer[]>([]);
|
|
export const postInitializers = writable<Initializer[]>([]);
|
|
export const globalLoader = writable<PyLoader | undefined>();
|
|
export const appConfig = writable();
|
|
|
|
export const addToScriptsQueue = (script: PyScript) => {
|
|
scriptsQueue.update(scriptsQueue => [...scriptsQueue, script]);
|
|
};
|
|
|
|
export const addInitializer = (initializer: Initializer) => {
|
|
console.log('adding initializer', initializer);
|
|
initializers.update(initializers => [...initializers, initializer]);
|
|
console.log('added initializer', initializer);
|
|
};
|
|
|
|
export const addPostInitializer = (initializer: Initializer) => {
|
|
console.log('adding post initializer', initializer);
|
|
postInitializers.update(postInitializers => [...postInitializers, initializer]);
|
|
console.log('added post initializer', initializer);
|
|
};
|