Skip to main content

item

Macro item 

Source
macro_rules! item {
    () => { ... };
    ( $($rest:tt)+ ) => { ... };
}
Expand description

Construct a HashMap<String, AttributeValue> from key-value pairs.

Values are converted via Into<AttributeValue>. Option values that are None are omitted from the map (the key is not inserted).

ยงExamples

use dynoxide::item;
use dynoxide::AttributeValue;

let item = item! {
    "pk" => "user#1",
    "age" => 30i64,
    "active" => true,
};
assert_eq!(item["pk"], AttributeValue::S("user#1".to_string()));
assert_eq!(item["age"], AttributeValue::N("30".to_string()));

Nested maps:

use dynoxide::item;

let item = item! {
    "pk" => "user#1",
    "metadata" => {
        "count" => 5i64,
    },
};

Option handling (None values are omitted):

use dynoxide::item;

let email: Option<&str> = None;
let item = item! {
    "pk" => "user#1",
    "email" => email,
};
assert!(!item.contains_key("email"));