34 lines
725 B
Swift
34 lines
725 B
Swift
//
|
|
// JSONDecoders.swift
|
|
// PSCB-OOS-iOS
|
|
//
|
|
// Created by Antonov Ilia on 25.10.2020.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
final public class JSONDecoders {
|
|
|
|
public static func iso8601DateAwareDecoder() -> JSONDecoder {
|
|
return ISO8601DateAwareJSONDecoder()
|
|
}
|
|
|
|
}
|
|
|
|
// MARK: - ISO8601 date aware JSON Decoder
|
|
class ISO8601DateAwareJSONDecoder: JSONDecoder {
|
|
|
|
static internal let dateTimeFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
|
|
|
|
let dateFormatter: DateFormatter = DateFormatter()
|
|
let calendar = Calendar.current
|
|
|
|
override init() {
|
|
super.init()
|
|
|
|
dateFormatter.dateFormat = Self.dateTimeFormat
|
|
dateDecodingStrategy = .formatted(dateFormatter)
|
|
}
|
|
|
|
}
|