Skip to content

Regular clonedeep including all instances implementing the `clone` and the `cloneNode` methods

License

Notifications You must be signed in to change notification settings

webKrafters/clone-total.js

Repository files navigation

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

About

Regular clonedeep including all instances implementing the `clone` and the `cloneNode` methods

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published