when<OperatingSystemResult extends Object?> method

OperatingSystemResult when<OperatingSystemResult extends Object?>({
  1. required OperatingSystemResult android(),
  2. required OperatingSystemResult fuchsia(),
  3. required OperatingSystemResult iOS(),
  4. required OperatingSystemResult linux(),
  5. required OperatingSystemResult macOS(),
  6. required OperatingSystemResult windows(),
  7. required OperatingSystemResult unknown(),
})

Run callback on specific operation system

Implementation

OperatingSystemResult when<OperatingSystemResult extends Object?>({
  required OperatingSystemResult Function() android,
  required OperatingSystemResult Function() fuchsia,
  required OperatingSystemResult Function() iOS,
  required OperatingSystemResult Function() linux,
  required OperatingSystemResult Function() macOS,
  required OperatingSystemResult Function() windows,
  required OperatingSystemResult Function() unknown,
}) {
  switch (this) {
    case OperatingSystem.windows:
      return windows();
    case OperatingSystem.linux:
      return linux();
    case OperatingSystem.macOS:
      return macOS();
    case OperatingSystem.iOS:
      return iOS();
    case OperatingSystem.android:
      return android();
    case OperatingSystem.fuchsia:
      return fuchsia();
    case OperatingSystem.unknown:
    default:
      return unknown();
  }
}