webwire_cli/schema/document.rs
1use std::collections::HashMap;
2
3use super::errors::ValidationError;
4use super::namespace::Namespace;
5
6#[derive(Default)]
7pub struct Document {
8 pub ns: Namespace,
9}
10
11impl Document {
12 pub fn from_idl<'a>(
13 idocs: impl Iterator<Item = &'a crate::idl::Document>,
14 builtin_types: &HashMap<String, String>,
15 ) -> Result<Self, ValidationError> {
16 Ok(Self {
17 ns: Namespace::from_idl(idocs.map(|idoc| &idoc.ns), builtin_types)?,
18 })
19 }
20}