/tags/jsdoc_toolkit-2.4.0/jsdoc-toolkit/app/lib/JSDOC/TextStream.js
http://jsdoc-toolkit.googlecode.com/ · JavaScript · 41 lines · 32 code · 6 blank · 3 comment · 12 complexity · f03e82a96130f5b13e39a374f85beec2 MD5 · raw file
- /**
- @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;
- }