Source: helpers/reOrderNotes.js

/* mod */
import NOTES from '../constants/NOTES';
/**
 * reorder a set of notes such that it starts with the firstNote
 * @function
 * @name reOrderNotes
 * @param {string} firstNote
 * @param {array} notes
 * @example
 * reOrderNotes('A' , ['C', 'B', 'A']) // returns ['A', 'B', 'C']
 * reOrderNotes('B') // returns ['B', 'C', 'D', 'E', 'F', 'G', 'A']
 * @return {boolean} isInHigherOctave
 */
const reOrderNotes = (startingNote, notes = NOTES) => {
  const startingNoteIndex = notes.indexOf(startingNote);
  const reorderedNotes = [];
  for (let i = startingNoteIndex; i < (notes.length + startingNoteIndex); i += 1) {
    const currentNoteIndex = i % notes.length;
    reorderedNotes.push(notes[currentNoteIndex]);
  }
  return reorderedNotes;
};
export default reOrderNotes;