console.js
[gnome.introspection-doc-generator] / JSDOC / TextStream.js
diff --git a/JSDOC/TextStream.js b/JSDOC/TextStream.js
new file mode 100644 (file)
index 0000000..a916386
--- /dev/null
@@ -0,0 +1,49 @@
+//<script type="text/javscript">
+
+XObject = imports.XObject.XObject;
+
+
+/**
+       @constructor
+*/
+TextStream = XObject.define(
+    function(text) {
+        if (typeof(text) == "undefined") text = "";
+        text = ""+text;
+        this.text = text;
+        this.cursor = 0;
+    },
+    Object, 
+    { 
+        
+        look : function(n) {
+            if (typeof n == "undefined") n = 0;
+            
+            if (this.cursor+n < 0 || this.cursor+n >= this.text.length) {
+                var result = new String("");
+                result.eof = true;
+                return result;
+            }
+            return this.text.charAt(this.cursor+n);
+        },
+
+        next : function(n) {
+            if (typeof n == "undefined") n = 1;
+            if (n < 1) return null;
+            
+            var pulled = "";
+            for (var i = 0; i < n; i++) {
+                if (this.cursor+i < this.text.length) {
+                    pulled += this.text.charAt(this.cursor+i);
+                }
+                else {
+                    var result = new String("");
+                    result.eof = true;
+                    return result;
+                }
+            }
+
+            this.cursor += n;
+            return pulled;
+        }
+});
\ No newline at end of file