diff --git a/lib/copy.js b/lib/copy.js index 36d13bc..f811304 100644 --- a/lib/copy.js +++ b/lib/copy.js @@ -2,12 +2,11 @@ var fs = require('graceful-fs') var path = require('path') var ncp = require('./_copy').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 copyFileSync = function (srcFile, destFile) { var fdr = fs.openSync(srcFile, 'r') var stat = fs.fstatSync(fdr) var fdw = fs.openSync(destFile, 'w', stat.mode) @@ -24,16 +23,16 @@ var copyFileSync = function(srcFile, destFile) { fs.closeSync(fdw) } -function copy(src, dest, options, callback) { - if( typeof options == "function" && !callback) { +function copy (src, dest, options, callback) { + if (typeof options === 'function' && !callback) { callback = options options = {} - } else if (typeof options == "function" || options instanceof RegExp) { + } else if (typeof options === 'function' || options instanceof RegExp) { options = {filter: options} } - callback = callback || function(){} + callback = callback || function () {} - fs.lstat(src, function(err, stats) { + fs.lstat(src, function (err, stats) { if (err) return callback(err) var dir = null @@ -45,9 +44,9 @@ function copy(src, dest, options, callback) { dir = path.dirname(dest) } - fs.exists(dir, function(dirExists) { + fs.exists(dir, function (dirExists) { if (dirExists) return ncp(src, dest, options, callback) - mkdir.mkdirs(dir, function(err) { + mkdir.mkdirs(dir, function (err) { if (err) return callback(err) ncp(src, dest, options, callback) }) @@ -55,15 +54,15 @@ function copy(src, dest, options, callback) { }) } -function copySync(src, dest, options) { - if (typeof options == "function" || options instanceof RegExp) { +function copySync (src, dest, options) { + if (typeof options === 'function' || options instanceof RegExp) { options = {filter: options} } options = options || {} options.recursive = !!options.recursive - options.filter = options.filter || function() { return true } + options.filter = options.filter || function () { return true } var stats = options.recursive ? fs.lstatSync(src) : fs.statSync(src) var destFolder = path.dirname(dest) @@ -72,21 +71,19 @@ function copySync(src, dest, options) { if (stats.isFile()) { if (options.filter instanceof RegExp) performCopy = options.filter.test(src) - else if (typeof options.filter == "function") performCopy = options.filter(src) + else if (typeof options.filter === 'function') performCopy = options.filter(src) if (performCopy) { if (!destFolderExists) mkdir.mkdirsSync(destFolder) copyFileSync(src, dest) } - } - else if (stats.isDirectory()) { + } else if (stats.isDirectory()) { if (!fs.existsSync(dest)) mkdir.mkdirsSync(dest) var contents = fs.readdirSync(src) - contents.forEach(function(content) { + contents.forEach(function (content) { copySync(path.join(src, content), path.join(dest, content), {filter: options.filter, recursive: true}) }) - } - else if (options.recursive && stats.isSymbolicLink()) { + } else if (options.recursive && stats.isSymbolicLink()) { var srcPath = fs.readlinkSync(src) fs.symlinkSync(srcPath, dest) } @@ -96,4 +93,3 @@ module.exports = { copy: copy, copySync: copySync } -