maybeWhen<TResult extends Object?> method

  1. @optionalTypeArgs
TResult maybeWhen<TResult extends Object?>(
  1. TResult $default(
    1. double? width,
    2. double? height,
    3. double? size,
    4. BoxFit? fit,
    5. BorderRadius? borderRadius,
    6. BoxShape? shape,
    7. bool enableMemoryCache,
    8. String? heroTag,
    9. bool isSelected,
    10. Widget? errorWidget,
    11. VoidCallback? onTap,
    12. Color? color,
    13. bool clearMemoryCacheIfFailed,
    14. bool clearMemoryCacheWhenDispose,
    15. bool gaplessPlayback,
    16. BlendMode? colorBlendMode,
    17. FilterQuality filterQuality,
    18. double? scale,
    19. Map<String, String> headers,
    20. bool cache,
    21. int retries,
    22. Duration? timeLimit,
    23. Duration timeRetry,
    24. CancellationToken? cancelToken,
    25. String? cacheKey,
    26. bool printError,
    27. bool cacheRawData,
    28. String? imageCacheName,
    29. Duration? cacheMaxAge,
    30. int? cacheWidth,
    31. int? cacheHeight,
    32. double? compressionRatio,
    33. int? maxBytes,
    34. String? package,
    35. AssetBundle? bundle,
    36. CustomCompletedWidget? customCompletedWidget,
    37. Widget? customLoadingWidget,
    38. InitEditorConfigHandler? initEditorConfigHandler,
    39. Key? extendedImageEditorKey,
    40. ExtendedImageMode? mode,
    )?, {
  2. required TResult orElse(),
})

A variant of when that fallback to an orElse callback.

It is equivalent to doing:

switch (sealedClass) {
  case Subclass(:final field):
    return ...;
  case _:
    return orElse();
}

Implementation

@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>(
  TResult Function(
          double? width,
          double? height,
          double? size,
          @igFreezedJson BoxFit? fit,
          @igFreezedJson BorderRadius? borderRadius,
          @igFreezedJson BoxShape? shape,
          bool enableMemoryCache,
          String? heroTag,
          bool isSelected,
          @igFreezedJson Widget? errorWidget,
          @igFreezedJson VoidCallback? onTap,
          @igFreezedJson Color? color,
          bool clearMemoryCacheIfFailed,
          bool clearMemoryCacheWhenDispose,
          bool gaplessPlayback,
          @igFreezedJson BlendMode? colorBlendMode,
          FilterQuality filterQuality,
          double? scale,
          Map<String, String> headers,
          bool cache,
          int retries,
          @igFreezedJson Duration? timeLimit,
          @igFreezedJson Duration timeRetry,
          @igFreezedJson CancellationToken? cancelToken,
          String? cacheKey,
          bool printError,
          bool cacheRawData,
          String? imageCacheName,
          @igFreezedJson Duration? cacheMaxAge,
          int? cacheWidth,
          int? cacheHeight,
          double? compressionRatio,
          int? maxBytes,
          String? package,
          @igFreezedJson AssetBundle? bundle,
          @Doc(message: '自定义完成小部件')
          @igFreezedJson
          CustomCompletedWidget? customCompletedWidget,
          @igFreezedJson Widget? customLoadingWidget,
          @igFreezedJson InitEditorConfigHandler? initEditorConfigHandler,
          @igFreezedJson Key? extendedImageEditorKey,
          @igFreezedJson ExtendedImageMode? mode)?
      $default, {
  required TResult orElse(),
}) {
  final _that = this;
  switch (_that) {
    case _ImageParams() when $default != null:
      return $default(
          _that.width,
          _that.height,
          _that.size,
          _that.fit,
          _that.borderRadius,
          _that.shape,
          _that.enableMemoryCache,
          _that.heroTag,
          _that.isSelected,
          _that.errorWidget,
          _that.onTap,
          _that.color,
          _that.clearMemoryCacheIfFailed,
          _that.clearMemoryCacheWhenDispose,
          _that.gaplessPlayback,
          _that.colorBlendMode,
          _that.filterQuality,
          _that.scale,
          _that.headers,
          _that.cache,
          _that.retries,
          _that.timeLimit,
          _that.timeRetry,
          _that.cancelToken,
          _that.cacheKey,
          _that.printError,
          _that.cacheRawData,
          _that.imageCacheName,
          _that.cacheMaxAge,
          _that.cacheWidth,
          _that.cacheHeight,
          _that.compressionRatio,
          _that.maxBytes,
          _that.package,
          _that.bundle,
          _that.customCompletedWidget,
          _that.customLoadingWidget,
          _that.initEditorConfigHandler,
          _that.extendedImageEditorKey,
          _that.mode);
    case _:
      return orElse();
  }
}