API Reference.
Hook management solution.
Befter API Reference
Create Befter
createBefter()
- Description: Initializes a new instance of the Befter hooks system.
- Returns: An object representing the hook manager.
Register hook
hook(hooks, label, callback)
- Description: Registers a new hook under the specified label and associates a callback function with it.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook (e.g., "hook1").callback: A function to be registered as a hook.
- Returns: An object containing:
currHook: The current list of hooks associated with the label.removeHook: A function to remove a specific hook.beforeMeta: Metadata related to before hooks.afterMeta: Metadata related to after hooks.
Call hook
callHook(hooks, label)
- Description: Calls the hooks associated with the specified label in the order they were registered.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook to be executed.
- Returns: None.
Get hook
getHook(hooks, label)
- Description: Retrieves the list of hooks associated with the specified label.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook.
- Returns: The list of hooks associated with the given label.
Get hook with Index
getHookWithIndex(hooks, label, index)
- Description: Retrieves the hook function associated with a specific index under the given label.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook.index: The index of the hook function to retrieve.
- Returns: The hook function at the specified index.
Update hook
updateHook(hooks, label, oldHook, newCallback)
- Description: Updates a specific hook for a given label by replacing it with a new callback function.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook.oldHook: The hook function to be replaced.newCallback: The new callback function to replace the old one.
- Returns: None.
Remove hook
removeHook(hooks, label, hook)
- Description: Removes a specific hook under a given label.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook.hook: The hook function to remove.
- Returns: The removed hook function.
Remove hook itself
removeHookItSelf(hooks, label)
- Description: Removes the hook that calls this function from the hook manager.
- Parameters:
hooks: The hook manager object created bycreateBefter().label: A string label for the hook.
- Returns: An object representing the hook manager after the hook has been removed.
Before and After Hooks
Before Meta
beforeMeta
- Description: Metadata related to hooks that should be executed before the main hook.
- Returns: A tuple containing:
currBf: The current list of before hooks.addBf: A function to add new before hooks.
After Meta
afterMeta
- Description: Metadata related to hooks that should be executed after the main hook.
- Returns: A tuple containing:
currAf: The current list of after hooks.addAf: A function to add new after hooks.
Runner
runner
- Description: Configuration for the execution mode of hooks. It determines whether hooks are executed sequentially (
'serial') or concurrently ('parallel'). - Returns: A tuple containing:
currRunner: The current execution mode ('serial'or'parallel').setRunner: A function to update the execution mode.