ares-ide
Version:
A browser-based code editor and UI designer for Enyo 2 projects
30 lines (24 loc) • 503 B
JavaScript
/*jshint node: true, strict: false, globalstrict: false */
module.exports = copyFile;
var fs = require('fs');
function copyFile(source, target, next) {
var cbCalled = false;
var rd = fs.createReadStream(source);
rd.on("error", function(err) {
done(err);
});
var wr = fs.createWriteStream(target);
wr.on("error", function(err) {
done(err);
});
wr.on("close", function(ex) {
done();
});
rd.pipe(wr);
function done(err) {
if (!cbCalled) {
next(err);
cbCalled = true;
}
}
}