mirror of
https://github.com/hanzoai/swift-sdk.git
synced 2026-10-30 18:20:19 +00:00
The forge tree held the package scaffolding and none of the generated sources — 2,435 files of APIs, Models and Infrastructure, including BaseAPI, were simply absent, so anything depending on this copy had a package that compiled to nothing usable. Generated from the current API document rather than reconciled with the other copy: a client is a function of the spec, so regenerating answers "which history wins" without anyone having to choose. .spec-lock records which document, so the next reader can tell.
57 lines
1.7 KiB
Swift
57 lines
1.7 KiB
Swift
//
|
|
// OpenISO8601DateFormatter.swift
|
|
//
|
|
// Generated by openapi-generator
|
|
// https://openapi-generator.tech
|
|
//
|
|
|
|
import Foundation
|
|
|
|
// https://stackoverflow.com/a/50281094/976628
|
|
public class OpenISO8601DateFormatter: DateFormatter, @unchecked Sendable {
|
|
static let withoutSeconds: DateFormatter = {
|
|
let formatter = DateFormatter()
|
|
formatter.calendar = Calendar(identifier: .iso8601)
|
|
formatter.locale = Locale(identifier: "en_US_POSIX")
|
|
formatter.timeZone = TimeZone(secondsFromGMT: 0)
|
|
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
|
|
return formatter
|
|
}()
|
|
|
|
static let withoutTime: DateFormatter = {
|
|
let formatter = DateFormatter()
|
|
formatter.calendar = Calendar(identifier: .iso8601)
|
|
formatter.locale = Locale(identifier: "en_US_POSIX")
|
|
formatter.timeZone = TimeZone(secondsFromGMT: 0)
|
|
formatter.dateFormat = "yyyy-MM-dd"
|
|
return formatter
|
|
}()
|
|
|
|
private func setup() {
|
|
calendar = Calendar(identifier: .iso8601)
|
|
locale = Locale(identifier: "en_US_POSIX")
|
|
timeZone = TimeZone(secondsFromGMT: 0)
|
|
dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ"
|
|
}
|
|
|
|
override init() {
|
|
super.init()
|
|
setup()
|
|
}
|
|
|
|
required init?(coder aDecoder: NSCoder) {
|
|
super.init(coder: aDecoder)
|
|
setup()
|
|
}
|
|
|
|
override public func date(from string: String) -> Date? {
|
|
if let result = super.date(from: string) {
|
|
return result
|
|
} else if let result = OpenISO8601DateFormatter.withoutSeconds.date(from: string) {
|
|
return result
|
|
}
|
|
|
|
return OpenISO8601DateFormatter.withoutTime.date(from: string)
|
|
}
|
|
}
|