searchManga method

Future<BuiltList<Manga>> searchManga({
  1. String? query,
  2. MangaType? type,
  3. List<int>? genres,
  4. List<int>? magazines,
  5. String? orderBy,
  6. String? sort,
  7. String? rawQuery,
  8. int page = 1,
})

Implementation

Future<BuiltList<Manga>> searchManga(
    {String? query,
    MangaType? type,
    List<int>? genres,
    List<int>? magazines,
    String? orderBy,
    String? sort,
    String? rawQuery,
    int page = 1}) async {
  var url = '/manga?page=$page';
  if (query != null) url += '&q=$query';
  if (type != null) url += '&type=${type.name}';
  if (genres != null) url += '&genres=${genres.join(',')}';
  if (magazines != null) url += '&magazines=${magazines.join(',')}';
  if (orderBy != null) url += '&order_by=$orderBy';
  if (sort != null) url += '&sort=$sort';
  if (rawQuery != null) url += rawQuery;
  var response = await _getResponse(url);

  final results = response['data'] ?? [];
  return BuiltList(results.map((i) => Manga.fromJson(i)));
}