get method

  1. @override
List<Map<String, dynamic>>? get(
  1. dynamic value
)
override

Convert database value to model property value

Implementation

@override
List<Map<String, dynamic>>? get(dynamic value) {
  if (value == null) return null;
  if (value is List<Map<String, dynamic>>) return value;
  if (value is List) {
    return value.map((e) {
      if (e is Map<String, dynamic>) return e;
      if (e is Map) return Map<String, dynamic>.from(e);
      return <String, dynamic>{};
    }).toList();
  }
  if (value is String) {
    try {
      final decoded = jsonDecode(value);
      if (decoded is List) {
        return decoded.map((e) {
          if (e is Map<String, dynamic>) return e;
          if (e is Map) return Map<String, dynamic>.from(e);
          return <String, dynamic>{};
        }).toList();
      }
    } catch (_) {
      return null;
    }
  }
  return null;
}