ConceptCreator/src/app/project/serializer/ScriptAccountSerializer.ts
Sebastian Böckelmann 751d998625
Some checks failed
E2E Testing / test (push) Failing after 1m32s
Save ScriptAccount
2024-03-20 16:23:37 +01:00

26 lines
1.0 KiB
TypeScript

import {ScriptAccount} from "../game-model/scriptAccounts/ScriptAccount";
import {StoreComponent} from "../../../../app/storage/StoreComponent";
import {SerializeConstants} from "./SerializeConstants";
import {ModelComponentType} from "../game-model/ModelComponentType";
export class ScriptAccountSerializer {
public static serializeScriptAccounts(scriptAccounts: ScriptAccount[]): StoreComponent[] {
const storeComponents: StoreComponent[] = []
scriptAccounts.forEach(scriptAccount => storeComponents.push(this.serializeSingleScriptAccount(scriptAccount)))
return storeComponents;
}
private static serializeSingleScriptAccount(scriptAccount: ScriptAccount): StoreComponent {
const fileName = scriptAccount.componentName
const jsonString = JSON.stringify(scriptAccount, (key, value) => {
if(key === 'unsaved' || key === 'type') {
return undefined
} else {
return value;
}
}, SerializeConstants.JSON_INDENT)
return new StoreComponent(jsonString, fileName, ModelComponentType.SCRIPTACCOUNT);
}
}