pervasive type constraints
[scpubgit/DX.git] / lib / DX / Value / Dict.pm
index 85decc7..914fe8f 100644 (file)
@@ -8,11 +8,15 @@ with 'DX::Role::StructuredValue';
 has '+action_builder' => (
   handles => [ qw(
     can_set_value action_for_set_value
-    action_for_add_member action_for_remove_member
+    can_add_member action_for_add_member action_for_remove_member
   ) ]
 );
 
-has members => (is => 'ro', required => 1);
+has members => (is => 'ro', required => 1, isa => HashRef[Value]);
+
+sub for_deparse {
+  [ dict => $_[0]->members ]
+}
 
 sub index_list { sort keys %{$_[0]->members} }