mirror of
https://github.com/pyscript/pyscript.git
synced 2025-12-21 11:15:36 -05:00
* Remove duplicate LICENSE. * Remove un-userd pyscript.sw directory and its content. * Remove ReadTheDocs settings (unused). * Remove un-used pyproject.toml * Remove now unused CHANGELOG. Changes now tracked via release notes on GitHub. * Updated / cleaned release page template and associated GH actions. * Update prettierignore to remove un-needed refs. * Move troubleshooting into correct README. * Add reason for the index.html * Rename the "pyscript.core" directory to "core". * Update PR template because CHANGELOG is no longer used. * Codespell configuration in pyproject.toml. * Update pyscript.core -> core in .githubignore * Remove test-results/.last-run.json. This should be ignored by git. * Pin nodejs version. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
abb1eb28fe
commit
9dad29ec17
26
core/src/plugins-helper.js
Normal file
26
core/src/plugins-helper.js
Normal file
@@ -0,0 +1,26 @@
|
||||
import { defineProperty } from "polyscript/exports";
|
||||
|
||||
// helper for all script[type="py"] out there
|
||||
const before = (script) => {
|
||||
defineProperty(document, "currentScript", {
|
||||
configurable: true,
|
||||
get: () => script,
|
||||
});
|
||||
};
|
||||
|
||||
const after = () => {
|
||||
delete document.currentScript;
|
||||
};
|
||||
|
||||
// common life-cycle handlers for any node
|
||||
export default async (main, wrap, element, hook) => {
|
||||
const isAsync = hook.endsWith("Async");
|
||||
const isBefore = hook.startsWith("onBefore");
|
||||
// make it possible to reach the current target node via Python
|
||||
// or clean up for other scripts executing around this one
|
||||
(isBefore ? before : after)(element);
|
||||
for (const fn of main(hook)) {
|
||||
if (isAsync) await fn(wrap, element);
|
||||
else fn(wrap, element);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user