1.1.1 • Published 5 years ago
@mangar2/callbacks v1.1.1
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' |