pub fn schema(input: &str) -> IResult<&str, Schema>
Expand description
Parse an entire schema file
use rust_lcm_codegen::parser::{schema, Schema, Struct, Const, ConstValue, PrimitiveType, StructMember, Field};
assert_eq!(
schema("package test;\n\nstruct empty { }\nstruct empty2 { }"),
Ok((
"",
Schema {
package: Some("test".to_string()),
structs: vec![
Struct {
name: "empty".to_string(),
members: vec![],
},
Struct {
name: "empty2".to_string(),
members: vec![],
}
]
},
))
);
assert_eq!(
schema("struct empty { }"),
Ok((
"",
Schema {
package: None,
structs: vec![
Struct {
name: "empty".to_string(),
members: vec![],
}
]
},
))
);