toMap method
Safe conversion to Map<String, Object?>
Implementation
Map<String, Object?>? toMap() {
final Object? self = this;
if (self == null) return null;
if (self is Map<String, Object?>) return self;
if (self is Map) {
final Map<String, Object?> result = <String, Object?>{};
for (final MapEntry<Object?, Object?> entry in self.entries) {
final Object? key = entry.key;
final Object? value = entry.value;
result[key.toString()] = value;
}
return result;
}
// Try JSON parsing
if (self is String) {
try {
final Object? decoded = SafeParser.safeDecodeJson(self);
if (decoded is Map) {
final Map<String, Object?> result = <String, Object?>{};
for (final MapEntry<Object?, Object?> entry in decoded.entries) {
result[entry.key.toString()] = entry.value;
}
return result;
}
} catch (e) {
// Ignore JSON parsing errors
}
}
return null;
}