Taehyeon-Kim / Taehyeon-Kim.github.io

The life of recording is unbreakable
https://taehyeon-kim.github.io
MIT License
1 stars 0 forks source link

TCA101: Combine Publisher → Effect #20

Open Taehyeon-Kim opened 10 months ago

Taehyeon-Kim commented 10 months ago
struct SomeClient {
  var fetchNumber: () async -> Int
}

//: Before
extension SomeClient: DependencyKey {
  static let liveValue = Self(fetchNumber: { _ in
    let number = ...
    Just(number).eraseToEffect() 
  })
}

//: After
extension SomeClient: DependencyKey {
  static let liveValue = Self(fetchNumber: { _ in
    Effect.publisher { Just(number) }
  })
}

Links: