alphaid 0.1.0

Generate Youtube-Like IDs with Rust
Documentation

ALPHAID

Generate Youtube-Like IDs with Rust

Build Status crates.io

Basic Usage

use alphaid::AlphaId;

let alphaid = AlphaId::new();
assert_eq!(alphaid.encode(1350997667), b"90F7qb");
assert_eq!(alphaid.decode(b"90F7qb"), Ok(1350997667));

Padding

Specifies the minimum length of the encoded result.

use alphaid::AlphaId;

let alphaid = AlphaId::new();
assert_eq!(alphaid.encode(0), b"a");
assert_eq!(alphaid.decode(b"a"), Ok(0));


let alphaid = AlphaId::builder().pad(5).build();
assert_eq!(alphaid.encode(0), b"aaaab");
assert_eq!(alphaid.decode(b"aaaab"), Ok(0));

Charaters set

Sets the characters set. Default to abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-_

let alphaid = AlphaId::builder().pad(2)
    .chars("ABCDEFGHIJKLMNOPQRSTUVWXYZ".as_bytes().to_vec())
    .build();
assert_eq!(alphaid.encode(0), b"AB");
assert_eq!(alphaid.decode(b"AB"), Ok(0));

Reference

Create Youtube-Like IDs