safe<T> method
T
safe<T>({
- required T android(),
- required T ios(),
- required T web(),
- required T macos(),
- T desktop()?,
Safely calls the platform-specific action for current platform.
Implementation
T safe<T>({
required T Function() android,
required T Function() ios,
required T Function() web,
required T Function() macos,
T Function()? desktop,
}) {
if (current_platform.isAndroid) {
return android();
} else if (current_platform.isIOS) {
return ios();
} else if (current_platform.isMacOS) {
return macos();
} else if (current_platform.isWeb) {
return web();
} else if (current_platform.isLinux || current_platform.isWindows) {
if (desktop != null) {
return desktop();
}
throw UnsupportedError(
'No desktop handler provided for this action on Linux/Windows',
);
}
throw UnsupportedError('Unknown platform');
}