DiagnosticsBySource is a Map (Maybe Text) (SortedList Diagnostic), however, when flushing by source of Nothing, the key that has no source (Nothing) in the DiagnosticsBySources is not removed. Instead, the store is returned unmodified. This causes two issues:
- the API doesn't allow for flushing diagnostics without source.
- the API is unintuitive because if the key is
Maybe Text, the fact that you're passing a Maybe Text should mean that you're also removing that key and not leaving the store unmodified in that case. passing your store through the id function can be done by the user in any case.
DiagnosticsBySourceis aMap (Maybe Text) (SortedList Diagnostic), however, when flushing by source ofNothing, the key that has no source (Nothing) in theDiagnosticsBySources is not removed. Instead, the store is returned unmodified. This causes two issues:Maybe Text, the fact that you're passing aMaybe Textshould mean that you're also removing that key and not leaving the store unmodified in that case. passing your store through theidfunction can be done by the user in any case.