fix: deepcopy did't run as expected

This commit is contained in:
2025-10-16 19:38:52 +08:00
parent 1fe3052e5d
commit 6304518f0e

View File

@@ -34,21 +34,18 @@ export const deepCopy = <T>(target: T): T => {
if (target === null) {
return target;
}
if (target instanceof Date) {
return new Date(target.getTime()) as any;
if (Array.isArray(target)) {
return (target as unknown[]).map((v: unknown) => deepCopy(v)) as T;
}
if (target instanceof Array) {
const cp = [] as any[];
(target as any[]).forEach((v) => { cp.push(v); });
return cp.map((n: any) => deepCopy<any>(n)) as any;
}
if (typeof target === 'object') {
const cp = { ...(target as { [key: string]: any }) } as { [key: string]: any };
Object.keys(cp).forEach(k => {
cp[k] = deepCopy<any>(cp[k]);
if (typeof target === "object") {
const cp = { ...(target as Record<string, unknown>) } as Record<
string,
unknown
>;
Object.keys(cp).forEach((k) => {
cp[k] = deepCopy<unknown>(cp[k]);
});
return cp as T;
}
return target;
};
@MohammadFakhreddin