decodeBarTargetLineRendererConfig<D> static method

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

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

{
  "barGroupInnerPaddingPx": <int>,
  "customRendererId": <String>,
  "dashPattern": <List<int>>,
  "groupingType": <BarGroupingType>,
  "layoutPaintOrder": <int>,
  "minBarLengthPx": <int>,
  "overDrawOuterPx": <int>,
  "overDrawPx": <int>,
  "roundEndCaps": <double>,
  "strokeWidthPx": <double>,
  "symbolRenderer": <SymbolRenderer>,
  "weightPattern": <List<int>>
}

See also:

Implementation

static common.BarTargetLineRendererConfig<D>?
    decodeBarTargetLineRendererConfig<D>(
  dynamic map, {
  bool validate = true,
}) {
  common.BarTargetLineRendererConfig<D>? result;

  if (map is common.BarTargetLineRendererConfig<D>) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/bar_target_line_renderer_config',
      value: map,
      validate: validate,
    ));
    result = charts.BarTargetLineRendererConfig<D>(
      barGroupInnerPaddingPx: JsonClass.parseInt(
            map['barGroupInnerPaddingPx'],
          ) ??
          2,
      customRendererId: map['customRendererId']?.toString(),
      dashPattern: map['dashPattern'] == null
          ? null
          : List<int>.from(
              map['dashPattern'].map((e) => JsonClass.parseInt(e)!),
            ),
      groupingType: decodeBarGroupingType(map['groupingType']) ??
          charts.BarGroupingType.grouped,
      layoutPaintOrder: JsonClass.parseInt(map['layoutPaintOrder']) ??
          charts.LayoutViewPaintOrder.bar,
      minBarLengthPx: JsonClass.parseInt(map['minBarLengthPx']) ?? 0,
      overDrawOuterPx: JsonClass.parseInt(map['overDrawOuterPx']),
      overDrawPx: JsonClass.parseInt(map['overDrawPx']) ?? 0,
      roundEndCaps: map['roundEndCaps'] == null
          ? true
          : JsonClass.parseBool(map['roundEndCaps']),
      strokeWidthPx: JsonClass.parseDouble(map['strokeWidthPx']) ?? 3.0,
      symbolRenderer: decodeSymbolRenderer(
        map['symbolRenderer'],
        validate: false,
      ),
      weightPattern: map['weightPattern'] == null
          ? null
          : ((map['weightPattern'] as List)
              .map((e) => JsonClass.parseInt(e)!)).toList(),
    );
  }

  return result;
}