bitcore-wallet-service/lib/client/filestorage.js

31 lines
588 B
JavaScript

var fs = require('fs')
function FileStorage(opts) {
if (!opts.filename) {
throw new Error('Please set the config filename');
}
this.filename = opts.filename;
this.fs = opts.fs || fs;
};
FileStorage.prototype.save = function(data, cb) {
this.fs.writeFile(this.filename, JSON.stringify(data), cb);
};
FileStorage.prototype.load = function(cb) {
this.fs.readFile(this.filename, 'utf8', function(err,data) {
if (err) return cb(err);
try {
data = JSON.parse(data);
} catch (e) {
}
return cb(null, data);
});
};
module.exports = FileStorage;