You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					70 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					70 lines
				
				1.8 KiB
			| 
											2 years ago
										 | /** | ||
|  |  * Module convert fs functions to promise based functions | ||
|  |  */ | ||
|  | import fs from 'node:fs'; | ||
|  | export const pathExists = fs.existsSync; | ||
|  | export const createReadStream = fs.createReadStream; | ||
|  | export async function stat(path) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.stat(path, (err, stats) => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve(stats); | ||
|  |         }); | ||
|  |     }); | ||
|  | } | ||
|  | export async function close(fd) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.close(fd, err => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve(); | ||
|  |         }); | ||
|  |     }); | ||
|  | } | ||
|  | export async function open(path, mode) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.open(path, mode, (err, fd) => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve(fd); | ||
|  |         }); | ||
|  |     }); | ||
|  | } | ||
|  | export async function read(fd, buffer, offset, length, position) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.read(fd, buffer, offset, length, position, (err, bytesRead, _buffer) => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve({ bytesRead, buffer: _buffer }); | ||
|  |         }); | ||
|  |     }); | ||
|  | } | ||
|  | export async function writeFile(path, data) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.writeFile(path, data, err => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve(); | ||
|  |         }); | ||
|  |     }); | ||
|  | } | ||
|  | export function writeFileSync(path, data) { | ||
|  |     fs.writeFileSync(path, data); | ||
|  | } | ||
|  | export async function readFile(path) { | ||
|  |     return new Promise((resolve, reject) => { | ||
|  |         fs.readFile(path, (err, buffer) => { | ||
|  |             if (err) | ||
|  |                 reject(err); | ||
|  |             else | ||
|  |                 resolve(buffer); | ||
|  |         }); | ||
|  |     }); | ||
|  | } |