TafTemperature constructor

TafTemperature(
  1. String? code,
  2. RegExpMatch? match,
  3. DateTime time
)

Implementation

TafTemperature(String? code, RegExpMatch? match, DateTime time)
    : super(null) {
  _code = code;
  time = DateTime(time.year, time.month, time.day, time.hour, 0, 0);

  if (match == null) {
    _time = null;
  } else {
    final sign = match.namedGroup('sign');
    final temp = match.namedGroup('temp');

    if (sign != null) {
      _setTemperature('-$temp');
    } else {
      _setTemperature(temp);
    }

    final day = int.parse(match.namedGroup('day')!);
    final hour = int.parse(match.namedGroup('hour')!);

    time = DateTime(time.year, time.month, time.day, hour, 0, 0);
    if (day == time.day) {
      _time = Time(time: time);
    } else {
      time = time.add(const Duration(days: 1));
      _time = Time(time: time);
    }
  }
}