/ cloudformation-templates / node_modules / aws-cdk / node_modules / async / internal / setImmediate.js
setImmediate.js
1 'use strict'; 2 /* istanbul ignore file */ 3 4 Object.defineProperty(exports, "__esModule", { 5 value: true 6 }); 7 exports.fallback = fallback; 8 exports.wrap = wrap; 9 var hasSetImmediate = exports.hasSetImmediate = typeof setImmediate === 'function' && setImmediate; 10 var hasNextTick = exports.hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; 11 12 function fallback(fn) { 13 setTimeout(fn, 0); 14 } 15 16 function wrap(defer) { 17 return (fn, ...args) => defer(() => fn(...args)); 18 } 19 20 var _defer; 21 22 if (hasSetImmediate) { 23 _defer = setImmediate; 24 } else if (hasNextTick) { 25 _defer = process.nextTick; 26 } else { 27 _defer = fallback; 28 } 29 30 exports.default = wrap(_defer);