partyzanx
@partyzanx

Как прописать тип для клонированного объекта, чьи значения были изменены рекурсивно?

Привет. Делаю глубокую копию 1 объекта в новый объект, изменяя значения ключей с цифры на строки. Как прописать тип для нового объекта, исправив все значения на тип "строка" рекурсивно в глубину? Вот файл https://codesandbox.io/s/epic-platform-mezbe
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Можно добавить такой тип:
type RulersMap<R extends Record<string, unknown>> = {
  [K in keyof R]: R[K] extends number
    ? `${R[K]}px`
    : R[K] extends Record<string, unknown>
      ? RulersMap<R[K]>
      : R[K];
};
и привести результат к типу RulersMap<typeof rulers>
Проблема в том, что у либы map-obj не очень то хорошо типы для deep варианта написаны, хотя можно свои написать при желании.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы