CDPotion.Domain.IndexedDB (cdpotion v0.1.4)

Summary

Types

Data entry.

Database with an array of object stores.

Key.

Key path.

Key range.

Object store.

Object store index.

Types

Link to this type

data_entry()

Data entry.

Link to this type

database_with_object_stores()

@type database_with_object_stores() :: %{
  name: String.t(),
  objectStores: [object_store()],
  version: number()
}

Database with an array of object stores.

@type key() :: %{
  array: [key()] | nil,
  date: number() | nil,
  number: number() | nil,
  string: String.t() | nil,
  type: :number | :string | :date | :array
}

Key.

@type key_path() :: %{
  array: [String.t()] | nil,
  string: String.t() | nil,
  type: :null | :string | :array
}

Key path.

@type key_range() :: %{
  lower: key() | nil,
  lowerOpen: boolean(),
  upper: key() | nil,
  upperOpen: boolean()
}

Key range.

Link to this type

object_store()

@type object_store() :: %{
  autoIncrement: boolean(),
  indexes: [object_store_index()],
  keyPath: key_path(),
  name: String.t()
}

Object store.

Link to this type

object_store_index()

@type object_store_index() :: %{
  keyPath: key_path(),
  multiEntry: boolean(),
  name: String.t(),
  unique: boolean()
}

Object store index.

Functions

Link to this function

clear_object_store(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name, object_store_name)

@spec clear_object_store(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket(),
  String.t(),
  String.t()
) :: {String.t(), map()}

Clears all entries from an object store.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: Database name.
  • (Required) object_store_name: Object store name.
Link to this function

delete_database(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name)

@spec delete_database(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket(),
  String.t()
) :: {String.t(), map()}

Deletes a database.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: Database name.
Link to this function

delete_object_store_entries(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name, object_store_name, key_range)

@spec delete_object_store_entries(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket(),
  String.t(),
  String.t(),
  key_range()
) :: {String.t(), map()}

Delete a range of entries from an object store

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: description not provided :(
  • (Required) object_store_name: description not provided :(
  • (Required) key_range: Range of entry keys to delete
@spec disable() :: {String.t(), map()}

Disables events from backend.

@spec enable() :: {String.t(), map()}

Enables events from backend.

Link to this function

get_metadata(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name, object_store_name)

@spec get_metadata(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket(),
  String.t(),
  String.t()
) :: {String.t(), map()}

Gets metadata of an object store.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: Database name.
  • (Required) object_store_name: Object store name.
Link to this function

request_data(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name, object_store_name, index_name, skip_count, page_size, key_range \\ nil)

Requests data from object store or index.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: Database name.
  • (Required) object_store_name: Object store name.
  • (Required) index_name: Index name, empty string for object store data requests.
  • (Required) skip_count: Number of records to skip.
  • (Required) page_size: Number of records to fetch.
  • (Optional) key_range: Key range.
Link to this function

request_database(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil, database_name)

@spec request_database(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket(),
  String.t()
) :: {String.t(), map()}

Requests database with given name in given frame.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.
  • (Required) database_name: Database name.
Link to this function

request_database_names(security_origin \\ nil, storage_key \\ nil, storage_bucket \\ nil)

@spec request_database_names(
  String.t(),
  String.t(),
  CDPotion.Domain.Storage.storage_bucket()
) ::
  {String.t(), map()}

Requests database names for given security origin.

Parameters:

  • (Optional) security_origin: At least and at most one of securityOrigin, storageKey, or storageBucket must be specified. Security origin.
  • (Optional) storage_key: Storage key.
  • (Optional) storage_bucket: Storage bucket. If not specified, it uses the default bucket.