getResultsQuery method

String getResultsQuery(
  1. int num, {
  2. String? term,
  3. Set<String>? filters,
  4. Sort? sort,
  5. int? from,
})

Gets the results query

  • num: The number of results
  • term: Shaders that have term in the name or in description
  • filters: A set of tag filters
  • sort: The sort order of the shaders
  • from: A 0 based index for results returned

Returns the results query

Implementation

String getResultsQuery(int num,
    {String? term, Set<String>? filters, Sort? sort, int? from}) {
  final queryParameters = [];
  if (term != null && term.isNotEmpty) {
    queryParameters.add('query=$term');
  }

  if (filters != null) {
    for (var filter in filters) {
      queryParameters.add('filter=$filter');
    }
  }

  if (sort != null) {
    queryParameters.add('sort=${sort.name}');
  }

  if (from != null) {
    queryParameters.add('from=$from');
  }

  queryParameters.add('num=$num');

  var sb = StringBuffer(_getResultsUrl());
  for (var i = 0; i < queryParameters.length; i++) {
    sb.write(i == 0 ? '?' : '&');
    sb.write(queryParameters[i]);
  }

  return sb.toString();
}