toStringKeyMap static method
Map<String, dynamic>
toStringKeyMap(
- Map? input, {
- DiagnosticCaptureMode captureMode = DiagnosticCaptureMode.strict,
- DiagnosticResourceLimits resourceLimits = DiagnosticResourceLimits.balanced,
- int? maxEntries,
Converts a map with arbitrary key types into a Map<String, dynamic>.
The result is always bounded. Strict capture replaces caller-defined
objects with stable markers; balanced capture may use guarded toJson()
or toString() before applying the same output limits.
Implementation
static Map<String, dynamic> toStringKeyMap(
Map<dynamic, dynamic>? input, {
DiagnosticCaptureMode captureMode = DiagnosticCaptureMode.strict,
DiagnosticResourceLimits resourceLimits = DiagnosticResourceLimits.balanced,
int? maxEntries,
}) {
resourceLimits.validate();
if (input == null) return <String, dynamic>{};
final bounded = _boundedSnapshot(
input,
redactionActive: false,
preserveTypes: true,
captureMode: captureMode,
resourceLimits: resourceLimits,
);
final result = bounded is Map<String, Object?>
? Map<String, dynamic>.from(bounded)
: <String, dynamic>{};
return maxEntries == null ? result : _limitStringMap(result, maxEntries);
}