Struct indexed_db::Factory

source ·
pub struct Factory<Err> { /* private fields */ }
Expand description

Wrapper for IDBFactory

Note that it’s quite likely that type inference will fail on the Err generic argument here. This argument is the type of user-defined errors that will be passed through transactions and callbacks. You should set it to whatever error type your program uses around the indexed-db-using code.

Implementations§

source§

impl<Err: 'static> Factory<Err>

source

pub fn get() -> Result<Factory<Err>, Err>

Retrieve the global Factory from the browser

This internally uses indexedDB.

source

pub fn cmp(&self, lhs: &JsValue, rhs: &JsValue) -> Result<Ordering, Err>

Compare two keys for ordering

Returns an error if one of the two values would not be a valid IndexedDb key.

This internally uses IDBFactory::cmp.

source

pub async fn delete_database(&self, name: &str) -> Result<(), Err>

Delete a database

Returns an error if something failed during the deletion. Note that trying to delete a database that does not exist will result in a successful result.

This internally uses IDBFactory::deleteDatabase

source

pub async fn open<Fun, RetFut>( &self, name: &str, version: u32, on_upgrade_needed: Fun ) -> Result<Database<Err>, Err>
where Fun: FnOnce(VersionChangeEvent<Err>) -> RetFut, RetFut: Future<Output = Result<(), Err>>,

Open a database

Returns an error if something failed while opening or upgrading the database. Blocks until it can actually open the database.

Note that version must be at least 1. upgrader will be called when version is higher than the previous database version, or upon database creation.

This internally uses IDBFactory::open as well as the methods from IDBOpenDBRequest

Trait Implementations§

source§

impl<Err: Debug> Debug for Factory<Err>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Err> RefUnwindSafe for Factory<Err>
where Err: RefUnwindSafe,

§

impl<Err> !Send for Factory<Err>

§

impl<Err> !Sync for Factory<Err>

§

impl<Err> Unpin for Factory<Err>
where Err: Unpin,

§

impl<Err> UnwindSafe for Factory<Err>
where Err: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.