Prefix a noun with an indefinite article - a or an - based on whether it begins with a vowel
.forgejo/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE.md | ||
README.md |
indefinite
This crate is a port of the JavaScript library indefinite, thanks to the original authors of this library!
Prefix a noun with an indefinite article - a or an - based on whether it begins with a vowel.
Installation
cargo add indefinite
Usage
use indefinite::*;
fn main () {
assert_eq!(indefinite("honor"), "an honor");
assert_eq!(indefinite("ouija board"), "a ouija board");
assert_eq!(indefinite_capitalized("apple"), "An apple");
assert_eq!(indefinite_capitalized("banana"), "A banana");
assert_eq!(indefinite_article_only("apple"), "an");
assert_eq!(indefinite_article_only("pear"), "a");
assert_eq!(indefinite_article_only_capitalized("apple"), "An");
assert_eq!(indefinite_article_only_capitalized("pear"), "A");
}
Macros
Macros are available as a feature. They are working the same as the functions, except they also accept a list of inputs.
indefinite = { version = "0.1", features = [ "macros" ] }
use indefinite::*;
fn main () {
assert_eq!(indefinite!("honor"), "an honor");
assert_eq!(indefinite!("honor", "euro"), ["an honor", "a euro"]);
assert_eq!(indefinite_capitalized!("apple"), "An apple");
assert_eq!(indefinite_capitalized!("banana", "pear"), ["A banana", "A pear"]);
assert_eq!(indefinite_article_only!("apple"), "an");
assert_eq!(indefinite_article_only!("apple","pear"), ["an", "a"]);
assert_eq!(indefinite_article_only_capitalized!("apple"), "An");
assert_eq!(indefinite_article_only_capitalized!("apple", "pear"), ["An", "A"]);
}