novar-callbacks

node v4.9.1
version: 1.0.0
endpointsharetweet
const callbacks = exports = module.exports = {}; callbacks.initCallbacks = function init() { this.callbacks = {} }; callbacks.addCallback = function addCallback(hook, callback) { // if callback array doesn't exist yet, initialize it if (typeof this.callbacks[hook] === 'undefined') { this.callbacks[hook] = []; } this.callbacks[hook].push(callback); } callbacks.runCallbacks = function runCallbacks(hook, item, ...args) { const callbackQueue = this.callbacks[hook]; // if the hook exists, and contains callbacks to run if (typeof callbackQueue !== "undefined" && !!callbackQueue.length) { return callbackQueue.reduce(function(result, callback) { const newArguments = [result, ...args]; return callback.apply(this, newArguments); }, item); } return item; }
Loading…

no comments

    sign in to comment