UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

32 lines 1.11 kB
import { CellRendererType } from '../common/constant/renderer'; import { ImageRenderer } from './ImageRenderer'; import { VideoRenderer } from './VideoRenderer'; export class SingletonRenderer { static getInstance(type) { if (!SingletonRenderer.instances.has(type)) { let renderer; switch (type) { case CellRendererType.IMAGE: { renderer = new ImageRenderer(); break; } case CellRendererType.VIDEO: { renderer = new VideoRenderer(); break; } default: { renderer = null; } } if (renderer) { SingletonRenderer.instances.set(type, renderer); } } return SingletonRenderer.instances.get(type); } static render(renderer, cell) { return SingletonRenderer.getInstance(renderer.type).process(renderer, cell); } } SingletonRenderer.instances = new Map(); //# sourceMappingURL=RendererFactory.js.map