UNPKG

@gmetrixr/rjson

Version:
27 lines (26 loc) 1.12 kB
import { r, rtp, RT, en } from "../../../r"; /** * Add text version = v1 for existing elements */ class Migration { execute(projectJson) { const pJson = projectJson; const projectF = r.record(pJson); for (const scene of projectF.getRecords(RT.scene)) { const sceneF = r.record(scene); const textElements = sceneF.getAllDeepChildrenWithFilter(RT.element, (e) => e.props.element_type === en.ElementType.text); for (const element of textElements) { const elementF = r.element(element); // ! using get here instead of getValueOrDefault to get the actual value in the json const textVersion = elementF.get(rtp.element.text_version); if (textVersion === null || textVersion === undefined) { // if undefined or null, this is a legacy text element. elementF.set(rtp.element.text_version, "v1"); } } } projectF.set(rtp.project.version, 125); } } const migration = new Migration(); export default migration;