dbgenerate.js
[app.Builder.js] / console.js
1 //<Script type="text/javascript">
2 /**
3  * 
4  * simple console wrapper - emulates what you would expect from console
5  * 
6  * in theory could be replaced with a 'in-line console'
7  * 
8  * provides 'dump' in addtion to 'log'
9  * 
10  */
11
12  
13 function log (v)  
14 {
15         print(v);
16 }
17 function dump (ar) 
18 {
19         print(_dump(ar, 0));
20 }
21
22 function _dump(arr,level) 
23 {
24     level = level || 0;
25     
26     var dumped_text = "";
27     
28     
29     
30     //The padding given at the beginning of the line.
31     var level_padding = "";
32     
33     for(var j=0;j<level+1;j++) {
34         level_padding += "    ";
35     }
36     
37     if(level > 15) {
38         return  level_padding + "[ ... to deep ...]\n";
39     }
40     
41     if (typeof(arr) != 'object') { //Array/Hashes/Objects 
42         return "===>"+arr+"<===("+typeof(arr)+")";
43     }
44
45     for(var item in arr) {
46         var value = arr[item];
47         if (item == 'prototype') {
48             continue;
49            }
50         switch (typeof(value)) {
51             case 'object' : 
52                 dumped_text += level_padding + "'" + item + "' ...\n";
53                 dumped_text += _dump(value,level+1) + "\n";
54                 break;
55             
56             case 'function' : 
57                 dumped_text += level_padding + "'" + item + "' => FUNCTION \n";
58                 break;
59             
60             default: 
61                 dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
62                 break;
63         }
64     }
65         
66     return dumped_text;
67 }