diff --git a/src/serialization/scene-document-json.ts b/src/serialization/scene-document-json.ts index 3f7eb36b..05559b02 100644 --- a/src/serialization/scene-document-json.ts +++ b/src/serialization/scene-document-json.ts @@ -1,7 +1,9 @@ import type { SceneDocument } from "../document/scene-document"; import { migrateSceneDocument } from "../document/migrate-scene-document"; +import { assertSceneDocumentIsValid } from "../document/scene-document-validation"; export function serializeSceneDocument(document: SceneDocument): string { + assertSceneDocumentIsValid(document); return JSON.stringify(document, null, 2); } @@ -15,5 +17,7 @@ export function parseSceneDocumentJson(source: string): SceneDocument { throw new Error(`Scene document JSON could not be parsed: ${cause}`); } - return migrateSceneDocument(parsedValue); + const document = migrateSceneDocument(parsedValue); + assertSceneDocumentIsValid(document); + return document; }