[−][src]Crate dynomite_derive
Dynomite-derive provides procedural macros for deriving dynomite types for your structs
Examples
ⓘThis example is not tested
use dynomite::{Item, FromAttributes, Attributes}; use dynomite::dynamodb::AttributeValue; // derive Item #[derive(Item, PartialEq, Debug, Clone)] struct Person { #[hash] id: String } fn main() { let person = Person { id: "123".into() }; // convert person to string keys and attribute values let attributes: Attributes = person.clone().into(); // convert attributes into person type assert_eq!(person, Person::from_attrs(attributes).unwrap()); // dynamodb types require only primary key attributes and may contain // other fields. when looking up items only those key attributes are required // dynomite derives a new {Name}Key struct for your which contains // only those and also implements Item let key = PersonKey { id: "123".into() }; let key_attributes: Attributes = key.clone().into(); // convert attributes into person type assert_eq!(key, PersonKey::from_attrs(key_attributes).unwrap()); }
Derive Macros
Attribute | Derives |
Item | Derives |