rpassword_wasi/lib.rs
1//! This library makes it easy to read passwords in a console application on all platforms, Unix and
2//! Windows alike.
3//!
4//! Here's how you can read a password:
5//! ```no_run
6//! let password = rpassword_wasi::read_password().unwrap();
7//! println!("Your password is {}", password);
8//! ```
9//!
10//! You can also prompt for a password:
11//! ```no_run
12//! let password = rpassword_wasi::prompt_password("Your password: ").unwrap();
13//! println!("Your password is {}", password);
14//! ```
15//!
16//! Finally, in unit tests, you might want to pass a `Cursor`, which implements `BufRead`. In that
17//! case, you can use `read_password_from_bufread` and `prompt_password_from_bufread`:
18//! ```
19//! use std::io::Cursor;
20//!
21//! let mut mock_input = Cursor::new("my-password\n".as_bytes().to_owned());
22//! let password = rpassword_wasi::read_password_from_bufread(&mut mock_input).unwrap();
23//! println!("Your password is {}", password);
24//!
25//! let mut mock_input = Cursor::new("my-password\n".as_bytes().to_owned());
26//! let mut mock_output = Cursor::new(Vec::new());
27//! let password = rpassword_wasi::prompt_password_from_bufread(&mut mock_input, &mut mock_output, "Your password: ").unwrap();
28//! println!("Your password is {}", password);
29//! ```
30
31#[allow(unused)]
32mod rpassword;
33#[allow(unused)]
34mod rutil;
35
36pub use crate::rpassword::*;