U
vi @ s d dl mZmZmZmZmZ d dlmZmZm Z d dl m
Z
mZmZ d dl
mZ edZe jeee f eee gee f dddZdgZd S )
)AnyCallableListOptionalTypeVar)
Observableabctyping)CompositeDisposableSerialDisposableSingleAssignmentDisposable)ImmediateScheduler_T)mapperreturnc s t t t t d fdd}|S )N)sourcer c s0 dt jt tt j t jd fdd
}t|S )a Expands an observable sequence by recursively invoking
mapper.
Args:
source: Source obserable to expand.
Returns:
An observable sequence containing all the elements produced
by the recursive expansion.
N)observer schedulerr c s^ p
t g t td d f dd d7 S )Nr Fc sN d} r } ddt jtd f dd
| rJ _d S )NFT)r statec s r d}ndd S t td d fdd}d d fdd}|j|j|| d _| _d S )
Nr F)valuer c
sj | d }z| }W n2 tk
rL } z| W Y d S d }~X Y nX | d7 d S )N )on_next Exceptionon_errorappend)r resultex)active_count
ensure_activer r queue L/opt/alt/python38/lib/python3.8/site-packages/reactivex/operators/_expand.pyr = s
zbexpand_.