1use anyhow::Result;
2
3pub mod host;
4
5pub mod bindings {
6 wasmtime::component::bindgen!({
7 path: "wit",
8 world: "parser-guest",
9 async: false,
10 with: {
11 "sdf:metadata/dataflow": sdf_metadata::wit::dataflow,
12 "sdf:metadata/package-interface": sdf_metadata::wit::package_interface
13 },
14 });
15}
16
17pub fn parse_package(package: &str) -> Result<sdf_metadata::wit::dataflow::PackageDefinition> {
18 let mut parser = host::HostParser::new();
19 parser.parse_package(package)
20}
21
22pub fn parse_dataflow(dataflow: &str) -> Result<sdf_metadata::wit::dataflow::DataflowDefinition> {
23 let mut parser = host::HostParser::new();
24 parser.parse_dataflow(dataflow)
25}