summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSString+MGLAdditions.m
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/NSString+MGLAdditions.m')
-rw-r--r--platform/darwin/src/NSString+MGLAdditions.m82
1 files changed, 0 insertions, 82 deletions
diff --git a/platform/darwin/src/NSString+MGLAdditions.m b/platform/darwin/src/NSString+MGLAdditions.m
deleted file mode 100644
index d452d56678..0000000000
--- a/platform/darwin/src/NSString+MGLAdditions.m
+++ /dev/null
@@ -1,82 +0,0 @@
-#import "NSString+MGLAdditions.h"
-
-#if TARGET_OS_OSX
- #import <Availability.h>
-#endif
-
-@implementation NSString (MGLAdditions)
-
-- (NSRange)mgl_wholeRange {
- return NSMakeRange(0, self.length);
-}
-
-- (nullable NSString *)mgl_stringOrNilIfEmpty {
- return self.length ? self : nil;
-}
-
-- (NSString *)mgl_titleCasedStringWithLocale:(NSLocale *)locale {
- NSMutableString *string = self.mutableCopy;
- NSOrthography *orthography;
- if (@available(iOS 11.0, macOS 10.13.0, *)) {
- orthography = [NSOrthography defaultOrthographyForLanguage:locale.localeIdentifier];
- }
- [string enumerateLinguisticTagsInRange:string.mgl_wholeRange scheme:NSLinguisticTagSchemeLexicalClass options:0 orthography:orthography usingBlock:^(NSString * _Nonnull tag, NSRange tokenRange, NSRange sentenceRange, BOOL * _Nonnull stop) {
- NSString *word = [string substringWithRange:tokenRange];
- if (word.length > 3
- || !([tag isEqualToString:NSLinguisticTagConjunction]
- || [tag isEqualToString:NSLinguisticTagPreposition]
- || [tag isEqualToString:NSLinguisticTagDeterminer]
- || [tag isEqualToString:NSLinguisticTagParticle]
- || [tag isEqualToString:NSLinguisticTagClassifier])) {
- unichar firstLetter = [[word capitalizedStringWithLocale:locale] characterAtIndex:0];
- NSString *suffix = [word substringFromIndex:1];
- if (!([word hasPrefix:@"i"] && suffix.length
- && [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:[suffix characterAtIndex:0]])) {
- word = [NSString stringWithFormat:@"%C%@", firstLetter, suffix];
- }
- }
- [string replaceCharactersInRange:tokenRange withString:word];
- }];
- return string;
-}
-
-- (NSString *)mgl_stringByTransliteratingIntoScript:(NSString *)script {
- NSMutableString *string = self.mutableCopy;
- NSStringTransform transform;
- if ([script isEqualToString:@"Latn"]) {
- transform = NSStringTransformToLatin;
- } else if ([script isEqualToString:@"Hans"]) {
- transform = @"Hant-Hans";
- } else if ([script isEqualToString:@"Hant"]) {
- transform = @"Hans-Hant";
- } else if ([script isEqualToString:@"Cyrl"]) {
- transform = @"Any-Latin; Latin-Cyrillic";
- } else if ([script isEqualToString:@"Arab"]) {
- transform = @"Any-Latin; Latin-Arabic";
- } else if ([script isEqualToString:@"Jpan"]) {
- transform = @"Any-Latin; Latin-Katakana";
- } else if ([script isEqualToString:@"Kore"]) {
- transform = @"Any-Latin; Latin-Hangul";
- }
- return transform ? [string stringByApplyingTransform:transform reverse:NO] : string;
-}
-
-@end
-
-@implementation NSAttributedString (MGLAdditions)
-
-- (NSRange)mgl_wholeRange {
- return NSMakeRange(0, self.length);
-}
-
-- (NSAttributedString *)mgl_attributedStringByTrimmingCharactersInSet:(NSCharacterSet *)set {
- NSScanner *scanner = [NSScanner scannerWithString:self.string];
- scanner.charactersToBeSkipped = nil;
- NSString *prefix;
- [scanner scanCharactersFromSet:set intoString:&prefix];
-
- NSString *trimmedString = [self.string stringByTrimmingCharactersInSet:set];
- return [self attributedSubstringFromRange:NSMakeRange(prefix.length, trimmedString.length)];
-}
-
-@end