parseTextStyle static method

TextStyle? parseTextStyle(
  1. Object? source,
  2. bool dark
)

Implementation

static TextStyle? parseTextStyle(Object? source, bool dark) {
  if (source is! Map || source.isEmpty) return null;
  final shadows = source["shadows"];
  final fontFamilyFallback = source["fontFamilyFallback"];
  return TextStyle(
    backgroundColor: parseThemedColor(source['backgroundColor'], dark),
    debugLabel: parseString(source['debugLabel']),
    fontFamilyFallback: fontFamilyFallback is List
        ? fontFamilyFallback.map(parseString).whereType<String>().toList()
        : null,
    inherit: parseBool(source['inherit']) ?? true,
    leadingDistribution: parseEnum(
      source['leadingDistribution'],
      TextLeadingDistribution.values,
    ),
    locale: parseLocale(source['locale']),
    package: parseString(source['package']),
    textBaseline: parseEnum(source['textBaseline'], TextBaseline.values),
    color: parseThemedColor(source['color'], dark),
    fontSize: parseDouble(source['fontSize']),
    fontWeight: parserFontWeight(source['fontWeight']),
    fontStyle: parseFontStyle(source['fontStyle']),
    fontFamily: parseString(source['fontFamily']),
    letterSpacing: parseDouble(source['letterSpacing']),
    wordSpacing: parseDouble(source['wordSpacing']),
    height: parseDouble(source['height']),
    shadows: shadows is List
        ? shadows
            .map((e) => parseShadow(e, dark))
            .whereType<Shadow>()
            .toList()
        : null,
    decoration: parseTextDecoration(source['decoration']),
    decorationColor: parseThemedColor(source['decorationColor'], dark),
    decorationStyle: parseDecorationStyle(source['decorationStyle']),
    decorationThickness: parseDouble(source['decorationThickness']),
    overflow: parseEnum(source['overflow'], TextOverflow.values),
  );
}