Overview
Hooks let plugins expose extension points that other plugins can register handlers for. Unlike events (fire-and-forget), hooks collect return values.Methods
api.registerHook(name, handler)
Register a function that responds to a named hook.
api.useHook(name, payload)
Call all registered handlers for a hook. Returns an array of their return values.
Returns:
Array<any> — return values from each handler (empty array if none registered).
api.removeHook(name, handler)
Remove a previously registered hook handler. Must pass the same function reference used in registerHook().
Use
removeHook in your plugin’s teardown() function to clean up hooks when the plugin is disabled or deleted.Hooks vs Events
See Also
- Hooks concept — detailed guide with examples
- Plugin Communication guide — events + hooks patterns