InflectorKit

master

Efficiently Singularize and Pluralize Strings
apollographql/InflectorKit

InflectorKit

Efficiently Singularize and Pluralize Strings

InflectorKit ports the string inflection functionality of Rails ActiveSupport to Foundation.

InflectorKit joins FormatterKit & TransformerKit in providing well-designed APIs for manipulating user-facing content.

Usage

#import "NSString+InflectorKit.h"

for (NSString *singular in @[@"person", @"tomato", @"matrix", @"octopus", @"fish"]) {
  NSLog(@"%@: %@", singular, [singular pluralizedString]);
}
person: people
tomato: tomatoes
matrix: matrices
octopus: octopi
fish: fish

You can also add pluralization rules, including irregular and uncountable words:

#import "TTTStringInflector.h"

TTTStringInflector *inflector = [TTTStringInflector defaultInflector];
[inflector addPluralRule:@"^i(Pod|Pad)( Mini)?$" withReplacement:@"i$1s$2"];
[inflector addIrregularWithSingular:@"lol" plural:@"lolz"];
[inflector addUncountable:@"Herokai"];

for (NSString *singular in @[@"iPad Mini", @"lol", @"Herokai"]) {
  NSLog(@"%@: %@", singular, [singular pluralizedString]);
}
iPad Mini: iPads Mini
lol: lolz
Herokai: Herokai

Contact

Mattt Thompson

License

InflectorKit is available under the MIT license. See the LICENSE file for more info.

Description

  • Swift Tools 5.2.0
View More Packages from this Author

Dependencies

  • None
Last updated: Thu Apr 11 2024 08:52:36 GMT-0900 (Hawaii-Aleutian Daylight Time)