import 'dart:collection'; extension MapExtensions on Map { Map get deepCopy => {...this}; /// Returns the values of a [Map] at given [keys] indices. Iterable valuesByKeys({required Iterable keys}) => keys.map((final key) => this[key]!); } extension LinkedHashMapExtensions on LinkedHashMap { /// Updated the value at [valueIndex] to [newValue], in addition to preserving the order. void updateValueAt({ required int valueIndex, required B newValue, }) => this[keys.toList()[valueIndex]] = newValue; }