Skip to content

Commit f5c052e

Browse files
committed
[Router] Use AnyObject to Stoore Route Specific State
`Any` can result in unexpected cast behavior when used with Optionals
1 parent 7ce9c56 commit f5c052e

File tree

7 files changed

+8
-8
lines changed

7 files changed

+8
-8
lines changed

ReSwiftDev/ReSwiftRouter/ReSwiftRouter/NavigationActions.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ public struct SetRouteAction: StandardActionConvertible {
3333

3434
public struct SetRouteSpecificData: Action {
3535
let route: [RouteElementIdentifier]
36-
let data: Any
36+
let data: AnyObject
3737

38-
public init(route: [RouteElementIdentifier], data: Any) {
38+
public init(route: [RouteElementIdentifier], data: AnyObject) {
3939
self.route = route
4040
self.data = data
4141
}

ReSwiftDev/ReSwiftRouter/ReSwiftRouter/NavigationReducer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public struct NavigationReducer {
4040
static func setRouteSpecificData(
4141
var state: NavigationState,
4242
route: [RouteElementIdentifier],
43-
data: Any) -> NavigationState{
43+
data: AnyObject) -> NavigationState{
4444
let routeHash = RouteHash(route: route)
4545

4646
state.routeSpecificState[routeHash] = data

ReSwiftDev/ReSwiftRouter/ReSwiftRouter/NavigationState.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public struct NavigationState {
2828
public init() {}
2929

3030
public var route: [RouteElementIdentifier] = []
31-
public var routeSpecificState: [RouteHash: Any] = [:]
31+
public var routeSpecificState: [RouteHash: AnyObject?] = [:]
3232
}
3333

3434
extension NavigationState {

SwiftFlowGitHubBrowser/Actions/BookmarkActions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ import ReSwiftRouter
1212

1313
struct CreateBookmark: Action {
1414
let route: [RouteElementIdentifier]
15-
let routeSpecificData: Any
15+
let routeSpecificData: Any?
1616
}

SwiftFlowGitHubBrowser/BookmarksReducer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Foundation
1010
import ReSwift
1111
import ReSwiftRouter
1212

13-
func bookmarksReducer(state: [(route: [RouteElementIdentifier], routeSpecificData: Any)]?, action: Action) -> [(route: [RouteElementIdentifier], routeSpecificData: Any)] {
13+
func bookmarksReducer(state: [Bookmark]?, action: Action) -> [Bookmark] {
1414
var state = state ?? []
1515

1616
switch action {

SwiftFlowGitHubBrowser/State/State.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ struct State: StateType, HasNavigationState {
1818
var bookmarks: [Bookmark]
1919
}
2020

21-
typealias Bookmark = (route: [RouteElementIdentifier], routeSpecificData: Any)
21+
typealias Bookmark = (route: [RouteElementIdentifier], routeSpecificData: Any?)

SwiftFlowGitHubBrowser/ViewControllers/RepositoryDetailViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class RepositoryDetailViewController: UIViewController, StoreSubscriber {
4949
store.dispatch(
5050
CreateBookmark(
5151
route: [mainViewRoute, repositoryDetailRoute],
52-
routeSpecificData: self.repository!)
52+
routeSpecificData: self.repository)
5353
)
5454
}
5555
}

0 commit comments

Comments
 (0)