Improve logging during element scanning
This commit is contained in:
6
Sources/Generator/Extensions/Array+Extensions.swift
Normal file
6
Sources/Generator/Extensions/Array+Extensions.swift
Normal file
@ -0,0 +1,6 @@
|
||||
import Foundation
|
||||
|
||||
extension Array: DefaultValueProvider {
|
||||
|
||||
static var defaultValue: Array<Element> { [] }
|
||||
}
|
6
Sources/Generator/Extensions/Bool+Extensions.swift
Normal file
6
Sources/Generator/Extensions/Bool+Extensions.swift
Normal file
@ -0,0 +1,6 @@
|
||||
import Foundation
|
||||
|
||||
extension Bool: DefaultValueProvider {
|
||||
|
||||
static var defaultValue: Bool { true }
|
||||
}
|
26
Sources/Generator/Extensions/Date+Extensions.swift
Normal file
26
Sources/Generator/Extensions/Date+Extensions.swift
Normal file
@ -0,0 +1,26 @@
|
||||
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() }
|
||||
}
|
13
Sources/Generator/Extensions/Int+Extensions.swift
Normal file
13
Sources/Generator/Extensions/Int+Extensions.swift
Normal file
@ -0,0 +1,13 @@
|
||||
import Foundation
|
||||
|
||||
extension Int: StringProperty {
|
||||
|
||||
static var castFailureReason: String {
|
||||
"The string was not a valid integer"
|
||||
}
|
||||
}
|
||||
|
||||
extension Int: DefaultValueProvider {
|
||||
|
||||
static var defaultValue: Int { 0 }
|
||||
}
|
@ -3,7 +3,7 @@ import Metal
|
||||
|
||||
extension Optional {
|
||||
|
||||
func unwrapped<T>(_ closure: (Wrapped) -> T) -> T? {
|
||||
func unwrapped<T>(_ closure: (Wrapped) -> T?) -> T? {
|
||||
if case let .some(value) = self {
|
||||
return closure(value)
|
||||
}
|
||||
|
@ -79,3 +79,8 @@ extension String {
|
||||
try data(using: .utf8)!.createFolderAndWrite(to: url)
|
||||
}
|
||||
}
|
||||
|
||||
extension String: DefaultValueProvider {
|
||||
|
||||
static var defaultValue: String { "" }
|
||||
}
|
||||
|
Reference in New Issue
Block a user