summaryrefslogtreecommitdiff
path: root/Sora/Data/Danbooru/DanbooruPostParser.swift
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-09-03 22:28:08 -0700
committerFuwn <[email protected]>2025-09-03 22:28:08 -0700
commite42ace815c0e33e90a6e576942d7905f01a314dd (patch)
tree4e3a8b15e6e2ebfb5436014660c990a57350e069 /Sora/Data/Danbooru/DanbooruPostParser.swift
parentfeat: Development commit (diff)
downloadsora-testing-e42ace815c0e33e90a6e576942d7905f01a314dd.tar.xz
sora-testing-e42ace815c0e33e90a6e576942d7905f01a314dd.zip
feat: Development commit
Diffstat (limited to 'Sora/Data/Danbooru/DanbooruPostParser.swift')
-rw-r--r--Sora/Data/Danbooru/DanbooruPostParser.swift26
1 files changed, 17 insertions, 9 deletions
diff --git a/Sora/Data/Danbooru/DanbooruPostParser.swift b/Sora/Data/Danbooru/DanbooruPostParser.swift
index 73db0cc..f990ed5 100644
--- a/Sora/Data/Danbooru/DanbooruPostParser.swift
+++ b/Sora/Data/Danbooru/DanbooruPostParser.swift
@@ -1,6 +1,6 @@
import Foundation
-class DanbooruPostParser {
+nonisolated class DanbooruPostParser {
private let data: Data
init(data: Data) {
@@ -25,20 +25,28 @@ class DanbooruPostParser {
}
}
- private static func parseDate(_ input: String) -> Date? {
- let isoFormatter = ISO8601DateFormatter()
+ nonisolated(unsafe) private static let isoFormatter: ISO8601DateFormatter = {
+ let formatter = ISO8601DateFormatter()
+
+ formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
+
+ return formatter
+ }()
+
+ private static let alternativeFormatter: DateFormatter = {
+ let formatter = DateFormatter()
- isoFormatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
+ formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
+ formatter.locale = Locale(identifier: "en_US_POSIX")
+ return formatter
+ }()
+
+ private static func parseDate(_ input: String) -> Date? {
if let date = isoFormatter.date(from: input) {
return date
}
- let alternativeFormatter = DateFormatter()
-
- alternativeFormatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
- alternativeFormatter.locale = Locale(identifier: "en_US_POSIX")
-
if let date = alternativeFormatter.date(from: input) {
return date
}