formValue[key]
равно any
, потому что T
не сужает типы, это нормально.
Чтобы подавить эту ошибку, вам нужно преобразовать any
в unknown
, как это T extends Record<string, unknown>
. Теперь это означает, что value
имеет неизвестный тип, и он должен быть подтвержден перед использованием переменной.
export function toFormData<T extends Record<string, unknown>>(formValue: T) {
const formData = new FormData();
for (const key of Object.keys(formValue)) {
const value = formValue[key];
// feel free to remove Blob if it's not your case.
if (typeof value !== 'string' && !(value instanceof Blob)) {
continue;
}
formData.append(key, value);
}
return formData;
}