witx-codegen 0.11.4

WITX code generator for WebAssembly guest modules.
Documentation
use std::io::Write;

use super::*;

pub struct Tuple;

impl Tuple {
    pub fn name_for(tuple_members: &[ASTupleMember]) -> String {
        format!(
            "tuple<{}>",
            tuple_members
                .iter()
                .map(|member| member.type_.to_string().as_type())
                .collect::<Vec<_>>()
                .join(", ")
        )
    }
}

impl WeetGenerator {
    pub fn define_as_tuple<T: Write>(
        w: &mut PrettyWriter<T>,
        name: &str,
        members: &[ASTupleMember],
    ) -> Result<(), Error> {
        w.write_line(format!("{}: {};", name.as_type(), Tuple::name_for(members)))?;
        Ok(())
    }
}