19 lines
585 B
Dart
19 lines
585 B
Dart
import 'logs.dart';
|
|
|
|
extension TryGetMapExtension on Map<String, dynamic> {
|
|
T tryGet<T>(String key, [T fallbackValue]) {
|
|
final value = this[key];
|
|
if (value != null && !(value is T)) {
|
|
Logs.warning(
|
|
'Expected "${T.runtimeType}" in event content for the Key "$key" but got "${value.runtimeType}".');
|
|
return fallbackValue;
|
|
}
|
|
if (value == null && fallbackValue != null) {
|
|
Logs.warning(
|
|
'Required field in event content for the Key "$key" is null. Set to "$fallbackValue".');
|
|
return fallbackValue;
|
|
}
|
|
return value;
|
|
}
|
|
}
|