toolset.io
Version:
20 lines (19 loc) • 579 B
TypeScript
export interface DeepCloneOptions {
/**
* 一个自定义的克隆对象方法,用于处理方法内置以外的对象克隆,如 Class 的实例
*
* @param type 对象的类型,注意格式为大驼峰
* @param obj 原始对象
*
* @returns 克隆后对象
*/
cloneObject?: (type: string, obj: unknown) => any;
}
/**
* 深度拷贝对象或数组
*
* @param obj 需要拷贝的对象或数组
*
* @returns 克隆后的对象
*/
export declare function deepClone<T>(obj: T, options?: DeepCloneOptions): T;