Skip to content

Commit

Permalink
Add the to/from string functions for the various ANFilter-related con…
Browse files Browse the repository at this point in the history
…stants
  • Loading branch information
beccadax committed Oct 21, 2012
1 parent f6e5813 commit bb73a03
Show file tree
Hide file tree
Showing 2 changed files with 104 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ANFilter.h
Expand Up @@ -47,9 +47,9 @@ typedef enum {
ANFilterClauseOperatorEquals,
ANFilterClauseOperatorMatches,
ANFilterClauseOperatorLess,
ANFilterClauseOperatorLessOrEqual,
ANFilterClauseOperatorLessOrEquals,
ANFilterClauseOperatorGreater,
ANFilterClauseOperatorGreaterOrEqual,
ANFilterClauseOperatorGreaterOrEquals,
ANFilterClauseOperatorOneOf
} ANFilterClauseOperator;

Expand Down
102 changes: 102 additions & 0 deletions ANFilter.m
Expand Up @@ -62,3 +62,105 @@ - (ANFilterClauseOperator)operator {
}

@end

NSString * ANStringFromFilterMatchPolicy(ANFilterMatchPolicy matchPolicy) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@(ANFilterMatchPolicyIncludeAll): @"include_all",
@(ANFilterMatchPolicyIncludeAny): @"include_any",
@(ANFilterMatchPolicyExcludeAll): @"exclude_all",
@(ANFilterMatchPolicyExcludeAny): @"exclude_any",
};
});

return table[@(matchPolicy)];
}

ANFilterMatchPolicy ANFilterMatchPolicyFromString(NSString * string) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@"include_all": @(ANFilterMatchPolicyIncludeAll),
@"include_any": @(ANFilterMatchPolicyIncludeAny),
@"exclude_all": @(ANFilterMatchPolicyExcludeAll),
@"exclude_any": @(ANFilterMatchPolicyExcludeAny),
};
});

return [table[string] integerValue];
}

NSString * ANStringFromFilterClauseObjectType(ANFilterClauseObjectType objectType) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@(ANFilterClauseObjectTypePost): @"post",
@(ANFilterClauseObjectTypeStar): @"star",
@(ANFilterClauseObjectTypeUserFollow): @"user_follow",
};
});

return table[@(objectType)];
}

ANFilterClauseObjectType ANFilterClauseObjectTypeFromString(NSString * string) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@"post": @(ANFilterClauseObjectTypePost),
@"star": @(ANFilterClauseObjectTypeStar),
@"user_follow": @(ANFilterClauseObjectTypeUserFollow),
};
});

return [table[string] integerValue];
}


NSString * ANStringFromFilterClauseOperator(ANFilterClauseOperator operator) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@(ANFilterClauseOperatorEquals): @"equals",
@(ANFilterClauseOperatorGreater): @"gt",
@(ANFilterClauseOperatorGreaterOrEquals): @"ge",
@(ANFilterClauseOperatorLess): @"lt",
@(ANFilterClauseOperatorLessOrEquals): @"le",
@(ANFilterClauseOperatorMatches): @"matches",
@(ANFilterClauseOperatorOneOf): @"one_of",
};
});

return table[@(operator)];
}

ANFilterClauseOperator ANFilterClauseOperatorFromString(NSString * string) {
static NSDictionary * table;
static dispatch_once_t once;

dispatch_once(&once, ^{
table = @{
@"equals": @(ANFilterClauseOperatorEquals),
@"gt": @(ANFilterClauseOperatorGreater),
@"ge": @(ANFilterClauseOperatorGreaterOrEquals),
@"lt": @(ANFilterClauseOperatorLess),
@"le": @(ANFilterClauseOperatorLessOrEquals),
@"matches": @(ANFilterClauseOperatorMatches),
@"one_of": @(ANFilterClauseOperatorOneOf),
};
});

return [table[string] integerValue];
}

0 comments on commit bb73a03

Please sign in to comment.