GrauKatze 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
..
test 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
.npmignore 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
.travis.yml 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
HISTORY.md 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
LICENSE 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
README.md 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
index.js 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred
package.json 05f70669c9 Сконфигурирована и подготовлена база для проекта 2 rokov pred

README.md

token-stream

Take an array of token and produce a more useful API to give to a parser.

Build Status Dependency Status NPM version

Installation

npm install token-stream

Usage

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