pub enum SingleOrMultiple {
Single([String; 1]),
Multiple(Vec<String>),
}Expand description
Represents a choice between a single value or multiple string values.
§Examples
let single: SingleOrMultiple = "foobar".into();
let expected_json = r#""foobar""#;
let serialized = serde_json::to_string(&single).unwrap();
assert_eq!(expected_json, serialized);
let deserialized: SingleOrMultiple = serde_json::from_str(&serialized).unwrap();
assert_eq!(deserialized, single);
let multiple: SingleOrMultiple = ["foo", "bar", "baz"].as_slice().into();
let expected_json = r#"["foo","bar","baz"]"#;
let serialized = serde_json::to_string(&multiple).unwrap();
assert_eq!(expected_json, serialized);
let deserialized: SingleOrMultiple = serde_json::from_str(&serialized).unwrap();
assert_eq!(deserialized, multiple);Variants§
Implementations§
Trait Implementations§
Source§impl Clone for SingleOrMultiple
impl Clone for SingleOrMultiple
Source§fn clone(&self) -> SingleOrMultiple
fn clone(&self) -> SingleOrMultiple
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SingleOrMultiple
impl Debug for SingleOrMultiple
Source§impl<'de> Deserialize<'de> for SingleOrMultiple
impl<'de> Deserialize<'de> for SingleOrMultiple
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SingleOrMultiple
Source§impl From<&[&str]> for SingleOrMultiple
impl From<&[&str]> for SingleOrMultiple
Source§impl From<&str> for SingleOrMultiple
impl From<&str> for SingleOrMultiple
Source§impl From<String> for SingleOrMultiple
impl From<String> for SingleOrMultiple
Source§impl PartialEq for SingleOrMultiple
impl PartialEq for SingleOrMultiple
Source§impl Serialize for SingleOrMultiple
impl Serialize for SingleOrMultiple
impl StructuralPartialEq for SingleOrMultiple
Auto Trait Implementations§
impl Freeze for SingleOrMultiple
impl RefUnwindSafe for SingleOrMultiple
impl Send for SingleOrMultiple
impl Sync for SingleOrMultiple
impl Unpin for SingleOrMultiple
impl UnsafeUnpin for SingleOrMultiple
impl UnwindSafe for SingleOrMultiple
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.