[next] Improve the whole events story (#1584)

This commit is contained in:
Andrea Giammarchi
2023-07-10 15:36:48 +02:00
committed by GitHub
parent c6b5ce7f55
commit 0b0e03456c
16 changed files with 101 additions and 113 deletions

View File

@@ -2,23 +2,23 @@ import { clean, writeFile as writeFileUtil } from "./_utils.js";
// REQUIRES INTEGRATION TEST
/* c8 ignore start */
export const registerJSModule = (interpreter, name, value) => {
interpreter.registerJsModule(name, value);
};
export const run = (interpreter, code) => interpreter.runPython(clean(code));
export const runAsync = (interpreter, code) =>
interpreter.runPythonAsync(clean(code));
export const getGlobal = (interpreter, name) => interpreter.globals.get(name);
export const setGlobal = (interpreter, name, value) => {
interpreter.globals.set(name, value);
};
export const deleteGlobal = (interpreter, name) => {
interpreter.globals.delete(name);
};
export const registerJSModule = (interpreter, name, value) => {
interpreter.registerJsModule(name, value);
export const runEvent = async (interpreter, code, event) => {
// allows method(event) as well as namespace.method(event)
// it does not allow fancy brackets names for now
const [name, ...keys] = code.split(".");
let target = interpreter.globals.get(name);
let context;
for (const key of keys) [context, target] = [target, target[key]];
target.call(context, event);
};
export const writeFile = ({ FS }, path, buffer) =>