mod canonicalize;
mod migrate;
mod writer;
use jellyflow_core::core::Graph;
use super::NodeRegistry;
use crate::schema::migration::{CanonicalizeKindsPlan, MigrateNodesPlan};
impl NodeRegistry {
pub fn plan_canonicalize_kinds(&self, graph: &Graph) -> CanonicalizeKindsPlan {
let mut planner = canonicalize::CanonicalizeKindsPlanner::new();
for (id, node) in &graph.nodes {
let canonical = self.resolve_kind(&node.kind);
planner.rewrite_node_kind(*id, node, canonical);
}
planner.finish()
}
pub fn plan_migrate_nodes(&self, graph: &Graph) -> MigrateNodesPlan {
migrate::MigrateNodesPlanner::new(self, graph).finish()
}
}