Move Nth-Expression typedef to the public header

This commit is contained in:
iska
2015-10-21 00:35:07 +02:00
parent 118ea137f4
commit f248b39d26
3 changed files with 36 additions and 19 deletions
+1 -18
View File
@@ -8,25 +8,8 @@
#import <Foundation/Foundation.h>
typedef struct CSSNthExpression
{
NSInteger an;
NSInteger b;
} CSSNthExpression;
NS_INLINE CSSNthExpression CSSNthExpressionMake(NSInteger an, NSInteger b) {
return (CSSNthExpression){ .an = an, .b = b };
}
const CSSNthExpression CSSNthExpressionOdd = (CSSNthExpression){
.an = 2, .b = 1
};
const CSSNthExpression CSSNthExpressionEven = (CSSNthExpression){
.an = 2, .b = 0
};
@interface CSSNthExpressionParser : NSObject
+ (CSSNthExpression)parseExpression:(NSString *)string;
+ (CSSNthExpression)parseExpression:(NSString *)expression;
@end
+3 -1
View File
@@ -13,10 +13,12 @@
@implementation CSSNthExpressionParser
+ (CSSNthExpression)parseExpression:(NSString *)string
+ (CSSNthExpression)parseExpression:(NSString *)expression
{
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSString *string = [expression copy];
string = [string stringByTrimmingCharactersInSet:whitespace];
string = string.lowercaseString;
+32
View File
@@ -8,6 +8,38 @@
#import <Foundation/Foundation.h>
#pragma mark - Attribute Selector Type
typedef NS_ENUM(NSUInteger, CSSAttributeSelectorType)
{
CSSAttributeSelectorExists,
CSSAttributeSelectorExactMatch,
CSSAttributeSelectorIncludes,
CSSAttributeSelectorBegins,
CSSAttributeSelectorEnds,
CSSAttributeSelectorContains,
CSSAttributeSelectorHyphen,
CSSAttributeSelectorNot
};
#pragma mark - CSS Nth-Expression
typedef struct CSSNthExpression
{
NSInteger an;
NSInteger b;
} CSSNthExpression;
NS_INLINE CSSNthExpression CSSNthExpressionMake(NSInteger an, NSInteger b) {
return (CSSNthExpression){ .an = an, .b = b };
}
extern const CSSNthExpression CSSNthExpressionOdd;
extern const CSSNthExpression CSSNthExpressionEven;
extern NSString * _Nonnull NSStringFromNthExpression(CSSNthExpression expression);
#pragma mark - Base Selector Class
@class HTMLElement;
@interface CSSSelector : NSObject