Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | 1x 1x 14170x 143x 143x 142x 254x 320x 254x 85x 85x 85x 254x | import type { IRenderingEngine } from '../types'; const cache = {}; const renderingEngineCache = { /** * Returns the `RenderingEngine` instance with the given `id`. * * @param id - The `id` of the `RenderingEngine` instance to fetch. * @returns The `RenderingEngine` instance. */ get: (id: string): IRenderingEngine => { return cache[id]; }, /** * Adds the `RenderingEngine` instance to the cache. * * @param re - The `RenderingEngine` to add. */ set: (re: IRenderingEngine): void => { const renderingEngineId = re.id; cache[renderingEngineId] = re; }, /** * Deletes the `RenderingEngine` instance from the cache. * * @param id - The `id` of the `RenderingEngine` instance to delete. * @returns True if the delete was successful. */ delete: (id: string) => { return delete cache[id]; }, getAll: (): Array<IRenderingEngine> => { const renderingEngineIds = Object.keys(cache); const renderingEngines = renderingEngineIds.map((id) => cache[id]); // sort the rendering engines so that the ones that start with _ // are at the end of the array. The reason is for not breaking // the code that used getRenderingEngines(), but since we moved // the renderToCanvas utility to use GPU hence it needs a // rendering engine and we don't want to use the default one. renderingEngines.sort((a, b) => { Iif (a.id[0] === '_' && b.id[0] !== '_') { return 1; } else Eif (a.id[0] !== '_' && b.id[0] === '_') { return -1; } else { return 0; } }); return renderingEngines; }, }; export default renderingEngineCache; |