num2phrase 0.1.0

Convert long number to a sequence of memorisable phrase with combination of short numbers
Documentation
pub trait TokenKind {
    const MAX: usize;

    fn max() -> usize {
        Self::MAX
    }

    fn from_idx(&self, value: usize) -> Option<String>;

    fn from_name(&self, name: &str) -> Option<usize>;
}

pub trait Amount {
    fn amount(&self) -> Option<usize>;
}

impl Amount for Option<usize> {
    fn amount(&self) -> Option<usize> {
        *self
    }
}

impl Amount for usize {
    fn amount(&self) -> Option<usize> {
        Some(*self)
    }
}

#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct Score {
    pub item: String,
    pub score: usize,
}


pub trait TokenKindCorrect : TokenKind {
    fn suggest(&self, query: &str, amount: impl Amount) -> Vec<Score>;
}