diff --git a/.internal/baseDelay.js b/.internal/baseDelay.js deleted file mode 100644 index 4c39c234b..000000000 --- a/.internal/baseDelay.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * The base implementation of `delay` and `defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ -function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError('Expected a function'); - } - return setTimeout(() => func(...args), wait); -} - -export default baseDelay; diff --git a/defer.js b/defer.js index 9cd24eb1e..3b288644c 100644 --- a/defer.js +++ b/defer.js @@ -1,5 +1,3 @@ -import baseDelay from './.internal/baseDelay.js'; - /** * Defers invoking the `func` until the current call stack has cleared. Any * additional arguments are provided to `func` when it's invoked. @@ -15,7 +13,10 @@ import baseDelay from './.internal/baseDelay.js'; * // => Logs 'deferred' after one millisecond. */ function defer(func, ...args) { - return baseDelay(func, 1, args); + if (typeof func != 'function') { + throw new TypeError('Expected a function'); + } + return setTimeout(() => func(...args), 1); } export default defer; diff --git a/delay.js b/delay.js index 1b687aed7..8d5ee5ddd 100644 --- a/delay.js +++ b/delay.js @@ -1,4 +1,3 @@ -import baseDelay from './.internal/baseDelay.js'; import toNumber from './toNumber.js'; /** @@ -17,7 +16,10 @@ import toNumber from './toNumber.js'; * // => Logs 'later' after one second. */ function delay(func, wait, ...args) { - return baseDelay(func, toNumber(wait) || 0, args); + if (typeof func != 'function') { + throw new TypeError('Expected a function'); + } + return setTimeout(() => func(...args), toNumber(wait) || 0); } export default delay;