diff --git a/lib/copy.js b/lib/copy.js index df09bbb..09d5f82 100644 --- a/lib/copy.js +++ b/lib/copy.js @@ -1,37 +1,32 @@ -"use strict" - var fs = require('fs') - , ncp = require('ncp').ncp - , path = require('path') - , mkdir = require('./mkdir'), - create = require('./create') - -module.exports.copy = copy; -module.exports.copySync = copySync; +var path = require('path') +var ncp = require('ncp').ncp +var mkdir = require('./mkdir') +var create = require('./create') var BUF_LENGTH = 64 * 1024 var _buff = new Buffer(BUF_LENGTH) var copyFileSync = function(srcFile, destFile) { - var bytesRead, fdr, fdw, pos, stat; - fdr = fs.openSync(srcFile, 'r'); - stat = fs.fstatSync(fdr); - fdw = fs.openSync(destFile, 'w', stat.mode); - bytesRead = 1; - pos = 0; + var bytesRead, fdr, fdw, pos, stat + fdr = fs.openSync(srcFile, 'r') + stat = fs.fstatSync(fdr) + fdw = fs.openSync(destFile, 'w', stat.mode) + bytesRead = 1 + pos = 0 while (bytesRead > 0) { - bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos); - fs.writeSync(fdw, _buff, 0, bytesRead); - pos += bytesRead; + bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) + fs.writeSync(fdw, _buff, 0, bytesRead) + pos += bytesRead } - fs.closeSync(fdr); - return fs.closeSync(fdw); + fs.closeSync(fdr) + return fs.closeSync(fdw) } function copy(src, dest, filter, callback) { if( typeof filter === "function" && !callback) { - callback = filter; - filter = null; + callback = filter + filter = null } callback = callback || function(){} @@ -48,38 +43,43 @@ function copy(src, dest, filter, callback) { } fs.exists(dir, function(dirExists) { - if (dirExists) return ncp(src, dest, {filter: filter}, callback); + if (dirExists) return ncp(src, dest, {filter: filter}, callback) mkdir.mkdirs(dir, function(err) { if (err) return callback(err) - ncp(src, dest, {filter: filter}, callback); + ncp(src, dest, {filter: filter}, callback) }) }) }) } function copySync(src, dest, filter, recursive) { - filter = filter || function () { return true; }; - recursive = recursive || false; + filter = filter || function () { return true } + recursive = recursive || false var stats = recursive ? fs.lstatSync(src) : fs.statSync(src), destFolder = path.dirname(dest), destFolderExists = fs.exists(destFolder), - performCopy = false; + performCopy = false if (stats.isFile()) { - if (filter instanceof RegExp) performCopy = filter.test(src); - else if (typeof filter === "function") performCopy = filter(src); + if (filter instanceof RegExp) performCopy = filter.test(src) + else if (typeof filter === "function") performCopy = filter(src) if(performCopy) { - if (!destFolderExists) mkdir.mkdirsSync(destFolder); - copyFileSync(src, dest); + if (!destFolderExists) mkdir.mkdirsSync(destFolder) + copyFileSync(src, dest) } } else if (stats.isDirectory()) { - if (!destFolderExists) mkdir.mkdirsSync(dest); - var contents = fs.readdirSync(src); + if (!destFolderExists) mkdir.mkdirsSync(dest) + var contents = fs.readdirSync(src) contents.forEach(function (content) { - copySync(src + "/" + content, dest + "/" + content, filter, true); - }); + copySync(src + "/" + content, dest + "/" + content, filter, true) + }) } else if (recursive && stats.isSymbolicLink()) { - var srcPath = fs.readlinkSync(src); - fs.symlinkSync(srcPath, dest); + var srcPath = fs.readlinkSync(src) + fs.symlinkSync(srcPath, dest) } } + +module.exports.copy = copy +module.exports.copySync = copySync\ + +