translate method

Map<String, dynamic> translate(
  1. Map<String, dynamic> json,
  2. List<String> props
)

Implementation

Map<String, dynamic> translate(
  final Map<String, dynamic> json,
  final List<String> props,
) {
  if (json.isEmpty) return const <String, dynamic>{};

  final result = <String, dynamic>{};
  for (final entry in json.entries) {
    if (entry.key == r'$type') {
      result[entry.key] = entry.value;
    } else if (props.contains(entry.key)) {
      result[entry.key] = entry.value;
    } else {
      result[r'$unknown'] ??= <String, dynamic>{};
      result[r'$unknown']![entry.key] = entry.value;
    }
  }

  return result;
}