decodeCupertinoTextThemeData static method

CupertinoTextThemeData? decodeCupertinoTextThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an CupertinoTextThemeData. This expects the given value to follow the structure below:

{
  "actionTextStyle": <TextStyle>,
  "dateTimePickerTextStyle": <TextStyle>,
  "navActionTextStyle": <TextStyle>,
  "navLargeTitleTextStyle":<TextStyle>,
  "navTitleTextStyle": <TextStyle>,
  "pickerTextStyle": <TextStyle>,
  "primaryColor": <Color>
  "tabLabelTextStyle": <TextStyle>,
  "textStyle": <TextStyle>,
}

See also:

Implementation

static CupertinoTextThemeData? decodeCupertinoTextThemeData(
  dynamic value, {
  bool validate = true,
}) {
  CupertinoTextThemeData? result;

  if (value is CupertinoTextThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/cupertino_text_theme_data',
      value: value,
      validate: validate,
    ));
    result = CupertinoTextThemeData(
      actionTextStyle: decodeTextStyle(
        value['actionTextStyle'],
        validate: false,
      ),
      // @deprecated
      // brightness
      dateTimePickerTextStyle: decodeTextStyle(
        value['dateTimePickerTextStyle'],
        validate: false,
      ),
      navActionTextStyle: decodeTextStyle(
        value['navActionTextStyle'],
        validate: false,
      ),
      navLargeTitleTextStyle: decodeTextStyle(
        value['navLargeTitleTextStyle'],
        validate: false,
      ),
      navTitleTextStyle: decodeTextStyle(
        value['navTitleTextStyle'],
        validate: false,
      ),
      pickerTextStyle: decodeTextStyle(
        value['pickerTextStyle'],
        validate: false,
      ),
      primaryColor: decodeColor(
            value['primaryColor'],
            validate: false,
          ) ??
          CupertinoColors.systemBlue,
      tabLabelTextStyle: decodeTextStyle(
        value['tabLabelTextStyle'],
        validate: false,
      ),
      textStyle: decodeTextStyle(
        value['textStyle'],
        validate: false,
      ),
    );
  }

  return result;
}