hook-by-priority
v1.0.1
Published
Hooking system using priority numbers.
Downloads
2
Readme
hook-by-priority
Hooking system using priority numbers.
Advantages
- Asynchronous hooks.
- Parameters passed along the cycle of hooks.
- Less than 50 lines of code.
- For
node.js
orbrowser
. - No dependencies at all.
Installation
$ npm install -s hook-by-priority
Usage
This example appends a character for each hook asynchronously.
It also uses priority
option to order the hooks
added to the created hooks-manager.
const Hooks = require("hook-by-priority");
const hooks = Hooks.create();
const add = function(char, data) {
return new Promise(function(ok, fail) {
data.msg += char;
setTimeout(ok, 100);
});
};
hooks.add("on:init", async params => await add("e", params), 90);
hooks.add("on:init", async params => await add("!", params), 50);
hooks.add("on:init", async params => await add("l", params), 70);
hooks.add("on:init", async params => await add("o", params), 60);
hooks.add("on:init", async params => await add("l", params), 80);
hooks.add("on:init", async params => await add("H", params), 100);
hooks.use("on:init", { msg: "" }).then(output => console.log(output.msg));
This script is also under test/readme.test.js
file of the project.
License
This project is released under WTFPL (or What The Fuck Public License), which means do what you want.
Issues
Please, address your issues here.