Function flowclib::dumper::dump_flow::dump_flow [−][src]
pub fn dump_flow(
flow: &Flow,
output_dir: &Path,
provider: &dyn Provider
) -> Result<String>
dump a flow definition that has been loaded to a file in the specified output directory
Example
use std::env; use url::Url; use provider::content::provider::Provider; use provider::errors::Result; use flowclib::model::process::Process::FlowProcess; struct DummyProvider {} impl Provider for DummyProvider { fn resolve_url(&self, url: &str, default_filename: &str, _ext: &[&str]) -> Result<(String, Option<String>)> { Ok((url.to_string(), None)) } fn get_contents(&self, url: &str) -> Result<Vec<u8>> { Ok("flow = \"dummy\"\n[[input]]".as_bytes().to_owned()) } } let dummy_provider = DummyProvider {}; let mut url = url::Url::from_file_path(env::current_dir().unwrap()).unwrap(); url = url.join("samples/hello-world/context.toml").unwrap(); if let FlowProcess(mut flow) = flowclib::compiler::loader::load(&url.to_string(), &dummy_provider).unwrap() { // strip off filename so output_dir is where the context.toml file resides let output_dir = url.join("./").unwrap().to_file_path().unwrap(); // dump the flows compiler data and dot graph into files alongside the 'context.toml' flowclib::dumper::dump_flow::dump_flow(&flow, &output_dir, &dummy_provider).unwrap(); }