uniquote 5.0.0

Quote strings for clear display in output
Documentation
use core::char::CharTryFromError;
use core::char::DecodeUtf16Error;

#[derive(Clone, Copy)]
pub(super) struct CodePoint(u32);

impl From<char> for CodePoint {
    fn from(value: char) -> Self {
        Self(value.into())
    }
}

impl From<DecodeUtf16Error> for CodePoint {
    fn from(value: DecodeUtf16Error) -> Self {
        Self(value.unpaired_surrogate().into())
    }
}

impl From<CodePoint> for u32 {
    fn from(value: CodePoint) -> Self {
        value.0
    }
}

impl From<CodePoint> for u64 {
    fn from(value: CodePoint) -> Self {
        value.0.into()
    }
}

impl TryFrom<CodePoint> for char {
    type Error = CharTryFromError;

    fn try_from(value: CodePoint) -> Result<Self, Self::Error> {
        value.0.try_into()
    }
}