DeepTools is a set of JavaScript utility functions that recursively operate on objects.
function deepCopy<T>(obj: T): T;
Creates a deep copy of obj.
function deepEquals(obj1: unknown, obj2: unknown): boolean;
Checks if obj1 and obj2 are equal by recursing through their properties.
function deepFreeze<T>(arr: T[][]): readonly (readonly Readonly<T>[])[];
Recursively freezes arr, all of arr's items and all items of arr's items.
function deepFreeze<T>(arr: T[]): readonly Readonly<T>[];
Recursively freezes arr and all of its items.
function deepFreeze<T>(obj: T): Readonly<T>;
Recursively freezes obj and all of its properties.
function safeCopy<T>(arr: T[][]): readonly (readonly Readonly<T>[])[];
function safeCopy<T>(arr: T[]): readonly Readonly<T>[];
Creates a safe copy of arr by creating a deep frozen copy of it.
function safeCopy<T>(obj: T): Readonly<T>;
Creates a safe copy of obj by creating a deep frozen copy of it.
Using npm:
npm i @mfederczuk/deeptools
Using yarn:
yarn add @mfederczuk/deeptools
Read through the Contribution Guidelines if you want to contribute to this project.
DeepTools is licensed under the GNU General Public License v3.0 or later.
For more information about copying and licensing, see the COPYING.txt
file.