UNPKG

chordsong

Version:

ChordSong is a simple text format for the notation of lyrics with guitar chords, and an application that renders them to portable HTML pages.

28 lines (23 loc) 729 B
import { Diagram } from './Diagram' export class Chord { name: string defaultDiagramKey: symbol diagrams = {} constructor (name: string, diagram?: Diagram, chordVariant?: string) { this.name = name this.defaultDiagramKey = Symbol('defaultDiagramKey') if (diagram !== undefined) { this.setDiagram(diagram, chordVariant) } } getDiagram (variant?: string): Diagram { const chordVariantKey = variant ?? this.defaultDiagramKey // @ts-expect-error return this.diagrams[chordVariantKey] } setDiagram (diagram: Diagram, variant?: string): void { const chordVariantKey = variant ?? this.defaultDiagramKey // @ts-expect-error this.diagrams[chordVariantKey] = diagram } }