#bool #parse #parser

lenient_bool

A bool parser that is more accepting of various string bool representations

2 releases

Uses old Rust 2015

0.1.1 Nov 18, 2016
0.1.0 Nov 18, 2016

#20 in #bool

Download history 95/week @ 2024-07-20 108/week @ 2024-07-27 47/week @ 2024-08-03 591/week @ 2024-08-10 537/week @ 2024-08-17 547/week @ 2024-08-24 576/week @ 2024-08-31 536/week @ 2024-09-07 202/week @ 2024-09-14 176/week @ 2024-09-21 79/week @ 2024-09-28 132/week @ 2024-10-05 379/week @ 2024-10-12 161/week @ 2024-10-19 318/week @ 2024-10-26 171/week @ 2024-11-02

1,075 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

8KB
185 lines

LenientBool

crates.io

This crate provides the LenientBool type, which converts the following values into a boolean:

  • true
  • false
  • t
  • f
  • 0
  • 1

Comparisons are case-insensitive, so TRUE, tRue, and T all work, for example.

Documentation

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


lib.rs:

This module provides a single type, LenientBool, which implements FromStr to convert a string into a boolean. It is more accepting of various boolean representations than the standard bool function, performing case-insensitive matches against true, false, t, and f, yes, no, y, n, 0, and 1.

Errors

Any string not matching the above list will return a LenientBoolError.

Examples

extern crate lenient_bool;
use lenient_bool::LenientBool;

fn main() {
    let b : bool = "1".parse::<LenientBool>().unwrap().into();
    assert_eq!(b, true);
}

No runtime deps