Проверка типа объекта при конвертировании из другого типа в TS
Помогите решить задачу. Пишу функцию конвертер, которая принимает объект и должна его конвертировать в другой объект. Делаю это так:
const converter = <T extends object, R>(obj: T): R => {
return Object.assign({}, ...Object.entries(obj)?.map(([k, v])=> {
if (k === 'type') {
return {[k]: v.toString()}
}
}))
}
Пример сильно упрощён, но Object.assign возвращает объект any, а как мне проверить, что возвращаемый объект соответствует типу R? Функция используется рекурсивно.