);
# set ops
- {
- my $orig = $self->expander('select');
- $self->expander(select => sub {
+ $self->wrap_expander(select => sub {
+ my $orig = shift;
+ sub {
my $self = shift;
my $exp = $self->$orig(@_);
return $exp unless my $setop = (my $sel = $exp->{-select})->{setop};
{ -select => \%inner };
}
return $exp;
- });
- }
+ }
+ });
my $expand_setop = sub {
my ($self, $setop, $args) = @_;
+{ "-${setop}" => {