parseToSQLAction static method

String parseToSQLAction(
  1. MapEntry<String, dynamic> entry
)

Implementation

static String parseToSQLAction(MapEntry<String, dynamic> entry) {
  List<String> split = entry.key.split('.');
  String? param = split.isNotEmpty ? split[0] : null;
  String? action = split.length > 1 ? split[1] : null;
  dynamic value = entry.value;

  if (action == null || action.isEmpty || param == null) return "";

  switch (action) {
    case CONTAINS:
      return "$param LIKE '%$value%'";
    case EQUALS:
      return "$param = $value";
    case IN:
      return "$param IN $value";
    case SPECIFIED:
      return "$param IS ${value ? 'NOT NULL' : 'NULL'}";
    case GREATER_OR_EQUAL_THAN:
      return "$param >= $value";
    case GREATER_THAN:
      return "$param > $value";
    case LESS_OR_EQUAL_THAN:
      return "$param <= $value";
    case LESS_THAN:
      return "$param < $value";
  }
  return "";
}