processSingle<Parameter extends Enum> function

Map<Parameter, WeatherParameterData>? processSingle<Parameter extends Enum>(
  1. VariablesWithTime? data,
  2. Parameter? converter(
    1. VariableWithValues
    )
)

Implementation

Map<Parameter, WeatherParameterData>? processSingle<Parameter extends Enum>(
  VariablesWithTime? data,
  Parameter? Function(VariableWithValues) converter,
) {
  if (data == null) return null;
  List<VariableWithValues>? variables = data.variables;
  if (variables == null) return null;

  DateTime timestamp = DateTime.fromMillisecondsSinceEpoch(data.time * 1000);

  return Map.fromEntries(variables.map((v) {
    Parameter? variable = converter(v);
    if (variable == null) return null;

    return MapEntry(
      variable,
      WeatherParameterData._(
        unit: unitsMap[v.unit],
        data: {timestamp: v.value},
      ),
    );
  }).nonNulls);
}