[package]
name = "envstruct"
resolver = "2"
authors = { workspace = true }
categories = { workspace = true }
description = { workspace = true }
documentation = { workspace = true }
edition = { workspace = true }
keywords = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
version = { workspace = true }

[dependencies]
bytesize = { version = "1", optional = true }
chrono = { version = "0.4", optional = true }
envstruct_derive = { path = "../envstruct_derive", version = "1.0" }
humantime = { version = "2", optional = true }
paste = "1.0.15"
prettytable-rs = "0.10"
regex = { version = "1", optional = true }
serde = { version = "1", optional = true }
serde_json = { version = "1", optional = true }
thiserror = "2"
url = { version = "2", optional = true }

[dev-dependencies]
serde = { version = "1", features = ["derive"] }
serial_test = "3.2.0"
strum = { version = "0.26", features = ["derive"] }
trybuild = "1.0.103"

[features]
default = [
	"bytesize",
	"chrono",
	"humantime",
	"regex",
	"serde_json",
	"url",
	"env_uppercase",
]
bytesize = ["dep:bytesize"]
chrono = ["dep:chrono"]
humantime = ["dep:humantime"]
regex = ["dep:regex"]
serde_json = ["dep:serde_json", "dep:serde"]
url = ["dep:url"]
env_uppercase = []

[[example]]
name = "usage"
path = "example/usage.rs"

[[example]]
name = "basic"
path = "example/basic.rs"