1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use serde::Serialize; use wasm_bindgen::prelude::*; #[wasm_bindgen] extern "C" { pub type KV; #[wasm_bindgen(catch, js_name = "list", static_method_of = KV)] pub async fn list(options: ListOptions) -> Result<JsValue, JsValue>; } #[derive(Serialize)] pub struct ListOptions { #[serde(skip_serializing_if = "Option::is_none")] pub prefix: Option<String>, } impl wasm_bindgen::convert::IntoWasmAbi for ListOptions { type Abi = <wasm_bindgen::JsValue as wasm_bindgen::convert::IntoWasmAbi>::Abi; fn into_abi(self) -> Self::Abi { wasm_bindgen::JsValue::from_serde(&self).unwrap().into_abi() } } impl wasm_bindgen::describe::WasmDescribe for ListOptions { fn describe() { <wasm_bindgen::JsValue as wasm_bindgen::describe::WasmDescribe>::describe() } }