mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-31 12:54:14 -04:00 
			
		
		
		
	added files via upload
This commit is contained in:
		| @@ -0,0 +1,75 @@ | ||||
| // | ||||
| //  FLEXRuntimeKeyPath.m | ||||
| //  FLEX | ||||
| // | ||||
| //  Created by Tanner on 3/22/17. | ||||
| //  Copyright © 2017 Tanner Bennett. All rights reserved. | ||||
| // | ||||
|  | ||||
| #import "FLEXRuntimeKeyPath.h" | ||||
| #import "FLEXRuntimeClient.h" | ||||
|  | ||||
| @interface FLEXRuntimeKeyPath () { | ||||
|     NSString *flex_description; | ||||
| } | ||||
| @end | ||||
|  | ||||
| @implementation FLEXRuntimeKeyPath | ||||
|  | ||||
| + (instancetype)empty { | ||||
|     static FLEXRuntimeKeyPath *empty = nil; | ||||
|     static dispatch_once_t onceToken; | ||||
|     dispatch_once(&onceToken, ^{ | ||||
|         FLEXSearchToken *any = FLEXSearchToken.any; | ||||
|  | ||||
|         empty = [self new]; | ||||
|         empty->_bundleKey = any; | ||||
|         empty->flex_description = @""; | ||||
|     }); | ||||
|  | ||||
|     return empty; | ||||
| } | ||||
|  | ||||
| + (instancetype)bundle:(FLEXSearchToken *)bundle | ||||
|                  class:(FLEXSearchToken *)cls | ||||
|                 method:(FLEXSearchToken *)method | ||||
|             isInstance:(NSNumber *)instance | ||||
|                 string:(NSString *)keyPathString { | ||||
|     FLEXRuntimeKeyPath *keyPath  = [self new]; | ||||
|     keyPath->_bundleKey = bundle; | ||||
|     keyPath->_classKey  = cls; | ||||
|     keyPath->_methodKey = method; | ||||
|  | ||||
|     keyPath->_instanceMethods = instance; | ||||
|  | ||||
|     // Remove irrelevant trailing '*' for equality purposes | ||||
|     if ([keyPathString hasSuffix:@"*"]) { | ||||
|         keyPathString = [keyPathString substringToIndex:keyPathString.length]; | ||||
|     } | ||||
|     keyPath->flex_description = keyPathString; | ||||
|      | ||||
|     if (bundle.isAny && cls.isAny && method.isAny) { | ||||
|         [FLEXRuntimeClient initializeWebKitLegacy]; | ||||
|     } | ||||
|  | ||||
|     return keyPath; | ||||
| } | ||||
|  | ||||
| - (NSString *)description { | ||||
|     return flex_description; | ||||
| } | ||||
|  | ||||
| - (NSUInteger)hash { | ||||
|     return flex_description.hash; | ||||
| } | ||||
|  | ||||
| - (BOOL)isEqual:(id)object { | ||||
|     if ([object isKindOfClass:[FLEXRuntimeKeyPath class]]) { | ||||
|         FLEXRuntimeKeyPath *kp = object; | ||||
|         return [flex_description isEqualToString:kp->flex_description]; | ||||
|     } | ||||
|  | ||||
|     return NO; | ||||
| } | ||||
|  | ||||
| @end | ||||
		Reference in New Issue
	
	Block a user
	 Balackburn
					Balackburn