import * as Ordenators from '../ordenators' import { BusinessExceptionError } from '../../../errors/business_exception.error' import { CompetitionCategories } from '../../../models/ranking/competition/enums/categories.enum' export class OrdenatorFactory { static build(category: CompetitionCategories): Ordenators.CompetitorsOrdenator { switch (category) { case CompetitionCategories.DECREASE_BODY_FAT: return Ordenators.DecreaseOrdenator case CompetitionCategories.DECREASE_VISCERAL_FAT: return Ordenators.DecreaseOrdenator case CompetitionCategories.INCREASE_LEAN_MASS: return Ordenators.IncreaseOrdenator case CompetitionCategories.DECREASE_ACTUAL_WEIGHT: return Ordenators.DecreaseOrdenator default: throw new BusinessExceptionError(`Unknown category ${category}`) } } }