1.1.1 • Published 3 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' |