decodeOrdinalAxisSpec static method

OrdinalAxisSpec? decodeOrdinalAxisSpec(
  1. dynamic map, {
  2. bool validate = true,
})

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

{
  "renderSpec": <RenderSpec<String>>,
  "scaleSpec": <OrdinalScaleSpec>,
  "showAxisLine": <bool>,
  "tickFormatterSpec": <OrdinalTickFormatterSpec>,
  "tickProviderSpec": <OrdinalTickProviderSpec>,
  "viewport": <OrdinalViewport>
}

See also:

Implementation

static charts.OrdinalAxisSpec? decodeOrdinalAxisSpec(
  dynamic map, {
  bool validate = true,
}) {
  charts.OrdinalAxisSpec? result;

  if (map is charts.OrdinalAxisSpec) {
    result = map;
  } else if (map != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/ordinal_axis_spec',
      value: map,
      validate: validate,
    ));

    result = charts.OrdinalAxisSpec(
      renderSpec: decodeRenderSpec<String>(
        map['renderSpec'],
        validate: false,
      ),
      scaleSpec: map['scaleSpec'],
      showAxisLine: map['showAxisLine'] == null
          ? null
          : JsonClass.parseBool(map['showAxisLine']),
      tickFormatterSpec: decodeOrdinalTickFormatterSpec(
        map['tickFormatterSpec'],
        validate: false,
      ),
      tickProviderSpec: decodeOrdinalTickProviderSpec(
        map['tickProviderSpec'],
        validate: false,
      ),
      viewport: decodeOrdinalViewport(
        map['viewport'],
        validate: false,
      ),
    );
  }

  return result;
}