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

Combine errorReducer with sessionReducer

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