1 package HTML::Zoom::Transform;
4 use warnings FATAL => 'all';
5 use base qw(HTML::Zoom::SubObject);
6 use HTML::Zoom::TransformedStream;
9 my ($class, $args) = @_;
10 my $new = $class->SUPER::new($args);
11 $new->{selector} = $args->{selector};
12 $new->{match} = $args->{match} if $args->{match};
13 $new->{filters} = $args->{filters}||[];
17 sub selector { shift->{selector} }
19 sub filters { shift->{filters} }
22 my ($self, $filter) = @_;
24 selector => $self->selector,
25 ($self->{match} ? (match => $self->{match}) : ()),
26 filters => [ @{$self->filters}, $filter ]
35 ->parse_selector($self->{selector});
39 my ($self, $stream) = @_;
40 HTML::Zoom::TransformedStream->new({
43 zconfig => $self->_zconfig,