@rsc-labs/nocto-plugin-system
Version:
Pluggable registry system for Nocto plugins
20 lines (19 loc) • 505 B
JavaScript
class PluginRouteRegistry {
constructor() {
this.routesMap = new Map();
}
register(pluginId, route) {
const routes = Array.isArray(route) ? route : [route];
this.routesMap.set(pluginId, routes);
}
getMap() {
return this.routesMap;
}
getAll() {
return Array.from(this.routesMap.values()).flat();
}
getPluginsIds() {
return Array.from(this.routesMap.keys());
}
}
export const RouteRegistry = new PluginRouteRegistry();