envoker/config
Types
ConfigField
opaqueA description of one field-loading step for declarative config loading.
pub opaque type ConfigField(config)
Values
pub fn load(
initial: config,
fields: List(ConfigField(config)),
) -> Result(config, List(error.EnvFieldError))
Applies all field-loading steps to an initial config value. Errors are accumulated; loading does not stop on the first failure.
pub fn optional_bool(
field_name: String,
default: option.Option(Bool),
assign: fn(config, option.Option(Bool)) -> config,
) -> ConfigField(config)
Describes an optional Bool field.
pub fn optional_float(
field_name: String,
default: option.Option(Float),
assign: fn(config, option.Option(Float)) -> config,
) -> ConfigField(config)
Describes an optional Float field.
pub fn optional_int(
field_name: String,
default: option.Option(Int),
assign: fn(config, option.Option(Int)) -> config,
) -> ConfigField(config)
Describes an optional Int field.
pub fn optional_string(
field_name: String,
default: option.Option(String),
assign: fn(config, option.Option(String)) -> config,
) -> ConfigField(config)
Describes an optional String field.
pub fn optional_with_parser(
field_name: String,
default: option.Option(a),
expected_type: String,
parser: fn(String) -> Result(a, Nil),
assign: fn(config, option.Option(a)) -> config,
) -> ConfigField(config)
Describes an optional field with a custom parser without error details.
pub fn optional_with_parser_detailed(
field_name: String,
default: option.Option(a),
expected_type: String,
parser: fn(String) -> Result(a, String),
assign: fn(config, option.Option(a)) -> config,
) -> ConfigField(config)
Describes an optional field with a custom parser with detailed errors.
pub fn required_bool(
field_name: String,
default: option.Option(Bool),
assign: fn(config, Bool) -> config,
) -> ConfigField(config)
Describes a required Bool field.
pub fn required_float(
field_name: String,
default: option.Option(Float),
assign: fn(config, Float) -> config,
) -> ConfigField(config)
Describes a required Float field.
pub fn required_int(
field_name: String,
default: option.Option(Int),
assign: fn(config, Int) -> config,
) -> ConfigField(config)
Describes a required Int field.
pub fn required_string(
field_name: String,
default: option.Option(String),
assign: fn(config, String) -> config,
) -> ConfigField(config)
Describes a required String field.
pub fn required_with_parser(
field_name: String,
default: option.Option(a),
expected_type: String,
parser: fn(String) -> Result(a, Nil),
assign: fn(config, a) -> config,
) -> ConfigField(config)
Describes a required field with a custom parser without error details.
pub fn required_with_parser_detailed(
field_name: String,
default: option.Option(a),
expected_type: String,
parser: fn(String) -> Result(a, String),
assign: fn(config, a) -> config,
) -> ConfigField(config)
Describes a required field with a custom parser with detailed errors.