select<T> static method

T select<T>({
  1. BuildContext? context,
  2. dynamic android,
  3. dynamic ios,
  4. dynamic fuchsia,
  5. dynamic web,
  6. dynamic macOS,
  7. dynamic windows,
  8. dynamic linux,
  9. dynamic defaultWhenNull,
})

Implementation

static T select<T>({BuildContext? context, dynamic android, dynamic ios,
  dynamic fuchsia, dynamic web, dynamic macOS,dynamic windows,
  dynamic linux,dynamic defaultWhenNull}) {
  var func;
  if (kIsWeb) {
    func = web;
  } else {
    func = {
      TargetPlatform.iOS: ios,
      TargetPlatform.android: android,
      TargetPlatform.fuchsia: fuchsia,
      TargetPlatform.macOS: macOS,
      TargetPlatform.windows: windows,
      TargetPlatform.linux: linux,
    }[get(context: context)];
  }
  if (func is Function) {
    return func();
  }
  if (func == null && defaultWhenNull is Function) {
    return defaultWhenNull();
  }
  return func ?? defaultWhenNull;
}