Jido.Memory.ProviderRegistry (Jido Memory v1.0.0)

View Source

Alias registry for canonical memory provider names.

Core jido_memory ships with a hard built-in alias core. External provider packages extend that atom-based registry through application config:

config :jido_memory, :provider_aliases,
  custom_provider: MyApp.Memory.CustomProvider

Summary

Functions

Returns true when the value is a registered provider alias.

Returns the merged provider alias map.

Returns the built-in provider alias map.

Returns the canonical atom key for a provider alias or registered module.

Normalizes alias input into an atom-to-module map.

Resolves an alias or provider module to a concrete provider module.

Resolves an alias or provider module, raising on unknown values.

Types

aliases_input()

@type aliases_input() :: keyword(module()) | map() | nil

provider_alias()

@type provider_alias() :: atom()

Functions

alias?(value)

@spec alias?(term()) :: boolean()

Returns true when the value is a registered provider alias.

aliases()

@spec aliases() :: %{optional(provider_alias()) => module()}

Returns the merged provider alias map.

built_in_aliases()

@spec built_in_aliases() :: %{optional(provider_alias()) => module()}

Returns the built-in provider alias map.

key_for(value)

@spec key_for(atom() | module() | nil) :: provider_alias() | nil

Returns the canonical atom key for a provider alias or registered module.

normalize_aliases(aliases)

@spec normalize_aliases(aliases_input()) ::
  {:ok, %{optional(provider_alias()) => module()}}
  | {:error, :invalid_provider_aliases}

Normalizes alias input into an atom-to-module map.

resolve(value)

@spec resolve(atom() | module()) :: {:ok, module()} | {:error, term()}

Resolves an alias or provider module to a concrete provider module.

resolve!(value)

@spec resolve!(atom() | module()) :: module()

Resolves an alias or provider module, raising on unknown values.