dynomite-derive 0.1.1

derives dynamodb dynomite types from native rust struct types
docs.rs failed to build dynomite-derive-0.1.1
Please check build logs and if you believe this is docs.rs' fault, report into this issue report.

Dynomite-derive provides procedural macros for deriving dynamo types for your structs


extern crate rusoto_dynamodb;
extern crate dynomite_derive;
extern crate dynomite;

use dynomite::{Item, FromAttributes, Attributes};
use rusoto_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());