#has depends_on => (is => 'ro', isa => DependencyGroupList, required => 1);
has depends_on => (is => 'ro', required => 1, coerce => sub {
- my ($dep_groups) = @_;
+ my ($deps) = @_;
my @exp;
- assert_DependencyGroupList $dep_groups;
- [ map {
- my ($on, @deps) = @$_;
- my @exp;
- DEP: foreach my $dep (@deps) {
- my ($type, @path) = @$dep;
- push @exp, [
- $type,
- map { ref() ? @{$_->value_path or next DEP} : $_ } @path
- ];
- }
- (@exp ? [ $on, @exp ] : ());
- } @$dep_groups ];
+ DEP: foreach my $dep (@$deps) {
+ my ($type, @path) = @$dep;
+ push @exp, [
+ $type,
+ map { ref() ? @{$_->value_path or next DEP} : $_ } @path
+ ];
+ }
+ \@exp
});
has resolves => (is => 'ro', isa => Proposition);