1 package DX::Op::MemberOf;
8 has member_var => (is => 'ro', required => 1);
9 has coll_var => (is => 'ro', required => 1);
12 my ($self, $state) = @_;
13 ($state, my %args) = $self->_expand_args($state,
14 member => $self->member_var,
17 my ($member, $of) = @args{qw(member of)};
18 die "member bound" if $member->is_bound;
19 my $set = $state->facts->{$of->bound_value};
20 my $stream = DX::ArrayStream->from_array(@{$set}{sort keys %$set});
21 return $state->bind_stream_then($member, $stream, $self->next);