str_utils/
lib.rs

1/*!
2# str Utils
3
4This crate provides some traits to extend types which implement `AsRef<[u8]>` or `AsRef<str>`.
5
6## Examples
7
8```rust
9use str_utils::*;
10
11assert_eq!(true, "foobar".starts_with_ignore_ascii_case("FoO"));
12assert_eq!(Some(1), "photo.jpg".ends_with_ignore_ascii_case_multiple(&[".png", ".jpg", ".gif"]));
13assert_eq!(true, "http".eq_ignore_ascii_case_with_uppercase("HTTP")); // faster than `eq_ignore_ascii_case`
14```
15*/
16
17#![cfg_attr(not(feature = "std"), no_std)]
18
19// TODO eq_ignore_case_multiple
20// TODO starts_with_ignore_case_multiple
21// TODO ends_with_ignore_case_multiple
22
23mod ends_with_ignore_ascii_case;
24mod ends_with_ignore_ascii_case_multiple;
25mod ends_with_ignore_case;
26mod ends_with_multiple;
27mod eq_ignore_ascii_case;
28mod eq_ignore_ascii_case_multiple;
29mod eq_ignore_case;
30mod eq_multiple;
31#[cfg(feature = "std")]
32mod remove_all_invisible_characters;
33mod starts_with_ignore_ascii_case;
34mod starts_with_ignore_ascii_case_multiple;
35mod starts_with_ignore_case;
36mod starts_with_multiple;
37
38pub use ends_with_ignore_ascii_case::*;
39pub use ends_with_ignore_ascii_case_multiple::*;
40pub use ends_with_ignore_case::*;
41pub use ends_with_multiple::*;
42pub use eq_ignore_ascii_case::*;
43pub use eq_ignore_ascii_case_multiple::*;
44pub use eq_ignore_case::*;
45pub use eq_multiple::*;
46#[cfg(feature = "std")]
47pub use remove_all_invisible_characters::*;
48pub use starts_with_ignore_ascii_case::*;
49pub use starts_with_ignore_ascii_case_multiple::*;
50pub use starts_with_ignore_case::*;
51pub use starts_with_multiple::*;