streamid 0.2.0

Ceramic StreamID
Documentation
use num_enum::{IntoPrimitive, TryFromPrimitive};
use serde::{Deserialize, Serialize};
use serde_plain::{derive_display_from_serialize, derive_fromstr_from_deserialize};

#[derive(
    Clone, Copy, Debug, PartialEq, Eq, Hash, Deserialize, Serialize, IntoPrimitive, TryFromPrimitive,
)]
#[repr(u8)]
pub enum StreamType {
    #[serde(rename = "tile")]
    Tile = 0,

    #[serde(rename = "caip10-link")]
    Caip10Link = 1,

    #[serde(rename = "model")]
    Model = 2,

    #[serde(rename = "MID")]
    Mid = 3,

    #[serde(rename = "UNLOADABLE")]
    Unloadable = 4,
}

derive_display_from_serialize!(StreamType);
derive_fromstr_from_deserialize!(StreamType);