wit-bindgen-cli 0.58.0

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

interface sqlite {
  resource connection {
    open: static func(database: string) -> result<connection, error>;
    execute: func(statement: string, parameters: list<value>) -> result<query-result, error>;
    last-insert-rowid: func() -> s64;
    changes: func() -> u64;
  }

  variant error {
    no-such-database,
    access-denied,
    invalid-connection,
    database-full,
    io(string)
  }

  record query-result {
    columns: list<string>,
    rows: list<row-result>,
  }

  record row-result {
    values: list<value>
  }

  variant value {
    integer(s64),
    real(f64),
    text(string),
    blob(list<u8>),
    null
  }
}

world test {
  import sqlite;
  export foo: func();
}