macro_rules! welcome {
($session:expr) => { ... };
($session:expr, $details:expr) => { ... };
}
Expand description
§welcome Macro - wamp-proto
Macro that allows for default empty implementation of details object on Cabcel.
§Examples
use wamp_core::messages::{self, Welcome};
use wamp_core::welcome;
use serde_json::{json, Value};
// Construct with default empty details object
let session = 1;
let mut welcome_message = welcome!(session);
assert_eq!(welcome_message.details, Value::Null);
// Construct with custom details
let welcome_message2 = welcome!(1, json!({
"key": "value"
}));
assert_ne!(welcome_message, welcome_message2);
welcome_message.details = json!({ "key": "value" });
assert_eq!(welcome_message, welcome_message2);
// These macro invocations are the same as the following:
let welcome_message3 = Welcome {
session: 1,
details: json!({
"key": "value"
})
};
assert_eq!(welcome_message, welcome_message3);
assert_eq!(welcome_message2, welcome_message3);