dbgenerate.js
[app.Builder.js] / console.js
index e69de29..952ef3b 100644 (file)
@@ -0,0 +1,67 @@
+//<Script type="text/javascript">
+/**
+ * 
+ * simple console wrapper - emulates what you would expect from console
+ * 
+ * in theory could be replaced with a 'in-line console'
+ * 
+ * provides 'dump' in addtion to 'log'
+ * 
+ */
+
+function log (v)  
+{
+        print(v);
+}
+function dump (ar) 
+{
+        print(_dump(ar, 0));
+}
+
+function _dump(arr,level) 
+{
+    level = level || 0;
+    
+    var dumped_text = "";
+    
+    
+    
+    //The padding given at the beginning of the line.
+    var level_padding = "";
+    
+    for(var j=0;j<level+1;j++) {
+        level_padding += "    ";
+    }
+    
+    if(level > 15) {
+        return  level_padding + "[ ... to deep ...]\n";
+    }
+    
+    if (typeof(arr) != 'object') { //Array/Hashes/Objects 
+        return "===>"+arr+"<===("+typeof(arr)+")";
+    }
+
+    for(var item in arr) {
+        var value = arr[item];
+        if (item == 'prototype') {
+            continue;
+           }
+        switch (typeof(value)) {
+            case 'object' : 
+                dumped_text += level_padding + "'" + item + "' ...\n";
+                dumped_text += _dump(value,level+1) + "\n";
+                break;
+            
+            case 'function' : 
+                dumped_text += level_padding + "'" + item + "' => FUNCTION \n";
+                break;
+            
+            default: 
+                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
+                break;
+        }
+    }
+        
+    return dumped_text;
+}