JsonMerge.prototype.extend = function()

in templates/legacy/windows-admin-center-extension-template/gulps/gulp-merge-json-in-folders/json-merge.js [95:119]


    JsonMerge.prototype.extend = function (dest, sources) {
        if (!sources || sources.length === 0) {
            return dest;
        }
        for (var i = 0; i < sources.length; i++) {
            var src = sources[i];
            // Cant extend primitives or null/undefined values. so skip them
            if (!this.isObject(src) && !this.isFunction(src)) {
                continue;
            }
            var keys = Object.keys(src);
            var ki = keys.length;
            while (ki--) {
                var srcField = keys[ki];
                var srcValue = src[srcField];
                var destValue = srcValue;
                if (this.isObject(srcValue) && !Array.isArray(srcValue)) {
                    destValue = {};
                    this.extend(destValue, [dest[srcField], srcValue]);
                }
                dest[srcField] = destValue;
            }
        }
        return dest;
    };