Skip to content

Commit 7d83fdb

Browse files
committed
refactor: optionForKey
1 parent ae7d68f commit 7d83fdb

1 file changed

Lines changed: 10 additions & 33 deletions

File tree

Source/UIViewController+Options.swift

Lines changed: 10 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -46,40 +46,17 @@ extension UIViewController {
4646
func optionForKey(_ optionKey: SemiModalOption) -> Any? {
4747
let options = self.options()
4848
let value = options[optionKey]
49-
50-
switch optionKey {
51-
case .traverseParentHierarchy, .pushParentBack, .disableCancel:
52-
if let value = value as? Bool {
53-
return value
54-
}else{
55-
return defaultOptions[optionKey]
56-
}
57-
case .animationDuration:
58-
if let value = value as? TimeInterval {
59-
return value
60-
}else{
61-
return defaultOptions[optionKey]
62-
}
63-
case .parentAlpha, .parentScale, .shadowOpacity:
64-
if let value = value as? Double {
65-
return value
66-
}else{
67-
return defaultOptions[optionKey]
68-
}
69-
case .transitionStyle:
70-
if let value = value as? SemiModalTransitionStyle {
71-
return value
72-
}else{
73-
return defaultOptions[optionKey]
74-
}
75-
case .backgroundView:
76-
if let value = value as? UIView {
77-
return value
78-
}else{
79-
return defaultOptions[optionKey]
80-
}
81-
}
8249

50+
let isValidType = value is Bool ||
51+
value is Double ||
52+
value is SemiModalTransitionStyle ||
53+
value is UIView
54+
55+
if isValidType {
56+
return value
57+
} else {
58+
return defaultOptions[optionKey]
59+
}
8360
}
8461

8562
}

0 commit comments

Comments
 (0)