import { cache, imageLoadPoolManager, imageLoader, Enums, eventTarget, EVENTS as csEvents } from '@cornerstonejs/core'; function initStudyPrefetcherService(servicesManager: AppTypes.ServicesManager) { const { studyPrefetcherService } = servicesManager.services; studyPrefetcherService.requestType = Enums.RequestType.Prefetch; studyPrefetcherService.imageLoadPoolManager = imageLoadPoolManager; studyPrefetcherService.imageLoader = imageLoader; studyPrefetcherService.cache = { isImageCached(imageId: string): boolean { return !!cache.getImageLoadObject(imageId); } } studyPrefetcherService.imageLoadEventsManager = { addEventListeners(onImageLoaded, onImageLoadFailed) { eventTarget.addEventListener(csEvents.IMAGE_LOADED, onImageLoaded); eventTarget.addEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed); return [ { unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOADED, onImageLoaded) }, { unsubscribe: () => eventTarget.removeEventListener(csEvents.IMAGE_LOAD_FAILED, onImageLoadFailed) }, ] } } } export default initStudyPrefetcherService;