diff --git a/secant/Util/Clamped.swift b/secant/Util/Clamped.swift index 2b19ef8..52331ed 100644 --- a/secant/Util/Clamped.swift +++ b/secant/Util/Clamped.swift @@ -16,16 +16,17 @@ struct Clamped { let range: ClosedRange var wrappedValue: Value { get { value } - set { - value = min( - max(range.lowerBound, newValue), - range.upperBound - ) - } + set { value = clamp(newValue, using: range) } } init(wrappedValue: Value, _ range: ClosedRange) { self.value = wrappedValue self.range = range + + value = clamp(wrappedValue, using: range) + } + + private func clamp(_ value: Value, using range: ClosedRange) -> Value { + min(range.upperBound, max(range.lowerBound, wrappedValue)) } }