UNPKG

@nodots-llc/backgammon-ai

Version:

AI and integration for nodots-backgammon using gnubg as a backend engine.

28 lines (27 loc) 1.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadAnalyzersFromPluginsDir = loadAnalyzersFromPluginsDir; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); function loadAnalyzersFromPluginsDir(pluginsDir) { const analyzers = {}; const files = fs_1.default.readdirSync(pluginsDir); for (const file of files) { if (file.endsWith('.js') || file.endsWith('.ts')) { const pluginPath = path_1.default.join(pluginsDir, file); // eslint-disable-next-line @typescript-eslint/no-var-requires const PluginClass = require(pluginPath).default; if (PluginClass) { const name = path_1.default.basename(file, path_1.default.extname(file)); analyzers[name] = new PluginClass(); } } } return analyzers; } // Usage example: // const analyzers = loadAnalyzersFromPluginsDir(path.join(__dirname, '../plugins')) // const move = await analyzers['myCustomAnalyzer'].selectMove(moves, context)