Function schema

Source
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![],
            }
          ]
        },
    ))
);