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}