U vi@sddlmZddlmZmZmZmZddlmZm Z m Z m Z ddl m Z edZee jgeeedffeeddd Zd gZd S) )Future)CallableOptionalTypeVarUnion) Observableabc from_futurethrow)ImmediateScheduler_Tz Future[_T])factoryreturncs.dtjtttjtjdfdd }t|S)aReturns an observable sequence that invokes the specified factory function whenever a new observer subscribes. Example: >>> res = defer(lambda scheduler: of(1, 2, 3)) Args: observable_factory: Observable factory function to invoke for each observer that subscribes to the resulting sequence. The factory takes a single argument, the scheduler used. Returns: An observable sequence whose observers trigger an invocation of the given observable factory function. N)observer schedulerrc snz|pt}Wn4tk rH}zt||WYSd}~XYnXt|tr\t|n|}|j||dS)N)r)r Z singleton Exceptionr subscribe isinstancerr )rrresultexr K/opt/alt/python38/lib/python3.8/site-packages/reactivex/observable/defer.pyrs $zdefer_..subscribe)N)rZ ObserverBaser r SchedulerBaseZDisposableBaser)r rrrrdefer_ s rN)asynciortypingrrrrZ reactivexrrr r Zreactivex.schedulerr r rr__all__rrrrs   !