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);
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								}
							 |