Reintroduce the HTMLNodeFilterValue for Tree Walker implementation

While the Node Iterator treats skip & reject the same way, the Tree Walker can skip over a node
and all its children if rejected.

This reverses dc3de7a470
This commit is contained in:
iska
2015-06-05 22:54:37 +02:00
parent 0c82f6891b
commit a390edf599
10 changed files with 61 additions and 50 deletions
+4 -4
View File
@@ -16,12 +16,12 @@
@implementation HTMLNodeFilterBlock
+ (instancetype)filterWithBlock:(BOOL (^)(HTMLNode *))block
+ (instancetype)filterWithBlock:(HTMLNodeFilterValue (^)(HTMLNode *))block
{
return [[self alloc] initWithBlock:block];
}
- (instancetype)initWithBlock:(BOOL (^)(HTMLNode *))block
- (instancetype)initWithBlock:(HTMLNodeFilterValue (^)(HTMLNode *))block
{
self = [super init];
if (self) {
@@ -30,10 +30,10 @@
return self;
}
- (BOOL)acceptNode:(HTMLNode *)node
- (HTMLNodeFilterValue)acceptNode:(HTMLNode *)node
{
if (!_block) {
return NO;
return HTMLNodeFilterSkip;
}
return _block(node);