Как прописать тип для клонированного объекта, чьи значения были изменены рекурсивно?
Привет. Делаю глубокую копию 1 объекта в новый объект, изменяя значения ключей с цифры на строки. Как прописать тип для нового объекта, исправив все значения на тип "строка" рекурсивно в глубину? Вот файл https://codesandbox.io/s/epic-platform-mezbe
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 варианта написаны, хотя можно свои написать при желании.