whenOrNull<T> method

T? whenOrNull<T>({
  1. T? network(
    1. String url,
    2. ImageParams params
    )?,
  2. T? base64(
    1. String base64Code,
    2. ImageParams params
    )?,
  3. T? filePathCall(
    1. String filePath,
    2. ImageParams params
    )?,
  4. T? asset(
    1. String assetPath,
    2. ImageParams params
    )?,
})

Implementation

T? whenOrNull<T>({
  T? Function(String url, ImageParams params)? network,
  T? Function(String base64Code, ImageParams params)? base64,
  T? Function(String filePath, ImageParams params)? filePathCall,
  T? Function(String assetPath, ImageParams params)? asset,
}) {
  return switch (this) {
    MyNetworkImage(:final url, :final params) => network?.call(url, params),
    MyBase64Image(:final base64Code, :final params) =>
      base64?.call(base64Code, params),
    MyFilePathImage(:final filePath, :final params) =>
      filePathCall?.call(filePath, params),
    MyAssetImage(:final assetPath, :final params) =>
      asset?.call(assetPath, params),
  };
}