Skip to content

Commit 4f34cf6

Browse files
committed
Review Changes
1 parent 0d5e7b3 commit 4f34cf6

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

pkgs/dart_mcp/lib/src/api/completions.dart

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,25 @@ extension type CompleteRequest.fromMap(Map<String, Object?> _value)
2828
/// In the case of a [ResourceReference], it must refer to a
2929
/// [ResourceTemplate].
3030
Reference get ref {
31-
if (_value['ref'] == null) {
32-
throw ArgumentError('Missing ref field in $CompleteRequest.');
33-
}
34-
return _value['ref'] as Reference;
31+
final ref = _value['ref'];
32+
return switch (ref) {
33+
Reference _ => ref,
34+
null => throw ArgumentError('Missing ref field in $CompleteRequest.'),
35+
_ =>
36+
throw ArgumentError(
37+
'Invalid ref field in $CompleteRequest, expected a $Reference.',
38+
),
39+
};
3540
}
3641

3742
/// The argument's information.
3843
CompletionArgument get argument {
3944
if (_value['argument'] == null) {
4045
throw ArgumentError('Missing argument field in $CompleteRequest.');
46+
} else {
47+
return (_value['argument'] as Map).cast<String, Object?>()
48+
as CompletionArgument;
4149
}
42-
return (_value['argument'] as Map).cast<String, Object?>()
43-
as CompletionArgument;
4450
}
4551
}
4652

0 commit comments

Comments
 (0)