1.0.0 • Published 6 years ago

fs-read-stream-live v1.0.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
6 years ago

fs-read-stream-live

fs.createReadStream but it waits for new writes instead of ending

When it reaches the end of the file, it kicks off an fs.watcher and starts reading again where it left off when it updates. This works for appending data. Note that it does not work if data is removed from the file. Use this for logs and the like!

npm travis standard

Install

npm install fs-read-stream-live

Usage

var createLiveReadStream = require('fs-read-stream-live')

createLiveReadStream('./chat.txt').pipe(process.stdout)

setInterval(function () {
  fs.appendFile('./chat.txt', 'hello world', function(){})
}, 500)

API

s = createLiveReadStream(path, opts={})

Create a ReadStream for the file at path. First it streams the full file contents, then it starts watching for changes and streaming appended content.

  • opts.encoding - when set, convert read bytes to strings using this encoding; else stream Buffers.

s.close()

Close the file and stop watching for changes. You have to do this manually, else the stream will never end.

s.path

The file path; value of the path argument to createLiveReadStream.

s.bytesRead

Number of bytes that have been streamed so far.

License

Apache-2.0