web_extensions_sys/
storage.rs1use crate::EventTarget;
2use js_sys::Object;
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern "C" {
7 pub type StorageAreaRead;
8
9 #[wasm_bindgen(catch, method, js_name = "getBytesInUse")]
10 pub async fn get_bytes_in_use(
11 this: &StorageAreaRead,
12 keys: &JsValue,
13 ) -> Result<JsValue, JsValue>;
14
15 #[wasm_bindgen(catch, method)]
16 pub async fn get(this: &StorageAreaRead, keys: &JsValue) -> Result<JsValue, JsValue>;
17}
18
19#[wasm_bindgen]
20extern "C" {
21 #[wasm_bindgen(extends = StorageAreaRead)]
22 pub type StorageArea;
23
24 #[wasm_bindgen(catch, method)]
25 pub async fn set(this: &StorageArea, keys: &Object) -> Result<JsValue, JsValue>;
26
27 #[wasm_bindgen(catch, method)]
28 pub async fn remove(this: &StorageArea, keys: &JsValue) -> Result<JsValue, JsValue>;
29
30 #[wasm_bindgen(catch, method)]
31 pub async fn clear(this: &StorageArea) -> Result<JsValue, JsValue>;
32}
33
34#[wasm_bindgen]
35extern "C" {
36 pub type Storage;
37
38 #[wasm_bindgen(method, getter)]
39 pub fn sync(this: &Storage) -> StorageArea;
40
41 #[wasm_bindgen(method, getter)]
42 pub fn local(this: &Storage) -> StorageArea;
43
44 #[wasm_bindgen(method, getter)]
45 pub fn session(this: &Storage) -> StorageArea;
46
47 #[wasm_bindgen(method, getter)]
48 pub fn managed(this: &Storage) -> StorageAreaRead;
49
50 #[wasm_bindgen(method, getter, js_name = onChanged)]
51 pub fn on_changed(this: &Storage) -> EventTarget;
52}
53
54#[wasm_bindgen]
55extern "C" {
56 pub type StorageChange;
57
58 #[wasm_bindgen(method, getter, js_name = oldValue)]
59 pub fn old_value(this: &StorageChange) -> JsValue;
60
61 #[wasm_bindgen(method, getter, js_name = newValue)]
62 pub fn new_value(this: &StorageChange) -> JsValue;
63}