add a few more type annotations
[scpubgit/DX.git] / lib / DX / ShellFrontend.pm
index 1b8c66e..29eac40 100644 (file)
@@ -1,15 +1,16 @@
 package DX::ShellFrontend;
 
+use Types::Standard qw(Enum);
 use IO::Handle;
 use Caroline;
 use DX::Class;
 
 has session => (
-  is => 'ro', required => 1,
+  is => 'ro', isa => ShellSession, required => 1,
   handles => [ qw(is_complete_command_string eval_command_string) ]
 );
 
-has session_mode => (is => 'rwp', required => 1);
+has session_mode => (is => 'rwp', isa => Enum['shell','query'], required => 1);
 
 has readline => (is => 'lazy', builder => sub { Caroline->new });