Tipos y resultados
Los tipos se exportan desde el paquete principal y desde @dikaia-io/honorarios/types.
Entradas principales
| Tipo | Función |
|---|---|
HonorarioInputs | Cálculo judicial |
SucesionCalculationInputs | Cálculo sucesorio |
HonorarioExtrajudicialInputs | Cálculo extrajudicial |
SucesionContext | Reglas especiales de sucesiones |
Tipos de dominio
HonorarioCategory: diez categorías del catálogo.TipoCalculo:jornales-fijos,porcentajeomixto.BaseCalculo: base legal o económica de una actuación.HonorarioCaseType: cuatro escenarios del camino legacy.ProfessionalRole: rol profesional del Art. 25.HonorarioExtrajudicialServiceType: veinte servicios calculables.SucesionEtapa: tres etapas sucesorias.HonorarioActuacion: registro individual del catálogo.
Tramo judicial
interface HonorarioTramo {
percentMin: number;
percentMax: number;
amountMin: number;
amountMax: number;
jornalesMin?: number;
jornalesMax?: number;
reference: string;
notes: string[];
}percentMin y percentMax describen la regla propia del tramo. En una base derivada, el importe puede resultar de componer ese rango con el Art. 32; no reconstruyas el monto multiplicando nuevamente percentMin por caseAmount.
Total
interface HonorarioTotal {
amountMin: number;
amountMax: number;
jornalesMin?: number;
jornalesMax?: number;
}El total judicial suma las instancias solicitadas. El total sucesorio suma el acervo, los gananciales o los tramos 70/30 según el contexto.
Tramo extrajudicial
Los campos porcentuales, monetarios y de jornales son opcionales porque no todas las reglas fijan las tres representaciones ni un máximo:
interface HonorarioExtrajudicialTramo {
label: string;
percentMin?: number;
percentMax?: number;
amountMin?: number;
amountMax?: number;
jornalesMin?: number;
jornalesMax?: number;
reference: string;
notes: string[];
}Errores y alertas
if (!result.isValid) {
console.error(result.errors ?? []);
return;
}
for (const alert of result.alerts) {
mostrarAvisoLegal(alert);
}- Un error indica que no debe utilizarse el cálculo.
- Una alerta aporta contexto normativo o explica un ajuste aplicado.
- Las funciones devuelven
alerts: []cuando el cálculo falla.
Los tipos actuales usan propiedades opcionales y no constituyen una unión discriminada estricta. El consumidor debe comprobar isValid y la presencia del tramo requerido antes de acceder a él.
Etiquetas de sucesión
SUCESION_ETAPA_LABELS permite mostrar nombres coherentes sin duplicar texto en la aplicación:
import { SUCESION_ETAPA_LABELS } from '@dikaia-io/honorarios';
const label = SUCESION_ETAPA_LABELS.actuaciones;