bintzwing/jsdoc_toolkit-2.3.3-beta/app/lib/JSDOC/TextStream.js
2010-05-26 15:34:42 -07:00

41 lines
No EOL
804 B
JavaScript

/**
@constructor
*/
JSDOC.TextStream = function(text) {
if (typeof(text) == "undefined") text = "";
text = ""+text;
this.text = text;
this.cursor = 0;
}
JSDOC.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);
}
JSDOC.TextStream.prototype.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;
}