Add implementation for HTML Token sanitizing policy

This commit is contained in:
iska
2018-06-01 00:27:38 +02:00
parent ef29e27f39
commit 1c8be332a4
2 changed files with 34 additions and 0 deletions
+9
View File
@@ -7,7 +7,16 @@
//
#import <Foundation/Foundation.h>
#import "HTMLTokens.h"
NS_ASSUME_NONNULL_BEGIN
@interface HTMLTokenPolicy : NSObject
+ (instancetype)policy:(nullable HTMLToken * (^)(HTMLToken *))block;
- (nullable HTMLToken *)apply:(HTMLToken *)token;
@end
NS_ASSUME_NONNULL_END
+25
View File
@@ -8,6 +8,31 @@
#import "HTMLTokenPolicy.h"
@interface HTMLTokenPolicy()
{
HTMLToken * (^ _policyBlock)(HTMLToken *);
}
@end
@implementation HTMLTokenPolicy
+ (instancetype)policy:(HTMLToken * _Nullable (^)(HTMLToken * _Nonnull))block
{
return [[HTMLTokenPolicy alloc] initWithBlock:block];
}
- (instancetype)initWithBlock:(HTMLToken * _Nullable (^)(HTMLToken * _Nonnull))block
{
self = [super init];
if (self) {
_policyBlock = block;
}
return self;
}
- (HTMLToken *)apply:(HTMLToken *)token
{
return _policyBlock(token);
}
@end