Skip to content

Commit 6d9daff

Browse files
authored
Remove WordPressKitObjCUtils (#25400)
* Add WordPressShared dependency to WordPressKitObjC * Remove WPKit extension usages * Remove remaining wpkit_decode usages * Remove NSString+XMLExtensions from WordPressKitObjcUtils * Remove wpkit_stringByStrippingHTML * Remove wpkit_stringByEllipsizingWithMaxLength * Remove wpkit_stringByStrippingHTML * Remove wpkit_isEmpty * Remove WordPressKitObjCUtils * Remove Swift flags
1 parent a716c9b commit 6d9daff

40 files changed

Lines changed: 170 additions & 1093 deletions

Modules/Package.swift

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ let package = Package(
2424
.library(name: "WordPressReader", targets: ["WordPressReader"]),
2525
.library(name: "WordPressCore", targets: ["WordPressCore"]),
2626
.library(name: "WordPressCoreProtocols", targets: ["WordPressCoreProtocols"]),
27+
.library(name: "WordPressKit", targets: ["WordPressKit"]),
2728
],
2829
dependencies: [
2930
.package(url: "https://github.com/airbnb/lottie-ios", from: "4.4.0"),
@@ -195,26 +196,20 @@ let package = Package(
195196
resources: [.process("Resources")],
196197
swiftSettings: [.swiftLanguageMode(.v5)]
197198
),
198-
.target(
199-
name: "WordPressKitObjCUtils",
200-
cSettings: [
201-
.define("NS_BLOCK_ASSERTIONS", to: "1", .when(configuration: .release))
202-
]
203-
),
204199
.target(
205200
name: "WordPressKitModels",
206201
dependencies: [
207202
"NSObject-SafeExpectations",
208-
"WordPressKitObjCUtils",
203+
"WordPressShared",
209204
]
210205
),
211206
.target(
212207
name: "WordPressKitObjC",
213208
dependencies: [
214209
"NSObject-SafeExpectations",
215210
"wpxmlrpc",
216-
"WordPressKitModels",
217-
"WordPressKitObjCUtils",
211+
"WordPressShared",
212+
"WordPressKitModels"
218213
],
219214
publicHeadersPath: "include",
220215
cSettings: [
@@ -226,7 +221,6 @@ let package = Package(
226221
dependencies: [
227222
"WordPressKitObjC",
228223
"WordPressKitModels",
229-
"WordPressKitObjCUtils",
230224
"NSObject-SafeExpectations",
231225
"WordPressShared",
232226
"wpxmlrpc",

Modules/Sources/WordPressKit/AccountSettingsRemote.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressShared
23
import WordPressKitObjC
34

45
public class AccountSettingsRemote: ServiceRemoteWordPressComREST {
@@ -178,12 +179,12 @@ public class AccountSettingsRemote: ServiceRemoteWordPressComREST {
178179
throw ResponseError.decodingFailure
179180
}
180181

181-
let aboutMeText = aboutMe.wpkit_stringByDecodingXMLCharacters()
182+
let aboutMeText = aboutMe.stringByDecodingXMLCharacters()
182183

183184
return AccountSettings(firstName: firstName,
184185
lastName: lastName,
185186
displayName: displayName,
186-
aboutMe: aboutMeText!,
187+
aboutMe: aboutMeText,
187188
username: username,
188189
usernameCanBeChanged: usernameCanBeChanged,
189190
email: email,

Modules/Sources/WordPressKit/Exports.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
@_exported import WordPressKitModels
22
@_exported import WordPressKitObjC
3-
@_exported import WordPressKitObjCUtils
43

54
extension ServiceRemoteWordPressComREST {
65
public var wordPressComRestApi: WordPressComRestApi {

Modules/Sources/WordPressKit/PeopleServiceRemote.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressShared
23
import WordPressKitObjC
34

45
/// Encapsulates all of the People Management WordPress.com Methods
@@ -558,7 +559,7 @@ private extension PeopleServiceRemote {
558559
let firstName = user["first_name"] as? String
559560
let lastName = user["last_name"] as? String
560561
let avatarURL = (user["avatar_URL"] as? NSString)
561-
.flatMap { URL(string: $0.wpkit_stringByUrlEncoding())}
562+
.flatMap { URL(string: $0.wp_stringByUrlEncoding())}
562563

563564
let linkedUserID = user["linked_user_ID"] as? Int ?? ID
564565
let isSuperAdmin = user["is_super_admin"] as? Bool ?? false

Modules/Sources/WordPressKit/PluginDirectoryEntry.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressShared
23

34
public struct PluginDirectoryEntry {
45
public let name: String
@@ -77,7 +78,7 @@ extension PluginDirectoryEntry: Codable {
7778
public init(from decoder: Decoder) throws {
7879
let container = try decoder.container(keyedBy: CodingKeys.self)
7980
let decodedName = try container.decode(String.self, forKey: .name)
80-
name = decodedName.wpkit_stringByDecodingXMLCharacters()
81+
name = decodedName.stringByDecodingXMLCharacters()
8182
slug = try container.decode(String.self, forKey: .slug)
8283
version = try? container.decode(String.self, forKey: .version)
8384
lastUpdated = try? container.decode(Date.self, forKey: .lastUpdated)
@@ -115,7 +116,7 @@ extension PluginDirectoryEntry: Codable {
115116
public func encode(to encoder: Encoder) throws {
116117
var container = encoder.container(keyedBy: CodingKeys.self)
117118

118-
try container.encode(name.wpkit_stringByEncodingXMLCharacters(), forKey: .name)
119+
try container.encode(name.stringByEncodingXMLCharacters(), forKey: .name)
119120
try container.encode(slug, forKey: .slug)
120121
try container.encodeIfPresent(version, forKey: .version)
121122
try container.encodeIfPresent(lastUpdated, forKey: .lastUpdated)

Modules/Sources/WordPressKit/StatsLastPostInsight.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressShared
23

34
public struct StatsLastPostInsight: Equatable, Decodable {
45
public let title: String
@@ -81,7 +82,7 @@ extension StatsLastPostInsight {
8182

8283
public init(from decoder: Decoder) throws {
8384
let container = try decoder.container(keyedBy: CodingKeys.self)
84-
title = try container.decode(String.self, forKey: .title).trimmingCharacters(in: .whitespaces).wpkit_stringByDecodingXMLCharacters()
85+
title = try container.decode(String.self, forKey: .title).trimmingCharacters(in: .whitespaces).stringByDecodingXMLCharacters()
8586
url = try container.decode(URL.self, forKey: .url)
8687
let dateString = try container.decode(String.self, forKey: .publishedDate)
8788
guard let date = StatsLastPostInsight.dateFormatter.date(from: dateString) else {

Modules/Sources/WordPressKit/String+Helpers.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
import Foundation
22

33
extension String {
4-
func stringByDecodingXMLCharacters() -> String {
5-
return NSString.wpkit_decodeXMLCharacters(in: self)
6-
}
7-
8-
func stringByEncodingXMLCharacters() -> String {
9-
return NSString.wpkit_encodeXMLCharacters(in: self)
10-
}
11-
124
func trim() -> String {
135
return trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
146
}

Modules/Sources/WordPressKitModels/NSString+Summary.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Foundation
2-
import WordPressKitObjCUtils
2+
import WordPressShared
33

44
/// This is an extension to NSString that provides logic to summarize HTML content,
55
/// and convert HTML into plain text.
@@ -20,16 +20,16 @@ extension NSString {
2020
.strippingShortcodes()
2121
.makePlainText()
2222
.trimmingCharacters(in: characterSet)
23-
.wpkit_stringByEllipsizing(withMaxLength: NSString.PostDerivedSummaryLength, preserveWords: true)
23+
.wp_stringByEllipsizing(withMaxLength: NSString.PostDerivedSummaryLength, preserveWords: true)
2424
}
2525
}
2626

2727
private extension String {
2828
func makePlainText() -> String {
2929
let characterSet = NSCharacterSet.whitespacesAndNewlines
3030

31-
return self.wpkit_stringByStrippingHTML()
32-
.wpkit_stringByDecodingXMLCharacters()
31+
return self.strippingHTML()
32+
.stringByDecodingXMLCharacters()
3333
.trimmingCharacters(in: characterSet)
3434
}
3535

Modules/Sources/WordPressKitModels/RemoteBlogOptionsHelper.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import WordPressShared
23

34
@objcMembers public class RemoteBlogOptionsHelper: NSObject {
45

@@ -73,8 +74,8 @@ import Foundation
7374

7475
public class func remoteBlogSettings(fromXMLRPCDictionaryOptions options: NSDictionary) -> RemoteBlogSettings {
7576
let remoteSettings = RemoteBlogSettings()
76-
remoteSettings.name = options.string(forKeyPath: "blog_title.value")?.wpkit_stringByDecodingXMLCharacters()
77-
remoteSettings.tagline = options.string(forKeyPath: "blog_tagline.value")?.wpkit_stringByDecodingXMLCharacters()
77+
remoteSettings.name = options.string(forKeyPath: "blog_title.value")?.stringByDecodingXMLCharacters()
78+
remoteSettings.tagline = options.string(forKeyPath: "blog_tagline.value")?.stringByDecodingXMLCharacters()
7879
if options["blog_public"] != nil {
7980
remoteSettings.privacy = options.number(forKeyPath: "blog_public.value")
8081
}

Modules/Sources/WordPressKitObjC/AccountServiceRemoteREST.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#import "AccountServiceRemoteREST.h"
2-
#import "WPMapFilterReduce.h"
32

3+
@import WordPressShared;
44
@import WordPressKitModels;
55
@import NSObject_SafeExpectations;
66

@@ -420,9 +420,9 @@ - (RemoteUser *)remoteUserFromDictionary:(NSDictionary *)dictionary
420420
- (NSArray *)remoteBlogsFromJSONArray:(NSArray *)jsonBlogs
421421
{
422422
NSArray *blogs = jsonBlogs;
423-
return [[blogs wpkit_map:^id(NSDictionary *jsonBlog) {
423+
return [[blogs wp_map:^id(NSDictionary *jsonBlog) {
424424
return [[RemoteBlog alloc] initWithJSONDictionary:jsonBlog];
425-
}] wpkit_filter:^BOOL(RemoteBlog *blog) {
425+
}] wp_filter:^BOOL(RemoteBlog *blog) {
426426
// Exclude deleted sites from query result, since the app does not handle deleted sites properly.
427427
// I tried to use query arguments `site_visibility=visible` and `site_activity=active`, but neither excludes
428428
// deleted sites.

0 commit comments

Comments
 (0)