Jido.Memory.Provider behaviour (Jido Memory v1.0.0)

View Source

Provider behavior for memory implementations used by Jido.Memory.Runtime.

Summary

Types

provider_opts()

@type provider_opts() :: keyword()

target()

@type target() :: map() | struct()

Callbacks

capabilities(provider_opts)

@callback capabilities(provider_opts()) ::
  {:ok, Jido.Memory.CapabilitySet.t()} | {:error, term()}

child_specs(provider_opts)

(optional)
@callback child_specs(provider_opts()) :: [Supervisor.child_spec()]

forget(target, t, keyword)

@callback forget(target(), String.t(), keyword()) :: {:ok, boolean()} | {:error, term()}

get(target, t, keyword)

@callback get(target(), String.t(), keyword()) ::
  {:ok, Jido.Memory.Record.t()} | {:error, term()}

info(provider_opts, arg2)

@callback info(provider_opts(), :all | [atom()]) ::
  {:ok, Jido.Memory.ProviderInfo.t()} | {:error, term()}

prune(target, keyword)

@callback prune(
  target(),
  keyword()
) :: {:ok, non_neg_integer()} | {:error, term()}

remember(target, arg2, keyword)

@callback remember(target(), map() | keyword(), keyword()) ::
  {:ok, Jido.Memory.Record.t()} | {:error, term()}

retrieve(target, arg2, keyword)

@callback retrieve(target(), Jido.Memory.Query.t() | map() | keyword(), keyword()) ::
  {:ok, Jido.Memory.RetrieveResult.t()} | {:error, term()}

validate_config(provider_opts)

@callback validate_config(provider_opts()) :: :ok | {:error, term()}