24 lines
629 B
Swift
24 lines
629 B
Swift
|
//
|
||
|
// ViewConditionalMethod.swift
|
||
|
// Jel
|
||
|
//
|
||
|
// Created by zerocool on 12/25/23.
|
||
|
//
|
||
|
|
||
|
import SwiftUI
|
||
|
|
||
|
extension View {
|
||
|
/// Applies the given transform if the given condition evaluates to `true`.
|
||
|
/// - Parameters:
|
||
|
/// - condition: The condition to evaluate.
|
||
|
/// - transform: The transform to apply to the source `View`.
|
||
|
/// - Returns: Either the original `View` or the modified `View` if the condition is `true`.
|
||
|
@ViewBuilder func `if`<Content: View>(_ condition: @autoclosure () -> Bool, transform: (Self) -> Content) -> some View {
|
||
|
if condition() {
|
||
|
transform(self)
|
||
|
} else {
|
||
|
self
|
||
|
}
|
||
|
}
|
||
|
}
|