fix: update ExperienceAdapter to ensure consistent return type and improve null handling
This commit is contained in:
@@ -1,23 +1,18 @@
|
|||||||
import 'package:flutter/foundation.dart';
|
|
||||||
|
|
||||||
/// Adapter for Experience data (skills/industries) to map data layer values to domain models.
|
/// Adapter for Experience data (skills/industries) to map data layer values to domain models.
|
||||||
class ExperienceAdapter {
|
class ExperienceAdapter {
|
||||||
/// Converts a dynamic list (from backend AnyValue) to List<String>.
|
/// Converts a dynamic list (from backend AnyValue) to List<String>.
|
||||||
///
|
///
|
||||||
/// Handles nulls and converts elements to Strings.
|
/// Handles nulls and converts elements to Strings.
|
||||||
static List<String> fromDynamicList(dynamic data) {
|
static List<String> fromDynamicList(dynamic data) {
|
||||||
if (data == null) return [];
|
if (data == null) return <String>[];
|
||||||
|
|
||||||
if (data is List) {
|
if (data is List) {
|
||||||
return data
|
return data
|
||||||
.where((e) => e != null)
|
.where((dynamic e) => e != null)
|
||||||
.map((e) => e.toString())
|
.map((dynamic e) => e.toString())
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
// In case it comes as a map or single value, we treat it as empty or single?
|
return <String>[];
|
||||||
// Safer to just return empty if not a list for now.
|
|
||||||
debugPrint('ExperienceAdapter: Expected List but got ${data.runtimeType}');
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user