wit-bindgen-cli 0.56.0

CLI tool to generate bindings for WIT documents and the component model.
package test:records;

interface to-test {
  multiple-results: func() -> tuple<u8, u16>;

  swap-tuple: func(a: tuple<u8, u32>) -> tuple<u32, u8>;

  flags f1 { a, b }
  roundtrip-flags1: func(a: f1) -> f1;

  flags f2 { c, d, e }
  roundtrip-flags2: func(a: f2) -> f2;

  flags flag8 {
    b0, b1, b2, b3, b4, b5, b6, b7,
  }

  flags flag16 {
    b0, b1, b2, b3, b4, b5, b6, b7,
    b8, b9, b10, b11, b12, b13, b14, b15,
  }

  flags flag32 {
    b0, b1, b2, b3, b4, b5, b6, b7,
    b8, b9, b10, b11, b12, b13, b14, b15,
    b16, b17, b18, b19, b20, b21, b22, b23,
    b24, b25, b26, b27, b28, b29, b30, b31,
  }


  roundtrip-flags3: func(a: flag8, b: flag16, c: flag32) ->
    tuple<flag8, flag16, flag32>;

  record r1 { a: u8, b: f1 }
  roundtrip-record1: func(a: r1) -> r1;

  tuple1: func(a: tuple<u8>) -> tuple<u8>;
}

world test {
  export to-test;
}

world runner {
  import to-test;

  export run: func();
}