decodeLineRendererConfig<D> static method

LineRendererConfig<D>? decodeLineRendererConfig<D>(
  1. dynamic map, {
  2. bool validate = false,
})

Decodes the object from a Map-like dynamic structure. This expects the JSON format to be of the following structure:

{
  "areaOpacity": <double>,
  "customRendererId": <String>,
  "dashPattern": <List<int>>,
  "includeArea": <bool>,
  "includeLine": <bool>,
  "includePoints": <bool>,
  "layoutPaintOrder": <int>,
  "radiusPx": <double>,
  "roundEndCaps": <bool>,
  "stacked": <bool>,
  "strokeWidthPx": <double>,
  "symbolRenderer": <SymbolRenderer>
}

See also

Implementation

static charts.LineRendererConfig<D>? decodeLineRendererConfig<D>(
  dynamic map, {
  bool validate = false,
}) {
  charts.LineRendererConfig<D>? result;

  if (map is charts.LineRendererConfig<D>) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/line_renderer_config',
      value: map,
      validate: validate,
    ));
    result = charts.LineRendererConfig<D>(
      areaOpacity: JsonClass.parseDouble(map['areaOpacity']) ?? 0.1,
      customRendererId: map['customRendererId']?.toString(),
      dashPattern: map['dashPattern'] == null
          ? null
          : List<int>.from(
              map['dashPattern'].map((e) => JsonClass.parseInt(e)!),
            ),
      includeArea: JsonClass.parseBool(map['includeArea']),
      includeLine: JsonClass.parseBool(
        map[''],
        whenNull: true,
      ),
      includePoints: JsonClass.parseBool(map['includePoints']),
      layoutPaintOrder: JsonClass.parseInt(map['layoutPaintOrder']) ??
          charts.LayoutViewPaintOrder.line,
      radiusPx: JsonClass.parseDouble(map['radiusPx']) ?? 3.5,
      roundEndCaps: JsonClass.parseBool(map['roundEndCaps']),
      stacked: JsonClass.parseBool(map['stacked']),
      strokeWidthPx: JsonClass.parseDouble(map['strokeWidthPx']) ?? 2.0,
      symbolRenderer: decodeSymbolRenderer(
        map['symbolRenderer'],
        validate: false,
      ),
    );
  }

  return result;
}