Front: Pretty and Lint (#225)

This commit is contained in:
Arthur Jamet
2023-06-17 07:01:23 +01:00
committed by GitHub
parent 399c7d0d9e
commit c5d465df97
94 changed files with 3627 additions and 3089 deletions
+69 -69
View File
@@ -1,28 +1,28 @@
export enum Note {
"C",
"C#",
"D",
"D#",
"E",
"F",
"F#",
"G",
"G#",
"A",
"A#",
"B",
'C',
'C#',
'D',
'D#',
'E',
'F',
'F#',
'G',
'G#',
'A',
'A#',
'B',
}
export enum NoteNameBehavior {
"always",
"onpress",
"onhighlight",
"onhover",
"never",
'always',
'onpress',
'onhighlight',
'onhover',
'never',
}
export enum KeyPressStyle {
"subtle",
"vivid",
'subtle',
'vivid',
}
export type HighlightedKey = {
key: PianoKey;
@@ -40,54 +40,54 @@ export class PianoKey {
}
public toString = () => {
return (this.note as unknown as string) + (this.octave || "");
return (this.note as unknown as string) + (this.octave || '');
};
}
export const strToKey = (str: string): PianoKey => {
let note: Note;
const isSimpleNote = str[1]! >= "0" && str[1]! <= "9";
const isSimpleNote = str[1]! >= '0' && str[1]! <= '9';
// later we need to support different annotations
switch (isSimpleNote ? str[0] : str.substring(0, 2)) {
case "E":
case 'E':
note = Note.E;
break;
case "B":
case 'B':
note = Note.B;
break;
case "C":
case 'C':
note = Note.C;
break;
case "D":
case 'D':
note = Note.D;
break;
case "F":
case 'F':
note = Note.F;
break;
case "G":
case 'G':
note = Note.G;
break;
case "A":
case 'A':
note = Note.A;
break;
case "C#":
note = Note["C#"];
case 'C#':
note = Note['C#'];
break;
case "D#":
note = Note["D#"];
case 'D#':
note = Note['D#'];
break;
case "F#":
note = Note["F#"];
case 'F#':
note = Note['F#'];
break;
case "G#":
note = Note["G#"];
case 'G#':
note = Note['G#'];
break;
case "A#":
note = Note["A#"];
case 'A#':
note = Note['A#'];
break;
default:
throw new Error("Invalid note name");
throw new Error('Invalid note name');
}
if ((isSimpleNote && !str[1]) || (!isSimpleNote && str.length < 3)) {
return new PianoKey(note);
@@ -96,47 +96,47 @@ export const strToKey = (str: string): PianoKey => {
return new PianoKey(note, octave);
};
export const keyToStr = (key: PianoKey, showOctave: boolean = true): string => {
let s = "";
export const keyToStr = (key: PianoKey, showOctave = true): string => {
let s = '';
switch (key.note) {
case Note.C:
s += "C";
s += 'C';
break;
case Note.D:
s += "D";
s += 'D';
break;
case Note.E:
s += "E";
s += 'E';
break;
case Note.F:
s += "F";
s += 'F';
break;
case Note.G:
s += "G";
s += 'G';
break;
case Note.A:
s += "A";
s += 'A';
break;
case Note.B:
s += "B";
s += 'B';
break;
case Note["C#"]:
s += "C#";
case Note['C#']:
s += 'C#';
break;
case Note["D#"]:
s += "D#";
case Note['D#']:
s += 'D#';
break;
case Note["F#"]:
s += "F#";
case Note['F#']:
s += 'F#';
break;
case Note["G#"]:
s += "G#";
case Note['G#']:
s += 'G#';
break;
case Note["A#"]:
s += "A#";
case Note['A#']:
s += 'A#';
break;
default:
throw new Error("Invalid note name");
throw new Error('Invalid note name');
}
if (showOctave && key.octave) {
s += key.octave;
@@ -146,25 +146,25 @@ export const keyToStr = (key: PianoKey, showOctave: boolean = true): string => {
export const isAccidental = (key: PianoKey): boolean => {
return (
key.note === Note["C#"] ||
key.note === Note["D#"] ||
key.note === Note["F#"] ||
key.note === Note["G#"] ||
key.note === Note["A#"]
key.note === Note['C#'] ||
key.note === Note['D#'] ||
key.note === Note['F#'] ||
key.note === Note['G#'] ||
key.note === Note['A#']
);
};
export const octaveKeys: Array<PianoKey> = [
new PianoKey(Note.C),
new PianoKey(Note["C#"]),
new PianoKey(Note['C#']),
new PianoKey(Note.D),
new PianoKey(Note["D#"]),
new PianoKey(Note['D#']),
new PianoKey(Note.E),
new PianoKey(Note.F),
new PianoKey(Note["F#"]),
new PianoKey(Note['F#']),
new PianoKey(Note.G),
new PianoKey(Note["G#"]),
new PianoKey(Note['G#']),
new PianoKey(Note.A),
new PianoKey(Note["A#"]),
new PianoKey(Note['A#']),
new PianoKey(Note.B),
];