Meshtastic-Apple/Meshtastic/Extensions/Measurement.swift
Blake McAnally 4d547e48db This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation.
After this change, a developer can now clone the project and run without the build failing due to lint errors! 😃

* I ran `swiftlint --fix` to resolve many auto-correctable issues (mostly whitespace)
* Excluded the `Meshtastic/Protobufs` directory from lint, since that code is automatically generated.
* Converted some single letter method parameters to lowercase.
* Converted several instances `force_cast` to instead use `guard` or `if let` to unwrap optional values. During this change, some of the SwiftUI views became "too complex to be solved in a reasonable time", so I broke up the views into distinct sub-expressions.

I was able to build and run the app on an iOS simulator.
2024-05-31 21:48:50 -05:00

28 lines
517 B
Swift

//
// Measurement.swift
// Meshtastic
//
// Copyright(c) Garth Vander Houwen 11/17/23.
//
import Foundation
import Charts
struct PlottableMeasurement<UnitType: Unit> {
var measurement: Measurement<UnitType>
}
extension PlottableMeasurement: Plottable where UnitType == UnitLength {
var primitivePlottable: Double {
self.measurement.converted(to: .meters).value
}
init?(primitivePlottable: Double) {
self.init(
measurement: Measurement(
value: primitivePlottable,
unit: .meters
)
)
}
}