MCPcopy Create free account
hub / github.com/evildecay/etcdkeeper / equalObjects

Function equalObjects

assets/etcdkeeper/framework/ace/worker-javascript.js:2698–2745  ·  view source on GitHub ↗
(object, other, equalFunc, customizer, isLoose, stackA, stackB)

Source from the content-addressed store, hash-verified

2696 }
2697
2698 function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
2699 var objProps = keys(object),
2700 objLength = objProps.length,
2701 othProps = keys(other),
2702 othLength = othProps.length;
2703
2704 if (objLength != othLength && !isLoose) {
2705 return false;
2706 }
2707 var skipCtor = isLoose,
2708 index = -1;
2709
2710 while (++index < objLength) {
2711 var key = objProps[index],
2712 result = isLoose ? key in other : hasOwnProperty.call(other, key);
2713
2714 if (result) {
2715 var objValue = object[key],
2716 othValue = other[key];
2717
2718 result = undefined;
2719 if (customizer) {
2720 result = isLoose
2721 ? customizer(othValue, objValue, key)
2722 : customizer(objValue, othValue, key);
2723 }
2724 if (result === undefined) {
2725 result = (objValue && objValue === othValue) || equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB);
2726 }
2727 }
2728 if (!result) {
2729 return false;
2730 }
2731 skipCtor || (skipCtor = key == 'constructor');
2732 }
2733 if (!skipCtor) {
2734 var objCtor = object.constructor,
2735 othCtor = other.constructor;
2736
2737 if (objCtor != othCtor &&
2738 ('constructor' in object && 'constructor' in other) &&
2739 !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
2740 typeof othCtor == 'function' && othCtor instanceof othCtor)) {
2741 return false;
2742 }
2743 }
2744 return true;
2745 }
2746
2747 function getCallback(func, thisArg, argCount) {
2748 var result = lodash.callback || callback;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected