Classes
HookRegistry
10
▼
Registry of named hooks that plugins can subscribe to.
Usage::
hooks = HookRegistry()
hoo…
HookRegistry
10
▼
Registry of named hooks that plugins can subscribe to.
Usage::
hooks = HookRegistry()
hooks.define("before_build")
hooks.define("after_phase", required_args=("phase_name",))
@hooks.on("before_build")
def my_plugin(config):
print("Building with", config)
# Invoke all listeners
hooks.invoke("before_build", config=my_config)
# Freeze after setup (optional but recommended)
hooks.freeze()
# Use as Store middleware
store = Store(reducer, state, middleware=(hooks.as_middleware(),))
Methods
frozen
0
bool
▼
property
frozen
0
bool
▼
def frozen(self) -> bool
Returns
bool
define
3
▼
Define a named hook point.
define
3
▼
def define(self, name: str, *, action_type: str = '', description: str = '') -> None
Parameters
| Name | Type | Description |
|---|---|---|
name |
— |
Hook name (e.g., "before_build", "after_phase"). |
action_type |
— |
If set, this hook fires automatically when the Store dispatches an action of this type. Default:''
|
description |
— |
Human-readable description for docs/introspection. Default:''
|
on
1
Callable
▼
Decorator to register a listener on a hook.
Usage::
@hooks.on("before_bui…
on
1
Callable
▼
def on(self, hook_name: str) -> Callable
Decorator to register a listener on a hook.
Usage::
@hooks.on("before_build")
def my_listener(config): ...
Parameters
| Name | Type | Description |
|---|---|---|
hook_name |
— |
Returns
Callable
register
2
▼
Register a listener function on a hook.
register
2
▼
def register(self, hook_name: str, fn: Callable) -> None
Parameters
| Name | Type | Description |
|---|---|---|
hook_name |
— |
|
fn |
— |
invoke
2
list[Any]
▼
Invoke all listeners registered on a hook.
Returns a list of return values fro…
invoke
2
list[Any]
▼
def invoke(self, hook_name: str, **kwargs: Any) -> list[Any]
Invoke all listeners registered on a hook.
Returns a list of return values from each listener. Listeners are called in registration order.
Parameters
| Name | Type | Description |
|---|---|---|
hook_name |
— |
|
**kwargs |
— |
Returns
list[Any]
freeze
0
▼
Freeze the registry — no more defines or registrations.
freeze
0
▼
def freeze(self) -> None
hook_names
0
tuple[str, ...]
▼
Return all defined hook names.
hook_names
0
tuple[str, ...]
▼
def hook_names(self) -> tuple[str, ...]
Returns
tuple[str, ...]
listeners
1
tuple[Callable, ...]
▼
Return all listeners for a hook.
listeners
1
tuple[Callable, ...]
▼
def listeners(self, hook_name: str) -> tuple[Callable, ...]
Parameters
| Name | Type | Description |
|---|---|---|
hook_name |
— |
Returns
tuple[Callable, ...]
as_middleware
0
Callable
▼
Return a Store middleware that fires hooks on matching actions.
The middleware…
as_middleware
0
Callable
▼
def as_middleware(self) -> Callable
Return a Store middleware that fires hooks on matching actions.
The middleware intercepts actions whose type matches an
action_type registered via define(), invokes the
corresponding hook, and then passes the action through.
Usage::
store = Store(reducer, state, middleware=(hooks.as_middleware(),))
Returns
Callable
Internal Methods 1 ▼
__init__
0
▼
__init__
0
▼
def __init__(self) -> None