| ... | @@ -395,3 +395,21 @@ pub fn deleteTree(self: Dir, sub_path: [:0]const u8) !void { | ... | @@ -395,3 +395,21 @@ pub fn deleteTree(self: Dir, sub_path: [:0]const u8) !void { |
| 395 | } | 395 | } |
| 396 | try self.deleteDir(sub_path); | 396 | try self.deleteDir(sub_path); |
| 397 | } | 397 | } |
| | 398 | |
| | 399 | pub fn exists(self: Dir, sub_path: [:0]const u8) !bool { |
| | 400 | self.access(sub_path, .{}, 0) catch |err| switch (err) { |
| | 401 | error.ENOENT => return false, |
| | 402 | else => |e| return e, |
| | 403 | }; |
| | 404 | return true; |
| | 405 | } |
| | 406 | |
| | 407 | pub fn existsDir(self: Dir, sub_path: [:0]const u8) !bool { |
| | 408 | var dir = self.openDir(sub_path, .{}) catch |err| switch (err) { |
| | 409 | error.ENOENT => return false, |
| | 410 | error.ENOTDIR => return false, |
| | 411 | else => |e| return e, |
| | 412 | }; |
| | 413 | dir.close(); |
| | 414 | return true; |
| | 415 | } |