macros: Use a nicer syntax when declaring attributes.

The previous version had a => required|optional|default token, this was
duplicating information for Option types and didn’t look very good.

This new version looks like a type, which can be either Required<_>,
Option<_> or Default<_>, and means the same thing.
This commit is contained in:
Emmanuel Gil Peyrot 2019-02-24 20:26:40 +01:00
commit bcd42a26e3
27 changed files with 162 additions and 137 deletions

View file

@ -15,10 +15,10 @@ generate_element!(
Delay, "delay", DELAY,
attributes: [
/// The entity which delayed this message.
from: Option<Jid> = "from" => optional,
from: Option<Jid> = "from",
/// The time at which this message got stored.
stamp: DateTime = "stamp" => required
stamp: Required<DateTime> = "stamp"
],
text: (
/// The optional reason this message got delayed.