/
githubmirror
/
react-hook-form
Обзор
Документация
Войти
/
githubmirror
/
react-hook-form
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/utils/cloneObject.ts
34 строки
760 B
Bill
🚗 perf: improve clone object check (#13649)
08 авг 2026, 07:23
Не верифицирован
08 авг 2026, 07:23
324d9aa
Код
Авторство
О чём код?
import isWeb from './isWeb'; export default function cloneObject<T>(data: T): T { if (data === null || typeof data !== 'object') { return data; } if (data instanceof Date) { return new Date(data) as any; } const isFileListInstance = typeof FileList !== 'undefined' && data instanceof FileList; if (isWeb && (data instanceof Blob || isFileListInstance)) { return data; } const isArray = Array.isArray(data); if (!isArray && (data as object).constructor !== Object) { return data; } const copy = isArray ? [] : Object.create(Object.getPrototypeOf(data)); for (const key in data) { if (Object.prototype.hasOwnProperty.call(data, key)) { copy[key] = cloneObject(data[key]); } } return copy; }