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