All files / random from-array.ts

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

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 151x         1x 3x 1x     2x   2x    
import { randomNumber } from './number';
 
/**
 * returns a random item from an array, or undefined when array is empty
 */
export function randomFromArray<T>(array: T[]): T {
  if (!Array.isArray(array)) {
    throw new Error('randomFromArray must be an array');
  }
 
  const random = randomNumber(0, array.length - 1);
 
  return array[random];
}