Giter VIP home page Giter VIP logo

bibbi-ios-package's Issues

feat: @Pulsing 매크로 구현

🛠️ 작업 내용

테스트 케이스 ①

class TestReactor: Reactor {

   @Pulsing
    struct State {
        var alertMessage: String
        @NoPulse var displayMessage: [String]
    }

    // Begin expansion of "@Pulsing"
    struct State {
        @Pulse var alertMessage: String
        var displayMessage: [String]
    }
    // End expansion of "@Pulsing"

}

📄 기타

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

검토 중

feat: #register 매크로 구현

🛠️ 작업 내용

  • #register 매크로 구현

테스트 케이스 ①

#register(HomeUseCaseProtocol.self) { _ in
    HomeUseCase()
}

// Begin expansion of "#RegisterContainer"
Container.standard.register(type: HomeUseCaseProtocol.self) { _ in
    HomeUseCase(repository: makeHomeRepository()
}
// End expansion of "#RegisterContainer"

테스트 케이스 ②

#register(HomeUseCaseProtocol.self, key: "Home") { _ in
    HomeUseCase()
}

// Begin expansion of "#RegisterContainer"
Container.standard.register(type: HomeUseCaseProtocol.self, key: "Home") { _ in
    HomeUseCase(repository: makeHomeRepository()
}
// End expansion of "#RegisterContainer"

📄 기타

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

검토 완료

feat: #todo 매크로 구현

🛠️ 작업 내용

  • #todo 매크로 구현
#todo("리프레시 토큰 갱신하기") // 🟡 TODO: - 리프레시 토큰 갱신하기

📄 기타

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

검증 완료

feat: #unwrap 매크로 구현

🛠️ 작업 내용

  • #unwrap 매크로 구현
return commentUseCase.execute(page: 1)
    .flatMap { response in
        let unwrappedResponse = #unwrap<Self>(
            response,
            emitIfFailure: Single.error(HTTPError.error)
        )
        // Begin expansion of "#unwrap"
        {
            guard 
                let _24dkg09gkd = response 
            else { return Single.error(HTTPError.error) }
            return _24dkg09gkd
        }()
        // End expansion of "#unwrap"
        return unwrappedResponse
    }
    ...
    ...

📄 기타

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

검토 중

feat: @Reactor 매크로 구현

🛠️ 작업 내용

테스트 케이스 ①

@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 케이스 작성하기

검증 완료

feat: @Reactor(.noAction) 매크로 구현

🛠️ 작업 내용

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

📄 기타

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

검증 완료

feat: #resolve 매크로 구현

🛠️ 작업 내용

  • #resolve 매크로 구현

테스트 케이스 ①

let vm = try? #resolve(ViewModel.self)
// Beging expansion of "#resolve"
let vm = try? Container.standard.resolve(type: ViewModel.self)
// End expansion of "#resolve"

    ...
}

테스트 케이스 ②

let vm = try? #resolve(ViewModel.self, key: "vm")
// Beging expansion of "#resolve"
let vm = try? Container.standard.resolve(type: ViewModel.self, key: "vm")
// End expansion of "#resolve"

    ...
}

📄 기타

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

검토 완료

feat: @MemberwiseIntializer 매크로 구현

🛠️ 작업 내용

  • @MemberwiseIntializer 매크로 구현
@MemberwiseIntializer
public struct MemberEntity {
    var name: String
    @Init(.ignored) var age: Int = 10
    @Init("day_of_birth") var dayOfBirth: String  
    
    // Begin expansion of "@MemberwiseIntializer"
    public init(name: String, day_of_birth: String) { 
        self.name = name
        self.dayOfBirth = day_of_birth
    }
    // End expansion of "@MemberwiseIntializer"
}
  • 적용 타입의 접근 제어자에 유의

📄 기타

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

feat: @Reactor(.equatable) 매크로 구현

🛠️ 작업 내용

  • @Reactor(.equatable) 매크로 구현
@Reactor(.equtable)
final class HomeReactor { 
    // @Reactor 매크로 작동 방식과 동일
}

// Begin expansion of "@Reactor(.equtable)"
extension 
extension HomeReactor: Identifiable { 
    var id: UUID { UUID() }
}
extension HomeReactor: Equatable {
    static func == (lhs: HomeReactor, res: HomeReactor) -> Bool {
        lhs.id == rhs.id
    }
}
// End expansion of "@Reactor(.equtable)"

📄 기타

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

검증 완료

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.