MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / ScoreSerializerPlugin

Class ScoreSerializerPlugin

packages/alphatab/test/PrettyFormat.ts:750–939  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

748 * @internal
749 */
750export class ScoreSerializerPlugin implements PrettyFormatNewPlugin {
751 public static readonly instance = new ScoreSerializerPlugin();
752
753 private _defaultScoreJson: Map<string, unknown>;
754 private _defaultMasterBarJson: Map<string, unknown>;
755 private _defaultTrackJson: Map<string, unknown>;
756 private _defaultStaffJson: Map<string, unknown>;
757 private _defaultBarJson: Map<string, unknown>;
758 private _defaultVoiceJson: Map<string, unknown>;
759 private _defaultBeatJson: Map<string, unknown>;
760 private _defaultNoteJson: Map<string, unknown>;
761
762 private constructor() {
763 // we create empty basic objects and reset some props we always want in the snapshot
764 const defaultScore = new Score();
765 const defaultMasterBar = new MasterBar();
766 defaultMasterBar.index = -1;
767
768 const defaultTrack = new Track();
769 defaultTrack.index = -1;
770
771 const defaultStaff = new Staff();
772 defaultStaff.index = -1;
773
774 const defaultBar = new Bar();
775 defaultBar.id = -1;
776 defaultBar.index = -1;
777
778 const defaultVoice = new Voice();
779 defaultVoice.id = -1;
780 defaultVoice.index = -1;
781
782 const defaultBeat = new Beat();
783 defaultBeat.id = -1;
784 defaultBeat.index = -1;
785
786 const defaultNote = new Note();
787 defaultNote.id = -1;
788 defaultNote.index = -1;
789
790 this._defaultScoreJson = ScoreSerializer.toJson(defaultScore)!;
791 this._defaultMasterBarJson = MasterBarSerializer.toJson(defaultMasterBar)!;
792 this._defaultTrackJson = TrackSerializer.toJson(defaultTrack)!;
793 this._defaultStaffJson = StaffSerializer.toJson(defaultStaff)!;
794 this._defaultBarJson = BarSerializer.toJson(defaultBar)!;
795 this._defaultVoiceJson = VoiceSerializer.toJson(defaultVoice)!;
796 this._defaultBeatJson = BeatSerializer.toJson(defaultBeat)!;
797 this._defaultNoteJson = NoteSerializer.toJson(defaultNote)!;
798 }
799
800 public serialize(
801 val: unknown,
802 config: PrettyFormatConfig,
803 indentation: string,
804 depth: number,
805 refs: unknown[],
806 printer: PrettyFormatPrinter
807 ): string {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected