bindgen!({
inline: r#"
package example:imported-resources;
interface logging {
enum level {
debug,
info,
warn,
error,
}
resource logger {
constructor(max-level: level);
get-max-level: func() -> level;
set-max-level: func(level: level);
log: func(level: level, msg: string);
}
}
world import-some-resources {
import logging;
}
"#,
imports: { default: async | trappable },
exports: { default: async },
with: {
"example:imported-resources/logging.logger": MyLogger,
},
});
pub struct MyLogger {
pub max_level: example::imported_resources::logging::Level,
}