decodeSeriesRendererConfig<D> static method

SeriesRendererConfig<D>? decodeSeriesRendererConfig<D>(
  1. dynamic map, {
  2. bool validate = true,
})

Decodes a dynamic value to an appropriate charts.SeriesRendererConfig. Which renderer is used is determined by the "type", and the schema is then specific to that type. The following types are supported:

Implementation

static charts.SeriesRendererConfig<D>? decodeSeriesRendererConfig<D>(
  dynamic map, {
  bool validate = true,
}) {
  charts.SeriesRendererConfig<D>? result;

  if (map is charts.SeriesRendererConfig<D>) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/series_renderer_config',
      value: map,
      validate: validate,
    ));

    final type = map['type'];
    switch (type) {
      case 'arc':
        result = decodeArcRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      case 'bar':
        result = decodeBarRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      case 'bar_target_line':
        result = decodeBarTargetLineRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      case 'line':
        result = decodeLineRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      case 'point':
        result = decodePointRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      case 'symbol_annotation':
        result = decodeSymbolAnnotationRendererConfig<D>(
          map,
          validate: false,
        );
        break;

      default:
        throw Exception(
          'Unknown [SeriesRendererConfig.type] encountered: [$type]',
        );
    }
  }

  return result;
}