setMetaDataEntries method
Saves the given meta data entries.
Note that each MetaDataEntry.mailboxName is expected to be the same. Set MetaDataEntry.value to null to delete the specified meta data entry Compare https://tools.ietf.org/html/rfc5464 for details.
Implementation
Future<Mailbox?> setMetaDataEntries(List<MetaDataEntry> entries) {
final parts = <String>[];
final cmd = StringBuffer()..write('SETMETADATA ');
_writeImapString(cmd, parts, entries.first.mailboxName);
cmd.write(' (');
var isFirst = true;
for (final entry in entries) {
if (!isFirst) {
cmd.write(' ');
}
isFirst = false;
cmd
..write(entry.name)
..write(' ');
final value = entry.value;
if (value == null) {
cmd.write('NIL');
} else {
_writeMetaDataValue(cmd, parts, value);
}
}
cmd.write(')');
parts.add(cmd.toString());
final parser = NoopParser(this, _selectedMailbox);
Command command;
command = parts.length == 1
? Command(parts.first)
: Command.withContinuation(parts);
return sendCommand<Mailbox?>(command, parser);
}