U vi@sddlmZmZmZmZddlmZmZmZddlm Z ddlmZedZ ej e eee gee fdddZ eje eee gee fdd d Zdd gZd S) )CallableOptionalTupleTypeVar) Observableabccompose) operators)typing_T) predicatereturncs ttttdfdd }|S)N)sourcer cs,dtjtttjdfdd }t|S)aNBypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements. The element's index is used in the logic of the predicate function. Example: >>> skip_while(source) Args: source: The source observable to skip elements from. Returns: An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. N)observer schedulercs0dtdfdd }j|jj|dS)NF)valuec sXsFz| Wn2tk rD}z|WYdSd}~XYnXrT|dSN) Exceptionon_erroron_next)rZexn)rr runningO/opt/alt/python38/lib/python3.8/site-packages/reactivex/operators/_skipwhile.pyr%s zCskip_while_..skip_while..subscribe..on_next)r)r subscriberZ on_completed)rrr)r r)rrrrs z2skip_while_..skip_while..subscribe)N)rZ ObserverBaser rZ SchedulerBaser)rrr )rr skip_while s zskip_while_..skip_while)rr )r rrrr skip_while_ s+rcsltttttfddd}tttftdfdd }tttftddd}tt|t|t|S) N)xir cSs||fSrr)rrrrrindexer>sz$skip_while_indexed_..indexer)rr cs|SrrrrrrskipperAsz$skip_while_indexed_..skippercSs|dS)Nrrr rrrmapperDsz#skip_while_indexed_..mapper) r intrboolropsZ map_indexedrmap)r rr!r"rrrskip_while_indexed_;sr'N)r rrrrZ reactivexrrrr r%r Z PredicaterZPredicateIndexedr'__all__rrrrs   2