min-fs
A node.js implementation of the min-stream and continuable based fs interface for js-git.
File System Interface
This module implements the following functions from the fs interface which is described in detail at https://github.com/creationix/js-git/blob/master/specs/fs.md
- stat(path) -> continuable
- read(path, [encoding]) -> continuable
- write(path, value, [encoding]) -> continuable
- readStream(path, [options]) -> source
- writeStream(path, [options]) -> sink
- unlink(path) -> continuable
- readlink(path) -> continuable
- symlink(path, target) -> continuable
- readdir(path) -> source
- rmdir(path) -> continuable
- mkdir(path) -> continuable
- rename(path, target) -> continuable
var fs = ; // Streaming copy a file // Set up a source, the file isn't actually opened till the stream is read from.var source = fs; // Set up a sink. The file isn't actually opened yet.var sink = fs; // Hook the source to the sink, but still don't create either file or start moving yet.var continuable = ; // Now, create both files and stream the contents. If there is a problem it will be reported here.// Otherwise the continuable will resolve with no error when done streaming.;
You don't have to store all the steps into variables, so you can simply chain the calls.
Also if you're in an ES6 generator using gen-run, then consuming the continuable is even easier.
var run = ;var fs = ; { fsfs;} ;
chroot(root) -> fs
In addition to the exports object implementing the fs interface with respect to the filesystem root, you can also create a fs instance that is chrooted to some directory.
var fs = "/home/tim/Code/js-git/.git"; // read the first chunk in the staging area's index.fsnull consolelog;