AdaptiveIfPlatform<T> function

T AdaptiveIfPlatform<T>({
  1. required BuildContext context,
  2. required T ifNotSpecified,
  3. T? ifWeb,
  4. T? ifIos,
  5. T? ifMacos,
  6. T? ifAndroid,
  7. T? ifLinux,
  8. T? ifWindows,
})

Implementation

T AdaptiveIfPlatform<T>(
    {required BuildContext context,
    required T ifNotSpecified,
    T? ifWeb,
    T? ifIos,
    T? ifMacos,
    T? ifAndroid,
    T? ifLinux,
    T? ifWindows}) {
  AdaptiveData adaptiveData = AdaptiveData.of(context);
  PlatformIs platformIs = adaptiveData.platform;

  if ((ifWeb != null) && platformIs == PlatformIs.web) return ifWeb;
  if (platformIs == PlatformIs.android && ifAndroid != null) {
    return ifAndroid;
  } else if (platformIs == PlatformIs.ios && ifIos != null) {
    return ifIos;
  } else if (platformIs == PlatformIs.macos && ifMacos != null) {
    return ifMacos;
  } else if (platformIs == PlatformIs.windows && ifWindows != null) {
    return ifWindows;
  } else if (platformIs == PlatformIs.linux && ifLinux != null) {
    return ifLinux;
  }

  return ifNotSpecified;
}