wrpc_wasi_keyvalue/
lib.rs

1wit_bindgen_wrpc::generate!({
2    world: "proxy",
3    generate_all,
4});
5
6// TODO: Generate a single type for both imports and exports
7
8impl From<wasi::keyvalue::store::Error> for exports::wasi::keyvalue::store::Error {
9    fn from(v: wasi::keyvalue::store::Error) -> Self {
10        match v {
11            wasi::keyvalue::store::Error::NoSuchStore => Self::NoSuchStore,
12            wasi::keyvalue::store::Error::AccessDenied => Self::AccessDenied,
13            wasi::keyvalue::store::Error::Other(err) => Self::Other(err),
14        }
15    }
16}
17
18impl From<exports::wasi::keyvalue::store::Error> for wasi::keyvalue::store::Error {
19    fn from(v: exports::wasi::keyvalue::store::Error) -> Self {
20        match v {
21            exports::wasi::keyvalue::store::Error::NoSuchStore => Self::NoSuchStore,
22            exports::wasi::keyvalue::store::Error::AccessDenied => Self::AccessDenied,
23            exports::wasi::keyvalue::store::Error::Other(err) => Self::Other(err),
24        }
25    }
26}
27
28impl From<wasi::keyvalue::store::KeyResponse> for exports::wasi::keyvalue::store::KeyResponse {
29    fn from(
30        wasi::keyvalue::store::KeyResponse { keys, cursor }: wasi::keyvalue::store::KeyResponse,
31    ) -> Self {
32        Self { keys, cursor }
33    }
34}
35
36impl From<exports::wasi::keyvalue::store::KeyResponse> for wasi::keyvalue::store::KeyResponse {
37    fn from(
38        exports::wasi::keyvalue::store::KeyResponse { keys, cursor }: exports::wasi::keyvalue::store::KeyResponse,
39    ) -> Self {
40        Self { keys, cursor }
41    }
42}