import type { Calidad, CategoriaMaterial, CatalogItem } from './types';

export function resolvePrecioUnitario(
  categoria: CategoriaMaterial,
  calidad: Calidad,
  catalog: CatalogItem[],
  selections: Partial<Record<CategoriaMaterial, string>>,
): { item: CatalogItem | null } {
  const selectedId = selections[categoria];
  if (selectedId) {
    const selected = catalog.find((c) => c.id === selectedId);
    if (selected) return { item: selected };
  }
  const def = catalog.find(
    (c) => c.categoria === categoria && c.calidad === calidad && c.esDefault,
  );
  return { item: def ?? null };
}
