UNPKG

electron-updater

Version:

Cross platform auto-updater for electron applications

52 lines (46 loc) 1.2 kB
var fs = process.versions.electron ? require('original-fs') : require('fs'), path = require('path'), directory = require('./directory.js') function readJson(name, callback) { fs.readFile(name, {encoding: 'utf8'}, function (err, data) { if(err) return callback(err) try { var j = JSON.parse(data) callback(null, j) } catch (e) { callback(e) } }) } function writeJson(name, obj, callback) { var data = JSON.stringify(obj) var dir = path.dirname(name) directory.create(dir, function (err) { if(err) return callback(err) fs.writeFile(name, data, {encoding: 'utf8'}, callback) }) } function touch(name, contents, callback) { if(typeof contents === 'function') { callback = contents contents = undefined } var dir = path.dirname(name) directory.create(dir, function (err) { if(err) return callback(err) fs.writeFile(name, contents || '', {encoding:'utf8'}, callback) }) } function copy(source, dest, callback) { var sourceStream = fs.createReadStream(source) var destStream = fs.createWriteStream(dest) sourceStream .pipe(destStream) .on('finish', callback) } module.exports = { readJson: readJson, writeJson: writeJson, touch: touch, copy: copy }