litenum 0.1.0

minimal convertion utilities between literal and enum
Documentation

litenum is minimal convertion utilities between literal and enum !

How to use

to literal

#[litenum::to]
enum AnkerTarget {
    _blank,
    _self,
    _top,
    _parent,
}

fn main() {
    assert_eq!(
        AnkerTarget::_blank.to_lit(),
        "_blank",
    )
}

from literal

#[litenum::from]
#[derive(Debug, PartialEq)]
enum AnkerTarget {
    _blank,
    _self,
    _top,
    _parent,
}

fn main() {
    assert_eq!(
        AnkerTarget::from_lit("_blank"),
        Some(AnkerTarget::_blank),
    )
}

impl both at once

#[litenum::ium]  // equals to
                 // `#[litenum::to] #[litenum::from]`
#[derive(Debug, PartialEq)]
enum AnkerTarget {
    _blank,
    _self,
    _top,
    _parent,
}

fn main() {
    assert_eq!(
        AnkerTarget::_blank.to_lit(),
        "_blank",
    );

    assert_eq!(
        AnkerTarget::from_lit("_blank").unwrap(),
        Some(AnkerTarget::_blank),
    );
}