Weather constructor

Weather(
  1. Map<String, dynamic> jsonData
)

Implementation

Weather(Map<String, dynamic> jsonData) {
  Map<String, dynamic>? main = jsonData['main'];
  Map<String, dynamic>? coord = jsonData['coord'];
  Map<String, dynamic>? sys = jsonData['sys'];
  Map<String, dynamic>? wind = jsonData['wind'];
  Map<String, dynamic>? clouds = jsonData['clouds'];
  Map<String, dynamic>? rain = jsonData['rain'];
  Map<String, dynamic>? snow = jsonData['snow'];
  Map<String, dynamic>? weather = jsonData['weather'][0];

  _latitude = _unpackDouble(coord, 'lat');
  _longitude = _unpackDouble(coord, 'lon');

  _country = _unpackString(sys, 'country');
  _sunrise = _unpackDate(sys, 'sunrise');
  _sunset = _unpackDate(sys, 'sunset');

  _weatherData = jsonData;
  _weatherMain = _unpackString(weather, 'main');
  _weatherDescription = _unpackString(weather, 'description');
  _weatherIcon = _unpackString(weather, 'icon');
  _weatherConditionCode = _unpackInt(weather, 'id');

  _temperature = _unpackTemperature(main, 'temp');
  _tempMin = _unpackTemperature(main, 'temp_min');
  _tempMax = _unpackTemperature(main, 'temp_max');
  _tempFeelsLike = _unpackTemperature(main, 'feels_like');

  _humidity = _unpackDouble(main, 'humidity');
  _pressure = _unpackDouble(main, 'pressure');

  _windSpeed = _unpackDouble(wind, 'speed');
  _windDegree = _unpackDouble(wind, 'deg');
  _windGust = _unpackDouble(wind, 'gust');

  _cloudiness = _unpackDouble(clouds, 'all');

  _rainLastHour = _unpackDouble(rain, '1h');
  _rainLast3Hours = _unpackDouble(rain, '3h');

  _snowLastHour = _unpackDouble(snow, '1h');
  _snowLast3Hours = _unpackDouble(snow, '3h');

  _areaName = _unpackString(jsonData, 'name');
  _date = _unpackDate(jsonData, 'dt');
}