Trait feattle::FeattleValue[][src]

pub trait FeattleValue: Debug {
    pub fn as_json(&self) -> Value;
pub fn overview(&self) -> String;
pub fn try_from_json(value: &Value) -> Result<Self, FromJsonError>;
pub fn serialized_format() -> SerializedFormat; }

The base trait for types that can be used for feattles.

This lib already implements this trait for many base types from the std lib, but the user can make their own types compatible by providing their own logic.

For types that are string based, it suffices to implement the somewhat simpler FeattleStringValue trait.

Required methods

pub fn as_json(&self) -> Value[src]

Convert the value to its JSON representation.

pub fn overview(&self) -> String[src]

Return a short overview of the current value. This is meant to give an overall idea of the actual value. For example, it can choose to display only the first 3 items of a large list.

pub fn try_from_json(value: &Value) -> Result<Self, FromJsonError>[src]

Parse from a JSON representation of the value, if possible.

pub fn serialized_format() -> SerializedFormat[src]

Return a precise description of a feattle type. This will be consumed, for example, by the UI code to show an appropriate HTML form in the admin panel.

Loading content...

Implementations on Foreign Types

impl FeattleValue for i8[src]

impl FeattleValue for i32[src]

impl FeattleValue for i16[src]

impl<T> FeattleValue for Option<T> where
    T: FeattleValue
[src]

impl FeattleValue for usize[src]

impl FeattleValue for f32[src]

impl FeattleValue for bool[src]

impl FeattleValue for isize[src]

impl FeattleValue for f64[src]

impl FeattleValue for u16[src]

impl<T> FeattleValue for BTreeSet<T> where
    T: FeattleValue + Ord
[src]

impl<T> FeattleValue for Vec<T, Global> where
    T: FeattleValue
[src]

impl FeattleValue for u8[src]

impl FeattleValue for u32[src]

impl FeattleValue for i64[src]

impl FeattleValue for u64[src]

impl<K, V> FeattleValue for BTreeMap<K, V> where
    K: FeattleStringValue + Ord,
    V: FeattleValue,
    <K as FromStr>::Err: Error,
    <K as FromStr>::Err: Send,
    <K as FromStr>::Err: Sync,
    <K as FromStr>::Err: 'static, 
[src]

Loading content...

Implementors

impl<T> FeattleValue for T where
    T: FeattleStringValue,
    <T as FromStr>::Err: Error,
    <T as FromStr>::Err: Send,
    <T as FromStr>::Err: Sync,
    <T as FromStr>::Err: 'static, 
[src]

Loading content...