mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-07 08:53:25 +01:00
23 lines
No EOL
589 B
TypeScript
23 lines
No EOL
589 B
TypeScript
export class ProductionInfo {
|
|
|
|
role: string = undefined;
|
|
originatedFromPrimitive: string = undefined;
|
|
|
|
static fromRawData(rawProductionInfo) {
|
|
const info = new ProductionInfo();
|
|
|
|
function collectProductionInfo(rawInfo) {
|
|
Object.keys(info).forEach(attr => {
|
|
if (info[attr] === undefined && rawInfo[attr] !== undefined) {
|
|
info[attr] = rawInfo[attr]
|
|
}
|
|
});
|
|
if (rawInfo.derived) {
|
|
rawInfo.derived.forEach(d => collectProductionInfo(d));
|
|
}
|
|
}
|
|
collectProductionInfo(rawProductionInfo);
|
|
return info;
|
|
}
|
|
|
|
} |