Skip to content

Commit

Permalink
Add typedef for ErrorListener
Browse files Browse the repository at this point in the history
  • Loading branch information
Carapacik committed Sep 15, 2023
1 parent 7828f43 commit a443648
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 21 deletions.
11 changes: 5 additions & 6 deletions cached_network_image/lib/src/image_provider/_image_loader.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ class ImageLoader implements platform.ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
VoidCallback? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
Expand All @@ -38,7 +39,7 @@ class ImageLoader implements platform.ImageLoader {
maxHeight,
maxWidth,
headers,
(_) {},
(_) => errorListener?.call(),

Check warning on line 42 in cached_network_image/lib/src/image_provider/_image_loader.dart

View check run for this annotation

Codecov / codecov/patch

cached_network_image/lib/src/image_provider/_image_loader.dart#L42

Added line #L42 was not covered by tests
imageRenderMethodForWeb,
evictImage,
);
Expand All @@ -54,7 +55,7 @@ class ImageLoader implements platform.ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
ErrorListener? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
Expand All @@ -80,12 +81,12 @@ class ImageLoader implements platform.ImageLoader {
String url,
String? cacheKey,
StreamController<ImageChunkEvent> chunkEvents,
_FileDecoderCallback decode,
Future<ui.Codec> Function(Uint8List) decode,
BaseCacheManager cacheManager,
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
ErrorListener? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) async* {
Expand Down Expand Up @@ -143,5 +144,3 @@ class ImageLoader implements platform.ImageLoader {
await chunkEvents.close();
}
}

typedef _FileDecoderCallback = Future<ui.Codec> Function(Uint8List);
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'dart:ui' as ui show Codec;

import 'package:cached_network_image/src/image_provider/multi_image_stream_completer.dart';
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart'
show ImageRenderMethodForWeb;
show ErrorListener, ImageRenderMethodForWeb;
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart'
if (dart.library.io) '_image_loader.dart'
if (dart.library.html) 'package:cached_network_image_web/cached_network_image_web.dart'
Expand Down Expand Up @@ -44,7 +44,7 @@ class CachedNetworkImageProvider
final double scale;

/// Listener to be called when images fails to load.
final ValueChanged<Object>? errorListener;
final ErrorListener? errorListener;

/// Set headers for the image provider, for example for authentication
final Map<String, String>? headers;
Expand Down Expand Up @@ -104,6 +104,7 @@ class CachedNetworkImageProvider
maxHeight,
maxWidth,
headers,
() => errorListener,

Check warning on line 107 in cached_network_image/lib/src/image_provider/cached_network_image_provider.dart

View check run for this annotation

Codecov / codecov/patch

cached_network_image/lib/src/image_provider/cached_network_image_provider.dart#L107

Added line #L107 was not covered by tests
imageRenderMethodForWeb,
() => PaintingBinding.instance.imageCache.evict(key),
);
Expand Down
2 changes: 1 addition & 1 deletion cached_network_image/test/image_provider_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ void main() {
events.add(event);
},
onError: (Object error, StackTrace? stackTrace) {
imageAvailable.completeError(error as Object, stackTrace);
imageAvailable.completeError(error, stackTrace);
},
),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import 'dart:ui' as ui;
import 'package:flutter/material.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

/// Listener for errors
typedef ErrorListener = void Function(Object);

/// Render options for images on the web platform.
enum ImageRenderMethodForWeb {
/// HtmlImage uses a default web image including default browser caching.
Expand All @@ -32,6 +35,7 @@ class ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
VoidCallback? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
Expand All @@ -49,7 +53,7 @@ class ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
ErrorListener? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
Expand Down
20 changes: 9 additions & 11 deletions cached_network_image_web/lib/cached_network_image_web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@ import 'dart:ui' as ui;

import 'package:cached_network_image_platform_interface'
'/cached_network_image_platform_interface.dart' as platform
show ImageLoader;
import 'package:cached_network_image_platform_interface'
'/cached_network_image_platform_interface.dart'
show ImageRenderMethodForWeb;
show ImageLoader, ErrorListener, ImageRenderMethodForWeb;
import 'package:flutter/material.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart';

Expand All @@ -27,7 +24,8 @@ class ImageLoader implements platform.ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback? errorListener,
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
return _load(
Expand Down Expand Up @@ -59,7 +57,7 @@ class ImageLoader implements platform.ImageLoader {
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
return _load(
Expand Down Expand Up @@ -89,12 +87,12 @@ class ImageLoader implements platform.ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
ImageRenderMethodForWeb imageRenderMethodForWeb,
platform.ErrorListener? errorListener,
platform.ImageRenderMethodForWeb imageRenderMethodForWeb,
VoidCallback evictImage,
) {
switch (imageRenderMethodForWeb) {
case ImageRenderMethodForWeb.HttpGet:
case platform.ImageRenderMethodForWeb.HttpGet:
return _loadAsyncHttpGet(
url,
cacheKey,
Expand All @@ -107,7 +105,7 @@ class ImageLoader implements platform.ImageLoader {
errorListener,
evictImage,
);
case ImageRenderMethodForWeb.HtmlImage:
case platform.ImageRenderMethodForWeb.HtmlImage:
return _loadAsyncHtmlImage(url, chunkEvents).asStream();
}
}
Expand All @@ -121,7 +119,7 @@ class ImageLoader implements platform.ImageLoader {
int? maxHeight,
int? maxWidth,
Map<String, String>? headers,
ValueChanged<Object>? errorListener,
platform.ErrorListener? errorListener,
VoidCallback evictImage,
) async* {
try {
Expand Down

0 comments on commit a443648

Please sign in to comment.