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); |