3 unstable releases

0.2.1 Mar 4, 2024
0.2.0 Feb 29, 2024
0.1.0 Feb 29, 2024

#1110 in Data structures

Download history 15/week @ 2024-09-19 4/week @ 2024-09-26

98 downloads per month

MIT license

16KB
259 lines

extensions-rs

GitHub Actions Workflow Status Crates.io Version docs.rs

A collection of file extension types in Rust.

The idea behind this crate is to give a simple way of handling file extension types.

Installation

Simply add extensions-rs to the dependencies your Cargo.toml file:

[dependencies]
extensions-rs = "0.2.1"

Or use the cargo add command:

cargo add extensions-rs

Examples

Conversion to Extension type:

use extensions_rs::Extension;
use extensions_rs::Image;

assert_eq!("png", Extension::to_str(Extension::Image(Image::ExtPNG)));

Simple conversion, &str to Image type:

use extensions_rs::ext::Image;

assert_eq!(Image::ExtJPG, Image::from("jpg"))

Validate extension:

use extensions_rs::utils::Validate;

assert_eq!(true, Validate::check_str("jpg"))

Todo

  • Improve extension coverage
    • Add text extensions
    • Add video extensions
    • Add archive extensions
    • Add programming extensions
    • Add document extensions
  • Improve documentation
  • Implement to_str for Image
  • Add feature to take a whole path or string and convert it to correct type
  • Remove unnecessary `async' funcion/methods. Possibly transition to alternate async options.

Dependencies

~2.3–8MB
~63K SLoC