DoSoapCalc/frontend/lib/calculators/index.ts

44 lines
1.2 KiB
TypeScript

// lib/calculators/index.ts
// Регистрация всех калькуляторов на frontend
import soapCalculator from './soap';
import candleCalculator from './candle';
import type { Calculator } from '@/types/calculator';
// Регистрация калькуляторов
const calculators: Record<string, Calculator> = {
soap: soapCalculator,
candle: candleCalculator,
// Здесь будут добавляться новые калькуляторы:
// bathBomb: bathBombCalculator,
};
/**
* Получить калькулятор по типу
*/
export function getCalculator(type: string): Calculator | null {
return calculators[type] || null;
}
/**
* Получить список всех доступных калькуляторов
*/
export function getAvailableCalculators(): string[] {
return Object.keys(calculators);
}
/**
* Проверить, существует ли калькулятор
*/
export function hasCalculator(type: string): boolean {
return type in calculators;
}
/**
* Получить все калькуляторы
*/
export function getAllCalculators(): Record<string, Calculator> {
return calculators;
}