All files / platform/core/src/services/DicomMetadataStore createSeriesMetadata.js

91.66% Statements 11/12
100% Branches 1/1
75% Functions 3/4
90% Lines 9/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  133x 133x   133x             133x 8891x   8891x 8891x 8891x         667971x            
function createSeriesMetadata(SeriesInstanceUID) {
  const instances = [];
  const instancesMap = new Map();
 
  return {
    SeriesInstanceUID,
    instances,
    addInstance: function (newInstance) {
      this.addInstances([newInstance]);
    },
    addInstances: function (newInstances) {
      for (let i = 0, len = newInstances.length; i < len; i++) {
        const instance = newInstances[i];
 
        if (!instancesMap.has(instance.SOPInstanceUID)) {
          instancesMap.set(instance.SOPInstanceUID, instance);
          instances.push(instance);
        }
      }
    },
    getInstance: function (SOPInstanceUID) {
      return instancesMap.get(SOPInstanceUID);
    },
  };
}
 
export default createSeriesMetadata;