You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
507 B
30 lines
507 B
const renderers = {};
|
|
|
|
const registerRenderer = (key, value) => {
|
|
renderers[key] = value;
|
|
};
|
|
|
|
function getRenderer(key) {
|
|
return renderers[key];
|
|
}
|
|
|
|
function getRegisteredRenderer() {
|
|
// Returns canvas by default for compatibility
|
|
if (renderers.canvas) {
|
|
return 'canvas';
|
|
}
|
|
// Returns any renderer that is registered
|
|
for (const key in renderers) {
|
|
if (renderers[key]) {
|
|
return key;
|
|
}
|
|
}
|
|
return '';
|
|
}
|
|
|
|
export {
|
|
registerRenderer,
|
|
getRenderer,
|
|
getRegisteredRenderer,
|
|
};
|