15 lines
450 B
Rust
15 lines
450 B
Rust
use crate::spec::polymorphic_tree_enum_spec::PolymorphicTreeEnumSpec;
|
|
use yaml_rust2::Yaml;
|
|
|
|
pub fn deserialize_polymorphic_tree_enum(name: &str, props: &Yaml) -> PolymorphicTreeEnumSpec {
|
|
let kind = props["kind"].as_str().unwrap();
|
|
let rules = props["rules"]
|
|
.as_vec()
|
|
.unwrap()
|
|
.iter()
|
|
.map(|rule| rule.as_str().unwrap())
|
|
.collect::<Vec<_>>();
|
|
|
|
PolymorphicTreeEnumSpec::new(name, kind, &rules)
|
|
}
|