From 708c486a09b3dedce9c4fbcade7ee06d2e08951e Mon Sep 17 00:00:00 2001 From: Koji Wakamiya Date: Tue, 9 Dec 2025 22:31:52 +0900 Subject: [PATCH] refactor: Use typedef --- lib/platform_image_converter.dart | 36 +++++++++++++------------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/lib/platform_image_converter.dart b/lib/platform_image_converter.dart index 731abf2..3ca7a2b 100644 --- a/lib/platform_image_converter.dart +++ b/lib/platform_image_converter.dart @@ -66,10 +66,12 @@ class ImageConverter { bool runInIsolate = true, }) async { if (runInIsolate) { - return await compute( - _convertInIsolate, - _ConvertRequest(inputData, format, quality, defaultTargetPlatform), - ); + return await compute(_convertInIsolate, ( + inputData: inputData, + format: format, + quality: quality, + platform: defaultTargetPlatform, + )); } else { // The original implementation for those who opt-out. return _platform.convert( @@ -81,22 +83,6 @@ class ImageConverter { } } -/// Helper class to pass arguments to the isolate. -@immutable -class _ConvertRequest { - final Uint8List inputData; - final OutputFormat format; - final int quality; - final TargetPlatform platform; - - const _ConvertRequest( - this.inputData, - this.format, - this.quality, - this.platform, - ); -} - /// Returns the platform-specific converter instance. ImageConverterPlatform _getPlatformForTarget(TargetPlatform platform) { if (kIsWeb) { @@ -112,7 +98,15 @@ ImageConverterPlatform _getPlatformForTarget(TargetPlatform platform) { } /// Top-level function for `compute`. -Future _convertInIsolate(_ConvertRequest request) { +Future _convertInIsolate( + ({ + Uint8List inputData, + OutputFormat format, + int quality, + TargetPlatform platform, + }) + request, +) { final platform = _getPlatformForTarget(request.platform); return platform.convert( inputData: request.inputData,