added files via upload

This commit is contained in:
Balackburn
2023-06-27 09:54:41 +02:00
commit 2ff6aac218
1420 changed files with 88898 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
//
// FLEXSearchToken.m
// FLEX
//
// Created by Tanner on 3/22/17.
// Copyright © 2017 Tanner Bennett. All rights reserved.
//
#import "FLEXSearchToken.h"
@interface FLEXSearchToken () {
NSString *flex_description;
}
@end
@implementation FLEXSearchToken
+ (instancetype)any {
static FLEXSearchToken *any = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
any = [self string:nil options:TBWildcardOptionsAny];
});
return any;
}
+ (instancetype)string:(NSString *)string options:(TBWildcardOptions)options {
FLEXSearchToken *token = [self new];
token->_string = string;
token->_options = options;
return token;
}
- (BOOL)isAbsolute {
return _options == TBWildcardOptionsNone;
}
- (BOOL)isAny {
return _options == TBWildcardOptionsAny;
}
- (BOOL)isEmpty {
return self.isAny && self.string.length == 0;
}
- (NSString *)description {
if (flex_description) {
return flex_description;
}
switch (_options) {
case TBWildcardOptionsNone:
flex_description = _string;
break;
case TBWildcardOptionsAny:
flex_description = @"*";
break;
default: {
NSMutableString *desc = [NSMutableString new];
if (_options & TBWildcardOptionsPrefix) {
[desc appendString:@"*"];
}
[desc appendString:_string];
if (_options & TBWildcardOptionsSuffix) {
[desc appendString:@"*"];
}
flex_description = desc;
}
}
return flex_description;
}
- (NSUInteger)hash {
return self.description.hash;
}
- (BOOL)isEqual:(id)object {
if ([object isKindOfClass:[FLEXSearchToken class]]) {
FLEXSearchToken *token = object;
return [_string isEqualToString:token->_string] && _options == token->_options;
}
return NO;
}
@end