MCPcopy
hub / github.com/angular-ui/ui-router / baseExtend

Function baseExtend

test/angular/1.4/angular.js:417–449  ·  view source on GitHub ↗
(dst, objs, deep)

Source from the content-addressed store, hash-verified

415
416
417function baseExtend(dst, objs, deep) {
418 var h = dst.$$hashKey;
419
420 for (var i = 0, ii = objs.length; i < ii; ++i) {
421 var obj = objs[i];
422 if (!isObject(obj) && !isFunction(obj)) continue;
423 var keys = Object.keys(obj);
424 for (var j = 0, jj = keys.length; j < jj; j++) {
425 var key = keys[j];
426 var src = obj[key];
427
428 if (deep && isObject(src)) {
429 if (isDate(src)) {
430 dst[key] = new Date(src.valueOf());
431 } else if (isRegExp(src)) {
432 dst[key] = new RegExp(src);
433 } else if (src.nodeName) {
434 dst[key] = src.cloneNode(true);
435 } else if (isElement(src)) {
436 dst[key] = src.clone();
437 } else {
438 if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {};
439 baseExtend(dst[key], [src], true);
440 }
441 } else {
442 dst[key] = src;
443 }
444 }
445 }
446
447 setHashKey(dst, h);
448 return dst;
449}
450
451/**
452 * @ngdoc function

Callers 2

extendFunction · 0.70
mergeFunction · 0.70

Calls 7

isArrayFunction · 0.85
isObjectFunction · 0.70
isFunctionFunction · 0.70
isDateFunction · 0.70
isRegExpFunction · 0.70
isElementFunction · 0.70
setHashKeyFunction · 0.70

Tested by

no test coverage detected