Skip to content

feat: @Reactor 매크로 구현 #19

@rlarjsdn3

Description

@rlarjsdn3

🛠️ 작업 내용

테스트 케이스 ①

@Reactor
class SomeReactor {
    // Begin expansion of "@Reactor"
    typealias Action = NoAction
    struct State { }
    var intialState: State
    // End expansion of "@Reactor"
    init() { self.initialState = State() }
}

// Begin expansion of "@Reactor"
extension SomeReactor: Reactor { } 
// End expansion of "@Reactor"

테스트 케이스 ②

@Reactor
class SomeReactor {
    struct State { }
    // Begin expansion of "@Reactor"
    typealias Action = NoAction
    var intialState: State
    // End expansion of "@Reactor"
    init() { self.initialState = State() }
}

// Begin expansion of "@Reactor"
extension SomeReactor: Reactor { } 
// End expansion of "@Reactor"

테스트 케이스 ③

@Reactor
class SomeReactor {
    enum Action { }
    enum Mutation { }
    // Begin expansion of "@Reactor"
    struct State { }
    var intialState: State
    // End expansion of "@Reactor"
    init() { self.initialState = State() }
}

// Begin expansion of "@Reactor"
extension SomeReactor: Reactor { } 
// End expansion of "@Reactor"

테스트 케이스 ④

@Reactor
class SomeReactor {
    enum Action { }
    enum Mutation { }
    struct State { }
    // Begin expansion of "@Reactor"
    var intialState: State
    // End expansion of "@Reactor"
    init() { self.initialState = State() }
}

// Begin expansion of "@Reactor"
extension SomeReactor: Reactor { } 
// End expansion of "@Reactor"

📄 기타

  • 주석화된 문서 작성하기
  • XCTest 케이스 작성하기

검증 완료

Metadata

Metadata

Assignees

No one assigned

    Labels

    기능New feature or request문서Improvements or additions to documentation😗도현

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions