X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FHTML%2FZoom%2FStreamBase.pm;h=f81089f82188d7a010d6133f5bad8a765ba6bf6d;hb=97192b02d221241de847e9fe853ec6867ee90fd0;hp=a733656598f723ad4df90749ab259868a7cd5a37;hpb=eeeb09216f2e342591152b2ef2e07bb814a5698d;p=catagits%2FHTML-Zoom.git diff --git a/lib/HTML/Zoom/StreamBase.pm b/lib/HTML/Zoom/StreamBase.pm index a733656..f81089f 100644 --- a/lib/HTML/Zoom/StreamBase.pm +++ b/lib/HTML/Zoom/StreamBase.pm @@ -2,7 +2,7 @@ package HTML::Zoom::StreamBase; use strict; use warnings FATAL => 'all'; -use HTML::Zoom::MatchWithoutFilter; +use HTML::Zoom::TransformBuilder; sub _zconfig { shift->{_zconfig} } @@ -53,18 +53,19 @@ sub with_filter { $self->_zconfig->stream_utils->wrap_with_filter($self, $match, $filter); } -sub select { - my ($self, $selector) = @_; - my $match = $self->_parse_selector($selector); - return HTML::Zoom::MatchWithoutFilter->construct( - $self, $match, $self->_zconfig->filter_builder, - ); +sub with_transform { + my ($self, $transform) = @_; + $transform->apply_to_stream($self); } -sub _parse_selector { +sub select { my ($self, $selector) = @_; - return $selector if ref($selector); # already a match sub - $self->_zconfig->selector_parser->parse_selector($selector); + return HTML::Zoom::TransformBuilder->new({ + zconfig => $self->_zconfig, + selector => $selector, + filters => [], + proto => $self, + }); } sub apply {