web feed intermediate

This commit is contained in:
Fabian Freund
2025-02-28 14:31:07 +01:00
parent 3c4d479bd9
commit 2a2311253b
51 changed files with 5503 additions and 0 deletions
@@ -0,0 +1,24 @@
import 'package:lensai/extensions/nullable.dart';
import 'package:lensai/features/web_feed/data/models/feed_category.dart';
import 'package:rss_dart/dart_rss.dart';
import 'package:rss_dart/domain/dublin_core/dublin_core.dart';
extension ParseDublinCategory on DublinCore {
List<FeedCategory> toFeedCategories() {
return subjects
.where((subject) => subject.isNotEmpty)
.map((subject) => FeedCategory(id: subject))
.toList();
}
}
extension ParseRssCategory on List<RssCategory> {
List<FeedCategory> toFeedCategories() {
return where((category) => category.value.isNotEmpty)
.map(
(category) =>
FeedCategory(id: '${category.domain} ${category.value}'.trim()),
)
.toList();
}
}