MCPcopy Create free account
hub / github.com/OpenReservation/OpenReservation / baseExtend

Function baseExtend

OpenReservation/wwwroot/Scripts/angular.js:398–430  ·  view source on GitHub ↗
(dst, objs, deep)

Source from the content-addressed store, hash-verified

396 }
397
398 function baseExtend(dst, objs, deep) {
399 var h = dst.$$hashKey;
400
401 for (var i = 0, ii = objs.length; i < ii; ++i) {
402 var obj = objs[i];
403 if (!isObject(obj) && !isFunction(obj)) continue;
404 var keys = Object.keys(obj);
405 for (var j = 0, jj = keys.length; j < jj; j++) {
406 var key = keys[j];
407 var src = obj[key];
408
409 if (deep && isObject(src)) {
410 if (isDate(src)) {
411 dst[key] = new Date(src.valueOf());
412 } else if (isRegExp(src)) {
413 dst[key] = new RegExp(src);
414 } else if (src.nodeName) {
415 dst[key] = src.cloneNode(true);
416 } else if (isElement(src)) {
417 dst[key] = src.clone();
418 } else {
419 if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {};
420 baseExtend(dst[key], [src], true);
421 }
422 } else {
423 dst[key] = src;
424 }
425 }
426 }
427
428 setHashKey(dst, h);
429 return dst;
430 }
431
432 /**
433 * @ngdoc function

Callers 2

extendFunction · 0.85
mergeFunction · 0.85

Calls 6

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

Tested by

no test coverage detected