robotrt-data-model 0.1.0-beta.1

RobotRT modular robotics runtime and middleware components.
Documentation
#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub struct SchemaId(pub String);

impl SchemaId {
    pub fn new(value: impl Into<String>) -> Self {
        Self(value.into())
    }
}

#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct SchemaVersion(pub u16);

#[derive(Clone, Debug, Eq, PartialEq)]
pub struct SchemaDescriptor {
    pub id: SchemaId,
    pub version: SchemaVersion,
    pub name: String,
}

impl SchemaDescriptor {
    pub fn new(id: impl Into<String>, version: u16, name: impl Into<String>) -> Self {
        Self {
            id: SchemaId::new(id),
            version: SchemaVersion(version),
            name: name.into(),
        }
    }
}