JSDOC/TextStream.js
authorAlan Knowles <alan@akbkhome.com>
Mon, 28 Jun 2010 10:17:51 +0000 (18:17 +0800)
committerAlan Knowles <alan@akbkhome.com>
Mon, 28 Jun 2010 10:17:51 +0000 (18:17 +0800)
JSDOC/TextStream.js

index 0682c0b..a916386 100644 (file)
@@ -6,43 +6,44 @@ XObject = imports.XObject.XObject;
 /**
        @constructor
 */
-TextStream = function(text) {
-       if (typeof(text) == "undefined") text = "";
-       text = ""+text;
-       this.text = text;
-       this.cursor = 0;
-}
-
-XObject.extend( TextStream.prototype, { 
-    
-    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);
+TextStream = XObject.define(
+    function(text) {
+        if (typeof(text) == "undefined") text = "";
+        text = ""+text;
+        this.text = text;
+        this.cursor = 0;
     },
-
-    next : function(n) {
-        if (typeof n == "undefined") n = 1;
-        if (n < 1) return null;
+    Object, 
+    { 
         
-        var pulled = "";
-        for (var i = 0; i < n; i++) {
-            if (this.cursor+i < this.text.length) {
-                pulled += this.text.charAt(this.cursor+i);
-            }
-            else {
+        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;
-    }
+            this.cursor += n;
+            return pulled;
+        }
 });
\ No newline at end of file