#[non_exhaustive]pub enum Category {
Default,
File,
Env,
Cli,
Custom(&'static str),
}Expand description
Which kind of source contributed a value.
Surfaced separately from a source’s human-readable name so a UI can render
one visual per bucket. Serializes as a lowercase string ("default",
"file", "env", "cli", or the Custom label).
use provcfg::Category;
assert_eq!(Category::Env.as_str(), "env");
assert_eq!(Category::Custom("vault").as_str(), "vault");Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Default
Built-in defaults layer.
File
A configuration file (JSON, TOML, …).
Env
Environment variables.
Cli
Command-line arguments.
Custom(&'static str)
A caller-defined source; the string is a free-form label.
Implementations§
Trait Implementations§
impl Copy for Category
impl Eq for Category
Source§impl From<Category> for ConfigSource
Map provcfg’s source categories onto kellnr’s API-facing enum. kellnr only
loads TOML files, so Category::File becomes Toml; Category::Default
plus any future provcfg variants fall to Default via the wildcard arm.
impl From<Category> for ConfigSource
Map provcfg’s source categories onto kellnr’s API-facing enum. kellnr only
loads TOML files, so Category::File becomes Toml; Category::Default
plus any future provcfg variants fall to Default via the wildcard arm.
Source§impl Serialize for Category
impl Serialize for Category
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Category
Auto Trait Implementations§
impl Freeze for Category
impl RefUnwindSafe for Category
impl Send for Category
impl Sync for Category
impl Unpin for Category
impl UnsafeUnpin for Category
impl UnwindSafe for Category
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more