streamid 0.2.0

Ceramic StreamID
Documentation
use thiserror::Error;

use crate::StreamType;

pub type Result<T, E = Error> = std::result::Result<T, E>;

#[derive(Error, Debug)]
pub enum Error {
    #[error("Error while parsing CommitID from bytes {0}: no commit information provided")]
    InvalidCommitIdBytes(String),

    #[error("Error while parsing CommitID from string {0}: no commit information provided")]
    InvalidCommitIdString(String),

    #[error("Invalid StreamID bytes {0}: contains commit")]
    InvalidStreamIdBytes(String),

    #[error("Invalid StreamID string {0}: contains commit")]
    InvalidStreamIdString(String),

    #[error("Invalid StreamRef bytes: {0}")]
    InvalidStreamRefBytes(String),

    #[error("Invalid StreamRef, does not include streamid codec")]
    InvalidStreamRefCodec,

    #[error("Invalid StreamRef string: {0}")]
    InvalidStreamRefString(String),

    #[error("Invalid StreamType index: {0}")]
    InvalidStreamTypeIndex(#[from] num_enum::TryFromPrimitiveError<StreamType>),

    #[error("Invalid StreamType name: {0}")]
    InvalidStreamTypeName(#[from] serde_plain::Error),

    #[error("Unknown CID version {0}")]
    UnknownCidVersion(u64),

    #[error("CBOR encoding error: {0}")]
    CborEncoding(String),

    #[error(transparent)]
    Cid(#[from] cid::Error),

    #[error(transparent)]
    Multihash(#[from] cid::multihash::Error),

    #[error(transparent)]
    VarintDecode(#[from] unsigned_varint::decode::Error),
}