Spaces:
Sleeping
Sleeping
; | |
Object.defineProperty(exports, "__esModule", { | |
value: true | |
}); | |
exports.hasNextTick = exports.hasSetImmediate = undefined; | |
exports.fallback = fallback; | |
exports.wrap = wrap; | |
var _slice = require('./slice'); | |
var _slice2 = _interopRequireDefault(_slice); | |
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | |
var hasSetImmediate = exports.hasSetImmediate = typeof setImmediate === 'function' && setImmediate; | |
var hasNextTick = exports.hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; | |
function fallback(fn) { | |
setTimeout(fn, 0); | |
} | |
function wrap(defer) { | |
return function (fn /*, ...args*/) { | |
var args = (0, _slice2.default)(arguments, 1); | |
defer(function () { | |
fn.apply(null, args); | |
}); | |
}; | |
} | |
var _defer; | |
if (hasSetImmediate) { | |
_defer = setImmediate; | |
} else if (hasNextTick) { | |
_defer = process.nextTick; | |
} else { | |
_defer = fallback; | |
} | |
exports.default = wrap(_defer); |