@@ -141,6 +141,8 @@ final class RFC3339DateFormatter: PermissiveDateFormatter, @unchecked Sendable {
141
141
142
142
/// Formatter for RFC822 date specification with backup formats.
143
143
final class RFC822DateFormatter : PermissiveDateFormatter , @unchecked Sendable {
144
+ // MARK: Internal
145
+
144
146
/// List of date formats supported for RFC822.
145
147
override var dateFormats : [ String ] {
146
148
[
@@ -180,8 +182,7 @@ final class RFC822DateFormatter: PermissiveDateFormatter, @unchecked Sendable {
180
182
// handle these in full compliance with Unicode tr35-31. For example,
181
183
// "Tues, 6 November 2007 12:00:00 GMT" is rejected because of the "Tues",
182
184
// even though "Tues" is used as an example for EEE in tr35-31.
183
- let trimRegEx = try ! NSRegularExpression ( pattern: " ^[a-zA-Z]+, ([ \\ w :+-]+)$ " )
184
- let trimmed = trimRegEx. stringByReplacingMatches (
185
+ let trimmed = Self . trimRegEx. stringByReplacingMatches (
185
186
in: string,
186
187
options: [ ] ,
187
188
range: NSMakeRange ( 0 , string. count) ,
@@ -196,6 +197,10 @@ final class RFC822DateFormatter: PermissiveDateFormatter, @unchecked Sendable {
196
197
}
197
198
return nil
198
199
}
200
+
201
+ // MARK: Private
202
+
203
+ private static let trimRegEx = try ! NSRegularExpression ( pattern: " ^[a-zA-Z]+, ([ \\ w :+-]+)$ " )
199
204
}
200
205
201
206
// MARK: - RFC1123 formatter
@@ -255,21 +260,6 @@ final class FeedDateFormatter: DateFormatter, @unchecked Sendable {
255
260
256
261
// MARK: Internal
257
262
258
- /// The date specification to use for formatting dates.
259
- let spec : DateSpec
260
-
261
- /// ISO8601 date formatter.
262
- lazy var iso8601Formatter : ISO8601DateFormatter = . init( )
263
-
264
- /// RFC3339 date formatter.
265
- lazy var rfc3339Formatter : RFC3339DateFormatter = . init( )
266
-
267
- /// RFC822 date formatter.
268
- lazy var rfc822Formatter : RFC822DateFormatter = . init( )
269
-
270
- /// RFC1123 date formatter.
271
- lazy var rfc1123Formatter : RFC1123DateFormatter = . init( )
272
-
273
263
/// Converts a string to a Date based on the given date specification.
274
264
///
275
265
/// - Parameters:
@@ -316,4 +306,21 @@ final class FeedDateFormatter: DateFormatter, @unchecked Sendable {
316
306
fatalError ( )
317
307
}
318
308
}
309
+
310
+ // MARK: Private
311
+
312
+ /// The date specification to use for formatting dates.
313
+ private let spec : DateSpec
314
+
315
+ /// ISO8601 date formatter.
316
+ private lazy var iso8601Formatter : ISO8601DateFormatter = . init( )
317
+
318
+ /// RFC3339 date formatter.
319
+ private lazy var rfc3339Formatter : RFC3339DateFormatter = . init( )
320
+
321
+ /// RFC822 date formatter.
322
+ private lazy var rfc822Formatter : RFC822DateFormatter = . init( )
323
+
324
+ /// RFC1123 date formatter.
325
+ private lazy var rfc1123Formatter : RFC1123DateFormatter = . init( )
319
326
}
0 commit comments