coerceDynamic function

dynamic coerceDynamic(
  1. dynamic value
)

Coerces a value already produced by jsonDecode (or nested inside one).

Implementation

dynamic coerceDynamic(dynamic value) {
  if (value == null) return null;

  return switch (value) {
    final Map<dynamic, dynamic> map => {
        for (final entry in map.entries) entry.key: coerceDynamic(entry.value),
      },
    final List<dynamic> list => [
        for (final element in list) coerceDynamic(element),
      ],
    final String string => coerce(string),
    _ => value,
  };
}