decodeStyletEvents function
Decodes one event-channel message, including historical event batches.
Implementation
@visibleForTesting
Iterable<StyletEvent> decodeStyletEvents(Object? value) sync* {
if (value is List<Object?>) {
for (final Object? item in value) {
yield decodeStyletEvent(item);
}
return;
}
final Map<Object?, Object?> map = _requiredMap(value, context: 'event');
if (_requiredString(map, 'type') == 'batch') {
for (final Object? item in _requiredList(map, 'events')) {
yield decodeStyletEvent(item);
}
return;
}
yield decodeStyletEvent(map);
}