search method

Future<SearchResults> search(
  1. String query, {
  2. int page = 1,
  3. SearchOrder sort = SearchOrder.top,
  4. List<String> tags = const [],
  5. List<String> topics = const [],
})

Searches pub for query and can page results. Can specify tags to filter results. See PackageTag for details. returns SearchResults

Implementation

Future<SearchResults> search(
  String query, {
  int page = 1,
  SearchOrder sort = SearchOrder.top,
  List<String> tags = const [],
  List<String> topics = const [],
}) async {
  final buffer = StringBuffer(query);
  for (final tag in tags) {
    buffer.write(' $tag');
  }

  for (final topic in topics) {
    buffer.write(' topic:$topic');
  }
  final data = await _fetch(endpoint.search(buffer.toString(), page, sort));
  return SearchResults.fromMap(data);
}