IndexedDb

object IndexedDb
Companion:
class
class Object
trait Matchable
class Any

Type members

Classlikes

final class AtomicAsyncDsl[K, V](db: Database, store: Async[K, V])
final class CasDsl1(db: Database, stores: Seq[ObjectStoreDef[_, _]])
final class CasDsl2[A](db: Database, stores: Seq[ObjectStoreDef[_, _]], get: Txn[RO, A], eql: (A, A) => Boolean) extends CasDsl23[A, A]
sealed trait CasDsl23[A, B]
final class CasDsl3[A, B](db: Database, stores: Seq[ObjectStoreDef[_, _]], get: Txn[RO, A], eql: (A, A) => Boolean, prep: A => AsyncCallback[B]) extends CasDsl23[A, B]
final class Database(raw: IDBDatabase, onClose: Callback)
final class DatabaseInVersionChange(raw: IDBDatabase)
final case class DatabaseName(value: String)
final case class Error(event: ErrorEvent) extends RuntimeException
final class ObjectStore[K, V](val defn: Sync[K, V])
final case class OpenCallbacks(upgradeNeeded: VersionChange => Callback, versionChange: VersionChange => Callback, closed: Callback)

Callbacks to install when opening a DB.

Callbacks to install when opening a DB.

Note 1: On versionChange, the DB connection will be closed automatically.

Note 2: There's no blocked handler because we currently don't allow blocking. To quote the idb spec: if "there are open connections that don’t close in response to a versionchange event, the request will be blocked until all they close".

final class RunTxnDsl1[M <: TxnMode]
final class RunTxnDsl2[M <: TxnMode]
final case class VersionChange(db: DatabaseInVersionChange, oldVersion: Int, newVersion: Option[Int])

Types

type OpenResult = OpenCallbacks => AsyncCallback[Database]

Value members

Concrete methods

def apply(raw: IDBFactory): IndexedDb
def global(): Option[IndexedDb]