import Foundation /** All data needed to create statistic displays */ struct RouteData { let series: RouteSeries let ranges: DataRanges let samples: [RouteSample] } extension RouteData: Codable { func encoded(prettyPrinted: Bool = false) -> Data { let encoder = JSONEncoder() encoder.outputFormatting = .sortedKeys if prettyPrinted { encoder.outputFormatting.insert(.prettyPrinted) } return try! encoder.encode(self) } }