You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
//# Else if oTarget is an instanceof Object, determine the a_sTargetKeys and .set our oTarget into the wm_oSeenObjects
537
+
elseif(oTargetinstanceofObject){
538
+
a_sTargetKeys=Object.keys(oTarget);
539
+
wm_oSeenObjects.set(oTarget/*, undefined*/);
540
+
541
+
//# If we are to bReturnReport, .push the current level's/call's items onto our stacks
542
+
if(bReturnReport){
543
+
if(sKey){
544
+
a_sKeys.push(sKey);
545
+
}
546
+
a_oStack.push(oTarget);
547
+
}
548
+
549
+
//# Traverse the a_sTargetKeys, pulling each into sCurrentKey as we go
550
+
//# NOTE: If you want all properties, even non-enumerables, see Object.getOwnPropertyNames() so there is no need to call .hasOwnProperty (per: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)
551
+
for(i=0;i<a_sTargetKeys.length;i++){
552
+
sCurrentKey=a_sTargetKeys[i];
553
+
554
+
//# If we've already .found a circular reference and we're not bReturnReport, fall from the loop
555
+
if(oReturnVal.found&&!bReturnReport){
556
+
break;
557
+
}
558
+
//# Else if the sCurrentKey is an instanceof Object, recurse to test
559
+
elseif(oTarget[sCurrentKey]instanceofObject){
560
+
doIsCyclic(oTarget[sCurrentKey],sCurrentKey);
561
+
}
562
+
}
563
+
564
+
//# .delete our oTarget into the wm_oSeenObjects
565
+
wm_oSeenObjects.delete(oTarget);
566
+
567
+
//# If we are to bReturnReport, .pop the current level's/call's items off our stacks
0 commit comments