add maxLevels to varDump to avoid infinite loops
This commit is contained in:
parent
19a6b08b51
commit
5be84a5d59
1 changed files with 10 additions and 2 deletions
|
@ -1014,17 +1014,25 @@ Zotero.Utilities = {
|
||||||
*
|
*
|
||||||
* Adapted from http://binnyva.blogspot.com/2005/10/dump-function-javascript-equivalent-of.html
|
* Adapted from http://binnyva.blogspot.com/2005/10/dump-function-javascript-equivalent-of.html
|
||||||
*/
|
*/
|
||||||
"varDump":function(arr,level) {
|
"varDump":function(arr,level,maxLevel) {
|
||||||
var dumped_text = "";
|
var dumped_text = "";
|
||||||
if (!level){
|
if (!level){
|
||||||
level = 0;
|
level = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!maxLevel) {
|
||||||
|
maxLevel = 4;
|
||||||
|
}
|
||||||
|
|
||||||
// The padding given at the beginning of the line.
|
// The padding given at the beginning of the line.
|
||||||
var level_padding = "";
|
var level_padding = "";
|
||||||
for (var j=0;j<level+1;j++){
|
for (var j=0;j<level+1;j++){
|
||||||
level_padding += " ";
|
level_padding += " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (level > maxLevel){
|
||||||
|
return dumped_text + level_padding + "...\n";
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof(arr) == 'object') { // Array/Hashes/Objects
|
if (typeof(arr) == 'object') { // Array/Hashes/Objects
|
||||||
for (var item in arr) {
|
for (var item in arr) {
|
||||||
|
@ -1032,7 +1040,7 @@ Zotero.Utilities = {
|
||||||
|
|
||||||
if (typeof(value) == 'object') { // If it is an array,
|
if (typeof(value) == 'object') { // If it is an array,
|
||||||
dumped_text += level_padding + "'" + item + "' ...\n";
|
dumped_text += level_padding + "'" + item + "' ...\n";
|
||||||
dumped_text += arguments.callee(value,level+1);
|
dumped_text += arguments.callee(value,level+1,maxLevel);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (typeof value == 'function'){
|
if (typeof value == 'function'){
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue