confex v3.2.0 Confex.Resolver

This module provides API to recursively resolve Confex configuration types in a Map or Keyword via one of Confex.Adpater’s.

Link to this section Summary

Functions

Resolves all configuration tuples via adapters

Same as resolve/1 but will raise ArgumentError if one of configuration tuples can not be resolved

Link to this section Functions

Link to this function resolve(config)
resolve(config :: any) :: {:ok, any} | {:error, any}

Resolves all configuration tuples via adapters.

Can be used when values are stored not in Application environment.

Example

iex> Elixir.Confex.Resolver.resolve(nil)
{:ok, nil}

iex> :ok = System.delete_env("SOME_TEST_ENV")
...> {:error, {:unresolved, _message}} = Elixir.Confex.Resolver.resolve([test: {:system, "DOES_NOT_EXIST"}])
...> :ok = System.put_env("SOME_TEST_ENV", "some_value")
...> Elixir.Confex.Resolver.resolve([test: {:system, "SOME_TEST_ENV", "defaults"}])
{:ok, [test: "some_value"]}

iex> Elixir.Confex.Resolver.resolve([test: {:system, "DOES_NOT_EXIST", "defaults"}])
{:ok, [test: "defaults"]}
Link to this function resolve!(config)
resolve!(config :: any) :: any | no_return

Same as resolve/1 but will raise ArgumentError if one of configuration tuples can not be resolved.