Simple duplex streams for cache large data in memory and files.
npm install stream-storage
import { StreamStorage } from 'stream-storage';
const streamStorage = new StreamStorage();
// using ...
streamStorage.clear();
StreamStorage extends the standard stream.Duplex interface. All writes data to this stream will accumulate in internal Buffers. Data exceeding the maxMemorySize of the size will be saved to a file.
You can change default options:
const streamStorage = new StreamStorage({
maxMemorySize: (32 * 1024), // max memory size, bytes
tmpDir: '.', // temp dir for a file
pushMsec: 1, // pushed data interval, msec
chunkSize: (8 * 1024), // pushed data chunk size, bytes
});
For rereading data you can move current stream to new by StreamStorage.move()
.
More using cases and examples you can see in test.
- dmitriym09 dmitriym.09.12.1989@gmail.com
Thanks to the node-stream-buffer for inspiration!
For run test:
npm run test
- 0.0.1 - init
- 0.0.2
- 0.0.3
- 0.0.4
- 0.0.5 - fix pause
- 1.0.0 - .mjs, impl StreamStorage.move()