use obzenflow_core::StageId;
pub trait StageIdExt {
fn to_topology_id(&self) -> obzenflow_topology::StageId;
fn from_topology_id(topology_id: obzenflow_topology::StageId) -> Self;
}
impl StageIdExt for StageId {
fn to_topology_id(&self) -> obzenflow_topology::StageId {
obzenflow_topology::StageId::from_ulid(self.as_ulid())
}
fn from_topology_id(topology_id: obzenflow_topology::StageId) -> Self {
StageId::from_ulid(topology_id.ulid())
}
}
pub trait SccIdExt {
fn to_core_scc_id(self) -> obzenflow_core::SccId;
fn from_core_scc_id(core_id: obzenflow_core::SccId) -> Self;
}
impl SccIdExt for obzenflow_topology::SccId {
fn to_core_scc_id(self) -> obzenflow_core::SccId {
obzenflow_core::SccId::from_ulid(self.ulid())
}
fn from_core_scc_id(core_id: obzenflow_core::SccId) -> Self {
obzenflow_topology::SccId::from_ulid(core_id.as_ulid())
}
}