content: // GENERATED CODE - DO NOT MODIFY BY HAND
  
  part of 'manga.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 GetMangaCollection on Isar {
    IsarCollection<Manga> get mangas => this.collection();
  }
  
  const MangaSchema = CollectionSchema(
    name: r'Manga',
    id: -5643034226035087553,
    properties: {
      r'artist': PropertySchema(id: 0, name: r'artist', type: IsarType.string),
      r'author': PropertySchema(id: 1, name: r'author', type: IsarType.string),
      r'categories': PropertySchema(
        id: 2,
        name: r'categories',
        type: IsarType.longList,
      ),
      r'customCoverFromTracker': PropertySchema(
        id: 3,
        name: r'customCoverFromTracker',
        type: IsarType.string,
      ),
      r'customCoverImage': PropertySchema(
        id: 4,
        name: r'customCoverImage',
        type: IsarType.byteList,
      ),
      r'dateAdded': PropertySchema(
        id: 5,
        name: r'dateAdded',
        type: IsarType.long,
      ),
      r'description': PropertySchema(
        id: 6,
        name: r'description',
        type: IsarType.string,
      ),
      r'favorite': PropertySchema(id: 7, name: r'favorite', type: IsarType.bool),
      r'genre': PropertySchema(id: 8, name: r'genre', type: IsarType.stringList),
      r'imageUrl': PropertySchema(
        id: 9,
        name: r'imageUrl',
        type: IsarType.string,
      ),
      r'isLocalArchive': PropertySchema(
        id: 10,
        name: r'isLocalArchive',
        type: IsarType.bool,
      ),
      r'isManga': PropertySchema(id: 11, name: r'isManga', type: IsarType.bool),
      r'itemType': PropertySchema(
        id: 12,
        name: r'itemType',
        type: IsarType.byte,
        enumMap: _MangaitemTypeEnumValueMap,
      ),
      r'lang': PropertySchema(id: 13, name: r'lang', type: IsarType.string),
      r'lastRead': PropertySchema(id: 14, name: r'lastRead', type: IsarType.long),
      r'lastUpdate': PropertySchema(
        id: 15,
        name: r'lastUpdate',
        type: IsarType.long,
      ),
      r'link': PropertySchema(id: 16, name: r'link', type: IsarType.string),
      r'name': PropertySchema(id: 17, name: r'name', type: IsarType.string),
      r'smartUpdateDays': PropertySchema(
        id: 18,
        name: r'smartUpdateDays',
        type: IsarType.long,
      ),
      r'source': PropertySchema(id: 19, name: r'source', type: IsarType.string),
      r'sourceId': PropertySchema(id: 20, name: r'sourceId', type: IsarType.long),
      r'status': PropertySchema(
        id: 21,
        name: r'status',
        type: IsarType.byte,
        enumMap: _MangastatusEnumValueMap,
      ),
      r'updatedAt': PropertySchema(
        id: 22,
        name: r'updatedAt',
        type: IsarType.long,
      ),
    },
  
    estimateSize: _mangaEstimateSize,
    serialize: _mangaSerialize,
    deserialize: _mangaDeserialize,
    deserializeProp: _mangaDeserializeProp,
    idName: r'id',
    indexes: {},
    links: {
      r'chapters': LinkSchema(
        id: -1477759690489116902,
        name: r'chapters',
        target: r'Chapter',
        single: false,
        linkName: r'manga',
      ),
    },
    embeddedSchemas: {},
  
    getId: _mangaGetId,
    getLinks: _mangaGetLinks,
    attach: _mangaAttach,
    version: '3.1.0+1',
  );
  
  int _mangaEstimateSize(
    Manga object,
    List<int> offsets,
    Map<Type, List<int>> allOffsets,
  ) {
    var bytesCount = offsets.last;
    {
      final value = object.artist;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.author;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.categories;
      if (value != null) {
        bytesCount += 3 + value.length * 8;
      }
    }
    {
      final value = object.customCoverFromTracker;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.customCoverImage;
      if (value != null) {
        bytesCount += 3 + value.length;
      }
    }
    {
      final value = object.description;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final list = object.genre;
      if (list != null) {
        bytesCount += 3 + list.length * 3;
        {
          for (var i = 0; i < list.length; i++) {
            final value = list[i];
            bytesCount += value.length * 3;
          }
        }
      }
    }
    {
      final value = object.imageUrl;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.lang;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.link;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.name;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    {
      final value = object.source;
      if (value != null) {
        bytesCount += 3 + value.length * 3;
      }
    }
    return bytesCount;
  }
  
  void _mangaSerialize(
    Manga object,
    IsarWriter writer,
    List<int> offsets,
    Map<Type, List<int>> allOffsets,
  ) {
    writer.writeString(offsets[0], object.artist);
    writer.writeString(offsets[1], object.author);
    writer.writeLongList(offsets[2], object.categories);
    writer.writeString(offsets[3], object.customCoverFromTracker);
    writer.writeByteList(offsets[4], object.customCoverImage);
    writer.writeLong(offsets[5], object.dateAdded);
    writer.writeString(offsets[6], object.description);
    writer.writeBool(offsets[7], object.favorite);
    writer.writeStringList(offsets[8], object.genre);
    writer.writeString(offsets[9], object.imageUrl);
    writer.writeBool(offsets[10], object.isLocalArchive);
    writer.writeBool(offsets[11], object.isManga);
    writer.writeByte(offsets[12], object.itemType.index);
    writer.writeString(offsets[13], object.lang);
    writer.writeLong(offsets[14], object.lastRead);
    writer.writeLong(offsets[15], object.lastUpdate);
    writer.writeString(offsets[16], object.link);
    writer.writeString(offsets[17], object.name);
    writer.writeLong(offsets[18], object.smartUpdateDays);
    writer.writeString(offsets[19], object.source);
    writer.writeLong(offsets[20], object.sourceId);
    writer.writeByte(offsets[21], object.status.index);
    writer.writeLong(offsets[22], object.updatedAt);
  }
  
  Manga _mangaDeserialize(
    Id id,
    IsarReader reader,
    List<int> offsets,
    Map<Type, List<int>> allOffsets,
  ) {
    final object = Manga(
      artist: reader.readStringOrNull(offsets[0]),
      author: reader.readStringOrNull(offsets[1]),
      categories: reader.readLongList(offsets[2]),
      customCoverFromTracker: reader.readStringOrNull(offsets[3]),
      customCoverImage: reader.readByteList(offsets[4]),
      dateAdded: reader.readLongOrNull(offsets[5]),
      description: reader.readStringOrNull(offsets[6]),
      favorite: reader.readBoolOrNull(offsets[7]),
      genre: reader.readStringList(offsets[8]),
      id: id,
      imageUrl: reader.readStringOrNull(offsets[9]),
      isLocalArchive: reader.readBoolOrNull(offsets[10]),
      isManga: reader.readBoolOrNull(offsets[11]),
      itemType:
          _MangaitemTypeValueEnumMap[reader.readByteOrNull(offsets[12])] ??
          ItemType.manga,
      lang: reader.readStringOrNull(offsets[13]),
      lastRead: reader.readLongOrNull(offsets[14]),
      lastUpdate: reader.readLongOrNull(offsets[15]),
      link: reader.readStringOrNull(offsets[16]),
      name: reader.readStringOrNull(offsets[17]),
      smartUpdateDays: reader.readLongOrNull(offsets[18]),
      source: reader.readStringOrNull(offsets[19]),
      sourceId: reader.readLongOrNull(offsets[20]),
      status:
          _MangastatusValueEnumMap[reader.readByteOrNull(offsets[21])] ??
          Status.ongoing,
      updatedAt: reader.readLongOrNull(offsets[22]),
    );
    return object;
  }
  
  P _mangaDeserializeProp<P>(
    IsarReader reader,
    int propertyId,
    int offset,
    Map<Type, List<int>> allOffsets,
  ) {
    switch (propertyId) {
      case 0:
        return (reader.readStringOrNull(offset)) as P;
      case 1:
        return (reader.readStringOrNull(offset)) as P;
      case 2:
        return (reader.readLongList(offset)) as P;
      case 3:
        return (reader.readStringOrNull(offset)) as P;
      case 4:
        return (reader.readByteList(offset)) as P;
      case 5:
        return (reader.readLongOrNull(offset)) as P;
      case 6:
        return (reader.readStringOrNull(offset)) as P;
      case 7:
        return (reader.readBoolOrNull(offset)) as P;
      case 8:
        return (reader.readStringList(offset)) as P;
      case 9:
        return (reader.readStringOrNull(offset)) as P;
      case 10:
        return (reader.readBoolOrNull(offset)) as P;
      case 11:
        return (reader.readBoolOrNull(offset)) as P;
      case 12:
        return (_MangaitemTypeValueEnumMap[reader.readByteOrNull(offset)] ??
                ItemType.manga)
            as P;
      case 13:
        return (reader.readStringOrNull(offset)) as P;
      case 14:
        return (reader.readLongOrNull(offset)) as P;
      case 15:
        return (reader.readLongOrNull(offset)) as P;
      case 16:
        return (reader.readStringOrNull(offset)) as P;
      case 17:
        return (reader.readStringOrNull(offset)) as P;
      case 18:
        return (reader.readLongOrNull(offset)) as P;
      case 19:
        return (reader.readStringOrNull(offset)) as P;
      case 20:
        return (reader.readLongOrNull(offset)) as P;
      case 21:
        return (_MangastatusValueEnumMap[reader.readByteOrNull(offset)] ??
                Status.ongoing)
            as P;
      case 22:
        return (reader.readLongOrNull(offset)) as P;
      default:
        throw IsarError('Unknown property with id $propertyId');
    }
  }
  
  const _MangaitemTypeEnumValueMap = {'manga': 0, 'anime': 1, 'novel': 2};
  const _MangaitemTypeValueEnumMap = {
    0: ItemType.manga,
    1: ItemType.anime,
    2: ItemType.novel,
  };
  const _MangastatusEnumValueMap = {
    'ongoing': 0,
    'completed': 1,
    'canceled': 2,
    'unknown': 3,
    'onHiatus': 4,
    'publishingFinished': 5,
  };
  const _MangastatusValueEnumMap = {
    0: Status.ongoing,
    1: Status.completed,
    2: Status.canceled,
    3: Status.unknown,
    4: Status.onHiatus,
    5: Status.publishingFinished,
  };
  
  Id _mangaGetId(Manga object) {
    return object.id ?? Isar.autoIncrement;
  }
  
  List<IsarLinkBase<dynamic>> _mangaGetLinks(Manga object) {
    return [object.chapters];
  }
  
  void _mangaAttach(IsarCollection<dynamic> col, Id id, Manga object) {
    object.id = id;
    object.chapters.attach(col, col.isar.collection<Chapter>(), r'chapters', id);
  }
  
  extension MangaQueryWhereSort on QueryBuilder<Manga, Manga, QWhere> {
    QueryBuilder<Manga, Manga, QAfterWhere> anyId() {
      return QueryBuilder.apply(this, (query) {
        return query.addWhereClause(const IdWhereClause.any());
      });
    }
  }
  
  extension MangaQueryWhere on QueryBuilder<Manga, Manga, QWhereClause> {
    QueryBuilder<Manga, Manga, QAfterWhereClause> idEqualTo(Id id) {
      return QueryBuilder.apply(this, (query) {
        return query.addWhereClause(IdWhereClause.between(lower: id, upper: id));
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterWhereClause> 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<Manga, Manga, QAfterWhereClause> idGreaterThan(
      Id id, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addWhereClause(
          IdWhereClause.greaterThan(lower: id, includeLower: include),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterWhereClause> idLessThan(
      Id id, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addWhereClause(
          IdWhereClause.lessThan(upper: id, includeUpper: include),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterWhereClause> 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 MangaQueryFilter on QueryBuilder<Manga, Manga, QFilterCondition> {
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'artist'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'artist'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistBetween(
      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'artist',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'artist',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'artist',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'artist', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> artistIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'artist', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'author'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'author'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorBetween(
      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'author',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'author',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'author',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'author', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> authorIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'author', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'categories'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'categories'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesElementEqualTo(
      int value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'categories', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    categoriesElementGreaterThan(int value, {bool include = false}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'categories',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesElementLessThan(
      int value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'categories',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesElementBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'categories',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesLengthEqualTo(
      int length,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'categories', length, true, length, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'categories', 0, true, 0, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'categories', 0, false, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesLengthLessThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'categories', 0, true, length, include);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesLengthGreaterThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'categories', length, include, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> categoriesLengthBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(
          r'categories',
          lower,
          includeLower,
          upper,
          includeUpper,
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'customCoverFromTracker'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'customCoverFromTracker'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerEqualTo(String? value, {bool caseSensitive = true}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerBetween(
      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'customCoverFromTracker',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerStartsWith(String value, {bool caseSensitive = true}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerEndsWith(String value, {bool caseSensitive = true}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerContains(String value, {bool caseSensitive = true}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'customCoverFromTracker',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerMatches(String pattern, {bool caseSensitive = true}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'customCoverFromTracker',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'customCoverFromTracker', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverFromTrackerIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            property: r'customCoverFromTracker',
            value: '',
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> customCoverImageIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'customCoverImage'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'customCoverImage'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageElementEqualTo(int value) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'customCoverImage', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageElementGreaterThan(int value, {bool include = false}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'customCoverImage',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageElementLessThan(int value, {bool include = false}) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'customCoverImage',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageElementBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'customCoverImage',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageLengthEqualTo(int length) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'customCoverImage', length, true, length, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> customCoverImageIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'customCoverImage', 0, true, 0, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'customCoverImage', 0, false, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageLengthLessThan(int length, {bool include = false}) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'customCoverImage', 0, true, length, include);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageLengthGreaterThan(int length, {bool include = false}) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(
          r'customCoverImage',
          length,
          include,
          999999,
          true,
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition>
    customCoverImageLengthBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(
          r'customCoverImage',
          lower,
          includeLower,
          upper,
          includeUpper,
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'dateAdded'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'dateAdded'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'dateAdded', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'dateAdded',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'dateAdded',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> dateAddedBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'dateAdded',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'description'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'description'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionBetween(
      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'description',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'description',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'description',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'description', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> descriptionIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'description', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> favoriteIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'favorite'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> favoriteIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'favorite'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> favoriteEqualTo(
      bool? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'favorite', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'genre'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'genre'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementEqualTo(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementGreaterThan(
      String value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementLessThan(
      String value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementBetween(
      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'genre',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'genre',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'genre',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'genre', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreElementIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'genre', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreLengthEqualTo(
      int length,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'genre', length, true, length, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'genre', 0, true, 0, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'genre', 0, false, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreLengthLessThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'genre', 0, true, length, include);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreLengthGreaterThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(r'genre', length, include, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> genreLengthBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.listLength(
          r'genre',
          lower,
          includeLower,
          upper,
          includeUpper,
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> idIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'id'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> idIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'id'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> idEqualTo(Id? value) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'id', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> idGreaterThan(
      Id? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'id',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> idLessThan(
      Id? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'id',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> 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<Manga, Manga, QAfterFilterCondition> imageUrlIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'imageUrl'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'imageUrl'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlBetween(
      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'imageUrl',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'imageUrl',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'imageUrl',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'imageUrl', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> imageUrlIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'imageUrl', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isLocalArchiveIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'isLocalArchive'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isLocalArchiveIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'isLocalArchive'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isLocalArchiveEqualTo(
      bool? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'isLocalArchive', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isMangaIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'isManga'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isMangaIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'isManga'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> isMangaEqualTo(
      bool? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'isManga', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> itemTypeEqualTo(
      ItemType value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'itemType', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> itemTypeGreaterThan(
      ItemType value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'itemType',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> itemTypeLessThan(
      ItemType value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'itemType',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> itemTypeBetween(
      ItemType lower,
      ItemType upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'itemType',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'lang'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'lang'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langBetween(
      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'lang',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'lang',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'lang',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'lang', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> langIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'lang', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'lastRead'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'lastRead'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'lastRead', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'lastRead',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'lastRead',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastReadBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'lastRead',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'lastUpdate'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'lastUpdate'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'lastUpdate', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'lastUpdate',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'lastUpdate',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> lastUpdateBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'lastUpdate',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'link'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'link'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkBetween(
      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'link',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'link',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'link',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'link', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> linkIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'link', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'name'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'name'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameBetween(
      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'name',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'name',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'name',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'name', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> nameIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'name', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'smartUpdateDays'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'smartUpdateDays'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'smartUpdateDays', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'smartUpdateDays',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'smartUpdateDays',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> smartUpdateDaysBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'smartUpdateDays',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'source'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'source'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceEqualTo(
      String? value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceGreaterThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceLessThan(
      String? value, {
      bool include = false,
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceBetween(
      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'source',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceStartsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.startsWith(
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceEndsWith(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.endsWith(
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceContains(
      String value, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.contains(
            property: r'source',
            value: value,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceMatches(
      String pattern, {
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.matches(
            property: r'source',
            wildcard: pattern,
            caseSensitive: caseSensitive,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'source', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(property: r'source', value: ''),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'sourceId'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'sourceId'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'sourceId', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'sourceId',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'sourceId',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> sourceIdBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'sourceId',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> statusEqualTo(
      Status value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'status', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> statusGreaterThan(
      Status value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'status',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> statusLessThan(
      Status value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'status',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> statusBetween(
      Status lower,
      Status upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'status',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtIsNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNull(property: r'updatedAt'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtIsNotNull() {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          const FilterCondition.isNotNull(property: r'updatedAt'),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtEqualTo(
      int? value,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.equalTo(property: r'updatedAt', value: value),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtGreaterThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.greaterThan(
            include: include,
            property: r'updatedAt',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtLessThan(
      int? value, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.lessThan(
            include: include,
            property: r'updatedAt',
            value: value,
          ),
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> updatedAtBetween(
      int? lower,
      int? upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addFilterCondition(
          FilterCondition.between(
            property: r'updatedAt',
            lower: lower,
            includeLower: includeLower,
            upper: upper,
            includeUpper: includeUpper,
          ),
        );
      });
    }
  }
  
  extension MangaQueryObject on QueryBuilder<Manga, Manga, QFilterCondition> {}
  
  extension MangaQueryLinks on QueryBuilder<Manga, Manga, QFilterCondition> {
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chapters(
      FilterQuery<Chapter> q,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.link(q, r'chapters');
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersLengthEqualTo(
      int length,
    ) {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(r'chapters', length, true, length, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersIsEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(r'chapters', 0, true, 0, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersIsNotEmpty() {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(r'chapters', 0, false, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersLengthLessThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(r'chapters', 0, true, length, include);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersLengthGreaterThan(
      int length, {
      bool include = false,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(r'chapters', length, include, 999999, true);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterFilterCondition> chaptersLengthBetween(
      int lower,
      int upper, {
      bool includeLower = true,
      bool includeUpper = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.linkLength(
          r'chapters',
          lower,
          includeLower,
          upper,
          includeUpper,
        );
      });
    }
  }
  
  extension MangaQuerySortBy on QueryBuilder<Manga, Manga, QSortBy> {
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByArtist() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'artist', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByArtistDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'artist', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByAuthor() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'author', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByAuthorDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'author', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByCustomCoverFromTracker() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'customCoverFromTracker', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByCustomCoverFromTrackerDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'customCoverFromTracker', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByDateAdded() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'dateAdded', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByDateAddedDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'dateAdded', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByDescription() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'description', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByDescriptionDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'description', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByFavorite() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'favorite', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByFavoriteDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'favorite', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByImageUrl() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'imageUrl', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByImageUrlDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'imageUrl', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByIsLocalArchive() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isLocalArchive', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByIsLocalArchiveDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isLocalArchive', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByIsManga() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isManga', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByIsMangaDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isManga', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByItemType() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'itemType', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByItemTypeDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'itemType', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLang() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lang', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLangDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lang', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLastRead() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastRead', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLastReadDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastRead', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLastUpdate() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastUpdate', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLastUpdateDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastUpdate', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLink() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'link', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByLinkDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'link', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByName() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'name', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByNameDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'name', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySmartUpdateDays() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'smartUpdateDays', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySmartUpdateDaysDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'smartUpdateDays', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySource() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'source', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySourceDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'source', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySourceId() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'sourceId', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortBySourceIdDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'sourceId', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByStatus() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'status', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByStatusDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'status', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByUpdatedAt() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'updatedAt', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> sortByUpdatedAtDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'updatedAt', Sort.desc);
      });
    }
  }
  
  extension MangaQuerySortThenBy on QueryBuilder<Manga, Manga, QSortThenBy> {
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByArtist() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'artist', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByArtistDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'artist', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByAuthor() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'author', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByAuthorDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'author', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByCustomCoverFromTracker() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'customCoverFromTracker', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByCustomCoverFromTrackerDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'customCoverFromTracker', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByDateAdded() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'dateAdded', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByDateAddedDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'dateAdded', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByDescription() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'description', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByDescriptionDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'description', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByFavorite() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'favorite', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByFavoriteDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'favorite', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenById() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'id', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByIdDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'id', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByImageUrl() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'imageUrl', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByImageUrlDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'imageUrl', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByIsLocalArchive() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isLocalArchive', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByIsLocalArchiveDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isLocalArchive', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByIsManga() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isManga', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByIsMangaDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'isManga', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByItemType() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'itemType', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByItemTypeDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'itemType', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLang() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lang', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLangDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lang', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLastRead() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastRead', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLastReadDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastRead', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLastUpdate() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastUpdate', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLastUpdateDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'lastUpdate', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLink() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'link', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByLinkDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'link', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByName() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'name', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByNameDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'name', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySmartUpdateDays() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'smartUpdateDays', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySmartUpdateDaysDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'smartUpdateDays', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySource() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'source', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySourceDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'source', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySourceId() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'sourceId', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenBySourceIdDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'sourceId', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByStatus() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'status', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByStatusDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'status', Sort.desc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByUpdatedAt() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'updatedAt', Sort.asc);
      });
    }
  
    QueryBuilder<Manga, Manga, QAfterSortBy> thenByUpdatedAtDesc() {
      return QueryBuilder.apply(this, (query) {
        return query.addSortBy(r'updatedAt', Sort.desc);
      });
    }
  }
  
  extension MangaQueryWhereDistinct on QueryBuilder<Manga, Manga, QDistinct> {
    QueryBuilder<Manga, Manga, QDistinct> distinctByArtist({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'artist', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByAuthor({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'author', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByCategories() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'categories');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByCustomCoverFromTracker({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(
          r'customCoverFromTracker',
          caseSensitive: caseSensitive,
        );
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByCustomCoverImage() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'customCoverImage');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByDateAdded() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'dateAdded');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByDescription({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'description', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByFavorite() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'favorite');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByGenre() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'genre');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByImageUrl({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'imageUrl', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByIsLocalArchive() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'isLocalArchive');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByIsManga() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'isManga');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByItemType() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'itemType');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByLang({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'lang', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByLastRead() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'lastRead');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByLastUpdate() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'lastUpdate');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByLink({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'link', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByName({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'name', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctBySmartUpdateDays() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'smartUpdateDays');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctBySource({
      bool caseSensitive = true,
    }) {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'source', caseSensitive: caseSensitive);
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctBySourceId() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'sourceId');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByStatus() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'status');
      });
    }
  
    QueryBuilder<Manga, Manga, QDistinct> distinctByUpdatedAt() {
      return QueryBuilder.apply(this, (query) {
        return query.addDistinctBy(r'updatedAt');
      });
    }
  }
  
  extension MangaQueryProperty on QueryBuilder<Manga, Manga, QQueryProperty> {
    QueryBuilder<Manga, int, QQueryOperations> idProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'id');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> artistProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'artist');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> authorProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'author');
      });
    }
  
    QueryBuilder<Manga, List<int>?, QQueryOperations> categoriesProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'categories');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations>
    customCoverFromTrackerProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'customCoverFromTracker');
      });
    }
  
    QueryBuilder<Manga, List<int>?, QQueryOperations> customCoverImageProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'customCoverImage');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> dateAddedProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'dateAdded');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> descriptionProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'description');
      });
    }
  
    QueryBuilder<Manga, bool?, QQueryOperations> favoriteProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'favorite');
      });
    }
  
    QueryBuilder<Manga, List<String>?, QQueryOperations> genreProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'genre');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> imageUrlProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'imageUrl');
      });
    }
  
    QueryBuilder<Manga, bool?, QQueryOperations> isLocalArchiveProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'isLocalArchive');
      });
    }
  
    QueryBuilder<Manga, bool?, QQueryOperations> isMangaProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'isManga');
      });
    }
  
    QueryBuilder<Manga, ItemType, QQueryOperations> itemTypeProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'itemType');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> langProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'lang');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> lastReadProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'lastRead');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> lastUpdateProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'lastUpdate');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> linkProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'link');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> nameProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'name');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> smartUpdateDaysProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'smartUpdateDays');
      });
    }
  
    QueryBuilder<Manga, String?, QQueryOperations> sourceProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'source');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> sourceIdProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'sourceId');
      });
    }
  
    QueryBuilder<Manga, Status, QQueryOperations> statusProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'status');
      });
    }
  
    QueryBuilder<Manga, int?, QQueryOperations> updatedAtProperty() {
      return QueryBuilder.apply(this, (query) {
        return query.addPropertyName(r'updatedAt');
      });
    }
  }
  