Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
swift-urlqueryitem-coder Sources URLQueryItemCoder Decoder Generic Implementation Strategies DecodingStrategies.swift
2.0 kB · 48 lines
Swift
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849//// DecodingStrategies.swift// URLQueryItemCoder//// Created by Kyle Hughes on 3/9/23.//
/// The strategies for decoding `Decodable` values.public struct DecodingStrategies { /// The collection initialized to all default values. public static let `default` = Self() /// The strategy to use for encoding `Data` values. public var dataStrategy: DataDecodingStrategy /// The strategy to use for encoding `Date` values. public var dateStrategy: DateDecodingStrategy /// The strategy to use for automatically changing the value of keys before decoding. public var keyStrategy: KeyDecodingStrategy /// The strategy to use for non-conforming floating-point values (IEEE 754 infinity and NaN). public var nonConformingFloatStrategy: NonConformingFloatDecodingStrategy // MARK: Public Initialization /// Creates a new collection of decoding strategies for decoding `Decodable` values. /// /// The default decoding strategies are used if none are supplied. /// /// - Parameter dataStrategy: The strategy to use for decoding `Data` values. /// - Parameter dateStrategy: The strategy to use for decoding `Date` values. /// - Parameter keyStrategy: The strategy to use for decoding keys on keyed containers. /// - Parameter nonConformingFloatStrategy: The strategy to use for decoding non-conforming floating-point values /// (IEEE 754 infinity and NaN). /// - Returns: Decoding strategies for decoding `Decodable` values. public init( dataStrategy: DataDecodingStrategy = .default, dateStrategy: DateDecodingStrategy = .default, keyStrategy: KeyDecodingStrategy = .default, nonConformingFloatStrategy: NonConformingFloatDecodingStrategy = .default ) { self.dataStrategy = dataStrategy self.dateStrategy = dateStrategy self.keyStrategy = keyStrategy self.nonConformingFloatStrategy = nonConformingFloatStrategy }}