From 10bcecda1d8953e0e54a9740fd39b8508112ab37 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Mon, 18 Jul 2022 13:29:33 +0100 Subject: [PATCH] Add ViewConfigurator --- Sources/CollectionView/ViewConfigurator.swift | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Sources/CollectionView/ViewConfigurator.swift diff --git a/Sources/CollectionView/ViewConfigurator.swift b/Sources/CollectionView/ViewConfigurator.swift new file mode 100644 index 00000000..67e0453b --- /dev/null +++ b/Sources/CollectionView/ViewConfigurator.swift @@ -0,0 +1,21 @@ +import UIKit + +public struct ViewConfigurator<View: UIView, Model> { + public init(configure: @escaping (View, Model) -> Void) { + self.configure = configure + } + + public var configure: (View, Model) -> Void + + public func callAsFunction(view: View, with model: Model) { + configure(view, model) + } +} + +#if DEBUG +extension ViewConfigurator { + public static func failing() -> ViewConfigurator { + ViewConfigurator { _, _ in fatalError("Not implemented") } + } +} +#endif -- GitLab