Skip to main content

vantage_cmd/
operation.rs

1//! `CmdOperation` — ergonomic `.eq()` on columns, building a [`CmdCondition`].
2
3use ciborium::Value as CborValue;
4use vantage_table::column::core::{Column, ColumnType};
5
6use crate::condition::CmdCondition;
7
8/// Build conditions from a typed column without going through the
9/// expression machinery (command backends filter via CLI flags, not SQL).
10pub trait CmdOperation {
11    /// `column == value`.
12    fn eq(&self, value: impl Into<CborValue>) -> CmdCondition;
13}
14
15impl<T: ColumnType> CmdOperation for Column<T> {
16    fn eq(&self, value: impl Into<CborValue>) -> CmdCondition {
17        CmdCondition::eq(self.name(), value)
18    }
19}