decode method

  1. @override
Map<String, Object?>? decode(
  1. Object? value
)

Implementation

@override
Map<String, Object?>? decode(Object? value) {
  if (value == null) return null;
  // Handle both Map (from factory/app code) and String (from database)
  if (value is Map<String, Object?>) return value;
  if (value is Map) {
    return value.map((key, dynamic entry) => MapEntry(key.toString(), entry));
  }
  final decoded = jsonDecode(value as String) as Map<String, dynamic>;
  return decoded.map((key, dynamic entry) => MapEntry(key, entry));
}