Skip to content

Commit

Permalink
[Swift5][client] try to fix JsonEncondable (#11541)
Browse files Browse the repository at this point in the history
  • Loading branch information
4brunu committed Feb 9, 2022
1 parent bf5e701 commit 441c069
Show file tree
Hide file tree
Showing 32 changed files with 576 additions and 240 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,41 @@ import AnyCodable
import PromiseKit{{/usePromiseKit}}{{#useVapor}}
import Vapor{{/useVapor}}{{^useVapor}}

extension Bool: JSONEncodable {}
extension Float: JSONEncodable {}
extension Int: JSONEncodable {}
extension Int32: JSONEncodable {}
extension Int64: JSONEncodable {}
extension Double: JSONEncodable {}
extension String: JSONEncodable {}
extension URL: JSONEncodable {}
extension UUID: JSONEncodable {}
extension Bool: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Float: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int32: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int64: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Double: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension String: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension URL: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension UUID: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension RawRepresentable where RawValue: JSONEncodable {
func encodeToJSON() -> Any { return self.rawValue }
Expand Down Expand Up @@ -69,8 +95,7 @@ extension Date: JSONEncodable {

extension JSONEncodable where Self: Encodable {
func encodeToJSON() -> Any {
let encoder = CodableHelper.jsonEncoder
guard let data = try? encoder.encode(self) else {
guard let data = try? CodableHelper.jsonEncoder.encode(self) else {
fatalError("Could not encode to json: \(self)")
}
return data.encodeToJSON()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ protocol JSONEncodable {
func encodeToJSON() -> Any
}

extension JSONEncodable {
func encodeToJSON() -> Any { self }
}

/// An enum where the last case value can be used as a default catch-all.
protocol CaseIterableDefaultsLast: Decodable & CaseIterable & RawRepresentable
where RawValue: Decodable, AllCases: BidirectionalCollection {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,41 @@ import Foundation
import AnyCodable
#endif

extension Bool: JSONEncodable {}
extension Float: JSONEncodable {}
extension Int: JSONEncodable {}
extension Int32: JSONEncodable {}
extension Int64: JSONEncodable {}
extension Double: JSONEncodable {}
extension String: JSONEncodable {}
extension URL: JSONEncodable {}
extension UUID: JSONEncodable {}
extension Bool: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Float: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int32: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int64: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Double: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension String: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension URL: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension UUID: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension RawRepresentable where RawValue: JSONEncodable {
func encodeToJSON() -> Any { return self.rawValue }
Expand Down Expand Up @@ -67,8 +93,7 @@ extension Date: JSONEncodable {

extension JSONEncodable where Self: Encodable {
func encodeToJSON() -> Any {
let encoder = CodableHelper.jsonEncoder
guard let data = try? encoder.encode(self) else {
guard let data = try? CodableHelper.jsonEncoder.encode(self) else {
fatalError("Could not encode to json: \(self)")
}
return data.encodeToJSON()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ protocol JSONEncodable {
func encodeToJSON() -> Any
}

extension JSONEncodable {
func encodeToJSON() -> Any { self }
}

/// An enum where the last case value can be used as a default catch-all.
protocol CaseIterableDefaultsLast: Decodable & CaseIterable & RawRepresentable
where RawValue: Decodable, AllCases: BidirectionalCollection {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,41 @@ import Foundation
import AnyCodable
#endif

extension Bool: JSONEncodable {}
extension Float: JSONEncodable {}
extension Int: JSONEncodable {}
extension Int32: JSONEncodable {}
extension Int64: JSONEncodable {}
extension Double: JSONEncodable {}
extension String: JSONEncodable {}
extension URL: JSONEncodable {}
extension UUID: JSONEncodable {}
extension Bool: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Float: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int32: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int64: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Double: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension String: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension URL: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension UUID: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension RawRepresentable where RawValue: JSONEncodable {
func encodeToJSON() -> Any { return self.rawValue }
Expand Down Expand Up @@ -67,8 +93,7 @@ extension Date: JSONEncodable {

extension JSONEncodable where Self: Encodable {
func encodeToJSON() -> Any {
let encoder = CodableHelper.jsonEncoder
guard let data = try? encoder.encode(self) else {
guard let data = try? CodableHelper.jsonEncoder.encode(self) else {
fatalError("Could not encode to json: \(self)")
}
return data.encodeToJSON()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ protocol JSONEncodable {
func encodeToJSON() -> Any
}

extension JSONEncodable {
func encodeToJSON() -> Any { self }
}

/// An enum where the last case value can be used as a default catch-all.
protocol CaseIterableDefaultsLast: Decodable & CaseIterable & RawRepresentable
where RawValue: Decodable, AllCases: BidirectionalCollection {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,41 @@ import Foundation
import AnyCodable
#endif

extension Bool: JSONEncodable {}
extension Float: JSONEncodable {}
extension Int: JSONEncodable {}
extension Int32: JSONEncodable {}
extension Int64: JSONEncodable {}
extension Double: JSONEncodable {}
extension String: JSONEncodable {}
extension URL: JSONEncodable {}
extension UUID: JSONEncodable {}
extension Bool: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Float: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int32: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int64: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Double: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension String: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension URL: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension UUID: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension RawRepresentable where RawValue: JSONEncodable {
func encodeToJSON() -> Any { return self.rawValue }
Expand Down Expand Up @@ -67,8 +93,7 @@ extension Date: JSONEncodable {

extension JSONEncodable where Self: Encodable {
func encodeToJSON() -> Any {
let encoder = CodableHelper.jsonEncoder
guard let data = try? encoder.encode(self) else {
guard let data = try? CodableHelper.jsonEncoder.encode(self) else {
fatalError("Could not encode to json: \(self)")
}
return data.encodeToJSON()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ protocol JSONEncodable {
func encodeToJSON() -> Any
}

extension JSONEncodable {
func encodeToJSON() -> Any { self }
}

/// An enum where the last case value can be used as a default catch-all.
protocol CaseIterableDefaultsLast: Decodable & CaseIterable & RawRepresentable
where RawValue: Decodable, AllCases: BidirectionalCollection {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,41 @@ import Foundation
import AnyCodable
#endif

extension Bool: JSONEncodable {}
extension Float: JSONEncodable {}
extension Int: JSONEncodable {}
extension Int32: JSONEncodable {}
extension Int64: JSONEncodable {}
extension Double: JSONEncodable {}
extension String: JSONEncodable {}
extension URL: JSONEncodable {}
extension UUID: JSONEncodable {}
extension Bool: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Float: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int32: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Int64: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension Double: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension String: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension URL: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension UUID: JSONEncodable {
func encodeToJSON() -> Any { self }
}

extension RawRepresentable where RawValue: JSONEncodable {
func encodeToJSON() -> Any { return self.rawValue }
Expand Down Expand Up @@ -67,8 +93,7 @@ extension Date: JSONEncodable {

extension JSONEncodable where Self: Encodable {
func encodeToJSON() -> Any {
let encoder = CodableHelper.jsonEncoder
guard let data = try? encoder.encode(self) else {
guard let data = try? CodableHelper.jsonEncoder.encode(self) else {
fatalError("Could not encode to json: \(self)")
}
return data.encodeToJSON()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ protocol JSONEncodable {
func encodeToJSON() -> Any
}

extension JSONEncodable {
func encodeToJSON() -> Any { self }
}

/// An enum where the last case value can be used as a default catch-all.
protocol CaseIterableDefaultsLast: Decodable & CaseIterable & RawRepresentable
where RawValue: Decodable, AllCases: BidirectionalCollection {}
Expand Down
Loading

0 comments on commit 441c069

Please sign in to comment.