32 / 36
Как создать тип для извлечения ключей определённого типа значения (KeysOfType)?
KeysOfType<T, V> — utility type, который из объектного типа T извлекает только те ключи, чьи значения совместимы с типом V. Реализуется через mapped type с условной фильтрацией: перебираем ключи keyof T, проверяем T[K] extends V, несовпадающие отбрасываем через never, а затем берём union всех оставшихся ключей через [keyof T].