Skip to main content

FlussoValue

Trait FlussoValue 

Source
pub trait FlussoValue<K>: Serialize { }
Expand description

A Rust type usable where a field of kind K is expected: as the field type in a #[derive(FlussoDocument)] struct, and as a query value — for kind::Keyword on Keyword::eq/Keyword::any_of, and for kind::Date on Date::eq/Date::gte/… (String/&str, or the chrono date types behind the chrono feature).

Built-in leaf types are pre-implemented (String/&str for keyword, the numeric primitives for number, …). Custom enums and newtype wrappers opt in with #[derive(FlussoValue)] (e.g. a Pro/Enterprise/Free tier enum → Account::tier().eq(AccountTier::Pro), matched against its serde string). FlussoDocument emits a deferred bound on this trait for any non-primitive field type, so a document only compiles when the type genuinely fits.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl FlussoValue<Bool> for bool

Source§

impl FlussoValue<Byte> for i8

Source§

impl FlussoValue<Date> for &str

Source§

impl FlussoValue<Date> for String

Source§

impl FlussoValue<Decimal> for i8

Source§

impl FlussoValue<Decimal> for i16

Source§

impl FlussoValue<Decimal> for i32

Source§

impl FlussoValue<Decimal> for i64

Source§

impl FlussoValue<Double> for f32

Source§

impl FlussoValue<Double> for f64

Source§

impl FlussoValue<Double> for i8

Source§

impl FlussoValue<Double> for i16

Source§

impl FlussoValue<Double> for i32

Source§

impl FlussoValue<Float> for f32

Source§

impl FlussoValue<Float> for i8

Source§

impl FlussoValue<Float> for i16

Source§

impl FlussoValue<Integer> for i8

Source§

impl FlussoValue<Integer> for i16

Source§

impl FlussoValue<Integer> for i32

Source§

impl FlussoValue<Keyword> for &str

Source§

impl FlussoValue<Keyword> for String

Source§

impl FlussoValue<Long> for i8

Source§

impl FlussoValue<Long> for i16

Source§

impl FlussoValue<Long> for i32

Source§

impl FlussoValue<Long> for i64

Source§

impl FlussoValue<Short> for i8

Source§

impl FlussoValue<Short> for i16

Source§

impl FlussoValue<Text> for &str

Source§

impl FlussoValue<Text> for String

Implementors§