resolveTextDecoration static method

TextDecoration? resolveTextDecoration(
  1. dynamic value
)

Resolves text decoration from string to TextDecoration enum

Implementation

static TextDecoration? resolveTextDecoration(dynamic value) {
  if (value == null) return null;

  // If it's already a TextDecoration, return it directly
  if (value is TextDecoration) {
    return value;
  }

  // Otherwise, resolve as string
  if (value is String) {
    switch (value.toLowerCase()) {
      case 'underline':
        return TextDecoration.underline;
      case 'line-through':
      case 'lineThrough':
        return TextDecoration.lineThrough;
      case 'overline':
        return TextDecoration.overline;
      case 'none':
        return TextDecoration.none;
      default:
        throw ArgumentError(
          'Invalid text decoration: "$value". Supported values: underline, line-through, overline, none',
        );
    }
  }

  throw ArgumentError(
    'Text decoration must be a String or TextDecoration, got ${value.runtimeType}',
  );
}