{"id":"../node_modules/fs-extra/lib/move.js","dependencies":[{"name":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/package.json","includedInParent":true,"mtime":1574865112242},{"name":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/package.json","includedInParent":true,"mtime":1574865110902},{"name":"graceful-fs","loc":{"line":7,"column":17},"parent":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/move.js","resolved":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/node_modules/graceful-fs/graceful-fs.js"},{"name":"./_copy","loc":{"line":8,"column":18},"parent":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/move.js","resolved":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/_copy.js"},{"name":"path","loc":{"line":9,"column":19},"parent":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/move.js","resolved":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/path-browserify/index.js"},{"name":"rimraf","loc":{"line":10,"column":21},"parent":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/move.js","resolved":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/rimraf/rimraf.js"},{"name":"./mkdir","loc":{"line":11,"column":21},"parent":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/move.js","resolved":"/home/david/Proyectos/websocketdatamanager/websocketdatamanager/wsjs/node_modules/fs-extra/lib/mkdir.js"}],"generated":{"js":"// most of this code was written by Andrew Kelley\n// licensed under the BSD license: see\n// https://github.com/andrewrk/node-mv/blob/master/package.json\n\n// this needs a cleanup\n\nvar fs = require('graceful-fs')\nvar ncp = require('./_copy').ncp\nvar path = require('path')\nvar rimraf = require('rimraf')\nvar mkdirp = require('./mkdir').mkdirs\n\nfunction mv(source, dest, options, callback){\n  if (typeof options === 'function') {\n    callback = options\n    options = {}\n  }\n\n  var shouldMkdirp = !!options.mkdirp\n  var clobber = options.clobber !== false\n  var limit = options.limit || 16\n\n  if (shouldMkdirp) {\n    mkdirs()\n  } else {\n    doRename()\n  }\n\n  function mkdirs() {\n    mkdirp(path.dirname(dest), function(err) {\n      if (err) return callback(err)\n      doRename()\n    })\n  }\n\n  function doRename() {\n    if (clobber) {\n      fs.rename(source, dest, function(err) {\n        if (!err) return callback()\n\n        if (err.code === 'ENOTEMPTY') {\n          rimraf(dest, function(err) {\n            if (err) return callback(err)\n            options.clobber = false // just clobbered it, no need to do it again\n            mv(source, dest, options, callback)\n          })\n          return\n        }\n\n        if (err.code !== 'EXDEV') return callback(err)\n        moveFileAcrossDevice(source, dest, clobber, limit, callback)\n      })\n    } else {\n      fs.link(source, dest, function(err) {\n        if (err) {\n          if (err.code === 'EXDEV') {\n            moveFileAcrossDevice(source, dest, clobber, limit, callback)\n            return\n          }\n          if (err.code === 'EISDIR' || err.code === 'EPERM') {\n            moveDirAcrossDevice(source, dest, clobber, limit, callback)\n            return\n          }\n          callback(err)\n          return\n        }\n        fs.unlink(source, callback)\n      })\n    }\n  }\n}\n\nfunction moveFileAcrossDevice(source, dest, clobber, limit, callback) {\n  var outFlags = clobber ? 'w' : 'wx'\n  var ins = fs.createReadStream(source)\n  var outs = fs.createWriteStream(dest, {flags: outFlags})\n\n  ins.on('error', function(err) {\n    ins.destroy()\n    outs.destroy()\n    outs.removeListener('close', onClose)\n\n    // may want to create a directory but `out` line above\n    // creates an empty file for us: See #108\n    // don't care about error here\n    fs.unlink(dest, function() {\n      // note: `err` here is from the input stream errror\n      if (err.code === 'EISDIR' || err.code === 'EPERM') {\n        moveDirAcrossDevice(source, dest, clobber, limit, callback)\n      } else {\n        callback(err)\n      }\n    })\n  })\n\n  outs.on('error', function(err) {\n    ins.destroy()\n    outs.destroy()\n    outs.removeListener('close', onClose)\n    callback(err)\n  })\n\n  outs.once('close', onClose)\n  ins.pipe(outs)\n\n  function onClose() {\n    fs.unlink(source, callback)\n  }\n}\n\nfunction moveDirAcrossDevice(source, dest, clobber, limit, callback) {\n  var options = {\n    stopOnErr: true,\n    clobber: false,\n    limit: limit,\n  }\n\n  function startNcp() {\n    ncp(source, dest, options, function(errList) {\n      if (errList) return callback(errList[0])\n      rimraf(source, callback)\n    })\n  }\n\n  if (clobber) {\n    rimraf(dest, function(err) {\n      if (err) return callback(err)\n      startNcp()\n    })\n  } else {\n    startNcp()\n  }\n}\n\nmodule.exports = mv\n\n"},"sourceMaps":{"js":{"mappings":[{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":2,"column":0},"generated":{"line":2,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":3,"column":0},"generated":{"line":3,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":4,"column":0},"generated":{"line":4,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":5,"column":0},"generated":{"line":5,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":6,"column":0},"generated":{"line":6,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":7,"column":0},"generated":{"line":7,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":8,"column":0},"generated":{"line":8,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":9,"column":0},"generated":{"line":9,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":10,"column":0},"generated":{"line":10,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":11,"column":0},"generated":{"line":11,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":12,"column":0},"generated":{"line":12,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":13,"column":0},"generated":{"line":13,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":14,"column":0},"generated":{"line":14,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":15,"column":0},"generated":{"line":15,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":16,"column":0},"generated":{"line":16,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":17,"column":0},"generated":{"line":17,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":18,"column":0},"generated":{"line":18,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":19,"column":0},"generated":{"line":19,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":20,"column":0},"generated":{"line":20,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":21,"column":0},"generated":{"line":21,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":22,"column":0},"generated":{"line":22,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":23,"column":0},"generated":{"line":23,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":24,"column":0},"generated":{"line":24,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":25,"column":0},"generated":{"line":25,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":26,"column":0},"generated":{"line":26,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":27,"column":0},"generated":{"line":27,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":28,"column":0},"generated":{"line":28,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":29,"column":0},"generated":{"line":29,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":30,"column":0},"generated":{"line":30,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":31,"column":0},"generated":{"line":31,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":32,"column":0},"generated":{"line":32,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":33,"column":0},"generated":{"line":33,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":34,"column":0},"generated":{"line":34,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":35,"column":0},"generated":{"line":35,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":36,"column":0},"generated":{"line":36,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":37,"column":0},"generated":{"line":37,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":38,"column":0},"generated":{"line":38,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":39,"column":0},"generated":{"line":39,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":40,"column":0},"generated":{"line":40,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":41,"column":0},"generated":{"line":41,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":42,"column":0},"generated":{"line":42,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":43,"column":0},"generated":{"line":43,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":44,"column":0},"generated":{"line":44,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":45,"column":0},"generated":{"line":45,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":46,"column":0},"generated":{"line":46,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":47,"column":0},"generated":{"line":47,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":48,"column":0},"generated":{"line":48,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":49,"column":0},"generated":{"line":49,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":50,"column":0},"generated":{"line":50,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":51,"column":0},"generated":{"line":51,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":52,"column":0},"generated":{"line":52,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":53,"column":0},"generated":{"line":53,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":54,"column":0},"generated":{"line":54,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":55,"column":0},"generated":{"line":55,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":56,"column":0},"generated":{"line":56,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":57,"column":0},"generated":{"line":57,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":58,"column":0},"generated":{"line":58,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":59,"column":0},"generated":{"line":59,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":60,"column":0},"generated":{"line":60,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":61,"column":0},"generated":{"line":61,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":62,"column":0},"generated":{"line":62,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":63,"column":0},"generated":{"line":63,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":64,"column":0},"generated":{"line":64,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":65,"column":0},"generated":{"line":65,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":66,"column":0},"generated":{"line":66,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":67,"column":0},"generated":{"line":67,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":68,"column":0},"generated":{"line":68,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":69,"column":0},"generated":{"line":69,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":70,"column":0},"generated":{"line":70,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":71,"column":0},"generated":{"line":71,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":72,"column":0},"generated":{"line":72,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":73,"column":0},"generated":{"line":73,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":74,"column":0},"generated":{"line":74,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":75,"column":0},"generated":{"line":75,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":76,"column":0},"generated":{"line":76,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":77,"column":0},"generated":{"line":77,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":78,"column":0},"generated":{"line":78,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":79,"column":0},"generated":{"line":79,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":80,"column":0},"generated":{"line":80,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":81,"column":0},"generated":{"line":81,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":82,"column":0},"generated":{"line":82,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":83,"column":0},"generated":{"line":83,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":84,"column":0},"generated":{"line":84,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":85,"column":0},"generated":{"line":85,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":86,"column":0},"generated":{"line":86,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":87,"column":0},"generated":{"line":87,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":88,"column":0},"generated":{"line":88,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":89,"column":0},"generated":{"line":89,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":90,"column":0},"generated":{"line":90,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":91,"column":0},"generated":{"line":91,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":92,"column":0},"generated":{"line":92,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":93,"column":0},"generated":{"line":93,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":94,"column":0},"generated":{"line":94,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":95,"column":0},"generated":{"line":95,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":96,"column":0},"generated":{"line":96,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":97,"column":0},"generated":{"line":97,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":98,"column":0},"generated":{"line":98,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":99,"column":0},"generated":{"line":99,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":100,"column":0},"generated":{"line":100,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":101,"column":0},"generated":{"line":101,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":102,"column":0},"generated":{"line":102,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":103,"column":0},"generated":{"line":103,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":104,"column":0},"generated":{"line":104,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":105,"column":0},"generated":{"line":105,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":106,"column":0},"generated":{"line":106,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":107,"column":0},"generated":{"line":107,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":108,"column":0},"generated":{"line":108,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":109,"column":0},"generated":{"line":109,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":110,"column":0},"generated":{"line":110,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":111,"column":0},"generated":{"line":111,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":112,"column":0},"generated":{"line":112,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":113,"column":0},"generated":{"line":113,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":114,"column":0},"generated":{"line":114,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":115,"column":0},"generated":{"line":115,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":116,"column":0},"generated":{"line":116,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":117,"column":0},"generated":{"line":117,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":118,"column":0},"generated":{"line":118,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":119,"column":0},"generated":{"line":119,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":120,"column":0},"generated":{"line":120,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":121,"column":0},"generated":{"line":121,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":122,"column":0},"generated":{"line":122,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":123,"column":0},"generated":{"line":123,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":124,"column":0},"generated":{"line":124,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":125,"column":0},"generated":{"line":125,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":126,"column":0},"generated":{"line":126,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":127,"column":0},"generated":{"line":127,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":128,"column":0},"generated":{"line":128,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":129,"column":0},"generated":{"line":129,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":130,"column":0},"generated":{"line":130,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":131,"column":0},"generated":{"line":131,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":132,"column":0},"generated":{"line":132,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":133,"column":0},"generated":{"line":133,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":134,"column":0},"generated":{"line":134,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":135,"column":0},"generated":{"line":135,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":136,"column":0},"generated":{"line":136,"column":0}},{"source":"../node_modules/fs-extra/lib/move.js","original":{"line":137,"column":0},"generated":{"line":137,"column":0}}],"sources":{"../node_modules/fs-extra/lib/move.js":"// most of this code was written by Andrew Kelley\n// licensed under the BSD license: see\n// https://github.com/andrewrk/node-mv/blob/master/package.json\n\n// this needs a cleanup\n\nvar fs = require('graceful-fs')\nvar ncp = require('./_copy').ncp\nvar path = require('path')\nvar rimraf = require('rimraf')\nvar mkdirp = require('./mkdir').mkdirs\n\nfunction mv(source, dest, options, callback){\n  if (typeof options === 'function') {\n    callback = options\n    options = {}\n  }\n\n  var shouldMkdirp = !!options.mkdirp\n  var clobber = options.clobber !== false\n  var limit = options.limit || 16\n\n  if (shouldMkdirp) {\n    mkdirs()\n  } else {\n    doRename()\n  }\n\n  function mkdirs() {\n    mkdirp(path.dirname(dest), function(err) {\n      if (err) return callback(err)\n      doRename()\n    })\n  }\n\n  function doRename() {\n    if (clobber) {\n      fs.rename(source, dest, function(err) {\n        if (!err) return callback()\n\n        if (err.code === 'ENOTEMPTY') {\n          rimraf(dest, function(err) {\n            if (err) return callback(err)\n            options.clobber = false // just clobbered it, no need to do it again\n            mv(source, dest, options, callback)\n          })\n          return\n        }\n\n        if (err.code !== 'EXDEV') return callback(err)\n        moveFileAcrossDevice(source, dest, clobber, limit, callback)\n      })\n    } else {\n      fs.link(source, dest, function(err) {\n        if (err) {\n          if (err.code === 'EXDEV') {\n            moveFileAcrossDevice(source, dest, clobber, limit, callback)\n            return\n          }\n          if (err.code === 'EISDIR' || err.code === 'EPERM') {\n            moveDirAcrossDevice(source, dest, clobber, limit, callback)\n            return\n          }\n          callback(err)\n          return\n        }\n        fs.unlink(source, callback)\n      })\n    }\n  }\n}\n\nfunction moveFileAcrossDevice(source, dest, clobber, limit, callback) {\n  var outFlags = clobber ? 'w' : 'wx'\n  var ins = fs.createReadStream(source)\n  var outs = fs.createWriteStream(dest, {flags: outFlags})\n\n  ins.on('error', function(err) {\n    ins.destroy()\n    outs.destroy()\n    outs.removeListener('close', onClose)\n\n    // may want to create a directory but `out` line above\n    // creates an empty file for us: See #108\n    // don't care about error here\n    fs.unlink(dest, function() {\n      // note: `err` here is from the input stream errror\n      if (err.code === 'EISDIR' || err.code === 'EPERM') {\n        moveDirAcrossDevice(source, dest, clobber, limit, callback)\n      } else {\n        callback(err)\n      }\n    })\n  })\n\n  outs.on('error', function(err) {\n    ins.destroy()\n    outs.destroy()\n    outs.removeListener('close', onClose)\n    callback(err)\n  })\n\n  outs.once('close', onClose)\n  ins.pipe(outs)\n\n  function onClose() {\n    fs.unlink(source, callback)\n  }\n}\n\nfunction moveDirAcrossDevice(source, dest, clobber, limit, callback) {\n  var options = {\n    stopOnErr: true,\n    clobber: false,\n    limit: limit,\n  }\n\n  function startNcp() {\n    ncp(source, dest, options, function(errList) {\n      if (errList) return callback(errList[0])\n      rimraf(source, callback)\n    })\n  }\n\n  if (clobber) {\n    rimraf(dest, function(err) {\n      if (err) return callback(err)\n      startNcp()\n    })\n  } else {\n    startNcp()\n  }\n}\n\nmodule.exports = mv\n\n"},"lineCount":137}},"error":null,"hash":"d76cb3689932e7ab3b85bff897770b5b","cacheData":{"env":{}}}