pub struct AnyTable { /* private fields */ }Expand description
Type-erased table that can be downcast to concrete Table<T, E>
Works with AnyRecord (which uses serde_json::Value)
Implementations§
Source§impl AnyTable
impl AnyTable
Sourcepub fn new<T: TableSource<Value = Value, Id = String> + 'static, E: Entity<Value> + 'static>(
table: Table<T, E>,
) -> Self
pub fn new<T: TableSource<Value = Value, Id = String> + 'static, E: Entity<Value> + 'static>( table: Table<T, E>, ) -> Self
Create a new AnyTable from a concrete table Only works with tables that use serde_json::Value as their Value type
Sourcepub fn from_table<T, E>(table: Table<T, E>) -> Self
pub fn from_table<T, E>(table: Table<T, E>) -> Self
Create an AnyTable from a table with any value/id types that convert to/from JSON.
This wraps the table in an internal adapter that converts values on the fly,
so any TableSource can be used with the unified AnyTable interface.
Sourcepub fn downcast<T: TableSource<Value = Value, Id = String> + 'static, E: Entity<Value> + 'static>(
self,
) -> Result<Table<T, E>>
pub fn downcast<T: TableSource<Value = Value, Id = String> + 'static, E: Entity<Value> + 'static>( self, ) -> Result<Table<T, E>>
Attempt to downcast to a concrete Table<T, E>
Returns Err(self) if the type doesn’t match, allowing recovery
Sourcepub fn datasource_name(&self) -> &str
pub fn datasource_name(&self) -> &str
Get the datasource type name for debugging
Sourcepub fn entity_name(&self) -> &str
pub fn entity_name(&self) -> &str
Get the entity type name for debugging
Sourcepub fn datasource_type_id(&self) -> TypeId
pub fn datasource_type_id(&self) -> TypeId
Get the datasource TypeId
Sourcepub fn entity_type_id(&self) -> TypeId
pub fn entity_type_id(&self) -> TypeId
Get the entity TypeId
Source§impl AnyTable
impl AnyTable
Sourcepub fn with_pagination<F>(&mut self, func: F)where
F: FnOnce(&mut Pagination),
pub fn with_pagination<F>(&mut self, func: F)where
F: FnOnce(&mut Pagination),
Configure pagination using a callback
Trait Implementations§
Source§impl ReadableValueSet for AnyTable
impl ReadableValueSet for AnyTable
Source§fn list_values<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IndexMap<Self::Id, Record<Self::Value>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_values<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IndexMap<Self::Id, Record<Self::Value>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all records as raw storage values preserving insertion order where supported. Read more
Source§fn get_value<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Record<Self::Value>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_value<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Record<Self::Value>>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retrieve a specific record by ID as a structured record. Read more
Source§fn get_some_value<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<(Self::Id, Record<Self::Value>)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_some_value<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<(Self::Id, Record<Self::Value>)>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve one single record from the set. If records are ordered - return first record.
will return Ok(None). Read more
Source§impl TableLike for AnyTable
impl TableLike for AnyTable
fn table_name(&self) -> &str
fn table_alias(&self) -> &str
fn column_names(&self) -> Vec<String>
Source§fn add_condition(&mut self, condition: Box<dyn Any + Send + Sync>) -> Result<()>
fn add_condition(&mut self, condition: Box<dyn Any + Send + Sync>) -> Result<()>
Add a condition to this table using a type-erased expression
The expression must be of type T::Expr for the underlying table’s TableSource
Source§fn temp_add_condition(
&mut self,
condition: AnyExpression,
) -> Result<ConditionHandle>
fn temp_add_condition( &mut self, condition: AnyExpression, ) -> Result<ConditionHandle>
Add a temporary condition using AnyExpression that can be removed later
Source§fn temp_remove_condition(&mut self, handle: ConditionHandle) -> Result<()>
fn temp_remove_condition(&mut self, handle: ConditionHandle) -> Result<()>
Remove a temporary condition by its handle
Source§fn search_expression(&self, search_value: &str) -> Result<AnyExpression>
fn search_expression(&self, search_value: &str) -> Result<AnyExpression>
Create a search expression for this table
Source§fn clone_box(&self) -> Box<dyn TableLike<Value = Self::Value, Id = Self::Id>>
fn clone_box(&self) -> Box<dyn TableLike<Value = Self::Value, Id = Self::Id>>
Clone into a Box for object-safe cloning
fn as_any_ref(&self) -> &dyn Any
Source§fn set_pagination(&mut self, pagination: Option<Pagination>)
fn set_pagination(&mut self, pagination: Option<Pagination>)
Set pagination for this table
Source§fn get_pagination(&self) -> Option<&Pagination>
fn get_pagination(&self) -> Option<&Pagination>
Get pagination for this table
Source§impl WritableValueSet for AnyTable
impl WritableValueSet for AnyTable
Source§fn insert_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
record: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn insert_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
record: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Insert value with a specific ID (often generated) (HTTP POST with ID) Read more
Source§fn replace_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
record: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn replace_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
record: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Replace the entire record at the specified ID (HTTP PUT) Read more
Source§fn patch_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
partial: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn patch_value<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
partial: &'life2 Record<Self::Value>,
) -> Pin<Box<dyn Future<Output = Result<Record<Self::Value>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Partially update a record by merging with the provided value (HTTP PATCH) Read more
Auto Trait Implementations§
impl Freeze for AnyTable
impl !RefUnwindSafe for AnyTable
impl Send for AnyTable
impl Sync for AnyTable
impl Unpin for AnyTable
impl UnsafeUnpin for AnyTable
impl !UnwindSafe for AnyTable
Blanket Implementations§
Source§impl<T> ActiveRecordSet for T
impl<T> ActiveRecordSet for T
Source§fn get_value_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 <T as ValueSet>::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<ActiveRecord<'life0, T>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
fn get_value_record<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 <T as ValueSet>::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<ActiveRecord<'life0, T>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
T: 'async_trait,
Retrieve a record wrapped for change tracking and deferred persistence. Read more
Source§fn list_value_records<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActiveRecord<'life0, T>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
fn list_value_records<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ActiveRecord<'life0, T>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
T: 'async_trait,
Retrieve all records wrapped for change tracking. Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ExpressionLike for T
impl<T> ExpressionLike for T
Source§fn clone_box(&self) -> Box<dyn ExpressionLike>
fn clone_box(&self) -> Box<dyn ExpressionLike>
Clone this expression into a Box
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Set the foreground color generically Read more
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Set the background color generically. Read more
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Change the foreground color to black
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Change the background color to black
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Change the foreground color to red
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Change the background color to red
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Change the foreground color to green
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Change the background color to green
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Change the foreground color to yellow
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Change the background color to yellow
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Change the foreground color to blue
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Change the background color to blue
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to magenta
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to magenta
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to purple
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to purple
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Change the foreground color to cyan
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Change the background color to cyan
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Change the foreground color to white
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Change the background color to white
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Change the foreground color to the terminal default
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Change the background color to the terminal default
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Change the foreground color to bright black
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Change the background color to bright black
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Change the foreground color to bright red
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Change the background color to bright red
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Change the foreground color to bright green
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Change the background color to bright green
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Change the foreground color to bright yellow
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Change the background color to bright yellow
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Change the foreground color to bright blue
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Change the background color to bright blue
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright magenta
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright magenta
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright purple
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright purple
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Change the foreground color to bright cyan
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Change the background color to bright cyan
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Change the foreground color to bright white
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Change the background color to bright white
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Make the text bold
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Make the text dim
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Make the text italicized
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Make the text underlined
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Make the text blink
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Make the text blink (but fast!)
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Swap the foreground and background colors
Hide the text
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Cross out the text
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read moreSource§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the foreground color to a specific RGB value.
Source§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the background color to a specific RGB value.
Source§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Sets the foreground color to an RGB value.
Source§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Sets the background color to an RGB value.