dtoToTrendData function

GeneratorTrendData dtoToTrendData(
  1. List<TrendValueDTO> response,
  2. GeneratorTrend trend
)

Maps historical parameter values from the Clean energy API into Generator trend data that can be used by the generator trends page.

Implementation

GeneratorTrendData dtoToTrendData(
  List<TrendValueDTO> response,
  GeneratorTrend trend,
) {
  final Map<DateTime, double> values = {};
  double? minValue;
  double? maxValue;

  for (final responseValue in response) {
    final created = responseValue.createdTimestamp;
    final value = responseValue.$value;

    if (created == null || value == null) continue;

    values[created] = value;

    if (minValue == null || value < minValue) {
      minValue = value;
    }

    if (maxValue == null || value > maxValue) {
      maxValue = value;
    }
  }

  return GeneratorTrendData(
    trend: trend,
    values: values,
    minValue: minValue,
    maxValue: maxValue,
  );
}