dateTime static method

Tuple2<Getter, Setter> dateTime(
  1. Getter<DateTime?> getter,
  2. Setter<DateTime?> setter, {
  3. DateTimeConversion conversion = DateTimeConversion.microseconds,
})

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

conversion sets what value will be saved in the final Getter and Setter based on existing DateTime value.

Implementation

static Tuple2<Getter<dynamic>, Setter<dynamic>> dateTime(
  Getter<DateTime?> getter,
  Setter<DateTime?> setter, {
  DateTimeConversion conversion = DateTimeConversion.microseconds,
}) {
  final conversionGetter = _dateTimeGetters[conversion]!;
  final conversionConstructor = _dateTimeConstructors[conversion]!;
  return Tuple2(
    () {
      final gotten = getter();
      if (gotten == null) {
        return null;
      }
      return conversionGetter(gotten);
    },
    (val) => setter(
      val == null ? null : conversionConstructor(val as int),
    ),
  );
}