// calculators/index.js // Регистрация всех калькуляторов // Регистрация калькуляторов // Ключ - это тип калькулятора (используется в URL и командах) const soapCalculator = require('./soap'); const candleCalculator = require('./candle'); const calculators = { soap: soapCalculator, candle: candleCalculator, // Здесь будут добавляться новые калькуляторы: // bathBomb: bathBombCalculator, }; /** * Получить калькулятор по типу * @param {string} type - Тип калькулятора * @returns {Object|null} Модуль калькулятора или null */ function getCalculator(type) { return calculators[type] || null; } /** * Получить список всех доступных калькуляторов * @returns {string[]} Массив типов калькуляторов */ function getAvailableCalculators() { return Object.keys(calculators); } /** * Проверить, существует ли калькулятор * @param {string} type - Тип калькулятора * @returns {boolean} */ function hasCalculator(type) { return type in calculators; } module.exports = { getCalculator, getAvailableCalculators, hasCalculator, };