var si = typeof setImmediate === 'function', tick;
if (si) {
tick = function (fn) { setImmediate(fn); };
} else if (typeof process !== 'undefined' && process.nextTick) {
tick = process.nextTick;
} else {
tick = function (fn) { setTimeout(fn, 0); };
}
module.exports = tick;