xidl-parser 0.105.0

A IDL codegen.
Documentation
use super::Definition;
use crate::error::ParserResult;

#[cfg(test)]
mod tests;

/// Resolves shared runtime declarations without adding them to user models.
pub(crate) struct HttpBuiltins;

impl HttpBuiltins {
    pub(crate) fn load() -> ParserResult<Vec<Definition>> {
        let source = xidl_http::ContentType::IDL;
        let typed = crate::parser::parser_text(source)?;
        let mut definitions = Vec::new();
        let mut resolver = super::FsIncludeResolver;
        let mut includes = super::VersionedIncludes::new(&mut resolver, None);
        super::spec::collect_defs(typed.0, &mut definitions, &mut includes)?;
        Ok(definitions)
    }
}