// GENERATED CODE - DO NOT MODIFY BY HAND part of 'download.dart'; // ************************************************************************** // IsarCollectionGenerator // ************************************************************************** // coverage:ignore-file // ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types extension GetDownloadCollection on Isar { IsarCollection get downloads => this.collection(); } const DownloadSchema = CollectionSchema( name: r'Download', id: 5905484153212786579, properties: { r'chapterId': PropertySchema( id: 0, name: r'chapterId', type: IsarType.long, ), r'failed': PropertySchema( id: 1, name: r'failed', type: IsarType.long, ), r'isDownload': PropertySchema( id: 2, name: r'isDownload', type: IsarType.bool, ), r'isStartDownload': PropertySchema( id: 3, name: r'isStartDownload', type: IsarType.bool, ), r'mangaId': PropertySchema( id: 4, name: r'mangaId', type: IsarType.long, ), r'succeeded': PropertySchema( id: 5, name: r'succeeded', type: IsarType.long, ), r'taskIds': PropertySchema( id: 6, name: r'taskIds', type: IsarType.stringList, ), r'total': PropertySchema( id: 7, name: r'total', type: IsarType.long, ) }, estimateSize: _downloadEstimateSize, serialize: _downloadSerialize, deserialize: _downloadDeserialize, deserializeProp: _downloadDeserializeProp, idName: r'id', indexes: {}, links: { r'chapter': LinkSchema( id: -5548652258422470046, name: r'chapter', target: r'Chapter', single: true, ) }, embeddedSchemas: {}, getId: _downloadGetId, getLinks: _downloadGetLinks, attach: _downloadAttach, version: '3.1.0+1', ); int _downloadEstimateSize( Download object, List offsets, Map> allOffsets, ) { var bytesCount = offsets.last; { final list = object.taskIds; if (list != null) { bytesCount += 3 + list.length * 3; { for (var i = 0; i < list.length; i++) { final value = list[i]; bytesCount += value.length * 3; } } } } return bytesCount; } void _downloadSerialize( Download object, IsarWriter writer, List offsets, Map> allOffsets, ) { writer.writeLong(offsets[0], object.chapterId); writer.writeLong(offsets[1], object.failed); writer.writeBool(offsets[2], object.isDownload); writer.writeBool(offsets[3], object.isStartDownload); writer.writeLong(offsets[4], object.mangaId); writer.writeLong(offsets[5], object.succeeded); writer.writeStringList(offsets[6], object.taskIds); writer.writeLong(offsets[7], object.total); } Download _downloadDeserialize( Id id, IsarReader reader, List offsets, Map> allOffsets, ) { final object = Download( chapterId: reader.readLongOrNull(offsets[0]), failed: reader.readLongOrNull(offsets[1]), id: id, isDownload: reader.readBoolOrNull(offsets[2]), isStartDownload: reader.readBoolOrNull(offsets[3]), mangaId: reader.readLongOrNull(offsets[4]), succeeded: reader.readLongOrNull(offsets[5]), taskIds: reader.readStringList(offsets[6]), total: reader.readLongOrNull(offsets[7]), ); return object; } P _downloadDeserializeProp

