26 lines
735 B
JavaScript
26 lines
735 B
JavaScript
/**
|
|
* Finds displaySet by UID across all displaySets inside studyMetadata
|
|
* @param {Array} studyMetadata
|
|
* @param {string} displaySetInstanceUID
|
|
*/
|
|
export default function findDisplaySetByUID(
|
|
studyMetadata,
|
|
displaySetInstanceUID
|
|
) {
|
|
if (!Array.isArray(studyMetadata)) return null;
|
|
|
|
const allDisplaySets = studyMetadata.reduce((all, current) => {
|
|
let currentDisplaySet = [];
|
|
if (current && Array.isArray(current.displaySets)) {
|
|
currentDisplaySet = current.displaySets;
|
|
}
|
|
return all.concat(currentDisplaySet);
|
|
}, []);
|
|
|
|
const bySetInstanceUID = ds =>
|
|
ds.displaySetInstanceUID === displaySetInstanceUID;
|
|
|
|
const displaySet = allDisplaySets.find(bySetInstanceUID);
|
|
return displaySet || null;
|
|
}
|