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)
    }
}
