addFilter method

String addFilter(
  1. List values,
  2. List prefixes
)

Implementation

String addFilter(List values, List prefixes) {
  var filters = values;
  if (values.isEmpty || prefixes.isEmpty) {
    return "";
  }

  if (filters.length == 1) {
    var edit = filters[0].toString().split('');
    edit.insert(0, '?');
    final prefix = prefixes[0].toString().split('').toList();

    edit.insertAll(1, prefix);
    filters[0] = edit.join("");
  }
  if (filters.length > 1) {
    var edit = filters[0].toString().split('');
    edit.insert(0, '?');
    final prefix = prefixes[0].toString().split('').toList();

    edit.insertAll(1, prefix);
    edit.insert(edit.length, '&');
    filters[0] = edit.join("");
  }
  for (final i in filters.getRange(1, filters.length)) {
    if (filters.indexOf(i) < filters.length - 1) {
      var edit = i.toString().split('');
      edit.insert(edit.length, "&");
      final prefix =
          prefixes[filters.indexOf(i)].toString().split('').toList();
      edit.insertAll(0, prefix);
      filters[filters.indexOf(i)] = edit.join("");
    } else if (filters.indexOf(i) == filters.length - 1) {
      var edit = i.toString().split('');
      final prefix =
          prefixes[filters.indexOf(i)].toString().split('').toList();
      edit.insertAll(0, prefix);
      filters[filters.indexOf(i)] = edit.join("");
    }
  }
  return filters.join("");
}