0001    //
0002    //  Do.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 2/21/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    class DoSink
Do.swift:49
        let sink = DoSink(parent: self, observer: observer)
<O
Do.swift:11
class DoSink<O: ObserverType> : Sink<O>, ObserverType {
Do.swift:12
    typealias Element = O.E
Do.swift:17
    init(parent: Parent, observer: O) {
: ObserverType> : Sink<O>, ObserverType { 0012 typealias Element
Do.swift:13
    typealias Parent = Do<Element>
Do.swift:22
    func on(event: Event<Element>) {
= O.E 0013 typealias Parent
Do.swift:15
    private let _parent: Parent
Do.swift:17
    init(parent: Parent, observer: O) {
= Do<Element> 0014 0015 private let _parent
Do.swift:18
        _parent = parent
Do.swift:24
            try _parent._eventHandler(event)
: Parent 0016 0017 init
Do.swift:49
        let sink = DoSink(parent: self, observer: observer)
(parent: Parent, observer: O) { 0018 _parent = parent 0019 super.init(observer: observer) 0020 } 0021 0022 func on(event: Event<Element>) { 0023 do { 0024 try _parent._eventHandler(event) 0025 forwardOn(event) 0026 if event.isStopEvent { 0027 dispose() 0028 } 0029 } 0030 catch let error { 0031 forwardOn(.Error(error)) 0032 dispose() 0033 } 0034 } 0035 } 0036 0037 class Do
Do.swift:13
    typealias Parent = Do<Element>
Observable+Single.swift:89
        return Do(source: self.asObservable(), eventHandler: eventHandler)
Observable+Single.swift:105
        return Do(source: self.asObservable()) { e in
<Element
Do.swift:37
class Do<Element> : Producer<Element> {
Do.swift:38
    typealias EventHandler = Event<Element> throws -> Void
Do.swift:40
    private let _source: Observable<Element>
Do.swift:43
    init(source: Observable<Element>, eventHandler: EventHandler) {
Do.swift:48
    override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {
> : Producer<Element> { 0038 typealias EventHandler
Do.swift:41
    private let _eventHandler: EventHandler
Do.swift:43
    init(source: Observable<Element>, eventHandler: EventHandler) {
= Event<Element> throws -> Void 0039 0040 private let _source
Do.swift:44
        _source = source
Do.swift:50
        sink.disposable = _source.subscribe(sink)
: Observable<Element> 0041 private let _eventHandler
Do.swift:24
            try _parent._eventHandler(event)
Do.swift:45
        _eventHandler = eventHandler
: EventHandler 0042 0043 init
Observable+Single.swift:89
        return Do(source: self.asObservable(), eventHandler: eventHandler)
Observable+Single.swift:105
        return Do(source: self.asObservable()) { e in
(source: Observable<Element>, eventHandler: EventHandler) { 0044 _source = source 0045 _eventHandler = eventHandler 0046 } 0047 0048 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0049 let sink = DoSink(parent: self, observer: observer) 0050 sink.disposable = _source.subscribe(sink) 0051 return sink 0052 } 0053 }