Enum sp_rpc::list::ListOrValue[][src]

pub enum ListOrValue<T> {
    List(Vec<T>),
    Value(T),
}

RPC list or value wrapper.

For some RPCs it’s convenient to call them with either a single value or a whole list of values to get a proper response. In theory you could do a batch query, but it’s:

  1. Less convenient in client libraries
  2. If the response value is small, the protocol overhead might be dominant.

Also it’s nice to be able to maintain backward compatibility for methods that were initially taking a value and now we want to expand them to take a list.

Variants

List(Vec<T>)

A list of values of given type.

Value(T)

A single value of given type.

Implementations

impl<T> ListOrValue<T>[src]

pub fn map<F: Fn(T) -> X, X>(self, f: F) -> ListOrValue<X>[src]

Map every contained value using function F.

This allows to easily convert all values in any of the variants.

Trait Implementations

impl<T: Debug> Debug for ListOrValue<T>[src]

impl<'de, T> Deserialize<'de> for ListOrValue<T> where
    T: Deserialize<'de>, 
[src]

impl<T> From<T> for ListOrValue<T>[src]

impl<T> From<Vec<T, Global>> for ListOrValue<T>[src]

impl<T: PartialEq> PartialEq<ListOrValue<T>> for ListOrValue<T>[src]

impl<T> Serialize for ListOrValue<T> where
    T: Serialize
[src]

impl<T> StructuralPartialEq for ListOrValue<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for ListOrValue<T> where
    T: RefUnwindSafe

impl<T> Send for ListOrValue<T> where
    T: Send

impl<T> Sync for ListOrValue<T> where
    T: Sync

impl<T> Unpin for ListOrValue<T> where
    T: Unpin

impl<T> UnwindSafe for ListOrValue<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<!> for T[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]