You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1021 B
						
					
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1021 B
						
					
					
				'use strict'; | 
						|
 | 
						|
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); |