escapeSpecialFieldValues static method

dynamic escapeSpecialFieldValues(
  1. dynamic params
)

Escape a special value before sending it out to Meteor server ex. createdAt: DateTime Instance 2020-08-30 23:15:57.471 become createdAt: {$date: 1598804210504}

Implementation

static dynamic escapeSpecialFieldValues(dynamic params) {
  if (params is DateTime) {
    return {
      '\$date': params.millisecondsSinceEpoch,
    };
  } else if (params is List) {
    return params.map((param) => escapeSpecialFieldValues(param)).toList();
  } else if (params is Map) {
    var newMap = <String, dynamic>{};
    params.forEach((key, value) {
      newMap[key] = escapeSpecialFieldValues(value);
    });
    return newMap;
  }
  return params;
}