import 'dart:io'; class PathHelper { String pth = ""; PathHelper({required this.pth}); static String combine(String path1, String path2) { return path1 + Platform.pathSeparator + path2; } static PathHelper builder(String startPath) { return PathHelper(pth: startPath); } PathHelper resolve(String path2) { pth += Platform.pathSeparator + path2; return this; } PathHelper conditionalResolve(bool flag, String path) { if (flag) pth += Platform.pathSeparator + path; return this; } bool deleteDirectory({bool recursive = false}) { Directory dir = new Directory(build()); try { dir.deleteSync(recursive: recursive); return true; } catch (E) { return false; } } bool deleteFile() { File file = new File(build()); try { file.deleteSync(recursive: true); return true; } catch (E) { return false; } } PathHelper removeDir() { deleteDirectory(recursive: true); return this; } PathHelper removeFile() { deleteFile(); return this; } PathHelper mkdir() { Directory dir = new Directory(build()); dir.createSync(recursive: true); return this; } String build() { return pth; } }