mod database_request;
mod request_ready_state;
mod store_request;
pub use self::{
database_request::DatabaseRequest, request_ready_state::RequestReadyState,
store_request::StoreRequest,
};
use js_sys::Object;
use wasm_bindgen::JsValue;
use web_sys::{DomException, Event};
use crate::{Error, Transaction};
pub trait Request {
fn result(&self) -> Result<JsValue, Error>;
fn error(&self) -> Result<Option<DomException>, Error>;
fn source(&self) -> Result<Object, Error>;
fn transaction(&self) -> Option<Transaction>;
fn ready_state(&self) -> Result<RequestReadyState, Error>;
fn on_success<F>(&mut self, callback: F)
where
F: FnOnce(Event) + 'static;
fn on_error<F>(&mut self, callback: F)
where
F: FnOnce(Event) + 'static;
}