Проверка типа объекта при конвертировании из другого типа в 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? Функция используется рекурсивно.


Ответы (0 шт):