From f086ce10a2485750487b152e57bd892a554afa37 Mon Sep 17 00:00:00 2001 From: Victor Vaknin Otte Hansen Date: Sun, 16 Nov 2025 18:37:41 +0100 Subject: [PATCH] Add an If condition for QRCode.Builder --- Sources/QRCode/QRCode+Builder.swift | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Sources/QRCode/QRCode+Builder.swift b/Sources/QRCode/QRCode+Builder.swift index bab29b4..5bfbf4d 100644 --- a/Sources/QRCode/QRCode+Builder.swift +++ b/Sources/QRCode/QRCode+Builder.swift @@ -177,6 +177,22 @@ public extension QRCode.Builder { } } +// MARK: - If condition + +public extension QRCode.Builder { + /// Conditionally apply qr code style if a boolean is `true`, just like a regular `if` statement + /// - Parameter condition: A condition that has to be `true` + /// - Parameter configure: The `QRCode.Builder` modifier(s) that you want to apply if `condition == true` + /// - Returns: `QRCode.Builder` + func `if`(condition: Bool, configure: (QRCode.Builder) -> Void) -> QRCode.Builder { + let builder = self + if condition { + configure(builder) + } + return builder + } +} + // MARK: - Foreground public extension QRCode.Builder {