encodeTextStyle static method
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);
}