@gmetrixr/rjson
Version:
(R)ecursive Json
29 lines (28 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const r_1 = require("../../../r");
/**
* Add text version = v1 for existing elements
*/
class Migration {
execute(projectJson) {
const pJson = projectJson;
const projectF = r_1.r.record(pJson);
for (const scene of projectF.getRecords(r_1.RT.scene)) {
const sceneF = r_1.r.record(scene);
const textElements = sceneF.getAllDeepChildrenWithFilter(r_1.RT.element, (e) => e.props.element_type === r_1.en.ElementType.text);
for (const element of textElements) {
const elementF = r_1.r.element(element);
// ! using get here instead of getValueOrDefault to get the actual value in the json
const textVersion = elementF.get(r_1.rtp.element.text_version);
if (textVersion === null || textVersion === undefined) {
// if undefined or null, this is a legacy text element.
elementF.set(r_1.rtp.element.text_version, "v1");
}
}
}
projectF.set(r_1.rtp.project.version, 125);
}
}
const migration = new Migration();
exports.default = migration;