protector
Version:
Protects your callbacks from being called twice.
46 lines (41 loc) • 1.09 kB
JavaScript
// 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)));
}
};
};