UNPKG

mwoffliner

Version:
38 lines 1.62 kB
import Downloader from '../Downloader.js'; import { RendererBuilder } from './renderer.builder.js'; import * as logger from '../Logger.js'; class RenderingContext { static instance; mainPageRenderer; articlesRenderer; static getInstance() { if (!RenderingContext.instance) { RenderingContext.instance = new RenderingContext(); } return RenderingContext.instance; } async createRenderers(forceRender, hasWikimediaMobileApi) { const rendererBuilder = new RendererBuilder(); if (forceRender) { // All articles and main page will use the same renderer if 'forceRender' is specified const renderer = await rendererBuilder.createRenderer({ renderType: 'specific', renderName: forceRender, }); this.mainPageRenderer = renderer; this.articlesRenderer = renderer; } else { this.mainPageRenderer = await rendererBuilder.createRenderer({ renderType: 'desktop' }); this.articlesRenderer = await rendererBuilder.createRenderer({ renderType: hasWikimediaMobileApi ? 'mobile' : 'auto', }); } logger.log(`Using ${this.mainPageRenderer.constructor.name} for main page renderer`); logger.log(`Using ${this.articlesRenderer.constructor.name} for articles renderer`); Downloader.setUrlsDirectors(this.mainPageRenderer, this.articlesRenderer); } } const instance = RenderingContext.getInstance(); export default instance; //# sourceMappingURL=rendering.context.js.map