0.0.6 • Published 7 years ago

hook-dispatcher v0.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
7 years ago

hook-dispatcher

Custom event listener dispatchers and hooks

1. Dispatcher

Single hook

nameDescription
duplicateboolean Duplicate functions are allowed, default = true
limitint Callback limit, default = 0
lengthint Get all callback count
addfunction(callback) Add event function
oncefunction(callback) Add single event function
removefunction(callback) Remove event function
removeAllfunction(cleanProperties = false) Remove all event functions
dispatchfunction(detail = {}, proxy = {}) Dispatch event
onInitialset function The function is called when first event function will be added
onRemovableset function The function is called when last event function will be removed
onCatchset function The function is called if event function throw error
import {Dispatcher} from "hook-dispatcher";

let listen = Dispatcher();

2. Emitter

Multiple hooks

nameDescription
limitint Callback limit, default = 0
lengthint Get all callback count
countfunction(name) Get callback count for {name} expression
addfunction(name, callback) Add event
oncefunction(name, callback) Add single event
removefunction(name, callback) Remove event
removeAllfunction(cleanProperties = false) Remove all events
dispatchfunction(name, detail = {}, proxy = {}) Dispatch event
getInstancestatic function(name) Get Emitter instance
import {Emitter} from "hook-dispatcher";

let emit = Emitter(); // or Emitter.getInstance("name")

3. DataEmitter

Hooks for storage

nameDescription
setfunction(name, value, trigger = true) Set new value
getfunction(name) Get value
getIsfunction(name) Check value exists
destroyfunction(name) Remove value
filterfunction(name, callback) Filter value before write
onfunction(callback, name = false) Add callback event
oncefunction(callback, name = false) Add single callback event
offfunction(callback, name = false) Remove callback event
getDatafunction(asArray = false) Get storage object
reloadfunction(object = {}, props = {}) Reload storage object
getInstancestatic function(name) Get DataEmitter instance
import {DataEmitter} from "hook-dispatcher";

let data = DataEmitter(); // or DataEmitter.getInstance("name")

// 1. add listener callback for all
data.on(e => {
	console.log(e);
});

// 2. add listener callback for "single"
data.on(e => {
	console.log(e);
}, "single");

// set value
// trigger action 1
data.set("name", "value");

// trigger action 1 & 2
data.set("single", "value 2");

// ignore all trigger
data.set("single", "value 2", false);