wasmtime/runtime/component/bindgen_examples/
_6_exported_resources.rs1bindgen!({
2 inline: r#"
3 package example:exported-resources;
4
5 world export-some-resources {
6 export logging;
7 }
8
9 interface logging {
10 enum level {
11 debug,
12 info,
13 warn,
14 error,
15 }
16
17 resource logger {
18 constructor(max-level: level);
19
20 get-max-level: func() -> level;
21 set-max-level: func(level: level);
22
23 log: func(level: level, msg: string);
24 }
25
26 inspect-logger: func(logger: borrow<logger>) -> level;
27 take-logger: func(logger: logger);
28 get-default-logger: func() -> logger;
29 }
30 "#,
31});