UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

36 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SingletonRenderer = void 0; const renderer_1 = require("../common/constant/renderer"); const ImageRenderer_1 = require("./ImageRenderer"); const VideoRenderer_1 = require("./VideoRenderer"); class SingletonRenderer { static getInstance(type) { if (!SingletonRenderer.instances.has(type)) { let renderer; switch (type) { case renderer_1.CellRendererType.IMAGE: { renderer = new ImageRenderer_1.ImageRenderer(); break; } case renderer_1.CellRendererType.VIDEO: { renderer = new VideoRenderer_1.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); } } exports.SingletonRenderer = SingletonRenderer; SingletonRenderer.instances = new Map(); //# sourceMappingURL=RendererFactory.js.map