All files / libs/ext/lodash/src/lib/array move.ts

100% Statements 10/10
100% Branches 7/7
100% Functions 1/1
100% Lines 10/10

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 111x 7x 5x 5x 2x 2x 2x 2x 2x 2x  
export function arrayMove<T>(array: T[], fromIndex: number, toIndex: number): T[] {
  if (fromIndex < 0 || toIndex < 0 || fromIndex >= array.length || toIndex >= array.length || fromIndex === toIndex) {
    return array;
  }
 
  const arrayCopy = [...array];
  const [removed] = arrayCopy.splice(fromIndex, 1);
  arrayCopy.splice(toIndex, 0, removed);
  return arrayCopy;
}