UNPKG

@civ-clone/core-data-object

Version:

A data exchange object for converting a subset of a class instances to plain JSON.

28 lines 952 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.reconstituteData = void 0; const reconstituteData = ({ hierarchy, objects, }) => { const seenObjects = []; const getReferences = (value) => { if (seenObjects.includes(value)) { return value; } seenObjects.push(value); if (Array.isArray(value)) { return value.map((value) => getReferences(value)); } if (value && value['#ref']) { return getReferences(objects[value['#ref']]); } if (value instanceof Object) { Object.entries(value).forEach(([key, childValue]) => { value[key] = getReferences(childValue); }); } return value; }; return getReferences(hierarchy); }; exports.reconstituteData = reconstituteData; exports.default = exports.reconstituteData; //# sourceMappingURL=reconstituteData.js.map