U vi@sddlmZmZmZddlZddlmZmZddlmZm Z edZ egeej feeej gee fee dddZ dgZ dS) )CallableOptionalTypeVarN) Observableabc)CompositeDisposable Disposable_T)resource_factoryobservable_factoryreturncs0dtjtttjtjdfdd }t|S)a?Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. Example: >>> res = reactivex.using(lambda: AsyncSubject(), lambda: s: s) Args: resource_factory: Factory function to obtain a resource object. observable_factory: Factory function to obtain an observable sequence that depends on the obtained resource. Returns: An observable sequence whose lifetime controls the lifetime of the dependent resource object. N)observer schedulerr c s~t}z}|dk r|}|}WnDtk rh}z&t|j||d}t||WYSd}~XYnXt|j||d|S)N)r)r Exception reactivexthrow subscriber)r rZdispresourcesource exceptiondr r K/opt/alt/python38/lib/python3.8/site-packages/reactivex/observable/using.pyrs   zusing_..subscribe)N)rZ ObserverBaser rZ SchedulerBaseDisposableBaser)r r rrrrusing_ sr)typingrrrrrrZreactivex.disposablerrr rr__all__rrrrs +