Skip to content

from reactivity.hmr.hooks import *

pre_reload_hooks module-attribute

pre_reload_hooks: dict[str, Callable[[], Any]] = {}

post_reload_hooks module-attribute

post_reload_hooks: dict[str, Callable[[], Any]] = {}

pre_reload

pre_reload[T](func: Callable[[], T]) -> Callable[[], T]
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
def pre_reload[T](func: Callable[[], T]) -> Callable[[], T]:
    pre_reload_hooks[func.__name__] = func
    return func

post_reload

post_reload[T](func: Callable[[], T]) -> Callable[[], T]
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
def post_reload[T](func: Callable[[], T]) -> Callable[[], T]:
    post_reload_hooks[func.__name__] = func
    return func

use_pre_reload

use_pre_reload(func)
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
@contextmanager
def use_pre_reload(func):
    pre_reload(func)
    try:
        yield func
    finally:
        pre_reload_hooks.pop(func.__name__, None)

use_post_reload

use_post_reload(func)
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
@contextmanager
def use_post_reload(func):
    post_reload(func)
    try:
        yield func
    finally:
        post_reload_hooks.pop(func.__name__, None)

call_pre_reload_hooks

call_pre_reload_hooks()
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
def call_pre_reload_hooks():
    for func in pre_reload_hooks.values():
        func()

call_post_reload_hooks

call_post_reload_hooks()
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
def call_post_reload_hooks():
    for func in post_reload_hooks.values():
        func()

on_dispose

on_dispose(
    func: Callable[[], Any], __file__: str | None = None
)
Source code in .venv/lib/python3.12/site-packages/reactivity/hmr/hooks.py
def on_dispose(func: Callable[[], Any], __file__: str | None = None):
    path = Path(currentframe().f_back.f_globals["__file__"] if __file__ is None else __file__).resolve()  # type: ignore

    from .core import ReactiveModule

    module = ReactiveModule.instances[path]
    module.register_dispose_callback(func)