deepCast static method

Map<String, dynamic> deepCast(
  1. Map source
)

converts Map<dynamic, dynamic> to Map<String, dynamic> for all children forcing all keys to be strings

Implementation

static Map<String, dynamic> deepCast(Map<dynamic, dynamic> source) {
  return source.map((key, value) {
    final castedValue;
    if (value is Map) {
      castedValue = deepCast(value);
    } else if (value is List) {
      castedValue = _deepCastList(value);
    } else {
      castedValue = value;
    }
    return MapEntry(key.toString(), castedValue);
  });
}