Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
swift-urlqueryitem-coder Sources URLQueryItemCoder Encoder Generic Implementation Strategies EncodingStrategies.swift
2.3 kB · 54 lines
Swift
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455//// EncodingStrategies.swift// URLQueryItemCoder//// Created by Kyle Hughes on 3/9/23.//
/// The strategies for encoding `Encodable` values.public struct EncodingStrategies { /// The collection initialized to all default values. public static let `default` = Self()
/// The strategy to use for encoding `Array` values. public var arrayStrategy: ArrayEncodingStrategy
/// The strategy to use for encoding `Data` values. public var dataStrategy: DataEncodingStrategy
/// The strategy to use for encoding `Date` values. public var dateStrategy: DateEncodingStrategy
/// The strategy to use for automatically changing the value of keys before encoding. public var keyStrategy: KeyEncodingStrategy
/// The strategy to use for non-conforming floating-point values (IEEE 754 infinity and NaN). public var nonConformingFloatStrategy: NonConformingFloatEncodingStrategy
// MARK: Public Initialization
/// Creates a new collection of encoding strategies for encoding `Encodable` values. /// /// The default encoding strategies are used if none are supplied. /// /// - Parameter arrayStrategy: The strategy to use for encoding `Array` values. /// - Parameter dataStrategy: The strategy to use for encoding `Data` values. /// - Parameter dateStrategy: The strategy to use for encoding `Date` values. /// - Parameter keyStrategy: The strategy to use for encoding keys on keyed containers. /// - Parameter nonConformingFloatStrategy: The strategy to use for encoding non-conforming floating-point values /// (IEEE 754 infinity and NaN). /// - Returns: Encoding strategies for encoding `Encodable` values. public init( arrayStrategy: ArrayEncodingStrategy = .default, dataStrategy: DataEncodingStrategy = .default, dateStrategy: DateEncodingStrategy = .default, keyStrategy: KeyEncodingStrategy = .default, nonConformingFloatStrategy: NonConformingFloatEncodingStrategy = .default ) { self.arrayStrategy = arrayStrategy self.dataStrategy = dataStrategy self.dateStrategy = dateStrategy self.keyStrategy = keyStrategy self.nonConformingFloatStrategy = nonConformingFloatStrategy }}