27 lines
549 B
Swift
27 lines
549 B
Swift
|
import Foundation
|
||
|
|
||
|
extension Date: StringProperty {
|
||
|
|
||
|
private static let metadataDate: DateFormatter = {
|
||
|
let df = DateFormatter()
|
||
|
df.dateFormat = "dd.MM.yy"
|
||
|
return df
|
||
|
}()
|
||
|
|
||
|
init?(_ value: String) {
|
||
|
guard let date = Date.metadataDate.date(from: value) else {
|
||
|
return nil
|
||
|
}
|
||
|
self = date
|
||
|
}
|
||
|
|
||
|
static var castFailureReason: String {
|
||
|
"Date string format must be 'dd.MM.yy'"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extension Date: DefaultValueProvider {
|
||
|
|
||
|
static var defaultValue: Date { .init() }
|
||
|
}
|