fieldTypeOrNull static method

String? fieldTypeOrNull(
  1. dynamic unknown
)

Assumes unknown is a TFieldRecord or FieldModel and tries to get the fieldType property, or returns null.

FieldModel.fieldType is declared dynamic because it can be assigned a Type literal (e.g. fieldType: String) directly. The direct as String cast would throw for non-String values, so we fall back to .toString() — which on a Type returns the type's display name.

Implementation

static String? fieldTypeOrNull(dynamic unknown) {
  try {
    final raw = unknown.fieldType;
    if (raw == null) return null;
    if (raw is String) return raw;
    return raw.toString();
  } catch (_) {
    try {
      final raw = unknown.$2;
      if (raw == null) return null;
      if (raw is String) return raw;
      return raw.toString();
    } catch (_) {
      return null;
    }
  }
}