use rkyv::{Archive, Deserialize, Serialize};
use crate::GuestResourceId;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct DependencyId(pub [u8; 16]);
impl DependencyId {
pub const fn bytes(self) -> [u8; 16] {
self.0
}
}
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SingletonRegister {
pub id: DependencyId,
pub resource: GuestResourceId,
}
#[derive(Debug, Clone, PartialEq, Eq, Archive, Serialize, Deserialize)]
#[rkyv(bytecheck())]
pub struct SingletonLookup {
pub id: DependencyId,
}