/tags/jsdoc_toolkit-2.2.1/jsdoc-toolkit/app/lib/JSDOC/TextStream.js
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;
- }