43 lines
1.0 KiB
Markdown
43 lines
1.0 KiB
Markdown
|
```js
|
||
|
import StreamReader from '@vates/stream-reader'
|
||
|
|
||
|
const reader = new StreamReader(stream)
|
||
|
```
|
||
|
|
||
|
### `.read([size])`
|
||
|
|
||
|
- returns the next available chunk of data
|
||
|
- like `stream.read()`, a number of bytes can be specified
|
||
|
- returns with less data than expected if stream has ended
|
||
|
- returns `null` if the stream has ended and no data has been read
|
||
|
|
||
|
```js
|
||
|
const chunk = await reader.read(512)
|
||
|
```
|
||
|
|
||
|
### `.readStrict([size])`
|
||
|
|
||
|
Similar behavior to `readChunk` but throws if the stream ended before the requested data could be read.
|
||
|
|
||
|
```js
|
||
|
const chunk = await reader.readStrict(512)
|
||
|
```
|
||
|
|
||
|
### `.skip(size)`
|
||
|
|
||
|
Skips a given number of bytes from a stream.
|
||
|
|
||
|
Returns the number of bytes actually skipped, which may be less than the requested size if the stream has ended.
|
||
|
|
||
|
```js
|
||
|
const bytesSkipped = await reader.skip(2 * 1024 * 1024 * 1024)
|
||
|
```
|
||
|
|
||
|
### `.skipStrict(size)`
|
||
|
|
||
|
Skips a given number of bytes from a stream and throws if the stream ended before enough stream has been skipped.
|
||
|
|
||
|
```js
|
||
|
await reader.skipStrict(2 * 1024 * 1024 * 1024)
|
||
|
```
|