Skip to content

ariutta/rx-fs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RxFs

This is an RxJS wrapper for the Node.js fs module. It is intended to track the fs API as closely as possible, with the following exceptions:

  • If the fs method expects a callback, the RxFs method instead returns an Observable.
  • If the fs method creates a stream, RxFs has an analogous method that creates an Observable, with Stream replaced by Observable in the name. Where you would use pipe for streams, you can use let for RxFs. For example, RxFs.createReadStream creates a stream and RxFs.createReadObservable creates an observable.
  • The result from calling fs.createReadObservable has property openSource, which is an observable indicating the file has been opened.

Example: move old.txt to new.txt

var RxFs = require('rx-fs');
var inputPath = './old.txt';
var outputPath = './new.txt';
var source = RxFs.createReadObservable(inputPath);
var sink = RxFs.createWriteObservable(outputPath);
return source
  .let(sink)
  .subscribeOnCompleted(function() {
    RxFs.unlink(inputPath).subscribeOnCompleted(done);
  });

Not all methods are currently fully tested. API may change to better reflect latest version of fs API. Pull requests welcome!

See also this alternative that has a more full-featured API but does not match the current node fs API.

About

RxJS wrapper for Node's fs module.

Resources

Stars

Watchers

Forks

Packages

No packages published