@mangar2/callbacks
v1.1.1
Published
provides functions to register and call callbacks
Downloads
5
Readme
Abstract
This module provides a class to manage callbacks . Use it in Classes to support setting callbacks .
Contents
Meta
| | | | --- | --- | | File | callbacks.js | | Abstract | This module provides a class to manage callbacks . Use it in Classes to support setting callbacks . | | Author | Volker Böhm | | Copyright | Copyright ( c ) 2020 Volker Böhm | | License | This software is licensed under the GNU LESSER GENERAL PUBLIC LICENSE Version 3 . It is furnished "as is" , without any support , and with no warranty , express or implied , as to its usefulness for any purpose . |
Class Callbacks
new Callbacks(supportedEvents)
Creates a callback manager to manage callbacks and safely call them
Example
callbacks = new Callbacks(['publish'])
// register a callback
callbacks.on('publish', (param) => { console.log('called publish with ' + param) })
// invoke a callback
callbacks.invokeCallback('publish', 'a parameter')
Callbacks Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| supportedEvents
| Array.<string>
| Names of supported callbacks ( if undefined or null , all callbacks are allowed ) . Use this to prevent a user from registering callbacks with "on" that are not used by your class . | |
Callbacks Methods
hasCallback
hasCallback (name) => {boolean}
Checks , if a callback is registered
hasCallback Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| name
| string
| name of the callback to look for | |
hasCallback returns
| Type | Description |
| ---- | ----------- |
| boolean
| true , if the callback is registered |
invokeCallback
invokeCallback (event, param) => {any}
Calles a callback stored to an event , if registered
invokeCallback Parameters
| Name | Type | Attribute | Description |
| ---------- | ------------ | ------------ | ----------------- |
| event
| string
| | event name ( not case sensitive ) for callback | |
| param
| any
| repeatable | parameters to pass to the callback | |
invokeCallback returns
| Type | Description |
| ---- | ----------- |
| any
| the result of the callback or null , if the callback is not defined |
invokeCallbackAsync
async invokeCallbackAsync (event, param) => {any}
Callcs a callback stored to an event , if registered . It is the async version
invokeCallbackAsync Parameters
| Name | Type | Attribute | Description |
| ---------- | ------------ | ------------ | ----------------- |
| event
| string
| | event name ( not case sensitive ) for callback | |
| param
| any
| repeatable | parameters to pass to the callback | |
invokeCallbackAsync returns
| Type | Description |
| ---- | ----------- |
| any
| the result of the callback or null , if the callback is not defined |
on
on (event, callback)
Sets a callback .
on Parameters
| Name | Type | Description |
| ---------- | ------------ | ----------------- |
| event
| string
| event name ( not case sensitive ) for the callback | |
| callback
| function
| function ( . . . parameter ) | |
on throws
| Type | Description |
| ---- | ----------- |
| Error
| if the event is not supported |
| Error
| if the callback is not 'function' |