diff --git a/Core/ReducerKit/Sources/Reducer.swift b/Core/ReducerKit/Sources/Reducer.swift index d2dd043..7111708 100644 --- a/Core/ReducerKit/Sources/Reducer.swift +++ b/Core/ReducerKit/Sources/Reducer.swift @@ -8,7 +8,7 @@ import Foundation /// 액션에 따른 상태 변화 로직을 정의하기 위한 프로토콜 -public protocol Reducer { +public protocol Reducer { /// View에 표시될 데이터를 정의 associatedtype State diff --git a/Core/ReducerKit/Sources/Store.swift b/Core/ReducerKit/Sources/Store.swift index 8fc30dc..ceb554e 100644 --- a/Core/ReducerKit/Sources/Store.swift +++ b/Core/ReducerKit/Sources/Store.swift @@ -7,21 +7,17 @@ import Foundation -/// Store 타입을 좀 더 간편하게 정의(표현). -public typealias StoreOf = Store - /// Reducer를 실행하고 UI를 업데이트하는 상태 관리자 @MainActor @Observable -public final class Store { +public final class Store { + + public typealias State = R.State + public typealias Action = R.Action private(set) public var state: State private let reduce: (inout State, Action) -> Effect - // Store.State == Reducer.State, Store.Action == Reducer.Action - public init>( - initialState: State, - reducer: R - ) { + public init(initialState: State, reducer: R) { self.state = initialState self.reduce = reducer.reduce(into:action:) } diff --git a/Mark-In/Sources/Feature/AddFolder/AddFolderView.swift b/Mark-In/Sources/Feature/AddFolder/AddFolderView.swift index 77a7ca1..458de0c 100644 --- a/Mark-In/Sources/Feature/AddFolder/AddFolderView.swift +++ b/Mark-In/Sources/Feature/AddFolder/AddFolderView.swift @@ -12,7 +12,7 @@ import ReducerKit struct AddFolderView: View { @Environment(\.dismiss) private var dismiss - @State private var store: StoreOf = .init( + @State private var store: Store = .init( initialState: AddFolderReducer.State(), reducer: AddFolderReducer() ) diff --git a/Mark-In/Sources/Feature/AddLink/AddLinkView.swift b/Mark-In/Sources/Feature/AddLink/AddLinkView.swift index e2951fe..80c5f8f 100644 --- a/Mark-In/Sources/Feature/AddLink/AddLinkView.swift +++ b/Mark-In/Sources/Feature/AddLink/AddLinkView.swift @@ -12,7 +12,7 @@ import ReducerKit struct AddLinkView: View { @Environment(\.dismiss) var dismiss - @State private var store: StoreOf = .init( + @State private var store: Store = .init( initialState: AddLinkReducer.State(), reducer: AddLinkReducer() ) diff --git a/Mark-In/Sources/Feature/Login/LoginView.swift b/Mark-In/Sources/Feature/Login/LoginView.swift index c7fd2e4..adc4098 100644 --- a/Mark-In/Sources/Feature/Login/LoginView.swift +++ b/Mark-In/Sources/Feature/Login/LoginView.swift @@ -13,7 +13,7 @@ import ReducerKit import Util struct LoginView: View { - @State private var store: StoreOf = .init( + @State private var store: Store = .init( initialState: LoginReducer.State(), reducer: LoginReducer() ) @@ -50,9 +50,9 @@ struct LoginView: View { } private struct BodyView: View { - private let store: StoreOf + private let store: Store - init(store: StoreOf) { + init(store: Store) { self.store = store } @@ -100,9 +100,9 @@ private struct BodyView: View { private struct SignInButtonList: View { @Environment(\.authorizationController) private var authorizationController - private let store: StoreOf + private let store: Store - init(store: StoreOf) { + init(store: Store) { self.store = store } diff --git a/Mark-In/Sources/Feature/Main/LinkListView.swift b/Mark-In/Sources/Feature/Main/LinkListView.swift index b7d4e70..e94c70b 100644 --- a/Mark-In/Sources/Feature/Main/LinkListView.swift +++ b/Mark-In/Sources/Feature/Main/LinkListView.swift @@ -18,7 +18,7 @@ private enum ViewConstants { struct LinkListView: View { - let store: StoreOf + let store: Store private var links: [WebLink] { let totalLinks = store.state.links diff --git a/Mark-In/Sources/Feature/Main/MainView.swift b/Mark-In/Sources/Feature/Main/MainView.swift index e6db047..c3d7dc9 100644 --- a/Mark-In/Sources/Feature/Main/MainView.swift +++ b/Mark-In/Sources/Feature/Main/MainView.swift @@ -11,7 +11,7 @@ import DesignSystem import ReducerKit struct MainView: View { - @State private var store: StoreOf = .init( + @State private var store: Store = .init( initialState: MainReducer.State(), reducer: MainReducer() ) diff --git a/Mark-In/Sources/Feature/Main/SideBar.swift b/Mark-In/Sources/Feature/Main/SideBar.swift index 121f225..90a4ad5 100644 --- a/Mark-In/Sources/Feature/Main/SideBar.swift +++ b/Mark-In/Sources/Feature/Main/SideBar.swift @@ -11,7 +11,7 @@ import DesignSystem import ReducerKit struct SideBar: View { - let store: StoreOf + let store: Store var body: some View { VStack(alignment: .leading) { diff --git a/Mark-In/Sources/Feature/MyPage/MyPageView.swift b/Mark-In/Sources/Feature/MyPage/MyPageView.swift index 68d46f0..f62f658 100644 --- a/Mark-In/Sources/Feature/MyPage/MyPageView.swift +++ b/Mark-In/Sources/Feature/MyPage/MyPageView.swift @@ -15,7 +15,7 @@ private enum ViewConstants { } struct MyPageView: View { - @State private var store: StoreOf = .init( + @State private var store: Store = .init( initialState: MyPageReducer.State(), reducer: MyPageReducer() )