encodeTextStyle static method

Map<String, dynamic>? encodeTextStyle(
  1. TextStyle? value
)

Encodes a given value into a JSON compatible Map structure. This will return the following structure:

{
  "backgroundColor": "<Color>",
  "color": "<Color>",
  "decoration": "<TextDecoration>",
  "decorationColor": "<Color>",
  "decorationStyle": "<TextDecorationStyle>",
  "decorationThickness": "<double>",
  "fontFamily": value['fontFamily'],
  "fontFamilyFallback": "<String[]>",
  "fontFeatures": "<FontFeature[]>",
  "fontSize": "<double>",
  "fontStyle": "<FontStyle>",
  "fontVariation": "<FontVariation>",
  "fontWeight": "<FontWeight>",
  "height": "<double>",
  "inherit": "<bool>",
  "leadingDistribution": "<TextLeadingDistribution>",
  "letterSpacing": "<double>",
  "locale": "<Locale>",
  "overflow": "<TextOverflow>",
  "package": "<String>",
  "shadows": "<Shadow[]>",
  "textBaseline": "<TextBaseline>",
  "wordSpacing": "<double>"
}

See also:

Implementation

static Map<String, dynamic>? encodeTextStyle(TextStyle? value) {
  Map<String, dynamic>? result;

  if (value != null) {
    result = <String, dynamic>{
      'backgroundColor': encodeColor(value.backgroundColor),
      'color': encodeColor(value.color),
      'decoration': encodeTextDecoration(value.decoration),
      'decorationColor': encodeColor(value.decorationColor),
      'decorationStyle': encodeTextDecorationStyle(value.decorationStyle),
      'decorationThickness': value.decorationThickness,
      'fontFamily': value.fontFamily,
      'fontFamilyFallback': value.fontFamilyFallback,
      'fontFeatures': value.fontFeatures
          ?.map(
            (value) => encodeFontFeature(value),
          )
          .toList(),
      'fontSize': value.fontSize,
      'fontStyle': encodeFontStyle(value.fontStyle),
      'fontVariations': value.fontVariations
          ?.map(
            (e) => encodeFontVariation(e),
          )
          .toList(),
      'fontWeight': encodeFontWeight(value.fontWeight),
      'height': value.height,
      'inherit': value.inherit,
      'leadingDistribution': encodeTextLeadingDistribution(
        value.leadingDistribution,
      ),
      'letterSpacing': value.letterSpacing,
      'locale': encodeLocale(value.locale),
      'overflow': encodeTextOverflow(value.overflow),
      'shadows': value.shadows
          ?.map(
            (value) => encodeShadow(value),
          )
          .toList(),
      'textBaseline': encodeTextBaseline(value.textBaseline),
      'wordSpacing': value.wordSpacing,
    };
  }

  return _stripDynamicNull(result);
}