0001 // 0002 // Deferred.swift 0003 // RxSwift 0004 // 0005 // Created by Krunoslav Zaher on 4/19/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 class DeferredSink<S
Deferred.swift:57 let sink = DeferredSink(observableFactory: _observableFactory, observer: observer): ObservableType, O
Deferred.swift:14 private let _observableFactory: () throws -> SDeferred.swift:16 init(observableFactory: () throws -> S, observer: O) {: ObserverType where S.E == O.E> : Sink<O>, ObserverType { 0012 typealias E
Deferred.swift:11 class DeferredSink<S: ObservableType, O: ObserverType where S.E == O.E> : Sink<O>, ObserverType {Deferred.swift:12 typealias E = O.EDeferred.swift:16 init(observableFactory: () throws -> S, observer: O) {= O.E 0013 0014 private let _observableFactory
Deferred.swift:33 func on(event: Event<E>) {: () throws -> S 0015 0016 init
Deferred.swift:17 _observableFactory = observableFactoryDeferred.swift:23 let result = try _observableFactory()(observableFactory: () throws -> S, observer: O) { 0017 _observableFactory = observableFactory 0018 super.init(observer: observer) 0019 } 0020 0021 func run
Deferred.swift:57 let sink = DeferredSink(observableFactory: _observableFactory, observer: observer)() -> Disposable { 0022 do { 0023 let result = try _observableFactory() 0024 return result.subscribe(self) 0025 } 0026 catch let e { 0027 forwardOn(.Error(e)) 0028 dispose() 0029 return NopDisposable.instance 0030 } 0031 } 0032 0033 func on(event: Event<E>) { 0034 forwardOn(event) 0035 0036 switch event { 0037 case .Next: 0038 break 0039 case .Error: 0040 dispose() 0041 case .Completed: 0042 dispose() 0043 } 0044 } 0045 } 0046 0047 class Deferred
Deferred.swift:58 sink.disposable = sink.run()<S
Observable+Creation.swift:127 return Deferred(observableFactory: observableFactory): ObservableType> : Producer<S.E> { 0048 typealias Factory
Deferred.swift:47 class Deferred<S: ObservableType> : Producer<S.E> {Deferred.swift:48 typealias Factory = () throws -> SDeferred.swift:56 override func run<O: ObserverType where O.E == S.E>(observer: O) -> Disposable {= () throws -> S 0049 0050 private let _observableFactory
Deferred.swift:50 private let _observableFactory : FactoryDeferred.swift:52 init(observableFactory: Factory) {: Factory 0051 0052 init
Deferred.swift:53 _observableFactory = observableFactoryDeferred.swift:57 let sink = DeferredSink(observableFactory: _observableFactory, observer: observer)(observableFactory: Factory) { 0053 _observableFactory = observableFactory 0054 } 0055 0056 override func run<O: ObserverType where O.E == S.E>(observer: O) -> Disposable { 0057 let sink = DeferredSink(observableFactory: _observableFactory, observer: observer) 0058 sink.disposable = sink.run() 0059 return sink 0060 } 0061 }
Observable+Creation.swift:127 return Deferred(observableFactory: observableFactory)