Skip to content

Commit 0acad55

Browse files
committed
feat(ask): add missing exports and change ask return type to generic to allow nullable value
1 parent 5ef1a69 commit 0acad55

File tree

5 files changed

+19
-7
lines changed

5 files changed

+19
-7
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 2.1.0
2+
- Add missing exports
3+
- Change `ask` return type for an generic to allow nullable value
4+
15
## 2.0.0
26
- Rework the whole library
37
- Change `input` to `ask` component

lib/commander_ui.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,12 @@ export 'package:commander_ui/src/application/utils/terminal_tools.dart';
44
export 'package:commander_ui/src/domains/models/commander_theme.dart';
55
export 'package:commander_ui/src/domains/models/component.dart';
66

7+
export 'package:commander_ui/src/application/components/select.dart';
8+
export 'package:commander_ui/src/application/components/ask.dart';
9+
export 'package:commander_ui/src/application/components/checkbox.dart';
10+
export 'package:commander_ui/src/application/components/screen.dart';
11+
export 'package:commander_ui/src/application/components/swap.dart';
12+
export 'package:commander_ui/src/application/components/table.dart';
13+
export 'package:commander_ui/src/application/components/task.dart';
14+
715
export 'package:mansion/mansion.dart';

lib/src/application/components/ask.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import 'package:commander_ui/src/domains/models/component.dart';
77
import 'package:mansion/mansion.dart';
88

99
/// A component that asks the user for input.
10-
final class Ask with TerminalTools implements Component<Future<String?>> {
11-
final _completer = Completer<String?>();
10+
final class Ask<T> with TerminalTools implements Component<Future<T>> {
11+
final _completer = Completer<T>();
1212

1313
final Terminal _terminal;
1414

@@ -43,7 +43,7 @@ final class Ask with TerminalTools implements Component<Future<String?>> {
4343
}
4444

4545
@override
46-
Future<String?> handle() {
46+
Future<T> handle() {
4747
saveCursorPosition();
4848

4949
createSpace(_terminal, 1);
@@ -152,7 +152,7 @@ final class Ask with TerminalTools implements Component<Future<String?>> {
152152
resetCursor();
153153
stdout.write(buffer.toString());
154154

155-
_completer.complete(response);
155+
_completer.complete(response as T);
156156
}
157157

158158
void resetCursor() {

lib/src/commander.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ class Commander with TerminalTools {
6060
void debug(String? message, {StdoutStyle? style}) =>
6161
writeln((style ?? _theme.debug)(message));
6262

63-
Future<String?> ask(String message,
63+
Future<T> ask<T>(String message,
6464
{String? defaultValue,
6565
bool hidden = false,
6666
String? Function(String)? validate}) =>
67-
Ask(_terminal,
67+
Ask<T>(_terminal,
6868
message: message,
6969
defaultValue: defaultValue,
7070
hidden: hidden,

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: commander_ui
22
description: Commander is a Dart library for creating user interfaces within the terminal.
3-
version: 2.0.0
3+
version: 2.1.0
44
repository: https://github.com/LeadcodeDev/commander
55

66
topics:

0 commit comments

Comments
 (0)