decodeTickFormatterSpec<D> static method
Decodes the object from a Map-like dynamic structure. This expects the JSON format to be of the following structure:
{
"format": <String>,
"type": <"date_time" | "numeric" | "ordinal">
}
Implementation
static charts.TickFormatterSpec<D>? decodeTickFormatterSpec<D>(
dynamic map, {
bool validate = true,
}) {
charts.TickFormatterSpec? result;
if (map is charts.TickFormatterSpec<D>) {
result = map;
} else if (map is DateFormat) {
result = decodeDateTimeTickFormatterSpec(
map,
validate: false,
);
} else if (map is NumberFormat) {
result = decodeNumericTickFormatterSpec(
map,
validate: false,
);
} else if (map != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/tick_formatter_spec',
value: map,
validate: validate,
));
final type = map['type'];
switch (type) {
case 'auto_date_time':
case 'date_time':
result = decodeDateTimeTickFormatterSpec(
map,
validate: false,
);
break;
case 'numeric':
result = decodeNumericTickFormatterSpec(
map,
validate: false,
);
break;
case 'ordinal':
result = decodeOrdinalTickFormatterSpec(
map,
validate: false,
);
break;
default:
throw Exception(
'[decodeTickFormatterSpec]: unknown type encountered: [$type]',
);
}
}
return result as charts.TickFormatterSpec<D>?;
}