wasm-wave 0.249.0

WebAssembly Value Encoding
Documentation
package ui:tests;

interface ui {
    nullary: func();
    %f32: func(val: f32);
    %list-f32: func(vals: list<f32>);
    %f64: func(val: f64);
    %list-f64: func(vals: list<f64>);
    %char: func(val: char);
    list-chars: func(vals: list<char>);
    %string: func(val: string);
    list-strings: func(vals: list<string>);
    option-u8: func(opt: option<u8>);
    result-ok-u8: func(res: result<u8>);
    result-err-u8: func(res: result<_, u8>);
    result-both-u8: func(res: result<u8, u8>);
    result-no-payloads: func(res: result);

    record basic {
        required: u8,
        optional: option<u8>,
    }
    basic-record: func(rec: basic);

    record optional-fields {
        a: option<u8>,
        b: option<u8>,
    }
    optional-fields-record: func(rec: optional-fields);

    record keyword-fields {
        true: bool,
        false: bool,
        some: option<u8>,
        none: option<u8>,
        ok: result,
        err: result,
        inf: f32,
        nan: f32,
    }
    keyword-fields-record: func(rec: keyword-fields);

    enum hand {
        left,
        right,
    }
    hand-enum: func(enm: hand);

    enum keyword-cases {
        true,
        false,
        some,
        none,
        ok,
        err,
        inf,
        nan,
    }
    keyword-cases-enum: func(enm: keyword-cases);

    flags permissions {
        read,
        write,
    }
    permission-flags: func(flgs: permissions);
}