/** * Для PATCH-запросов: оставляет из разобранного тела только поля, которые клиент действительно * прислал. Схема с `.partial()` подставляет значения по умолчанию и в пропущенные поля — без * этой фильтрации правка одного поля сбрасывала бы остальные. */ export function onlySent(body: unknown, parsed: T): Partial { const sent = body !== null && typeof body === 'object' ? body : {}; return Object.fromEntries(Object.entries(parsed).filter(([key]) => key in sent)) as Partial; }