modelList<T extends GenericModel> static method

Tuple2<Getter, Setter> modelList<T extends GenericModel>(
  1. Getter<List<T>?> getter,
  2. Setter<List<T>?> setter,
  3. Getter<T> supplier
)

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

supplier should generate a new mutable version of this GenericModel

Implementation

static Tuple2<Getter<dynamic>, Setter<dynamic>>
    modelList<T extends GenericModel>(
  Getter<List<T>?> getter,
  Setter<List<T>?> setter,
  Getter<T> supplier,
) =>
        Tuple2(
          () => getter()?.map((e) => e.toMap()).toList(),
          (val) => setter(
            (val as List<dynamic>?)
                ?.map<T>(
                  (e) => supplier()..loadFromMap(e as Map<String, dynamic>),
                )
                .toList(),
          ),
        );