remove vestigial method
[scpubgit/DX.git] / lib / DX / Role / Predicate.pm
CommitLineData
9d759b64 1package DX::Role::Predicate;
2
3use List::Util qw(reduce);
3e465d5d 4use DX::Utils qw(step CONTENTS_OF);
9d759b64 5use DX::Role;
6
113f21b9 7sub _possible_resolution_list {
8 my ($self, @args) = @_;
9 my $rspace = $self->_resolution_space_for(@args);
10 my @res;
11 while (my $next_res = $rspace->next_resolution) {
12 $rspace = $rspace->remaining_resolution_space;
13 push @res, step(
14 actions => $next_res->actions,
15 depends_on => $next_res->veracity_depends_on,
16 );
17 }
18 return @res;
19}
20
9d759b64 21sub resolution_step_for {
ccf0d4fe 22 my ($self, $prop, @args) = @_;
9d759b64 23 my ($last, @rest) = reverse $self->_possible_resolution_list(@args);
24 return undef unless $last;
ccf0d4fe 25 my $targ = $last->but(resolves => $prop);
26 $targ = $_->but(
27 alternative_step => $targ,
28 resolves => $prop
29 ) for @rest;
9d759b64 30 return $targ;
31}
32
9d759b64 331;