Skip to content

Commit e28108c

Browse files
Add SPM compatibility and nullability annotations (mattt#4)
* add package.swift * Add nullability annotations for swift * add public header file * move header file into folder * try as dynamic framework * add empty dependency list * try adding stuff to an `include` folder * Add symlink to main folder * try with default options * try making an alias again * try path again * Try importing just the headers without the module name * get rid of sources folder and symlink
1 parent bfbf61e commit e28108c

File tree

6 files changed

+58
-24
lines changed

6 files changed

+58
-24
lines changed

InflectorKit/NSString+InflectorKit.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525

2626
@implementation NSString (InflectorKit)
2727

28-
- (NSString *)singularizedString {
28+
- (nonnull NSString *)singularizedString {
2929
return [[TTTStringInflector defaultInflector] singularize:self];
3030
}
3131

32-
- (NSString *)pluralizedString {
32+
- (nonnull NSString *)pluralizedString {
3333
return [[TTTStringInflector defaultInflector] pluralize:self];
3434
}
3535

InflectorKit/TTTStringInflector.m

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ - (id)init {
6363
return self;
6464
}
6565

66-
+ (instancetype)defaultInflector {
66+
+ (nonnull instancetype)defaultInflector {
6767
static id _defaultInflector = nil;
6868
static dispatch_once_t onceToken;
6969
dispatch_once(&onceToken, ^{
@@ -74,7 +74,7 @@ + (instancetype)defaultInflector {
7474
return _defaultInflector;
7575
}
7676

77-
- (NSString *)singularize:(NSString *)string {
77+
- (nonnull NSString *)singularize:(nonnull NSString *)string {
7878
if ([self.mutableUncountables containsObject:string]) {
7979
return string;
8080
}
@@ -92,7 +92,7 @@ - (NSString *)singularize:(NSString *)string {
9292
return mutableString;
9393
}
9494

95-
- (NSString *)pluralize:(NSString *)string {
95+
- (nonnull NSString *)pluralize:(nonnull NSString *)string {
9696
if ([self.mutableUncountables containsObject:string]) {
9797
return string;
9898
}
@@ -110,31 +110,31 @@ - (NSString *)pluralize:(NSString *)string {
110110
return mutableString;
111111
}
112112

113-
- (void)addSingularRule:(NSString *)rule
114-
withReplacement:(NSString *)replacement
113+
- (void)addSingularRule:(nonnull NSString *)rule
114+
withReplacement:(nonnull NSString *)replacement
115115
{
116116
[self.mutableUncountables removeObject:rule];
117117

118118
[self.mutableSingularRules insertObject:[TTTStringInflectionRule ruleWithPattern:rule options:NSRegularExpressionAnchorsMatchLines | NSRegularExpressionCaseInsensitive | NSRegularExpressionUseUnicodeWordBoundaries replacement:replacement] atIndex:0];
119119
}
120120

121-
- (void)addPluralRule:(NSString *)rule
122-
withReplacement:(NSString *)replacement
121+
- (void)addPluralRule:(nonnull NSString *)rule
122+
withReplacement:(nonnull NSString *)replacement
123123
{
124124
[self.mutableUncountables removeObject:rule];
125125
[self.mutableUncountables removeObject:replacement];
126126

127127
[self.mutablePluralRules insertObject:[TTTStringInflectionRule ruleWithPattern:rule options:NSRegularExpressionAnchorsMatchLines | NSRegularExpressionCaseInsensitive | NSRegularExpressionUseUnicodeWordBoundaries replacement:replacement] atIndex:0];
128128
}
129129

130-
- (void)addIrregularWithSingular:(NSString *)singular
131-
plural:(NSString *)plural
130+
- (void)addIrregularWithSingular:(nonnull NSString *)singular
131+
plural:(nonnull NSString *)plural
132132
{
133133
[self.mutableIrregularPluralsBySingular setObject:plural forKey:singular];
134134
[self.mutableIrregularPluralsBySingular setObject:[plural capitalizedString] forKey:[singular capitalizedString]];
135135
}
136136

137-
- (void)addUncountable:(NSString *)word {
137+
- (void)addUncountable:(nonnull NSString *)word {
138138
[self.mutableUncountables addObject:word];
139139
}
140140

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#import <Foundation/Foundation.h>
2+
3+
//! Project version number for InflectorKit.
4+
FOUNDATION_EXPORT double InflectorKitVersionNumber;
5+
6+
//! Project version string for InflectorKit.
7+
FOUNDATION_EXPORT const unsigned char InflectorKitVersionString[];
8+
9+
// In this header, you should import all the public headers of your framework using statements like #import <InflectorKit/PublicHeader.h>
10+
11+
#import "NSString+InflectorKit.h"
12+
#import "TTTStringInflector.h"

InflectorKit/NSString+InflectorKit.h renamed to InflectorKit/include/NSString+InflectorKit.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
/**
3131
3232
*/
33-
- (NSString *)singularizedString;
33+
- (nonnull NSString *)singularizedString;
3434

3535
/**
3636
3737
*/
38-
- (NSString *)pluralizedString;
38+
- (nonnull NSString *)pluralizedString;
3939

4040
@end

InflectorKit/TTTStringInflector.h renamed to InflectorKit/include/TTTStringInflector.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
/**
3131
3232
*/
33-
+ (instancetype)defaultInflector;
33+
+ (nonnull instancetype)defaultInflector;
3434

3535
///=========================
3636
/// @name Inflecting Strings
@@ -39,12 +39,12 @@
3939
/**
4040
4141
*/
42-
- (NSString *)singularize:(NSString *)string;
42+
- (nonnull NSString *)singularize:(nonnull NSString *)string;
4343

4444
/**
4545
4646
*/
47-
- (NSString *)pluralize:(NSString *)string;
47+
- (nonnull NSString *)pluralize:(nonnull NSString *)string;
4848

4949
///===================
5050
/// @name Adding Rules
@@ -53,24 +53,24 @@
5353
/**
5454
5555
*/
56-
- (void)addSingularRule:(NSString *)rule
57-
withReplacement:(NSString *)replacement;
56+
- (void)addSingularRule:(nonnull NSString *)rule
57+
withReplacement:(nonnull NSString *)replacement;
5858

5959
/**
6060
6161
*/
62-
- (void)addPluralRule:(NSString *)rule
63-
withReplacement:(NSString *)replacement;
62+
- (void)addPluralRule:(nonnull NSString *)rule
63+
withReplacement:(nonnull NSString *)replacement;
6464

6565
/**
6666
6767
*/
68-
- (void)addIrregularWithSingular:(NSString *)singular
69-
plural:(NSString *)plural;
68+
- (void)addIrregularWithSingular:(nonnull NSString *)singular
69+
plural:(nonnull NSString *)plural;
7070

7171
/**
7272
7373
*/
74-
- (void)addUncountable:(NSString *)word;
74+
- (void)addUncountable:(nonnull NSString *)word;
7575

7676
@end

Package.swift

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// swift-tools-version:5.2
2+
// The swift-tools-version declares the minimum version of Swift required to build this package.
3+
4+
import PackageDescription
5+
6+
let package = Package(
7+
name: "InflectorKit",
8+
products: [
9+
.library(
10+
name: "InflectorKit",
11+
targets: ["InflectorKit"]
12+
)
13+
],
14+
dependencies: [],
15+
targets: [
16+
.target(
17+
name: "InflectorKit",
18+
dependencies: [],
19+
path: "InflectorKit"
20+
)
21+
]
22+
)

0 commit comments

Comments
 (0)