From 48208648e5829905cca6e517433e29d179e15405 Mon Sep 17 00:00:00 2001 From: Benjamin Herman Date: Thu, 21 Jul 2022 11:45:33 -0700 Subject: [PATCH] Cleanup readme --- readme.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/readme.md b/readme.md index f6c0682..acf443f 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,6 @@ # Vet -A library for validation of arbitrary types. +Arbitrary type validation. ## Usage @@ -46,24 +46,22 @@ impl Vet for Username { } ``` -Vetted types provide safety guarantees for the types contents. +`Valid`-wrapped types provide safety guarantees about their contents. ```rust fn main() { let args: Vec = env::args().collect(); - let username = Username(args[1].clone()); + + let username: Username = Username(args[1].clone()); + let username: Result, InvalidUsername> = username.vet(); - // If successfully vetted, the username will be wrapped in a `Valid` struct - match username.vet() { - Ok(username) => create_account(username), - Err(InvalidUsername::TooShort) => eprintln!("Username too short! (3 min)"), - Err(InvalidUsername::TooLong) => eprintln!("Username too long! (32 max)"), - Err(InvalidUsername::InvalidChar) => eprintln!("Username contains invalid characters!"), + match username { + Ok(n) => create_account(n), + Err(e) => eprintln!("Invalid username: {:?}", e), } } -// Any `Valid` passed is guaranteed -// to have met the arbitrary validation checks. +// Any `Valid` passed is guaranteed to be 3-32 alphanumeric characters. fn create_account(username: Valid) { let username = username.into_inner(); // Unwrap