mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			13 lines
		
	
	
		
			311 B
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			311 B
		
	
	
	
		
			TypeScript
		
	
	
import { move } from 'fs-extra/esm'
 | 
						|
import { rename } from 'fs/promises'
 | 
						|
 | 
						|
export async function tryAtomicMove (src: string, destination: string) {
 | 
						|
  try {
 | 
						|
    await rename(src, destination)
 | 
						|
  } catch (err) {
 | 
						|
    if (err?.code !== 'EXDEV') throw err
 | 
						|
 | 
						|
    return move(src, destination, { overwrite: true })
 | 
						|
  }
 | 
						|
}
 |