( IsarReader reader, int propertyId, int offset, Map> allOffsets, ) { switch (propertyId) { case 0: return (reader.readLongOrNull(offset)) as P; case 1: return (reader.readLongOrNull(offset)) as P; case 2: return (reader.readBoolOrNull(offset)) as P; case 3: return (reader.readBoolOrNull(offset)) as P; case 4: return (reader.readLongOrNull(offset)) as P; case 5: return (reader.readLongOrNull(offset)) as P; case 6: return (reader.readStringList(offset)) as P; case 7: return (reader.readLongOrNull(offset)) as P; default: throw IsarError('Unknown property with id $propertyId'); } } Id _downloadGetId(Download object) { return object.id ?? Isar.autoIncrement; } List> _downloadGetLinks(Download object) { return [object.chapter]; } void _downloadAttach(IsarCollection col, Id id, Download object) { object.id = id; object.chapter.attach(col, col.isar.collection(), r'chapter', id); } extension DownloadQueryWhereSort on QueryBuilder { QueryBuilder anyId() { return QueryBuilder.apply(this, (query) { return query.addWhereClause(const IdWhereClause.any()); }); } } extension DownloadQueryWhere on QueryBuilder { QueryBuilder idEqualTo(Id id) { return QueryBuilder.apply(this, (query) { return query.addWhereClause(IdWhereClause.between( lower: id, upper: id, )); }); } QueryBuilder idNotEqualTo(Id id) { return QueryBuilder.apply(this, (query) { if (query.whereSort == Sort.asc) { return query .addWhereClause( IdWhereClause.lessThan(upper: id, includeUpper: false), ) .addWhereClause( IdWhereClause.greaterThan(lower: id, includeLower: false), ); } else { return query .addWhereClause( IdWhereClause.greaterThan(lower: id, includeLower: false), ) .addWhereClause( IdWhereClause.lessThan(upper: id, includeUpper: false), ); } }); } QueryBuilder idGreaterThan(Id id, {bool include = false}) { return QueryBuilder.apply(this, (query) { return query.addWhereClause( IdWhereClause.greaterThan(lower: id, includeLower: include), ); }); } QueryBuilder idLessThan(Id id, {bool include = false}) { return QueryBuilder.apply(this, (query) { return query.addWhereClause( IdWhereClause.lessThan(upper: id, includeUpper: include), ); }); } QueryBuilder idBetween( Id lowerId, Id upperId, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addWhereClause(IdWhereClause.between( lower: lowerId, includeLower: includeLower, upper: upperId, includeUpper: includeUpper, )); }); } } extension DownloadQueryFilter on QueryBuilder { QueryBuilder chapterIdIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'chapterId', )); }); } QueryBuilder chapterIdIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'chapterId', )); }); } QueryBuilder chapterIdEqualTo( int? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'chapterId', value: value, )); }); } QueryBuilder chapterIdGreaterThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'chapterId', value: value, )); }); } QueryBuilder chapterIdLessThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'chapterId', value: value, )); }); } QueryBuilder chapterIdBetween( int? lower, int? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'chapterId', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } QueryBuilder failedIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'failed', )); }); } QueryBuilder failedIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'failed', )); }); } QueryBuilder failedEqualTo( int? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'failed', value: value, )); }); } QueryBuilder failedGreaterThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'failed', value: value, )); }); } QueryBuilder failedLessThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'failed', value: value, )); }); } QueryBuilder failedBetween( int? lower, int? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'failed', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } QueryBuilder idIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'id', )); }); } QueryBuilder idIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'id', )); }); } QueryBuilder idEqualTo(Id? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'id', value: value, )); }); } QueryBuilder idGreaterThan( Id? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'id', value: value, )); }); } QueryBuilder idLessThan( Id? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'id', value: value, )); }); } QueryBuilder idBetween( Id? lower, Id? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'id', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } QueryBuilder isDownloadIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'isDownload', )); }); } QueryBuilder isDownloadIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'isDownload', )); }); } QueryBuilder isDownloadEqualTo( bool? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'isDownload', value: value, )); }); } QueryBuilder isStartDownloadIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'isStartDownload', )); }); } QueryBuilder isStartDownloadIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'isStartDownload', )); }); } QueryBuilder isStartDownloadEqualTo(bool? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'isStartDownload', value: value, )); }); } QueryBuilder mangaIdIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'mangaId', )); }); } QueryBuilder mangaIdIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'mangaId', )); }); } QueryBuilder mangaIdEqualTo( int? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'mangaId', value: value, )); }); } QueryBuilder mangaIdGreaterThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'mangaId', value: value, )); }); } QueryBuilder mangaIdLessThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'mangaId', value: value, )); }); } QueryBuilder mangaIdBetween( int? lower, int? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'mangaId', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } QueryBuilder succeededIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'succeeded', )); }); } QueryBuilder succeededIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'succeeded', )); }); } QueryBuilder succeededEqualTo( int? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'succeeded', value: value, )); }); } QueryBuilder succeededGreaterThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'succeeded', value: value, )); }); } QueryBuilder succeededLessThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'succeeded', value: value, )); }); } QueryBuilder succeededBetween( int? lower, int? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'succeeded', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } QueryBuilder taskIdsIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'taskIds', )); }); } QueryBuilder taskIdsIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'taskIds', )); }); } QueryBuilder taskIdsElementEqualTo( String value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementGreaterThan( String value, { bool include = false, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementLessThan( String value, { bool include = false, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementBetween( String lower, String upper, { bool includeLower = true, bool includeUpper = true, bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'taskIds', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementStartsWith( String value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.startsWith( property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementEndsWith( String value, { bool caseSensitive = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.endsWith( property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementContains(String value, {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.contains( property: r'taskIds', value: value, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementMatches( String pattern, {bool caseSensitive = true}) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.matches( property: r'taskIds', wildcard: pattern, caseSensitive: caseSensitive, )); }); } QueryBuilder taskIdsElementIsEmpty() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'taskIds', value: '', )); }); } QueryBuilder taskIdsElementIsNotEmpty() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( property: r'taskIds', value: '', )); }); } QueryBuilder taskIdsLengthEqualTo( int length) { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', length, true, length, true, ); }); } QueryBuilder taskIdsIsEmpty() { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', 0, true, 0, true, ); }); } QueryBuilder taskIdsIsNotEmpty() { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', 0, false, 999999, true, ); }); } QueryBuilder taskIdsLengthLessThan( int length, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', 0, true, length, include, ); }); } QueryBuilder taskIdsLengthGreaterThan( int length, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', length, include, 999999, true, ); }); } QueryBuilder taskIdsLengthBetween( int lower, int upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.listLength( r'taskIds', lower, includeLower, upper, includeUpper, ); }); } QueryBuilder totalIsNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNull( property: r'total', )); }); } QueryBuilder totalIsNotNull() { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(const FilterCondition.isNotNull( property: r'total', )); }); } QueryBuilder totalEqualTo( int? value) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.equalTo( property: r'total', value: value, )); }); } QueryBuilder totalGreaterThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.greaterThan( include: include, property: r'total', value: value, )); }); } QueryBuilder totalLessThan( int? value, { bool include = false, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.lessThan( include: include, property: r'total', value: value, )); }); } QueryBuilder totalBetween( int? lower, int? upper, { bool includeLower = true, bool includeUpper = true, }) { return QueryBuilder.apply(this, (query) { return query.addFilterCondition(FilterCondition.between( property: r'total', lower: lower, includeLower: includeLower, upper: upper, includeUpper: includeUpper, )); }); } } extension DownloadQueryObject on QueryBuilder {} extension DownloadQueryLinks on QueryBuilder { QueryBuilder chapter( FilterQuery q) { return QueryBuilder.apply(this, (query) { return query.link(q, r'chapter'); }); } QueryBuilder chapterIsNull() { return QueryBuilder.apply(this, (query) { return query.linkLength(r'chapter', 0, true, 0, true); }); } } extension DownloadQuerySortBy on QueryBuilder { QueryBuilder sortByChapterId() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'chapterId', Sort.asc); }); } QueryBuilder sortByChapterIdDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'chapterId', Sort.desc); }); } QueryBuilder sortByFailed() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'failed', Sort.asc); }); } QueryBuilder sortByFailedDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'failed', Sort.desc); }); } QueryBuilder sortByIsDownload() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isDownload', Sort.asc); }); } QueryBuilder sortByIsDownloadDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isDownload', Sort.desc); }); } QueryBuilder sortByIsStartDownload() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isStartDownload', Sort.asc); }); } QueryBuilder sortByIsStartDownloadDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isStartDownload', Sort.desc); }); } QueryBuilder sortByMangaId() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'mangaId', Sort.asc); }); } QueryBuilder sortByMangaIdDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'mangaId', Sort.desc); }); } QueryBuilder sortBySucceeded() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'succeeded', Sort.asc); }); } QueryBuilder sortBySucceededDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'succeeded', Sort.desc); }); } QueryBuilder sortByTotal() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'total', Sort.asc); }); } QueryBuilder sortByTotalDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'total', Sort.desc); }); } } extension DownloadQuerySortThenBy on QueryBuilder { QueryBuilder thenByChapterId() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'chapterId', Sort.asc); }); } QueryBuilder thenByChapterIdDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'chapterId', Sort.desc); }); } QueryBuilder thenByFailed() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'failed', Sort.asc); }); } QueryBuilder thenByFailedDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'failed', Sort.desc); }); } QueryBuilder thenById() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'id', Sort.asc); }); } QueryBuilder thenByIdDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'id', Sort.desc); }); } QueryBuilder thenByIsDownload() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isDownload', Sort.asc); }); } QueryBuilder thenByIsDownloadDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isDownload', Sort.desc); }); } QueryBuilder thenByIsStartDownload() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isStartDownload', Sort.asc); }); } QueryBuilder thenByIsStartDownloadDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'isStartDownload', Sort.desc); }); } QueryBuilder thenByMangaId() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'mangaId', Sort.asc); }); } QueryBuilder thenByMangaIdDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'mangaId', Sort.desc); }); } QueryBuilder thenBySucceeded() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'succeeded', Sort.asc); }); } QueryBuilder thenBySucceededDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'succeeded', Sort.desc); }); } QueryBuilder thenByTotal() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'total', Sort.asc); }); } QueryBuilder thenByTotalDesc() { return QueryBuilder.apply(this, (query) { return query.addSortBy(r'total', Sort.desc); }); } } extension DownloadQueryWhereDistinct on QueryBuilder { QueryBuilder distinctByChapterId() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'chapterId'); }); } QueryBuilder distinctByFailed() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'failed'); }); } QueryBuilder distinctByIsDownload() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'isDownload'); }); } QueryBuilder distinctByIsStartDownload() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'isStartDownload'); }); } QueryBuilder distinctByMangaId() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'mangaId'); }); } QueryBuilder distinctBySucceeded() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'succeeded'); }); } QueryBuilder distinctByTaskIds() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'taskIds'); }); } QueryBuilder distinctByTotal() { return QueryBuilder.apply(this, (query) { return query.addDistinctBy(r'total'); }); } } extension DownloadQueryProperty on QueryBuilder { QueryBuilder idProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'id'); }); } QueryBuilder chapterIdProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'chapterId'); }); } QueryBuilder failedProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'failed'); }); } QueryBuilder isDownloadProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'isDownload'); }); } QueryBuilder isStartDownloadProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'isStartDownload'); }); } QueryBuilder mangaIdProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'mangaId'); }); } QueryBuilder succeededProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'succeeded'); }); } QueryBuilder?, QQueryOperations> taskIdsProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'taskIds'); }); } QueryBuilder totalProperty() { return QueryBuilder.apply(this, (query) { return query.addPropertyName(r'total'); }); } }