modelMap<T extends GenericModel> static method

Tuple2<Getter, Setter> modelMap<T extends GenericModel>(
  1. Getter<Map<String, T>?> getter,
  2. Setter<Map<String, T>?> setter,
  3. Getter<T> supplier
)

Converts the pair of Getter and Setter for a Map of GenericModel into the appropriate serialized type.

supplier should generate a new mutable version of this GenericModel

Implementation

static Tuple2<Getter<dynamic>, Setter<dynamic>>
    modelMap<T extends GenericModel>(
  Getter<Map<String, T>?> getter,
  Setter<Map<String, T>?> setter,
  Getter<T> supplier,
) =>
        Tuple2(
          () => getter()?.map((key, value) => MapEntry(key, value.toMap())),
          (val) => setter(
            (val as Map<String, dynamic>?)?.map<String, T>(
              (key, value) => MapEntry(
                key,
                supplier()..loadFromMap(value as Map<String, dynamic>),
              ),
            ),
          ),
        );