Skip to content

Instantly share code, notes, and snippets.

@tilltue
Created June 20, 2018 16:06
Show Gist options
  • Save tilltue/4a0ec3481118bf7c78ad6dbf36bea66f to your computer and use it in GitHub Desktop.
Save tilltue/4a0ec3481118bf7c78ad6dbf36bea66f to your computer and use it in GitHub Desktop.
Estimated Tax model
protocol EstimatedTaxProtocol {
associatedtype ItemType: PurchaseItem
var items: BehaviorSubject<[ItemType]> { get set }
var sumData: Observable<Int> { get }
var estimatedTax: Observable<Int> { get }
var estimatedTaxItems: Observable<[ItemType]> { get }
}
extension EstimatedTaxProtocol {
var sumData: Observable<Int> {
return self.items.flatMap({ items -> Observable<Int> in
let sum = items.reduce(0, { (result, item) -> Int in
return result + item.dollar
})
return Observable.just(sum)
})
}
//...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment