INNER CODE UNIT · TypeScript

suffixRepeat

scribbletune/scribbletune · src/cli.ts:152

  const suffixRepeat = pattern.match(/^\((.+)\)(\d+)$/);
  if (suffixRepeat) {
    return suffixRepeat[1].repeat(Number(suffixRepeat[2]));
  }

  return pattern;
};

const countPatternSteps = (pattern: string): number =>
  (pattern.match(/[xR]/g) || []).length;

const fitPatternToNoteCount = (pattern: string, noteCount: number): string => {
  const stepCount = countPatternSteps(pattern);
  if (!stepCount || stepCount >= noteCount) {
    return pattern;
  }
  const reps = Math.ceil(noteCount / stepCount);
  return pattern.repeat(reps);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…