getSuggestions static method

Future<List<String>> getSuggestions(
  1. TagType taxonomyType, {
  2. String input = '',
  3. required OpenFoodFactsLanguage language,
  4. OpenFoodFactsCountry? country,
  5. String? categories,
  6. String? shape,
  7. int limit = 25,
  8. UriProductHelper uriHelper = uriHelperFoodProd,
  9. User? user,
})

Implementation

static Future<List<String>> getSuggestions(
  final TagType taxonomyType, {
  final String input = '',
  required final OpenFoodFactsLanguage language,
  final OpenFoodFactsCountry? country,
  final String? categories,
  final String? shape,
  final int limit = 25,
  final UriProductHelper uriHelper = uriHelperFoodProd,
  final User? user,
}) async {
  final Map<String, String> queryParameters = <String, String>{
    'tagtype': taxonomyType.offTag,
    'lc': language.offTag,
    'string': input,
    if (country != null) 'cc': country.offTag,
    if (categories != null) 'categories': categories,
    if (shape != null) 'shape': shape,
    'limit': limit.toString(),
  };
  final Uri uri = uriHelper.getUri(
    path: '/api/v3/taxonomy_suggestions',
    queryParameters: queryParameters,
  );
  final Response response = await HttpHelper().doGetRequest(
    uri,
    user: user,
    uriHelper: uriHelper,
  );
  final Map<String, dynamic> map = HttpHelper().jsonDecode(response.body);
  final List<String> result = <String>[];
  if (map['suggestions'] != null) {
    for (dynamic value in map['suggestions']) {
      result.add(value.toString());
    }
  }
  return result;
}