Sha256: f70baf3de48ce3c79adff8e00d88c211ac287ee25f02bc02b2f091c76eeb3831

Contents?: true

Size: 1.06 KB

Versions: 62

Compression:

Stored size: 1.06 KB

Contents

define(['./kindOf', './isPlainObject', '../object/mixIn'], function (kindOf, isPlainObject, mixIn) {

    /**
     * Clone native types.
     */
    function clone(val){
        switch (kindOf(val)) {
            case 'Object':
                return cloneObject(val);
            case 'Array':
                return cloneArray(val);
            case 'RegExp':
                return cloneRegExp(val);
            case 'Date':
                return cloneDate(val);
            default:
                return val;
        }
    }

    function cloneObject(source) {
        if (isPlainObject(source)) {
            return mixIn({}, source);
        } else {
            return source;
        }
    }

    function cloneRegExp(r) {
        var flags = '';
        flags += r.multiline ? 'm' : '';
        flags += r.global ? 'g' : '';
        flags += r.ignoreCase ? 'i' : '';
        return new RegExp(r.source, flags);
    }

    function cloneDate(date) {
        return new Date(+date);
    }

    function cloneArray(arr) {
        return arr.slice();
    }

    return clone;

});

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
trusty-festivity-extension-2.5.3 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.5.2 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.5.1 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.5.0 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.6 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.5 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.4 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.3 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.2 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.1 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.4.0 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.30 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.29 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.28 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.27 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.26 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.25 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.24 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.23 node_modules/bower/node_modules/mout/src/lang/clone.js
trusty-festivity-extension-2.3.22 node_modules/bower/node_modules/mout/src/lang/clone.js