model<T extends GenericModel> static method

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

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

supplier should generate a new mutable version of this GenericModel

Implementation

static Tuple2<Getter<dynamic>, Setter<dynamic>> model<T extends GenericModel>(
  Getter<T?> getter,
  Setter<T?> setter,
  Getter<T> supplier,
) =>
    Tuple2(
      () => getter()?.toMap(),
      (val) => setter(
        val == null
            ? null
            : (supplier()..loadFromMap(val as Map<String, dynamic>)),
      ),
    );