Travis Build Status AppVeyor Build status

PESEL is a simple Rust library to validate PESEL numbers.

What is PESEL number?

PESEL is national identification number used in Poland. Every citizen of Republic of Poland is assigned PESEL when being born (and since 2015 this should also apply to foreigners living in Poland for more than 2 months).

There are some interesting facts about the PESEL number - find more on Wikipedia

Usage & Examples

This library offers two main features:

a) creating PESEL from String (and performing some checks to make sure PESEL is valid)

```rust use std::str::FromStr;

fn somefunction() { let peselnumber ="44051401458"; // you could also use literal as argument for fromstr: // let pesel = PESEL::fromstr("44051401458"); let pesel = PESEL::fromstr(peselnumber); match pesel { Ok(t) => println!("{}", t), _ => panic!("invalid PESEL provided") } } ```

b) generating PESEL number, based on date of birth of a person and their biological gender

```rust

fn someotherfunction() { let generatedpesel = PESEL::new(1980, 05, 26, PeselGender::Male); println!("generted pesel: {}", generatedpesel); } ```

Please note that after PESEL number structure is constructed there is no way to change it - it stays immutable forever.

TODO