UNPKG

filemanagementsystemfornode

Version:

A file management system for node.js application making managements of files easier, all in one code, you can delete, move, etc, files all in one code, making ability to manage a system eg a application requiring transfering of files in folders easier

45 lines (38 loc) 1.38 kB
import * as fs from "fs"; import * as path from "path"; import { promisify } from "util"; const mkdirAsync = promisify(fs.mkdir); const rmAsync = promisify(fs.rm); const existsAsync = (folderPath: string): Promise<boolean> => new Promise((resolve) => fs.access(folderPath, fs.constants.F_OK, (err) => resolve(!err))); export class FolderComponent { private folderPath: string; constructor(folderPath: string) { this.folderPath = path.resolve(folderPath); } async create(): Promise<void> { try { if (!(await existsAsync(this.folderPath))) { await mkdirAsync(this.folderPath, { recursive: true }); } else { console.warn(`Folder already exists: ${this.folderPath}`); } } catch (error) { console.error(`Error creating folder: ${error}`); } } async delete(): Promise<void> { try { if (await existsAsync(this.folderPath)) { await rmAsync(this.folderPath, { recursive: true, force: true }); } else { console.warn(`Folder not found: ${this.folderPath}`); } } catch (error) { console.error(`Error deleting folder: ${error}`); } } getPath(): string { return this.folderPath; } }