UNPKG

protector

Version:

Protects your callbacks from being called twice.

46 lines (41 loc) 1.09 kB
// Generated by IcedCoffeeScript 108.0.9 var __slice = [].slice; module.exports = function(fn) { return module.exports.callback(fn); }; module.exports.callback = function(fn) { var calledback; calledback = false; return function() { var params; params = 1 <= arguments.length ? __slice.call(arguments, 0) : []; if (!calledback) { calledback = true; return fn.apply(null, params); } }; }; module.exports.nextTick = function(fn) { var calledback; calledback = false; return function() { var params; params = 1 <= arguments.length ? __slice.call(arguments, 0) : []; if (!calledback) { calledback = true; return process.nextTick.apply(process, [fn].concat(__slice.call(params))); } }; }; module.exports.setImmediate = function(fn) { var calledback; calledback = false; return function() { var params; params = 1 <= arguments.length ? __slice.call(arguments, 0) : []; if (!calledback) { calledback = true; return setImmediate.apply(null, [fn].concat(__slice.call(params))); } }; };