decodeOrdinalTickProviderSpec static method

OrdinalTickProviderSpec? decodeOrdinalTickProviderSpec(
  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:

{
  "ticks": <List<TickSpec>>,
  "type": <"basic" | "static">
}

Implementation

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

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

    final type = map['type'];

    switch (type) {
      case 'basic':
        result = const charts.BasicOrdinalTickProviderSpec();
        break;

      case 'static':
        result = charts.StaticOrdinalTickProviderSpec(
          decodeTickSpecList<String>(
            map['ticks'],
            validate: false,
          )!,
        );
        break;

      default:
        throw Exception(
          '[decodeOrdinalTickProviderSpec]: unknown type encountered: [$type]',
        );
    }
  }

  return result;
}