Macro rpsl::object

source ·
macro_rules! object {
    (
        $(
            $name:literal: $($value:literal),+
        );+ $(;)?
    ) => { ... };
}
Expand description

Creates an Object containing the given attributes.

  • Create an Object containing only single value attributes:
let obj = object! {
    "role": "ACME Company";
    "address": "Packet Street 6";
    "address": "128 Series of Tubes";
    "address": "Internet";
};
assert_eq!(obj[0].name, "role");
assert_eq!(obj[0].value, "ACME Company");
assert_eq!(obj[1].name, "address");
assert_eq!(obj[1].value, "Packet Street 6");
assert_eq!(obj[2].name, "address");
assert_eq!(obj[2].value, "128 Series of Tubes");
assert_eq!(obj[3].name, "address");
assert_eq!(obj[3].value, "Internet");
  • Create an Object containing multi value attributes:
let obj = object! {
   "role": "ACME Company";
   "address": "Packet Street 6", "128 Series of Tubes", "Internet";
};
assert_eq!(obj[0].name, "role");
assert_eq!(obj[0].value, "ACME Company");
assert_eq!(obj[1].name, "address");
assert_eq!(obj[1].value, vec!["Packet Street 6", "128 Series of Tubes", "Internet"]);