Skip to content

Commit 45b56fa

Browse files
committed
Make reify(_:viewModel:dispatchAction:) a free function
This helper function doesn't rely on any RootViewController state.
1 parent f36e9aa commit 45b56fa

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Authenticator/Source/RootViewController.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -112,20 +112,20 @@ extension TokenFormViewController: ModelBased {}
112112
extension InfoListViewController: ModelBased {}
113113
extension InfoViewController: ModelBased {}
114114

115-
extension RootViewController {
116-
private func reify<ViewController: ModelBasedViewController>(_ existingViewController: UIViewController?, viewModel: ViewController.ViewModel, dispatchAction: @escaping (ViewController.Action) -> Void) -> ViewController {
117-
if let viewController = existingViewController as? ViewController {
118-
viewController.update(with: viewModel)
119-
return viewController
120-
} else {
121-
let viewController = ViewController(
122-
viewModel: viewModel,
123-
dispatchAction: dispatchAction
124-
)
125-
return viewController
126-
}
115+
private func reify<ViewController: ModelBasedViewController>(_ existingViewController: UIViewController?, viewModel: ViewController.ViewModel, dispatchAction: @escaping (ViewController.Action) -> Void) -> ViewController {
116+
if let viewController = existingViewController as? ViewController {
117+
viewController.update(with: viewModel)
118+
return viewController
119+
} else {
120+
let viewController = ViewController(
121+
viewModel: viewModel,
122+
dispatchAction: dispatchAction
123+
)
124+
return viewController
127125
}
126+
}
128127

128+
extension RootViewController {
129129
func update(with viewModel: Root.ViewModel) {
130130
tokenListViewController.update(with: viewModel.tokenList)
131131

0 commit comments

Comments
 (0)