ViewCondition
 
At a Glance
struct BorderTextView: View {
  var color: Color?
  @ViewBuilder
  var body: some View {
    Text("Hello")
      .if(let: color) {
        $0.border($1)
      }
  }
} 
This is equivalent to:
struct BorderTextView: View {
  var color: Color?
  @ViewBuilder
  var body: some View {
    let text = Text("Hello")
    if let color = color {
      text.border(color) // border doesn't allow optional
    } else {
      text
    }
  }
} 
Operators
if let
let color: Color?
Text("Hello")
  .if(let: color) {
    $0.border($1)
  } 
if
let text = ""
Text("Hello")
  .if(text == "Hello") {
    $0.bold()
  } 
ifNot
let text = ""
Text("Hello")
  .ifNot(text == "Hello") {
    $0.bold()
  } 
then
let text = ""
Text("Hello")
  .then {
    if text == "Hello" {
      $0.bold()
    } else {
      $0.italic()
    }
  } 
   ⚠️ 
   Becareful
 
If you don't return view in else, the view may not come out.
Installation
Using Swift Package Manager:
import PackageDescription
let package = Package(
  name: "MyAwesomeApp",
  dependencies: [
    .package(url: "https://github.com/tokijh/ViewCondition.git", from: "1.0.0")
  ]
) 
Special thanks to..
License
ViewCondition is under MIT license. See the LICENSE file for more info.