@webkrafters/clone-total
v1.0.1
Published
Clone Total - Regular clonedeep including all instances implementing the `clone` and the `cloneNode` methods.
Downloads
17
Maintainers
Readme
Clone Total
Regular clonedeep including all instances implementing the clone
and the cloneNode
methods
Built on of the lodash.clondeepwith package.
Install:
npm i -S clone-total
Alternate: npm i -S @webkrafters/clone-total
Regarding Class Instances Values
All cloned properties and values which are Instances of non-native classes not implementing either the clone
or the cloneNode
methods may not be cloneable. Such instances are retured uncloned. To clone these, a customizer
argument function may be supplied. Please see Extended example below.
Example
import clone from 'clone-total';
clone( object ); // returns cloned object
Example (Extended)
function customizer<T>(
value : unknown,
key? : number | string,
object? : T,
stack? : unknown
) {
if( /* <your fallback condition> */ ) {
return yourCloneAlgorithm( value, key, object, stack );
}
// or allow the normal course to continue.
};
clone( object, customizer );
License
MIT