use rand::distributions::uniform::SampleUniform;
use rand::distributions::{Alphanumeric, DistString};
use rand::Rng;

pub fn random_range<T>(min: T, max: T) -> T
where
    T: SampleUniform + PartialOrd + Copy,
{
    rand::thread_rng().gen_range(min..=max)
}

pub fn random_string(len: usize) -> String {
    Alphanumeric.sample_string(&mut rand::thread_rng(), len)
}
