fs-extra-promise
v1.0.1
Published
Node file system library and fs-extra module promisified with bluebird
Downloads
60,509
Maintainers
Readme
fs-extra-promise.js
Node file system library and fs-extra module promisified with bluebird
Current status
API is stable. No tests at present but it seems to work fine!
Usage
This module is a drop-in replacement for the native node file system module and the augmented fs-extra module.
Additionally, it creates promisified versions of all fs
's and fs-extra
's async methods, using bluebird. These methods are named the same as the original fs
/fs-extra
methods with 'Async'
added to the end of the method names.
So instead of:
var fs = require('fs');
fs.readFile(path, function(err, data) {
console.log(data);
});
You can now:
var fs = require('fs-extra-promise');
fs.readFileAsync(path).then(function(data) {
console.log(data);
});
All original fs
and fs-extra
methods are included unmodified.
isDirectory()
methods
For convenience, additional methods isDirectory()
, isDirectorySync()
and isDirectoryAsync()
are provided.
These are are shortcuts for doing fs.stat()
followed by running isDirectory()
on the result returned by stat()
.
usePromise()
method
Creates a new instance of fs-extra-promise
, which uses the Promise implementation provided.
var Bluebird = require('bluebird');
var fs = require('fs-extra-promise').usePromise(Bluebird);
// now use `fs-extra-promise` in the usual way
var promise = fs.readFileAsync(path);
console.log(promise instanceof Bluebird); // true
This can be useful for:
- using a different version of bluebird
- using a Promise implementation that supports
cls
- using an augmented version of Bluebird like bluebird-extra
useFs()
method
Creates a new instance of fs-extra-promise
, promisifying the provide version of fs-extra.
Most useful if you want to use a specific version of fs-extra.
var fs = require('fs-extra-promise').useFs(require('fs-extra'));
Tests
Use npm test
to run the tests. Use npm run cover
to check coverage.
There aren't any tests at present, except for running jshint on the code.
Changelog
See changelog.md
Issues
If you discover a bug, please raise an issue on Github. https://github.com/overlookmotel/fs-extra-promise/issues