dvCanonicalJson function

Object? dvCanonicalJson(
  1. Object? value
)

value with every map's keys sorted, recursively.

Implementation

Object? dvCanonicalJson(Object? value) {
  if (value is Map) {
    final List<String> keys = <String>[
      for (final Object? key in value.keys) '$key',
    ]..sort();
    return <String, Object?>{
      for (final String key in keys) key: dvCanonicalJson(value[key]),
    };
  }
  if (value is Iterable) {
    return <Object?>[for (final Object? item in value) dvCanonicalJson(item)];
  }
  return value;
}