```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) ```