@mangar2/callbacks

1.1.1 • Public • Published

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'

Readme

Keywords

Package Sidebar

Install

npm i @mangar2/callbacks

Weekly Downloads

0

Version

1.1.1

License

LGPL-3.0-or-later

Unpacked Size

9.34 kB

Total Files

5

Last publish

Collaborators

  • mangar2