All files / tools/src/utilities/stackPrefetch state.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 2/2
100% Lines 7/7

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 29 30 31 32 33 34 35 36 37 38 39                                              428x     68x 68x 68x       160x 160x 160x        
import { getEnabledElement } from '@cornerstonejs/core';
 
// Add this interface near the top of the file
export interface StackPrefetchData {
  indicesToRequest: number[];
  currentImageIdIndex: number;
  stackCount: number;
  enabled: boolean;
  direction: number;
  cacheFill?: boolean;
  stats: {
    start: number;
    imageIds: Map<string, number>;
    decodeTimeInMS: number;
    loadTimeInMS: number;
    totalBytes: number;
    initialTime?: number;
    initialSize?: number;
    fillTime?: number;
    fillSize?: number;
  };
}
 
const state: Record<number, StackPrefetchData> = {};
 
function addToolState(element: HTMLDivElement, data): void {
  const enabledElement = getEnabledElement(element);
  const { viewportId } = enabledElement;
  state[viewportId] = data;
}
 
function getToolState(element: HTMLDivElement): StackPrefetchData {
  const enabledElement = getEnabledElement(element);
  const { viewportId } = enabledElement;
  return state[viewportId];
}
 
export { addToolState, getToolState };