Crate brids [] [src]

Parse and generate random CPF/ICN and CNPJ, Brazil's ID numbers.

Usage

First, add the following to your Cargo.toml:

[dependencies]
brids = "0.3"

Next, add this to your crate root:

extern crate brids;

Dependencies

The rand crate is an optional dependency enabled by default. To disable, use like this:

[dependencies]
brids = { version = "0.3", default-features = false }

Examples

Parse and format:

extern crate brids;

use brids::Cpf;
use std::io::{stdin, stdout, Write};

fn main() {
    print!("Input a CPF/ICN number: ");
    stdout().flush().ok();

    let mut input = String::with_capacity(14);
    stdin().read_line(&mut input).ok();

    match input.trim().parse::<Cpf>() {
        Ok(cpf) => println!("{} is a valid number.", cpf),
        Err(err) => println!("Error: {}", err),
    }
}

Generate random CNPJ and CPF/ICN numbers:

extern crate brids;

use brids::{Cnpj, Cpf};

fn main() {
    println!("Random CNPJ number: {}", Cnpj::generate());
    println!("Random CPF/ICN number: {}", Cpf::generate());
}

Using a different generator:

extern crate brids;
extern crate rand;

use brids::{Cnpj, Cpf};
use rand::{ChaChaRng, Rng};

fn main() {
    let mut rng = ChaChaRng::new_unseeded();
    println!("Random CNPJ number: {}", rng.gen::<Cnpj>());
    println!("Random CPF/ICN number: {}", rng.gen::<Cpf>());
}

Structs

Cnpj

A valid CNPJ number. Parsing recognizes numbers with or without separators (dot, minus, slash, and space).

Cpf

A valid CPF/ICN number. Parsing recognizes numbers with or without separators (dot, minus, slash, and space).

Enums

ParseCnpjError

An error which can be returned when parsing an CNPJ number.

ParseCpfError

An error which can be returned when parsing an CPF/ICN number.

Type Definitions

Icn