#![allow(dead_code)]
use chromium_storage_indexeddb::{IdbKey, IndexedDbRecord, RecordValue, V8Value};
pub fn s(v: &str) -> V8Value {
V8Value::String(v.to_string())
}
pub fn obj(fields: Vec<(&str, V8Value)>) -> V8Value {
V8Value::Object(
fields
.into_iter()
.map(|(k, v)| (k.to_string(), v))
.collect(),
)
}
pub fn record(store: &str, key: &str, value: V8Value) -> IndexedDbRecord {
IndexedDbRecord {
database_id: 1,
object_store_id: 1,
database: Some("wire".to_string()),
object_store: Some(store.to_string()),
key: IdbKey::String(key.to_string()),
value: RecordValue::V8(value),
seq: 1,
deleted: false,
}
}
pub fn deleted_record(store: &str, key: &str, value: V8Value) -> IndexedDbRecord {
let mut r = record(store, key, value);
r.deleted = true;
r
}
pub fn undecoded_record(store: &str, key: &str, error: &str) -> IndexedDbRecord {
let mut r = record(store, key, V8Value::Null);
r.value = RecordValue::Undecoded {
raw: vec![0xff, 0xff],
error: error.to_string(),
};
r
}