confik 0.11.7

A library for reading application configuration split across multiple sources
Documentation
[package]
name = "confik"
version = "0.11.7"
description = "A library for reading application configuration split across multiple sources"
authors = ["Rob Ede <robjtede@icloud.com>"]
keywords = ["parser", "serde", "utility", "config"]
categories = ["config"]
repository = "https://github.com/x52dev/confik"
license = "MIT OR Apache-2.0"
edition = "2021"
rust-version = "1.67"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[package.metadata.cargo-machete]
ignored = [
  "humantime_serde", # used in serde macro attributes
  "serde_with",      # used in doctests
]

[features]
default = ["env", "toml"]

# Source types
env = ["dep:envious"]
json = ["dep:serde_json"]
toml = ["dep:toml"]

# Destination types
bigdecimal = ["dep:bigdecimal"]
bytesize = ["dep:bytesize"]
camino = ["dep:camino"]
chrono = ["dep:chrono"]
common = []
ipnetwork = ["dep:ipnetwork"]
rust_decimal = ["dep:rust_decimal"]
secrecy = ["dep:secrecy"]
url = ["dep:url"]
uuid = ["dep:uuid"]

[dependencies]
confik-macros = "=0.11.1"

cfg-if = "1"
serde = { version = "1", default-features = false, features = ["std", "derive"] }
thiserror = "1"

envious = { version = "0.2", optional = true }
serde_json = { version = "1", optional = true }
toml = { version = "0.8", optional = true, default-features = false, features = ["parse"] }

bigdecimal = { version = "0.4", optional = true, features = ["serde"] }
bytesize = { version = "1", optional = true, features = ["serde"] }
camino = { version = "1", optional = true, features = ["serde1"] }
chrono = { version = "0.4.20", optional = true, default-features = false, features = ["serde"] }
ipnetwork = { version = "0.20", optional = true, features = ["serde"] }
rust_decimal = { version = "1", optional = true, features = ["serde"] }
secrecy = { version = "0.8", optional = true, features = ["serde"] }
url = { version = "2", optional = true, features = ["serde"] }
uuid = { version = "1", optional = true, features = ["serde"] }

[[example]]
name = "simple"
required-features = ["toml"]

[[example]]
name = "derives"
required-features = ["toml", "camino"]

[[example]]
name = "secret_string"
required-features = ["toml", "secrecy"]

[[example]]
name = "bigdecimal"
required-features = ["toml", "bigdecimal"]