import { PackImageReader } from './PackImageReader'; import { PackImages } from './types'; export class PackImagesReader { private readonly rawImages: PackImages; private shortcodeToImages: Map | undefined; constructor(images: PackImages) { this.rawImages = images; } get collection(): Map { if (this.shortcodeToImages) return this.shortcodeToImages; const shortcodeToImages: Map = new Map(); Object.entries(this.rawImages).forEach(([shortcode, image]) => { const imageReader = PackImageReader.fromPackImage(shortcode, image); if (imageReader) { shortcodeToImages.set(shortcode, imageReader); } }); this.shortcodeToImages = shortcodeToImages; return this.shortcodeToImages; } }