toJson method

Map<String, Object?> toJson()

Serializes to json object

Implementation

Map<String, Object?> toJson() {
  final json = <String, Object?>{};
  final groupOperators = _groupOperators.map((it) => it.rawValue);

  if (groupOperators.contains(operator)) {
    // Filters with group operators are encoded in the following form:
    // { $<operator>: [ <filter 1>, <filter 2> ] }
    json[operator!] = value;
  } else if (operator != null) {
    // Normal filters are encoded in the following form:
    // { key: { $<operator>: <value> } }
    json[key!] = {operator: value};
  } else if (key != null) {
    json[key!] = value;
  } else {
    return value as Map<String, Object?>;
  }

  return json;
}