@mfederczuk/deeptools
Version:
A set of utility functions that recursively operate on objects
46 lines (45 loc) • 1.35 kB
TypeScript
/**
* Creates a deep copy of **arr** that is also deeply frozen.
*
* @param arr The 3-dimensional array to create a deeply frozen copy of.
*
* @returns A deeply frozen copy of **arr**.
*
* @see {@link deepCopy}
* @see {@link deepFreeze}
*/
declare function safeCopy<T>(arr: readonly (readonly (readonly T[])[])[]): readonly (readonly (readonly Readonly<T>[])[])[];
/**
* Creates a deep copy of **arr** that is also deeply frozen.
*
* @param arr The 2-dimensional array to create a deeply frozen copy of.
*
* @returns A deeply frozen copy of **arr**.
*
* @see {@link deepCopy}
* @see {@link deepFreeze}
*/
declare function safeCopy<T>(arr: readonly (readonly T[])[]): readonly (readonly Readonly<T>[])[];
/**
* Creates a deep copy of **arr** that is also deeply frozen.
*
* @param arr The 1-dimensional array to create a deeply frozen copy of.
*
* @returns A deeply frozen copy of **arr**.
*
* @see {@link deepCopy}
* @see {@link deepFreeze}
*/
declare function safeCopy<T>(arr: readonly T[]): readonly Readonly<T>[];
/**
* Creates a deep copy of **obj** that is also deeply frozen.
*
* @param obj The object to create a deeply frozen copy of.
*
* @returns A deeply frozen copy of **obj**.
*
* @see {@link deepCopy}
* @see {@link deepFreeze}
*/
declare function safeCopy<T>(obj: T): Readonly<T>;
export { safeCopy };