Represents a source of data that will be parsed. These data are characters with Stream of tokens defined by low-level tokens (if, '{', number, class, function}) with Stream. There are two types of Streams: low level where source is a text or an array, and high level where source is composed with another source.

A source can be parsed multiple times by various parsers. A `Stream` is supposed to be parsed only once.

### Type parameters

- #### Data

### Hierarchy

- Stream

## Index

### Methods

- get
- location
- subStreamAt

## Methods

### get

- get(index: number): Try<Data, void>

- - Defined in masala-parser.d.ts:238

  Return the token at the index.

  #### Parameters

  - ##### index: number

  #### Returns Try<Data, void>

### location

- location(index: number): number

- - Defined in masala-parser.d.ts:232

  For high-level stream, returns the index of the low-level source. For low-level, returns the same value as index.

  #### Parameters

  - ##### index: number

  #### Returns number

### subStreamAt

- subStreamAt(index: number, stream: Stream<Data>): any

- - Defined in masala-parser.d.ts:240

  #### Parameters

  - ##### index: number

  - ##### stream: Stream<Data>

  #### Returns any

Generated using TypeDoc