vantage_aws/dynamodb/
operation.rs1use vantage_expressions::Expressive;
9
10use super::condition::DynamoCondition;
11use super::types::AnyDynamoType;
12
13fn field_name<T>(expr: &(impl Expressive<T> + ?Sized)) -> String {
14 expr.expr().template
15}
16
17pub trait DynamoOperation<T>: Expressive<T> {
18 fn eq(&self, value: impl Into<AnyDynamoType>) -> DynamoCondition
20 where
21 Self: Sized,
22 {
23 let any: AnyDynamoType = value.into();
24 DynamoCondition::eq(field_name(self), any.into_value())
25 }
26}
27
28impl<T, S: Expressive<T>> DynamoOperation<T> for S {}