/** Ф.И.О. по частям — так их принимает ЭДО. */ export interface IFioParts { lastName: string; firstName: string; middleName: string; } /** * «Иванов Иван Иванович» → фамилия, имя, отчество. Справочник отдаёт ФИО одной строкой. * Два слова — отчества нет; больше трёх (например, «оглы», двойные фамилии) — всё после * имени уходит в отчество, чтобы ничего не потерять. Одно слово → ничего не определить: * ЭДО требует и фамилию, и имя. */ export function splitFio(fio: string): IFioParts | undefined { const words = (fio || '').split(/\s+/).filter((w) => w.length > 0); if (words.length < 2) return undefined; const [lastName, firstName, ...rest] = words; return { lastName, firstName, middleName: rest.join(' ') }; }