All files while-do.js

100% Statements 5/5
100% Branches 2/2
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                          1x 201x 198x 198x       1x  
/**
 * While a condition is true execute an async function
 *
 * @async
 * @function whileDo
 * @param  {function} condition - The condition function to check
 * @param  {function} func - An async function to execute
 *
 * @example
 * const results = await doWhile(async () => {
 *   await asyncFunction()
 * }, () => something === true)
 */
const whileDo = async (condition, func) => {
  if (condition()) {
    await func()
    return whileDo(condition, func)
  }
}
 
module.exports = whileDo