mirror of
				https://gitee.com/onvia/ccc-tnt-psd2ui
				synced 2025-11-04 05:17:44 +00:00 
			
		
		
		
	支持 mac
This commit is contained in:
		
							
								
								
									
										7
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
const u = require('universalify').fromCallback
 | 
			
		||||
module.exports = {
 | 
			
		||||
  move: u(require('./move')),
 | 
			
		||||
  moveSync: require('./move-sync')
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										54
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/move-sync.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/move-sync.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
const fs = require('graceful-fs')
 | 
			
		||||
const path = require('path')
 | 
			
		||||
const copySync = require('../copy').copySync
 | 
			
		||||
const removeSync = require('../remove').removeSync
 | 
			
		||||
const mkdirpSync = require('../mkdirs').mkdirpSync
 | 
			
		||||
const stat = require('../util/stat')
 | 
			
		||||
 | 
			
		||||
function moveSync (src, dest, opts) {
 | 
			
		||||
  opts = opts || {}
 | 
			
		||||
  const overwrite = opts.overwrite || opts.clobber || false
 | 
			
		||||
 | 
			
		||||
  const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, 'move', opts)
 | 
			
		||||
  stat.checkParentPathsSync(src, srcStat, dest, 'move')
 | 
			
		||||
  if (!isParentRoot(dest)) mkdirpSync(path.dirname(dest))
 | 
			
		||||
  return doRename(src, dest, overwrite, isChangingCase)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isParentRoot (dest) {
 | 
			
		||||
  const parent = path.dirname(dest)
 | 
			
		||||
  const parsedPath = path.parse(parent)
 | 
			
		||||
  return parsedPath.root === parent
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function doRename (src, dest, overwrite, isChangingCase) {
 | 
			
		||||
  if (isChangingCase) return rename(src, dest, overwrite)
 | 
			
		||||
  if (overwrite) {
 | 
			
		||||
    removeSync(dest)
 | 
			
		||||
    return rename(src, dest, overwrite)
 | 
			
		||||
  }
 | 
			
		||||
  if (fs.existsSync(dest)) throw new Error('dest already exists.')
 | 
			
		||||
  return rename(src, dest, overwrite)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function rename (src, dest, overwrite) {
 | 
			
		||||
  try {
 | 
			
		||||
    fs.renameSync(src, dest)
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    if (err.code !== 'EXDEV') throw err
 | 
			
		||||
    return moveAcrossDevice(src, dest, overwrite)
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function moveAcrossDevice (src, dest, overwrite) {
 | 
			
		||||
  const opts = {
 | 
			
		||||
    overwrite,
 | 
			
		||||
    errorOnExist: true
 | 
			
		||||
  }
 | 
			
		||||
  copySync(src, dest, opts)
 | 
			
		||||
  return removeSync(src)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = moveSync
 | 
			
		||||
							
								
								
									
										75
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/move.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								npm-packages/mac-v3.4.+/fs-extra/lib/move/move.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
const fs = require('graceful-fs')
 | 
			
		||||
const path = require('path')
 | 
			
		||||
const copy = require('../copy').copy
 | 
			
		||||
const remove = require('../remove').remove
 | 
			
		||||
const mkdirp = require('../mkdirs').mkdirp
 | 
			
		||||
const pathExists = require('../path-exists').pathExists
 | 
			
		||||
const stat = require('../util/stat')
 | 
			
		||||
 | 
			
		||||
function move (src, dest, opts, cb) {
 | 
			
		||||
  if (typeof opts === 'function') {
 | 
			
		||||
    cb = opts
 | 
			
		||||
    opts = {}
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  opts = opts || {}
 | 
			
		||||
 | 
			
		||||
  const overwrite = opts.overwrite || opts.clobber || false
 | 
			
		||||
 | 
			
		||||
  stat.checkPaths(src, dest, 'move', opts, (err, stats) => {
 | 
			
		||||
    if (err) return cb(err)
 | 
			
		||||
    const { srcStat, isChangingCase = false } = stats
 | 
			
		||||
    stat.checkParentPaths(src, srcStat, dest, 'move', err => {
 | 
			
		||||
      if (err) return cb(err)
 | 
			
		||||
      if (isParentRoot(dest)) return doRename(src, dest, overwrite, isChangingCase, cb)
 | 
			
		||||
      mkdirp(path.dirname(dest), err => {
 | 
			
		||||
        if (err) return cb(err)
 | 
			
		||||
        return doRename(src, dest, overwrite, isChangingCase, cb)
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isParentRoot (dest) {
 | 
			
		||||
  const parent = path.dirname(dest)
 | 
			
		||||
  const parsedPath = path.parse(parent)
 | 
			
		||||
  return parsedPath.root === parent
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function doRename (src, dest, overwrite, isChangingCase, cb) {
 | 
			
		||||
  if (isChangingCase) return rename(src, dest, overwrite, cb)
 | 
			
		||||
  if (overwrite) {
 | 
			
		||||
    return remove(dest, err => {
 | 
			
		||||
      if (err) return cb(err)
 | 
			
		||||
      return rename(src, dest, overwrite, cb)
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
  pathExists(dest, (err, destExists) => {
 | 
			
		||||
    if (err) return cb(err)
 | 
			
		||||
    if (destExists) return cb(new Error('dest already exists.'))
 | 
			
		||||
    return rename(src, dest, overwrite, cb)
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function rename (src, dest, overwrite, cb) {
 | 
			
		||||
  fs.rename(src, dest, err => {
 | 
			
		||||
    if (!err) return cb()
 | 
			
		||||
    if (err.code !== 'EXDEV') return cb(err)
 | 
			
		||||
    return moveAcrossDevice(src, dest, overwrite, cb)
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function moveAcrossDevice (src, dest, overwrite, cb) {
 | 
			
		||||
  const opts = {
 | 
			
		||||
    overwrite,
 | 
			
		||||
    errorOnExist: true
 | 
			
		||||
  }
 | 
			
		||||
  copy(src, dest, opts, err => {
 | 
			
		||||
    if (err) return cb(err)
 | 
			
		||||
    return remove(src, cb)
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module.exports = move
 | 
			
		||||
		Reference in New Issue
	
	Block a user