1.1.1 • Published 3 years ago

@mangar2/callbacks v1.1.1

Weekly downloads
4
License
LGPL-3.0-or-later
Repository
github
Last release
3 years ago

Abstract

This module provides a class to manage callbacks . Use it in Classes to support setting callbacks .

Contents

Meta

Filecallbacks.js
AbstractThis module provides a class to manage callbacks . Use it in Classes to support setting callbacks .
AuthorVolker Böhm
CopyrightCopyright ( c ) 2020 Volker Böhm
LicenseThis 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

NameTypeDescription
supportedEventsArray.<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
NameTypeDescription
namestringname of the callback to look for
hasCallback returns
TypeDescription
booleantrue , if the callback is registered

invokeCallback

invokeCallback (event, param) => {any}

Calles a callback stored to an event , if registered

invokeCallback Parameters
NameTypeAttributeDescription
eventstringevent name ( not case sensitive ) for callback
paramanyrepeatableparameters to pass to the callback
invokeCallback returns
TypeDescription
anythe 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
NameTypeAttributeDescription
eventstringevent name ( not case sensitive ) for callback
paramanyrepeatableparameters to pass to the callback
invokeCallbackAsync returns
TypeDescription
anythe result of the callback or null , if the callback is not defined

on

on (event, callback)

Sets a callback .

on Parameters
NameTypeDescription
eventstringevent name ( not case sensitive ) for the callback
callbackfunctionfunction ( . . . parameter )
on throws
TypeDescription
Errorif the event is not supported
Errorif the callback is not 'function'