sdf_parser_host/
lib.rs

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}