delete

Crates.iodelete
lib.rsdelete
version1.0.1
sourcesrc
created_at2021-07-01 13:03:09.530684
updated_at2021-07-01 14:51:24.072757
descriptionFast, easy deletion of files and folders with async and cross-platform support.
homepage
repositoryhttps://github.com/XtremeDevX/delete
max_upload_size
id417433
size10,385
Tejas Ravishankar (suptejas)

documentation

https://docs.rs/delete/1.0.0/delete/

README

Overview

This crate allows for fast and easy deletion of files and folders. It has async and cross-platform support.

Many of the functions in this crate directly call std::fs and tokio::fs.

This crate aims to be:

  • Fast
  • Easy To Use
  • Powerful

Examples

Non-Async Implementation

use delete::{delete_file};

fn main() {
  // Delete file.txt
  delete_file("file.txt").unwrap();
}
use delete::{delete_folder};

fn main() {
  // Delete tests folder
  delete_folder("tests").unwrap();
}

Async Implementation

use delete::{delete_file_async};

#[tokio::main]
async fn main() {
  // Delete file.txt asynchronously
  delete_file_async("file.txt").await.unwrap();
}
use delete::{delete_folder_async};

#[tokio::main]
async fn main() {
  // Delete tests folder asynchronously
  delete_folder_async("tests").await.unwrap();
}

Rapid Implementations

use delete::{rapid_delete_dir_all};

#[tokio::main]
async fn main() {
  // 2-3x faster than std::fs::remove_dir_all
  // removes all files and folders in subfolders recursively using tokio workers
  rapid_delete_dir_all("node_modules", None, None).await;
}

Credits

tokio

Commit count: 15

cargo fmt