The Core module gathers types used across the library and provides basic Show instances for those types.

#IDB Source

data IDB :: Effect

IDB Effects, manifestation that something happened with the IndexedDB

#Database Source

data Database :: Type

Each origin has an associated set of databases. A database has zero or more object stores which hold the data stored in the database.


#Index Source

data Index :: Type

An index allows looking up records in an object store using properties of the values in the object stores records.


#KeyRange Source

data KeyRange :: Type

A key range is a continuous interval over some data type used for keys.


#KeyCursor Source

data KeyCursor :: Type

A cursor is used to iterate over a range of records in an index or an object store in a specific direction. A KeyCursor doesn't hold any value.


#Transaction Source

data Transaction :: Type

A Transaction is used to interact with the data in a database. Whenever data is read or written to the database it is done by using a transaction.


#ObjectStore Source

data ObjectStore :: Type

An object store is the primary storage mechanism for storing data in a database.


#ValueCursor Source

data ValueCursor :: Type

A cursor is used to iterate over a range of records in an index or an object store in a specific direction. A ValueCursor also holds the value corresponding to matching key.


#CursorDirection Source

data CursorDirection

A cursor has a direction that determines whether it moves in monotonically increasing or decreasing order of the record keys when iterated, and if it skips duplicated values when iterating indexes. The direction of a cursor also determines if the cursor initial position is at the start of its source or at its end.



#CursorSource Source

data CursorSource

If the source of a cursor is an object store, the effective object store of the cursor is that object store and the effective key of the cursor is the cursor’s position. If the source of a cursor is an index, the effective object store of the cursor is that index’s referenced object store and the effective key is the cursor’s object store position.


#KeyPath Source

type KeyPath = Array String

A key path is a list of strings that defines how to extract a key from a value. A valid key path is one of:

  • An empty list.
  • An singleton identifier, which is a string matching the IdentifierName production from the ECMAScript Language Specification [ECMA-262].
  • A singleton string consisting of two or more identifiers separated by periods (U+002E FULL STOP).
  • A non-empty list containing only strings conforming to the above requirements.

#TransactionMode Source

data TransactionMode

A transaction has a mode that determines which types of interactions can be performed upon that transaction. The mode is set when the transaction is created and remains fixed for the life of the transaction.



#IDBConcreteCursor Source

class (IDBCursor cursor) <= IDBConcreteCursor cursor 

A concrete cursor not only shares IDBCursor properties, but also some specific attributes (see KeyCursor or CursorWithValue).


#IDBCursor Source

class IDBCursor cursor 

Cursor objects implement the IDBCursor interface. There is only ever one IDBCursor instance representing a given cursor. There is no limit on how many cursors can be used at the same time.


#IDBDatabase Source

class IDBDatabase db 

The IDBDatabase interface represents a connection to a database.


#IDBIndex Source

class IDBIndex index 

The IDBIndex interface represents an index handle. Any of these methods throw an "TransactionInactiveError" DOMException if called when the transaction is not active.


#IDBKeyRange Source

class IDBKeyRange range 

The IDBKeyRange interface represents a key range.


#IDBTransaction Source

class IDBTransaction tx 

The IDBtransaction interface.


#IDBObjectStore Source

class IDBObjectStore store 

The IDBObjectStore interface represents an object store handle.


Re-exports from Database.IndexedDB.IDBKey

#Key Source

newtype Key


#IDBKey Source

class IDBKey a  where

Interface describing a key. Use the unsafeFromKey to convert a key to a known type (e.g if you only strings as keys, or perfectly knows the type of a given key).