resolveTextAlign static method

TextAlign? resolveTextAlign(
  1. dynamic value
)

Resolves text alignment from string to TextAlign enum

Implementation

static TextAlign? resolveTextAlign(dynamic value) {
  if (value == null) return null;

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

  // Otherwise, resolve as string
  if (value is String) {
    switch (value.toLowerCase()) {
      case 'left':
        return TextAlign.left;
      case 'right':
        return TextAlign.right;
      case 'center':
        return TextAlign.center;
      case 'justify':
        return TextAlign.justify;
      case 'start':
        return TextAlign.start;
      case 'end':
        return TextAlign.end;
      default:
        throw ArgumentError(
          'Invalid text alignment: "$value". Supported values: left, right, center, justify, start, end',
        );
    }
  }

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