Commit | Line | Data |
138613a8 |
1 | package DX::Op::FindAll; |
2 | |
3 | use DX::Op::FromCode; |
4 | use DX::Op::FindAllCollect; |
5 | use DX::Var; |
6 | use DX::OrderedSet; |
7 | use DX::Op::Return; |
8 | use Moo; |
9 | |
f5a02c91 |
10 | with 'DX::Role::Op::FindIsh'; |
138613a8 |
11 | |
12 | has coll_name => (is => 'ro', required => 1); |
13 | |
f5a02c91 |
14 | sub make_result_handler { |
15 | my ($self, $coll) = @_; |
16 | my $coll_name = $self->coll_name; |
17 | DX::Op::FromCode->new( |
138613a8 |
18 | code => sub { |
19 | my ($self, $state) = @_; |
f5a02c91 |
20 | $state->bind_value($state->scope->{$coll_name} => $coll) |
21 | ->then($self->next); |
138613a8 |
22 | }, |
f5a02c91 |
23 | next => $self->next |
138613a8 |
24 | ); |
138613a8 |
25 | } |
26 | |
27 | 1; |