DataSerializer.swift 653 B

1234567891011121314151617181920212223242526
  1. import Foundation
  2. /// Convert to and from data
  3. class DataSerializer {
  4. /// Convert object to data
  5. ///
  6. /// - Parameter object: The object to convert
  7. /// - Returns: Data
  8. /// - Throws: Encoder error if any
  9. static func serialize<T: Encodable>(object: T) throws -> Data {
  10. let encoder = JSONEncoder()
  11. return try encoder.encode(object)
  12. }
  13. /// Convert data to object
  14. ///
  15. /// - Parameter data: The data to convert
  16. /// - Returns: The object
  17. /// - Throws: Decoder error if any
  18. static func deserialize<T: Decodable>(data: Data) throws -> T {
  19. let decoder = JSONDecoder()
  20. return try decoder.decode(T.self, from: data)
  21. }
  22. }