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} }
$self->but(members => \%members);
}
+sub to_data {
+ my ($self) = @_;
+ my $m = $self->members;
+ +{ map +($_ => $m->{$_}->to_data), $self->index_list };
+}
+
1;