0001 // 0002 // Filter.swift 0003 // Rx 0004 // 0005 // Created by Krunoslav Zaher on 2/17/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 class FilterSink<O
Filter.swift:56 let sink = FilterSink(predicate: _predicate, observer: observer): ObserverType>: Sink<O>, ObserverType { 0012 typealias Predicate
Filter.swift:11 class FilterSink<O : ObserverType>: Sink<O>, ObserverType {Filter.swift:13 typealias Element = O.EFilter.swift:19 init(predicate: Predicate, observer: O) {= (Element) throws -> Bool 0013 typealias Element
Filter.swift:17 private let _predicate: PredicateFilter.swift:19 init(predicate: Predicate, observer: O) {= O.E 0014 0015 typealias Parent = Filter<Element> 0016 0017 private let _predicate
Filter.swift:12 typealias Predicate = (Element) throws -> BoolFilter.swift:15 typealias Parent = Filter<Element>Filter.swift:24 func on(event: Event<Element>) {: Predicate 0018 0019 init
Filter.swift:20 _predicate = predicateFilter.swift:28 let satisfies = try _predicate(value)(predicate: Predicate, observer: O) { 0020 _predicate = predicate 0021 super.init(observer: observer) 0022 } 0023 0024 func on(event: Event<Element>) { 0025 switch event { 0026 case .Next(let value): 0027 do { 0028 let satisfies = try _predicate(value) 0029 if satisfies { 0030 forwardOn(.Next(value)) 0031 } 0032 } 0033 catch let e { 0034 forwardOn(.Error(e)) 0035 dispose() 0036 } 0037 case .Completed, .Error: 0038 forwardOn(event) 0039 dispose() 0040 } 0041 } 0042 } 0043 0044 class Filter
Filter.swift:56 let sink = FilterSink(predicate: _predicate, observer: observer)<Element
Filter.swift:15 typealias Parent = Filter<Element>Observable+StandardSequenceOperators.swift:26 return Filter(source: asObservable(), predicate: predicate)> : Producer<Element> { 0045 typealias Predicate
Filter.swift:44 class Filter<Element> : Producer<Element> {Filter.swift:45 typealias Predicate = (Element) throws -> BoolFilter.swift:47 private let _source: Observable<Element>Filter.swift:50 init(source: Observable<Element>, predicate: Predicate) {Filter.swift:55 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {= (Element) throws -> Bool 0046 0047 private let _source
Filter.swift:48 private let _predicate: PredicateFilter.swift:50 init(source: Observable<Element>, predicate: Predicate) {: Observable<Element> 0048 private let _predicate
Filter.swift:51 _source = sourceFilter.swift:57 sink.disposable = _source.subscribe(sink): Predicate 0049 0050 init
Filter.swift:52 _predicate = predicateFilter.swift:56 let sink = FilterSink(predicate: _predicate, observer: observer)(source: Observable<Element>, predicate: Predicate) { 0051 _source = source 0052 _predicate = predicate 0053 } 0054 0055 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0056 let sink = FilterSink(predicate: _predicate, observer: observer) 0057 sink.disposable = _source.subscribe(sink) 0058 return sink 0059 } 0060 }
Observable+StandardSequenceOperators.swift:26 return Filter(source: asObservable(), predicate: predicate)