[][src]Trait feattle::FeattleValue

pub trait FeattleValue: Debug {
    fn as_json(&self) -> Value;
fn overview(&self) -> String;
fn try_from_json(value: &Value) -> Result<Self, FromJsonError>;
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

fn as_json(&self) -> Value

Convert the value to its JSON representation.

fn overview(&self) -> String

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.

fn try_from_json(value: &Value) -> Result<Self, FromJsonError>

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

fn serialized_format() -> SerializedFormat

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<T> FeattleValue for Option<T> where
    T: FeattleValue
[src]

impl FeattleValue for u8[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]

impl FeattleValue for bool[src]

impl FeattleValue for u16[src]

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

impl FeattleValue for u64[src]

impl FeattleValue for i64[src]

impl FeattleValue for usize[src]

impl FeattleValue for f64[src]

impl FeattleValue for i16[src]

impl FeattleValue for f32[src]

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

impl FeattleValue for isize[src]

impl FeattleValue for i8[src]

impl FeattleValue for u32[src]

impl FeattleValue for i32[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...