@gmetrixr/rjson
Version:
(R)ecursive Json
27 lines (26 loc) • 1.05 kB
JavaScript
import { r, rtp, RT, en } from "../../../r";
/**
* Converts whenEvent/thenAciton ce_id/ce_type to co_id/co_type
*/
class Migration {
execute(projectJson) {
const pJson = projectJson;
const projectF = r.record(pJson);
projectF.getRecords(RT.scene).forEach(scene => {
const sceneF = r.record(scene);
const actionbarElements = sceneF.getAllDeepChildrenWithFilter(RT.element, (e) => e.props.element_type === en.ElementType.actionbar);
for (const actionbarElement of actionbarElements) {
const abElement = r.record(actionbarElement);
const items = abElement.getRecords(RT.item);
for (const itemJson of items) {
itemJson.props.item_text = itemJson.props.subtext;
delete itemJson.props.subtext;
delete itemJson.props.fileName;
}
}
});
projectF.set(rtp.project.version, 111);
}
}
const migration = new Migration();
export default migration;