Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/node_modules/serialize-javascript/../token-stream/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
# token-stream Take an array of token and produce a more useful API to give to a parser. [](https://travis-ci.org/pugjs/token-stream) [](https://david-dm.org/pugjs/token-stream) [](https://www.npmjs.org/package/token-stream) ## Installation npm install token-stream ## Usage ```js var TokenStream = require('token-stream'); var stream = new TokenStream([ 'a', 'b', 'c', 'd' ]); assert(stream.peek() === 'a'); assert(stream.lookahead(0) == 'a'); assert(stream.lookahead(1) == 'b'); assert(stream.advance() === 'a'); assert(stream.peek() === 'b'); assert(stream.lookahead(0) == 'b'); assert(stream.lookahead(1) == 'c'); stream.defer('z'); assert(stream.peek() === 'z'); assert(stream.lookahead(0) == 'z'); assert(stream.lookahead(1) == 'b'); assert(stream.advance() === 'z'); assert(stream.advance() === 'b'); assert(stream.advance() === 'c'); assert(stream.advance() === 'd'); // an error is thrown if you try and advance beyond the end of the stream assert.throws(function () { stream.advance(); }); ``` ## API ### stream.peek() Gets and returns the next item in the stream without advancing the stream's position. ### stream.advance() Returns the next item in the stream and advances the stream by one item. ### stream.defer(token) Put a token on the start of the stream (useful if you need to back track after calling advance). ### stream.lookahead(index) Return the item at `index` position from the start of the stream, but don't advance the stream. `stream.lookahead(0)` is equivalent to `stream.peek()`. ## License MIT