1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
/*!
A package to help build DynamoDB filter and condition expressions in a type safe way.
```
use aws_sdk_dynamodb::{
operation::scan::ScanInput,
types::{AttributeValue, Put},
};
use dynamodb_expression::{attribute_not_exists, begins_with, cmp, size, Comparator::*};
# fn main() {
ScanInput::builder()
.filter_expression(begins_with("#name", ":prefix").and(cmp("#age", GE, ":min_age")))
.expression_attribute_names("#name", "name")
.expression_attribute_values(":prefix", AttributeValue::S("Wil".into()))
.expression_attribute_names("#age", "age")
.expression_attribute_values(":min_age", AttributeValue::N("25".into()))
.build()
.unwrap();
Put::builder()
.condition_expression(attribute_not_exists("#name").or(cmp(size("#name"), EQ, ":zero")))
.expression_attribute_names("#name", "name")
.expression_attribute_values(":zero", AttributeValue::N(0.to_string()))
.build();
# }
```
*/
// https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html#Expressions.OperatorsAndFunctions.Syntax
pub mod attribute_type;
pub mod comparator;
pub mod expression;
pub mod function;
pub mod not;
pub mod parenthetical;
pub use attribute_type::AttributeType;
pub use comparator::Comparator;
pub use expression::{between, cmp, in_};
pub use function::{
attribute_exists, attribute_not_exists, attribute_type, begins_with, contains, size,
};