iswitch<$T> method

$T iswitch<$T>({
  1. required $T sdk(
    1. SdkPackageDependencySpec
    ),
  2. required $T git(
    1. GitPackageDependencySpec
    ),
  3. required $T path(
    1. PathPackageDependencySpec
    ),
  4. required $T hosted(
    1. HostedPackageDependencySpec
    ),
})
inherited

Implementation

$T iswitch<$T>({
  required $T Function(SdkPackageDependencySpec) sdk,
  required $T Function(GitPackageDependencySpec) git,
  required $T Function(PathPackageDependencySpec) path,
  required $T Function(HostedPackageDependencySpec) hosted,
}) {
  if (this.sdk != null) {
    return sdk(this.sdk!);
  } else if (this.git != null) {
    return git(this.git!);
  } else if (this.path != null) {
    return path(this.path!);
  } else if (this.hosted != null) {
    return hosted(this.hosted!);
  } else {
    throw StateError(
        "an instance of $PackageDependencySpec has no case selected");
  }
}