PromucFlow_constructor/app/client/src/utils/WidgetQueryGeneratorRegistry.ts

35 lines
881 B
TypeScript
Raw Normal View History

import { error } from "loglevel";
export default class WidgetQueryGeneratorRegistry {
private static queryGeneratorMap = new Map();
static register(id: string, queryGenerator: any) {
if (WidgetQueryGeneratorRegistry.queryGeneratorMap.has(id)) {
error("There is already a widget query generator with the given id:", id);
return;
}
WidgetQueryGeneratorRegistry.queryGeneratorMap.set(id, queryGenerator);
}
static clear() {
WidgetQueryGeneratorRegistry.queryGeneratorMap.clear();
}
static get(id: string) {
const queryAdaptor = WidgetQueryGeneratorRegistry.queryGeneratorMap.get(id);
if (!queryAdaptor) {
error("Couldn't find the query generator with the given id:", id);
return;
}
return queryAdaptor;
}
static has(id: string) {
return WidgetQueryGeneratorRegistry.queryGeneratorMap.has(id);
}
}