shortener 0.1.2

A simple URL shortener.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use rand::distr::{Alphanumeric, SampleString};

pub(crate) fn generate_code(length: usize) -> String {
  Alphanumeric.sample_string(&mut rand::rng(), length)
}

pub(crate) fn is_valid_code(code: &str) -> bool {
  !code.is_empty() && code.chars().all(is_valid_code_char)
}

fn is_valid_code_char(ch: char) -> bool {
  ch.is_ascii_alphanumeric() || ['-', '_'].contains(&ch)
}