Skip to content
Snippets Groups Projects
Commit b16ba0e8 authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Combine errorReducer with sessionReducer

parent 1f170097
Branches
Tags
1 merge request!14[Example App] Make identity & contact
...@@ -47,6 +47,7 @@ extension AppEnvironment { ...@@ -47,6 +47,7 @@ extension AppEnvironment {
bgScheduler: bgScheduler, bgScheduler: bgScheduler,
mainScheduler: mainScheduler, mainScheduler: mainScheduler,
makeId: UUID.init, makeId: UUID.init,
error: ErrorEnvironment(),
myIdentity: MyIdentityEnvironment() myIdentity: MyIdentityEnvironment()
) )
) )
......
...@@ -47,12 +47,14 @@ public struct SessionEnvironment { ...@@ -47,12 +47,14 @@ public struct SessionEnvironment {
bgScheduler: AnySchedulerOf<DispatchQueue>, bgScheduler: AnySchedulerOf<DispatchQueue>,
mainScheduler: AnySchedulerOf<DispatchQueue>, mainScheduler: AnySchedulerOf<DispatchQueue>,
makeId: @escaping () -> UUID, makeId: @escaping () -> UUID,
error: ErrorEnvironment,
myIdentity: MyIdentityEnvironment myIdentity: MyIdentityEnvironment
) { ) {
self.getClient = getClient self.getClient = getClient
self.bgScheduler = bgScheduler self.bgScheduler = bgScheduler
self.mainScheduler = mainScheduler self.mainScheduler = mainScheduler
self.makeId = makeId self.makeId = makeId
self.error = error
self.myIdentity = myIdentity self.myIdentity = myIdentity
} }
...@@ -60,6 +62,7 @@ public struct SessionEnvironment { ...@@ -60,6 +62,7 @@ public struct SessionEnvironment {
public var bgScheduler: AnySchedulerOf<DispatchQueue> public var bgScheduler: AnySchedulerOf<DispatchQueue>
public var mainScheduler: AnySchedulerOf<DispatchQueue> public var mainScheduler: AnySchedulerOf<DispatchQueue>
public var makeId: () -> UUID public var makeId: () -> UUID
public var error: ErrorEnvironment
public var myIdentity: MyIdentityEnvironment public var myIdentity: MyIdentityEnvironment
} }
...@@ -156,6 +159,13 @@ public let sessionReducer = Reducer<SessionState, SessionAction, SessionEnvironm ...@@ -156,6 +159,13 @@ public let sessionReducer = Reducer<SessionState, SessionAction, SessionEnvironm
return .none return .none
} }
} }
.presenting(
errorReducer,
state: .keyPath(\.error),
id: .keyPath(\.?.error),
action: /SessionAction.error,
environment: \.error
)
.presenting( .presenting(
myIdentityReducer, myIdentityReducer,
state: .keyPath(\.myIdentity), state: .keyPath(\.myIdentity),
...@@ -171,6 +181,7 @@ extension SessionEnvironment { ...@@ -171,6 +181,7 @@ extension SessionEnvironment {
bgScheduler: .failing, bgScheduler: .failing,
mainScheduler: .failing, mainScheduler: .failing,
makeId: { fatalError() }, makeId: { fatalError() },
error: .failing,
myIdentity: .failing myIdentity: .failing
) )
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment