idb_sys/
query.rs

1use wasm_bindgen::JsValue;
2
3use crate::KeyRange;
4
5/// Specifies a query when fetching data from object store
6#[derive(Debug, Clone, PartialEq)]
7pub enum Query {
8    /// Denotes a single key
9    Key(JsValue),
10    /// Denotes a key range
11    KeyRange(KeyRange),
12}
13
14impl From<JsValue> for Query {
15    fn from(value: JsValue) -> Self {
16        Query::Key(value)
17    }
18}
19
20impl From<KeyRange> for Query {
21    fn from(value: KeyRange) -> Self {
22        Query::KeyRange(value)
23    }
24}
25
26impl From<Query> for JsValue {
27    fn from(value: Query) -> Self {
28        match value {
29            Query::Key(value) => value,
30            Query::KeyRange(value) => value.into(),
31        }
32    }
33}