background fetch running

This commit is contained in:
Fabian Freund
2025-03-05 14:27:13 +01:00
parent 20bdc4df3e
commit 70d1c1b50e
62 changed files with 898 additions and 173 deletions
@@ -2,6 +2,257 @@
part of 'feed_article.dart';
// **************************************************************************
// CopyWithGenerator
// **************************************************************************
abstract class _$FeedArticleCWProxy {
FeedArticle id(String id);
FeedArticle feedId(Uri feedId);
FeedArticle fetched(DateTime fetched);
FeedArticle created(DateTime? created);
FeedArticle updated(DateTime? updated);
FeedArticle lastRead(DateTime? lastRead);
FeedArticle title(String? title);
FeedArticle authors(List<FeedAuthor>? authors);
FeedArticle tags(List<FeedCategory>? tags);
FeedArticle links(List<FeedLink>? links);
FeedArticle summaryHtml(String? summaryHtml);
FeedArticle summaryMarkdown(String? summaryMarkdown);
FeedArticle summaryPlain(String? summaryPlain);
FeedArticle contentHtml(String? contentHtml);
FeedArticle contentMarkdown(String? contentMarkdown);
FeedArticle contentPlain(String? contentPlain);
FeedArticle icon(Uri? icon);
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `FeedArticle(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
/// ```dart
/// FeedArticle(...).copyWith(id: 12, name: "My name")
/// ````
FeedArticle call({
String id,
Uri feedId,
DateTime fetched,
DateTime? created,
DateTime? updated,
DateTime? lastRead,
String? title,
List<FeedAuthor>? authors,
List<FeedCategory>? tags,
List<FeedLink>? links,
String? summaryHtml,
String? summaryMarkdown,
String? summaryPlain,
String? contentHtml,
String? contentMarkdown,
String? contentPlain,
Uri? icon,
});
}
/// Proxy class for `copyWith` functionality. This is a callable class and can be used as follows: `instanceOfFeedArticle.copyWith(...)`. Additionally contains functions for specific fields e.g. `instanceOfFeedArticle.copyWith.fieldName(...)`
class _$FeedArticleCWProxyImpl implements _$FeedArticleCWProxy {
const _$FeedArticleCWProxyImpl(this._value);
final FeedArticle _value;
@override
FeedArticle id(String id) => this(id: id);
@override
FeedArticle feedId(Uri feedId) => this(feedId: feedId);
@override
FeedArticle fetched(DateTime fetched) => this(fetched: fetched);
@override
FeedArticle created(DateTime? created) => this(created: created);
@override
FeedArticle updated(DateTime? updated) => this(updated: updated);
@override
FeedArticle lastRead(DateTime? lastRead) => this(lastRead: lastRead);
@override
FeedArticle title(String? title) => this(title: title);
@override
FeedArticle authors(List<FeedAuthor>? authors) => this(authors: authors);
@override
FeedArticle tags(List<FeedCategory>? tags) => this(tags: tags);
@override
FeedArticle links(List<FeedLink>? links) => this(links: links);
@override
FeedArticle summaryHtml(String? summaryHtml) =>
this(summaryHtml: summaryHtml);
@override
FeedArticle summaryMarkdown(String? summaryMarkdown) =>
this(summaryMarkdown: summaryMarkdown);
@override
FeedArticle summaryPlain(String? summaryPlain) =>
this(summaryPlain: summaryPlain);
@override
FeedArticle contentHtml(String? contentHtml) =>
this(contentHtml: contentHtml);
@override
FeedArticle contentMarkdown(String? contentMarkdown) =>
this(contentMarkdown: contentMarkdown);
@override
FeedArticle contentPlain(String? contentPlain) =>
this(contentPlain: contentPlain);
@override
FeedArticle icon(Uri? icon) => this(icon: icon);
@override
/// This function **does support** nullification of nullable fields. All `null` values passed to `non-nullable` fields will be ignored. You can also use `FeedArticle(...).copyWith.fieldName(...)` to override fields one at a time with nullification support.
///
/// Usage
/// ```dart
/// FeedArticle(...).copyWith(id: 12, name: "My name")
/// ````
FeedArticle call({
Object? id = const $CopyWithPlaceholder(),
Object? feedId = const $CopyWithPlaceholder(),
Object? fetched = const $CopyWithPlaceholder(),
Object? created = const $CopyWithPlaceholder(),
Object? updated = const $CopyWithPlaceholder(),
Object? lastRead = const $CopyWithPlaceholder(),
Object? title = const $CopyWithPlaceholder(),
Object? authors = const $CopyWithPlaceholder(),
Object? tags = const $CopyWithPlaceholder(),
Object? links = const $CopyWithPlaceholder(),
Object? summaryHtml = const $CopyWithPlaceholder(),
Object? summaryMarkdown = const $CopyWithPlaceholder(),
Object? summaryPlain = const $CopyWithPlaceholder(),
Object? contentHtml = const $CopyWithPlaceholder(),
Object? contentMarkdown = const $CopyWithPlaceholder(),
Object? contentPlain = const $CopyWithPlaceholder(),
Object? icon = const $CopyWithPlaceholder(),
}) {
return FeedArticle(
id:
id == const $CopyWithPlaceholder()
? _value.id
// ignore: cast_nullable_to_non_nullable
: id as String,
feedId:
feedId == const $CopyWithPlaceholder()
? _value.feedId
// ignore: cast_nullable_to_non_nullable
: feedId as Uri,
fetched:
fetched == const $CopyWithPlaceholder()
? _value.fetched
// ignore: cast_nullable_to_non_nullable
: fetched as DateTime,
created:
created == const $CopyWithPlaceholder()
? _value.created
// ignore: cast_nullable_to_non_nullable
: created as DateTime?,
updated:
updated == const $CopyWithPlaceholder()
? _value.updated
// ignore: cast_nullable_to_non_nullable
: updated as DateTime?,
lastRead:
lastRead == const $CopyWithPlaceholder()
? _value.lastRead
// ignore: cast_nullable_to_non_nullable
: lastRead as DateTime?,
title:
title == const $CopyWithPlaceholder()
? _value.title
// ignore: cast_nullable_to_non_nullable
: title as String?,
authors:
authors == const $CopyWithPlaceholder()
? _value.authors
// ignore: cast_nullable_to_non_nullable
: authors as List<FeedAuthor>?,
tags:
tags == const $CopyWithPlaceholder()
? _value.tags
// ignore: cast_nullable_to_non_nullable
: tags as List<FeedCategory>?,
links:
links == const $CopyWithPlaceholder()
? _value.links
// ignore: cast_nullable_to_non_nullable
: links as List<FeedLink>?,
summaryHtml:
summaryHtml == const $CopyWithPlaceholder()
? _value.summaryHtml
// ignore: cast_nullable_to_non_nullable
: summaryHtml as String?,
summaryMarkdown:
summaryMarkdown == const $CopyWithPlaceholder()
? _value.summaryMarkdown
// ignore: cast_nullable_to_non_nullable
: summaryMarkdown as String?,
summaryPlain:
summaryPlain == const $CopyWithPlaceholder()
? _value.summaryPlain
// ignore: cast_nullable_to_non_nullable
: summaryPlain as String?,
contentHtml:
contentHtml == const $CopyWithPlaceholder()
? _value.contentHtml
// ignore: cast_nullable_to_non_nullable
: contentHtml as String?,
contentMarkdown:
contentMarkdown == const $CopyWithPlaceholder()
? _value.contentMarkdown
// ignore: cast_nullable_to_non_nullable
: contentMarkdown as String?,
contentPlain:
contentPlain == const $CopyWithPlaceholder()
? _value.contentPlain
// ignore: cast_nullable_to_non_nullable
: contentPlain as String?,
icon:
icon == const $CopyWithPlaceholder()
? _value.icon
// ignore: cast_nullable_to_non_nullable
: icon as Uri?,
);
}
}
extension $FeedArticleCopyWith on FeedArticle {
/// Returns a callable class that can be used as follows: `instanceOfFeedArticle.copyWith(...)` or like so:`instanceOfFeedArticle.copyWith.fieldName(...)`.
// ignore: library_private_types_in_public_api
_$FeedArticleCWProxy get copyWith => _$FeedArticleCWProxyImpl(this);
}
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
@@ -35,8 +286,10 @@ FeedArticle _$FeedArticleFromJson(Map<String, dynamic> json) => FeedArticle(
(json['links'] as List<dynamic>?)
?.map((e) => FeedLink.fromJson(e as Map<String, dynamic>))
.toList(),
summaryHtml: json['summaryHtml'] as String?,
summaryMarkdown: json['summaryMarkdown'] as String?,
summaryPlain: json['summaryPlain'] as String?,
contentHtml: json['contentHtml'] as String?,
contentMarkdown: json['contentMarkdown'] as String?,
contentPlain: json['contentPlain'] as String?,
icon: json['icon'] == null ? null : Uri.parse(json['icon'] as String),
@@ -54,8 +307,10 @@ Map<String, dynamic> _$FeedArticleToJson(FeedArticle instance) =>
'authors': instance.authors?.map((e) => e.toJson()).toList(),
'tags': instance.tags?.map((e) => e.toJson()).toList(),
'links': instance.links?.map((e) => e.toJson()).toList(),
'summaryHtml': instance.summaryHtml,
'summaryMarkdown': instance.summaryMarkdown,
'summaryPlain': instance.summaryPlain,
'contentHtml': instance.contentHtml,
'contentMarkdown': instance.contentMarkdown,
'contentPlain': instance.contentPlain,
'icon': instance.icon?.toString(),