Files
aurorabot/shared/games/registry.ts
syntaxbullet a5478dce2b feat(games): add GamePlugin interface and registry
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:22:48 +02:00

19 lines
493 B
TypeScript

import type { GamePlugin } from "./types";
const games = new Map<string, GamePlugin>();
export const gameRegistry = {
register(plugin: GamePlugin) {
if (games.has(plugin.slug)) {
throw new Error(`Game "${plugin.slug}" is already registered`);
}
games.set(plugin.slug, plugin);
},
get(slug: string): GamePlugin | undefined {
return games.get(slug);
},
list(): GamePlugin[] {
return Array.from(games.values());
},
};