[dependencies.chrono]
default-features = false
optional = true
version = "0.4.42"
[dependencies.k8s-openapi]
default-features = false
optional = true
version = "0.26.1"
[dependencies.kube]
default-features = false
optional = true
version = "2.0.1"
[dependencies.optionable_derive]
optional = true
version = "0.7.0"
[dependencies.serde]
default-features = false
optional = true
version = "1.0.228"
[dependencies.serde_json]
default-features = false
optional = true
version = "1.0.145"
[dev-dependencies.fake]
default-features = false
features = ["chrono", "derive", "serde_json"]
version = "4.4.0"
[dev-dependencies.serde]
default-features = false
features = ["derive"]
version = "1.0.228"
[dev-dependencies.serde_json]
default-features = false
features = ["alloc"]
version = "1.0.145"
[features]
alloc = []
chrono = ["dep:chrono"]
default = ["derive", "std"]
derive = ["dep:optionable_derive"]
k8s_openapi_convert = []
k8s_openapi_v1_30 = ["dep:k8s-openapi", "dep:serde", "optionable_derive/k8s_openapi", "k8s-openapi/v1_30", "serde/derive", "serde/std", "serde_json", "std", "chrono"]
k8s_openapi_v1_31 = ["dep:k8s-openapi", "dep:serde", "optionable_derive/k8s_openapi", "k8s-openapi/v1_31", "serde/derive", "serde/std", "serde_json", "std", "chrono"]
k8s_openapi_v1_32 = ["dep:k8s-openapi", "dep:serde", "optionable_derive/k8s_openapi", "k8s-openapi/v1_32", "serde/derive", "serde/std", "serde_json", "std", "chrono"]
k8s_openapi_v1_33 = ["dep:k8s-openapi", "dep:serde", "optionable_derive/k8s_openapi", "k8s-openapi/v1_33", "serde/derive", "serde/std", "serde_json", "std", "chrono"]
k8s_openapi_v1_34 = ["dep:k8s-openapi", "dep:serde", "optionable_derive/k8s_openapi", "k8s-openapi/v1_34", "serde/derive", "serde/std", "serde_json", "std", "chrono"]
kube = ["dep:kube", "dep:serde", "serde_json", "optionable_derive/kube"]
serde_json = ["dep:serde_json"]
std = []
[lib]
name = "optionable"
path = "src/lib.rs"
[lints.clippy]
pedantic = "warn"
[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(test_k8s_openapi_roundtrip)"]
level = "warn"
priority = 0
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["api-bindings", "config", "no-std", "no-std::no-alloc"]
description = "Derive macro (and associated marker trait) to derive nested structs/enums with all subfields being optional (e.g. for patches or Kubernetes server side apply)."
edition = "2024"
keywords = ["client", "kubernetes", "patch"]
license = "MIT OR Apache-2.0"
name = "optionable"
readme = "README.md"
repository = "https://github.com/ngergs/optionable"
rust-version = "1.88.0"
version = "0.10.2"
[package.metadata.docs.rs]
all-features = false
features = ["alloc", "derive", "kube", "std", "serde_json", "serde_json/std", "k8s-openapi/v1_34"]
[[test]]
name = "alloc"
path = "tests/alloc.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"