feat: added unit tests for KGMidiRegion and abcNotationUtil; update all deprecated method plainToClass to plainToInstance.

This commit is contained in:
Xiaohan-Tian
2025-09-03 23:05:13 -07:00
parent aa2b19966b
commit 2bf5328af7
7 changed files with 1285 additions and 5 deletions
+3 -3
View File
@@ -14,7 +14,7 @@ import {
FaCog
} from 'react-icons/fa';
import { KGProject, type KeySignature } from '../core/KGProject';
import { plainToClass, instanceToPlain } from 'class-transformer';
import { plainToInstance, instanceToPlain } from 'class-transformer';
import { FaPencil, FaCopy, FaPaste, FaTrash } from 'react-icons/fa6';
import { KGMainContentState } from '../core/state/KGMainContentState';
import { regionDeleteManager } from '../util/regionDeleteUtil';
@@ -315,9 +315,9 @@ const Toolbar: React.FC = () => {
const projectData = JSON.parse(fileContent);
// Deserialize the project data using class-transformer (same as KGStorage)
const deserializedResult = plainToClass(KGProject, projectData);
const deserializedResult = plainToInstance(KGProject, projectData);
// Handle case where plainToClass might return an array
// Handle case where plainToInstance might return an array
const deserializedProject = Array.isArray(deserializedResult)
? deserializedResult[0] || null
: deserializedResult;