44 lines
1.2 KiB
TypeScript
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;
|
|
}
|
|
|