excise non-functioning depency group system
[scpubgit/DX.git] / lib / DX / Predicate / Eq.pm
CommitLineData
2e93f662 1package DX::Predicate::Eq;
9d759b64 2
255e1884 3use DX::Utils qw(step CONTENTS_OF);
9d759b64 4use DX::Class;
5
6with 'DX::Role::Predicate';
7
8sub _possible_resolution_list {
255e1884 9 my ($self, $left, $right) = @_;
10 if ($left->equals($right)) {
11 return step(
12 actions => [],
13 depends_on => [
8c6c9551 14 [ CONTENTS_OF ,=> $left ], [ CONTENTS_OF ,=> $right ]
255e1884 15 ],
16 );
17 }
18 return (
19 do {
20 if ($left->is_set and my $set = $right->action_for_set_value($left)) {
21 step(
22 actions => [ $set ],
23 depends_on => [
8c6c9551 24 [ CONTENTS_OF ,=> $left ], [ CONTENTS_OF ,=> $right ]
255e1884 25 ]
26 )
27 } else {
28 ()
29 }
30 },
31 do {
32 if ($right->is_set and my $set = $left->action_for_set_value($right)) {
33 step(
34 actions => [ $set ],
35 depends_on => [
8c6c9551 36 [ CONTENTS_OF ,=> $left ], [ CONTENTS_OF ,=> $right ]
255e1884 37 ]
38 )
39 } else {
40 ()
41 }
42 },
43 );
9d759b64 44}
45
461;