Skip to content

Commit 5d9bd9d

Browse files
committed
Simplify/improve casting across library
1 parent 03edaef commit 5d9bd9d

File tree

11 files changed

+49
-56
lines changed

11 files changed

+49
-56
lines changed

packages/sane/lib/src/isolate_messages/control_button_option.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class ControlButtonOptionMessage implements IsolateMessage {
5+
class ControlButtonOptionMessage
6+
implements IsolateMessage<ControlButtonOptionResponse> {
67
ControlButtonOptionMessage({
78
required this.saneHandle,
89
required this.index,

packages/sane/lib/src/isolate_messages/control_option.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class ControlValueOptionMessage<T> implements IsolateMessage {
5+
class ControlValueOptionMessage<T>
6+
implements IsolateMessage<ControlValueOptionResponse<T>> {
67
ControlValueOptionMessage({
78
required this.saneHandle,
89
required this.index,
@@ -16,7 +17,7 @@ class ControlValueOptionMessage<T> implements IsolateMessage {
1617
final T? value;
1718

1819
@override
19-
Future<ControlValueOptionResponse> handle(Sane sane) async {
20+
Future<ControlValueOptionResponse<T>> handle(Sane sane) async {
2021
switch (value) {
2122
case final bool value:
2223
return ControlValueOptionResponse<bool>(
@@ -26,7 +27,7 @@ class ControlValueOptionMessage<T> implements IsolateMessage {
2627
action: action,
2728
value: value,
2829
),
29-
);
30+
) as ControlValueOptionResponse<T>;
3031
case final int value:
3132
return ControlValueOptionResponse<int>(
3233
result: await sane.controlIntOption(
@@ -35,7 +36,7 @@ class ControlValueOptionMessage<T> implements IsolateMessage {
3536
action: action,
3637
value: value,
3738
),
38-
);
39+
) as ControlValueOptionResponse<T>;
3940
case final double value:
4041
return ControlValueOptionResponse<double>(
4142
result: await sane.controlFixedOption(
@@ -44,7 +45,7 @@ class ControlValueOptionMessage<T> implements IsolateMessage {
4445
action: action,
4546
value: value,
4647
),
47-
);
48+
) as ControlValueOptionResponse<T>;
4849
case final String value:
4950
return ControlValueOptionResponse<String>(
5051
result: await sane.controlStringOption(
@@ -53,7 +54,7 @@ class ControlValueOptionMessage<T> implements IsolateMessage {
5354
action: action,
5455
value: value,
5556
),
56-
);
57+
) as ControlValueOptionResponse<T>;
5758
default:
5859
throw Exception('Invalid value type.');
5960
}

packages/sane/lib/src/isolate_messages/get_all_option_descriptors.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class GetAllOptionDescriptorsMessage implements IsolateMessage {
5+
class GetAllOptionDescriptorsMessage
6+
implements IsolateMessage<GetAllOptionDescriptorsResponse> {
67
GetAllOptionDescriptorsMessage({required this.saneHandle});
78

89
final SaneHandle saneHandle;

packages/sane/lib/src/isolate_messages/get_devices.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class GetDevicesMessage implements IsolateMessage {
5+
class GetDevicesMessage implements IsolateMessage<GetDevicesResponse> {
66
GetDevicesMessage({required this.localOnly});
77

88
final bool localOnly;

packages/sane/lib/src/isolate_messages/get_option_descriptor.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class GetOptionDescriptorMessage implements IsolateMessage {
5+
class GetOptionDescriptorMessage
6+
implements IsolateMessage<GetOptionDescriptorResponse> {
67
GetOptionDescriptorMessage({
78
required this.saneHandle,
89
required this.index,

packages/sane/lib/src/isolate_messages/get_parameters.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class GetParametersMessage implements IsolateMessage {
5+
class GetParametersMessage implements IsolateMessage<GetParametersResponse> {
66
GetParametersMessage({required this.saneHandle});
77

88
final SaneHandle saneHandle;

packages/sane/lib/src/isolate_messages/init.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33

4-
class InitMessage implements IsolateMessage {
4+
class InitMessage implements IsolateMessage<InitResponse> {
55
@override
66
Future<InitResponse> handle(Sane sane) async {
77
return InitResponse(
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:sane/src/sane.dart';
22

3-
abstract interface class IsolateMessage {
4-
Future<IsolateResponse> handle(Sane sane);
3+
abstract interface class IsolateMessage<T extends IsolateResponse> {
4+
Future<T> handle(Sane sane);
55
}
66

77
abstract interface class IsolateResponse {}

packages/sane/lib/src/isolate_messages/open.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'package:sane/src/isolate_messages/interface.dart';
22
import 'package:sane/src/sane.dart';
33
import 'package:sane/src/structures.dart';
44

5-
class OpenMessage implements IsolateMessage {
5+
class OpenMessage implements IsolateMessage<OpenResponse> {
66
OpenMessage({required this.deviceName});
77

88
final String deviceName;

packages/sane/lib/src/isolate_messages/read.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import 'package:sane/src/isolate_messages/interface.dart';
44
import 'package:sane/src/sane.dart';
55
import 'package:sane/src/structures.dart';
66

7-
class ReadMessage implements IsolateMessage {
7+
class ReadMessage implements IsolateMessage<ReadResponse> {
88
ReadMessage({
99
required this.saneHandle,
1010
required this.bufferSize,

0 commit comments

Comments
 (0)