reactivex 4.1.0__py3-none-any.whl → 5.0.0a2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- reactivex/__init__.py +35 -39
- reactivex/_version.py +1 -1
- reactivex/abc/disposable.py +3 -4
- reactivex/abc/observable.py +13 -6
- reactivex/abc/observer.py +2 -1
- reactivex/abc/periodicscheduler.py +7 -6
- reactivex/abc/scheduler.py +10 -9
- reactivex/abc/subject.py +5 -5
- reactivex/disposable/compositedisposable.py +4 -4
- reactivex/disposable/disposable.py +1 -2
- reactivex/disposable/multipleassignmentdisposable.py +2 -3
- reactivex/disposable/refcountdisposable.py +1 -2
- reactivex/disposable/serialdisposable.py +4 -5
- reactivex/disposable/singleassignmentdisposable.py +3 -4
- reactivex/internal/__init__.py +2 -0
- reactivex/internal/basic.py +2 -2
- reactivex/internal/concurrency.py +2 -1
- reactivex/internal/curry.py +59 -0
- reactivex/internal/exceptions.py +7 -12
- reactivex/internal/priorityqueue.py +2 -2
- reactivex/internal/utils.py +3 -2
- reactivex/notification.py +22 -21
- reactivex/observable/case.py +5 -6
- reactivex/observable/catch.py +3 -2
- reactivex/observable/combinelatest.py +4 -5
- reactivex/observable/concat.py +3 -2
- reactivex/observable/connectableobservable.py +7 -7
- reactivex/observable/defer.py +4 -3
- reactivex/observable/empty.py +3 -4
- reactivex/observable/forkjoin.py +5 -5
- reactivex/observable/fromcallback.py +4 -3
- reactivex/observable/fromfuture.py +2 -2
- reactivex/observable/fromiterable.py +4 -3
- reactivex/observable/generate.py +2 -2
- reactivex/observable/generatewithrelativetime.py +4 -3
- reactivex/observable/groupedobservable.py +4 -4
- reactivex/observable/ifthen.py +3 -2
- reactivex/observable/interval.py +1 -4
- reactivex/observable/marbles.py +18 -17
- reactivex/observable/mixins/__init__.py +32 -0
- reactivex/observable/mixins/combination.py +481 -0
- reactivex/observable/mixins/conditional.py +135 -0
- reactivex/observable/mixins/error_handling.py +130 -0
- reactivex/observable/mixins/filtering.py +1119 -0
- reactivex/observable/mixins/mathematical.py +277 -0
- reactivex/observable/mixins/multicasting.py +306 -0
- reactivex/observable/mixins/testing.py +193 -0
- reactivex/observable/mixins/time_based.py +209 -0
- reactivex/observable/mixins/transformation.py +632 -0
- reactivex/observable/mixins/utility.py +811 -0
- reactivex/observable/mixins/windowing.py +688 -0
- reactivex/observable/never.py +2 -2
- reactivex/observable/observable.py +72 -25
- reactivex/observable/onerrorresumenext.py +7 -6
- reactivex/observable/range.py +6 -6
- reactivex/observable/repeat.py +2 -2
- reactivex/observable/returnvalue.py +6 -5
- reactivex/observable/start.py +3 -2
- reactivex/observable/startasync.py +2 -1
- reactivex/observable/throw.py +3 -3
- reactivex/observable/timer.py +12 -12
- reactivex/observable/toasync.py +3 -2
- reactivex/observable/using.py +5 -4
- reactivex/observable/withlatestfrom.py +4 -5
- reactivex/observable/zip.py +7 -6
- reactivex/observer/autodetachobserver.py +4 -4
- reactivex/observer/observer.py +5 -4
- reactivex/observer/scheduledobserver.py +2 -2
- reactivex/operators/__init__.py +162 -208
- reactivex/operators/_all.py +23 -6
- reactivex/operators/_amb.py +88 -75
- reactivex/operators/_asobservable.py +20 -17
- reactivex/operators/_average.py +48 -45
- reactivex/operators/_buffer.py +81 -35
- reactivex/operators/_bufferwithtime.py +29 -9
- reactivex/operators/_bufferwithtimeorcount.py +27 -8
- reactivex/operators/_catch.py +33 -32
- reactivex/operators/_combinelatest.py +28 -20
- reactivex/operators/_concat.py +16 -13
- reactivex/operators/_contains.py +25 -6
- reactivex/operators/_count.py +24 -8
- reactivex/operators/_debounce.py +141 -138
- reactivex/operators/_defaultifempty.py +45 -42
- reactivex/operators/_delay.py +24 -23
- reactivex/operators/_delaysubscription.py +23 -21
- reactivex/operators/_delaywithmapper.py +10 -11
- reactivex/operators/_dematerialize.py +25 -21
- reactivex/operators/_distinct.py +50 -46
- reactivex/operators/_distinctuntilchanged.py +60 -57
- reactivex/operators/_do.py +123 -116
- reactivex/operators/_dowhile.py +3 -2
- reactivex/operators/_elementatordefault.py +57 -33
- reactivex/operators/_exclusive.py +59 -53
- reactivex/operators/_expand.py +82 -77
- reactivex/operators/_filter.py +63 -68
- reactivex/operators/_finallyaction.py +3 -2
- reactivex/operators/_find.py +49 -32
- reactivex/operators/_first.py +18 -11
- reactivex/operators/_firstordefault.py +5 -4
- reactivex/operators/_flatmap.py +89 -83
- reactivex/operators/_forkjoin.py +23 -18
- reactivex/operators/_groupby.py +27 -6
- reactivex/operators/_groupbyuntil.py +8 -5
- reactivex/operators/_groupjoin.py +7 -6
- reactivex/operators/_ignoreelements.py +20 -15
- reactivex/operators/_isempty.py +15 -4
- reactivex/operators/_join.py +6 -5
- reactivex/operators/_last.py +36 -31
- reactivex/operators/_lastordefault.py +8 -8
- reactivex/operators/_map.py +54 -39
- reactivex/operators/_materialize.py +30 -31
- reactivex/operators/_max.py +18 -11
- reactivex/operators/_maxby.py +5 -5
- reactivex/operators/_merge.py +132 -129
- reactivex/operators/_min.py +16 -10
- reactivex/operators/_minby.py +9 -8
- reactivex/operators/_multicast.py +9 -9
- reactivex/operators/_observeon.py +35 -31
- reactivex/operators/_onerrorresumenext.py +2 -1
- reactivex/operators/_pairwise.py +38 -34
- reactivex/operators/_partition.py +80 -73
- reactivex/operators/_pluck.py +4 -3
- reactivex/operators/_publish.py +36 -21
- reactivex/operators/_publishvalue.py +8 -7
- reactivex/operators/_reduce.py +16 -12
- reactivex/operators/_repeat.py +33 -30
- reactivex/operators/_replay.py +9 -9
- reactivex/operators/_retry.py +12 -10
- reactivex/operators/_sample.py +31 -27
- reactivex/operators/_scan.py +41 -39
- reactivex/operators/_sequenceequal.py +8 -7
- reactivex/operators/_single.py +20 -13
- reactivex/operators/_singleordefault.py +6 -5
- reactivex/operators/_skip.py +35 -32
- reactivex/operators/_skiplast.py +38 -34
- reactivex/operators/_skiplastwithtime.py +5 -4
- reactivex/operators/_skipuntil.py +40 -35
- reactivex/operators/_skipuntilwithtime.py +4 -3
- reactivex/operators/_skipwhile.py +65 -44
- reactivex/operators/_skipwithtime.py +50 -46
- reactivex/operators/_slice.py +58 -53
- reactivex/operators/_some.py +48 -47
- reactivex/operators/_startswith.py +17 -15
- reactivex/operators/_subscribeon.py +44 -41
- reactivex/operators/_sum.py +23 -6
- reactivex/operators/_switchlatest.py +71 -69
- reactivex/operators/_take.py +37 -33
- reactivex/operators/_takelast.py +37 -36
- reactivex/operators/_takelastbuffer.py +38 -37
- reactivex/operators/_takelastwithtime.py +60 -56
- reactivex/operators/_takeuntil.py +33 -32
- reactivex/operators/_takeuntilwithtime.py +42 -39
- reactivex/operators/_takewhile.py +108 -100
- reactivex/operators/_takewithtime.py +46 -41
- reactivex/operators/_throttlefirst.py +52 -45
- reactivex/operators/_timeinterval.py +40 -36
- reactivex/operators/_timeout.py +81 -79
- reactivex/operators/_timeoutwithmapper.py +6 -5
- reactivex/operators/_timestamp.py +24 -22
- reactivex/operators/_todict.py +51 -43
- reactivex/operators/_tofuture.py +24 -15
- reactivex/operators/_toiterable.py +33 -27
- reactivex/operators/_tomarbles.py +5 -5
- reactivex/operators/_toset.py +29 -19
- reactivex/operators/_whiledo.py +2 -1
- reactivex/operators/_window.py +100 -99
- reactivex/operators/_windowwithcount.py +56 -54
- reactivex/operators/_windowwithtime.py +95 -79
- reactivex/operators/_windowwithtimeorcount.py +85 -69
- reactivex/operators/_withlatestfrom.py +13 -9
- reactivex/operators/_zip.py +67 -63
- reactivex/operators/connectable/_refcount.py +4 -3
- reactivex/pipe.py +2 -1
- reactivex/run.py +8 -4
- reactivex/scheduler/catchscheduler.py +11 -10
- reactivex/scheduler/currentthreadscheduler.py +2 -3
- reactivex/scheduler/eventloop/asyncioscheduler.py +7 -6
- reactivex/scheduler/eventloop/asynciothreadsafescheduler.py +12 -14
- reactivex/scheduler/eventloop/eventletscheduler.py +4 -4
- reactivex/scheduler/eventloop/geventscheduler.py +4 -4
- reactivex/scheduler/eventloop/ioloopscheduler.py +4 -4
- reactivex/scheduler/eventloop/twistedscheduler.py +4 -4
- reactivex/scheduler/eventloopscheduler.py +9 -12
- reactivex/scheduler/historicalscheduler.py +1 -2
- reactivex/scheduler/immediatescheduler.py +5 -4
- reactivex/scheduler/mainloop/gtkscheduler.py +6 -7
- reactivex/scheduler/mainloop/pygamescheduler.py +4 -4
- reactivex/scheduler/mainloop/qtscheduler.py +6 -6
- reactivex/scheduler/mainloop/tkinterscheduler.py +4 -4
- reactivex/scheduler/mainloop/wxscheduler.py +7 -7
- reactivex/scheduler/newthreadscheduler.py +6 -8
- reactivex/scheduler/periodicscheduler.py +4 -4
- reactivex/scheduler/scheduleditem.py +4 -4
- reactivex/scheduler/scheduler.py +5 -5
- reactivex/scheduler/threadpoolscheduler.py +3 -3
- reactivex/scheduler/timeoutscheduler.py +5 -4
- reactivex/scheduler/trampoline.py +1 -2
- reactivex/scheduler/trampolinescheduler.py +5 -6
- reactivex/scheduler/virtualtimescheduler.py +4 -4
- reactivex/subject/asyncsubject.py +2 -2
- reactivex/subject/behaviorsubject.py +2 -2
- reactivex/subject/innersubscription.py +2 -2
- reactivex/subject/replaysubject.py +8 -8
- reactivex/subject/subject.py +4 -4
- reactivex/testing/coldobservable.py +5 -5
- reactivex/testing/hotobservable.py +6 -6
- reactivex/testing/marbles.py +21 -20
- reactivex/testing/mockdisposable.py +1 -3
- reactivex/testing/mockobserver.py +2 -2
- reactivex/testing/reactivetest.py +2 -2
- reactivex/testing/recorded.py +1 -1
- reactivex/testing/subscription.py +3 -3
- reactivex/testing/testscheduler.py +13 -12
- reactivex/typing.py +25 -14
- {reactivex-4.1.0.dist-info → reactivex-5.0.0a2.dist-info}/METADATA +59 -26
- reactivex-5.0.0a2.dist-info/RECORD +236 -0
- {reactivex-4.1.0.dist-info → reactivex-5.0.0a2.dist-info}/WHEEL +1 -1
- reactivex-4.1.0.dist-info/RECORD +0 -223
- {reactivex-4.1.0.dist-info → reactivex-5.0.0a2.dist-info}/licenses/LICENSE +0 -0
reactivex/operators/__init__.py
CHANGED
|
@@ -2,23 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
from asyncio import Future
|
|
5
|
+
from collections.abc import Callable, Iterable
|
|
5
6
|
from typing import (
|
|
6
7
|
TYPE_CHECKING,
|
|
7
8
|
Any,
|
|
8
|
-
Callable,
|
|
9
|
-
Dict,
|
|
10
|
-
Iterable,
|
|
11
|
-
List,
|
|
12
|
-
Optional,
|
|
13
|
-
Set,
|
|
14
|
-
Tuple,
|
|
15
|
-
Type,
|
|
16
9
|
TypeVar,
|
|
17
10
|
Union,
|
|
18
11
|
cast,
|
|
19
12
|
overload,
|
|
20
13
|
)
|
|
21
14
|
|
|
15
|
+
from typing_extensions import TypeVarTuple, Unpack
|
|
16
|
+
|
|
22
17
|
from reactivex import (
|
|
23
18
|
ConnectableObservable,
|
|
24
19
|
GroupedObservable,
|
|
@@ -28,7 +23,6 @@ from reactivex import (
|
|
|
28
23
|
compose,
|
|
29
24
|
typing,
|
|
30
25
|
)
|
|
31
|
-
from reactivex.internal.basic import identity
|
|
32
26
|
from reactivex.internal.utils import NotSet
|
|
33
27
|
from reactivex.subject import Subject
|
|
34
28
|
from reactivex.typing import (
|
|
@@ -49,10 +43,7 @@ _TValue = TypeVar("_TValue")
|
|
|
49
43
|
_TRight = TypeVar("_TRight")
|
|
50
44
|
_TLeft = TypeVar("_TLeft")
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
_B = TypeVar("_B")
|
|
54
|
-
_C = TypeVar("_C")
|
|
55
|
-
_D = TypeVar("_D")
|
|
46
|
+
_Ts = TypeVarTuple("_Ts")
|
|
56
47
|
|
|
57
48
|
|
|
58
49
|
def all(predicate: Predicate[_T]) -> Callable[[Observable[_T]], Observable[bool]]:
|
|
@@ -122,7 +113,7 @@ def as_observable() -> Callable[[Observable[_T]], Observable[_T]]:
|
|
|
122
113
|
|
|
123
114
|
|
|
124
115
|
def average(
|
|
125
|
-
key_mapper:
|
|
116
|
+
key_mapper: Mapper[_T, float] | None = None,
|
|
126
117
|
) -> Callable[[Observable[_T]], Observable[float]]:
|
|
127
118
|
"""The average operator.
|
|
128
119
|
|
|
@@ -156,7 +147,7 @@ def average(
|
|
|
156
147
|
|
|
157
148
|
def buffer(
|
|
158
149
|
boundaries: Observable[Any],
|
|
159
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
150
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
160
151
|
"""Projects each element of an observable sequence into zero or
|
|
161
152
|
more buffers.
|
|
162
153
|
|
|
@@ -186,7 +177,7 @@ def buffer(
|
|
|
186
177
|
|
|
187
178
|
def buffer_when(
|
|
188
179
|
closing_mapper: Callable[[], Observable[Any]],
|
|
189
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
180
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
190
181
|
"""Projects each element of an observable sequence into zero or
|
|
191
182
|
more buffers.
|
|
192
183
|
|
|
@@ -220,7 +211,7 @@ def buffer_when(
|
|
|
220
211
|
|
|
221
212
|
def buffer_toggle(
|
|
222
213
|
openings: Observable[Any], closing_mapper: Callable[[Any], Observable[Any]]
|
|
223
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
214
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
224
215
|
"""Projects each element of an observable sequence into zero or
|
|
225
216
|
more buffers.
|
|
226
217
|
|
|
@@ -255,8 +246,8 @@ def buffer_toggle(
|
|
|
255
246
|
|
|
256
247
|
|
|
257
248
|
def buffer_with_count(
|
|
258
|
-
count: int, skip:
|
|
259
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
249
|
+
count: int, skip: int | None = None
|
|
250
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
260
251
|
"""Projects each element of an observable sequence into zero or more
|
|
261
252
|
buffers which are produced based on element count information.
|
|
262
253
|
|
|
@@ -288,9 +279,9 @@ def buffer_with_count(
|
|
|
288
279
|
|
|
289
280
|
def buffer_with_time(
|
|
290
281
|
timespan: typing.RelativeTime,
|
|
291
|
-
timeshift:
|
|
292
|
-
scheduler:
|
|
293
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
282
|
+
timeshift: typing.RelativeTime | None = None,
|
|
283
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
284
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
294
285
|
"""Projects each element of an observable sequence into zero or more
|
|
295
286
|
buffers which are produced based on timing information.
|
|
296
287
|
|
|
@@ -329,8 +320,8 @@ def buffer_with_time(
|
|
|
329
320
|
def buffer_with_time_or_count(
|
|
330
321
|
timespan: typing.RelativeTime,
|
|
331
322
|
count: int,
|
|
332
|
-
scheduler:
|
|
333
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
323
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
324
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
334
325
|
"""Projects each element of an observable sequence into a buffer
|
|
335
326
|
that is completed when either it's full or a given amount of time
|
|
336
327
|
has elapsed.
|
|
@@ -364,9 +355,7 @@ def buffer_with_time_or_count(
|
|
|
364
355
|
|
|
365
356
|
|
|
366
357
|
def catch(
|
|
367
|
-
handler:
|
|
368
|
-
Observable[_T], Callable[[Exception, Observable[_T]], Observable[_T]]
|
|
369
|
-
],
|
|
358
|
+
handler: Observable[_T] | Callable[[Exception, Observable[_T]], Observable[_T]],
|
|
370
359
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
371
360
|
"""Continues an observable sequence that is terminated by an
|
|
372
361
|
exception with the next observable sequence.
|
|
@@ -492,7 +481,7 @@ def concat_map(
|
|
|
492
481
|
|
|
493
482
|
|
|
494
483
|
def contains(
|
|
495
|
-
value: _T, comparer:
|
|
484
|
+
value: _T, comparer: typing.Comparer[_T] | None = None
|
|
496
485
|
) -> Callable[[Observable[_T]], Observable[bool]]:
|
|
497
486
|
"""Determines whether an observable sequence contains a specified
|
|
498
487
|
element with an optional equality comparer.
|
|
@@ -524,7 +513,7 @@ def contains(
|
|
|
524
513
|
|
|
525
514
|
|
|
526
515
|
def count(
|
|
527
|
-
predicate:
|
|
516
|
+
predicate: typing.Predicate[_T] | None = None,
|
|
528
517
|
) -> Callable[[Observable[_T]], Observable[int]]:
|
|
529
518
|
"""Returns an observable sequence containing a value that
|
|
530
519
|
represents how many elements in the specified observable sequence
|
|
@@ -558,7 +547,7 @@ def count(
|
|
|
558
547
|
|
|
559
548
|
|
|
560
549
|
def debounce(
|
|
561
|
-
duetime: typing.RelativeTime, scheduler:
|
|
550
|
+
duetime: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
562
551
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
563
552
|
"""Ignores values from an observable sequence which are followed by
|
|
564
553
|
another value before duetime.
|
|
@@ -597,7 +586,7 @@ def default_if_empty(
|
|
|
597
586
|
|
|
598
587
|
|
|
599
588
|
@overload
|
|
600
|
-
def default_if_empty() -> Callable[[Observable[_T]], Observable[
|
|
589
|
+
def default_if_empty() -> Callable[[Observable[_T]], Observable[_T | None]]: ...
|
|
601
590
|
|
|
602
591
|
|
|
603
592
|
def default_if_empty(
|
|
@@ -634,7 +623,7 @@ def default_if_empty(
|
|
|
634
623
|
|
|
635
624
|
def delay_subscription(
|
|
636
625
|
duetime: typing.AbsoluteOrRelativeTime,
|
|
637
|
-
scheduler:
|
|
626
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
638
627
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
639
628
|
"""Time shifts the observable sequence by delaying the
|
|
640
629
|
subscription.
|
|
@@ -664,12 +653,10 @@ def delay_subscription(
|
|
|
664
653
|
|
|
665
654
|
|
|
666
655
|
def delay_with_mapper(
|
|
667
|
-
subscription_delay:
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
] = None,
|
|
672
|
-
delay_duration_mapper: Optional[typing.Mapper[_T, Observable[Any]]] = None,
|
|
656
|
+
subscription_delay: Observable[Any]
|
|
657
|
+
| typing.Mapper[Any, Observable[Any]]
|
|
658
|
+
| None = None,
|
|
659
|
+
delay_duration_mapper: typing.Mapper[_T, Observable[Any]] | None = None,
|
|
673
660
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
674
661
|
"""Time shifts the observable sequence based on a subscription
|
|
675
662
|
delay and a delay mapper function for each element.
|
|
@@ -720,7 +707,7 @@ def dematerialize() -> Callable[[Observable[Notification[_T]]], Observable[_T]]:
|
|
|
720
707
|
|
|
721
708
|
|
|
722
709
|
def delay(
|
|
723
|
-
duetime: typing.RelativeTime, scheduler:
|
|
710
|
+
duetime: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
724
711
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
725
712
|
"""The delay operator.
|
|
726
713
|
|
|
@@ -754,8 +741,8 @@ def delay(
|
|
|
754
741
|
|
|
755
742
|
|
|
756
743
|
def distinct(
|
|
757
|
-
key_mapper:
|
|
758
|
-
comparer:
|
|
744
|
+
key_mapper: Mapper[_T, _TKey] | None = None,
|
|
745
|
+
comparer: Comparer[_TKey] | None = None,
|
|
759
746
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
760
747
|
"""Returns an observable sequence that contains only distinct
|
|
761
748
|
elements according to the key_mapper and the comparer. Usage of
|
|
@@ -792,8 +779,8 @@ def distinct(
|
|
|
792
779
|
|
|
793
780
|
|
|
794
781
|
def distinct_until_changed(
|
|
795
|
-
key_mapper:
|
|
796
|
-
comparer:
|
|
782
|
+
key_mapper: Mapper[_T, _TKey] | None = None,
|
|
783
|
+
comparer: Comparer[_TKey] | None = None,
|
|
797
784
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
798
785
|
"""Returns an observable sequence that contains only distinct
|
|
799
786
|
contiguous elements according to the key_mapper and the comparer.
|
|
@@ -859,9 +846,9 @@ def do(observer: abc.ObserverBase[_T]) -> Callable[[Observable[_T]], Observable[
|
|
|
859
846
|
|
|
860
847
|
|
|
861
848
|
def do_action(
|
|
862
|
-
on_next:
|
|
863
|
-
on_error:
|
|
864
|
-
on_completed:
|
|
849
|
+
on_next: typing.OnNext[_T] | None = None,
|
|
850
|
+
on_error: typing.OnError | None = None,
|
|
851
|
+
on_completed: typing.OnCompleted | None = None,
|
|
865
852
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
866
853
|
"""Invokes an action for each element in the observable sequence
|
|
867
854
|
and invokes an action on graceful or exceptional termination of the
|
|
@@ -953,7 +940,7 @@ def element_at(index: int) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
|
953
940
|
|
|
954
941
|
|
|
955
942
|
def element_at_or_default(
|
|
956
|
-
index: int, default_value:
|
|
943
|
+
index: int, default_value: _T | None = None
|
|
957
944
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
958
945
|
"""Returns the element at a specified index in a sequence or a
|
|
959
946
|
default value if the index is out of range.
|
|
@@ -1058,7 +1045,7 @@ def filter(predicate: Predicate[_T]) -> Callable[[Observable[_T]], Observable[_T
|
|
|
1058
1045
|
|
|
1059
1046
|
|
|
1060
1047
|
def filter_indexed(
|
|
1061
|
-
predicate_indexed:
|
|
1048
|
+
predicate_indexed: PredicateIndexed[_T] | None = None,
|
|
1062
1049
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1063
1050
|
"""Filters the elements of an observable sequence based on a
|
|
1064
1051
|
predicate by incorporating the element's index.
|
|
@@ -1119,7 +1106,7 @@ def finally_action(action: typing.Action) -> Callable[[Observable[_T]], Observab
|
|
|
1119
1106
|
|
|
1120
1107
|
def find(
|
|
1121
1108
|
predicate: Callable[[_T, int, Observable[_T]], bool],
|
|
1122
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
1109
|
+
) -> Callable[[Observable[_T]], Observable[_T | None]]:
|
|
1123
1110
|
"""Searches for an element that matches the conditions defined by
|
|
1124
1111
|
the specified predicate, and returns the first occurrence within
|
|
1125
1112
|
the entire Observable sequence.
|
|
@@ -1144,14 +1131,14 @@ def find(
|
|
|
1144
1131
|
from ._find import find_value_
|
|
1145
1132
|
|
|
1146
1133
|
return cast(
|
|
1147
|
-
Callable[[Observable[_T]], Observable[
|
|
1134
|
+
Callable[[Observable[_T]], Observable[_T | None]],
|
|
1148
1135
|
find_value_(predicate, False),
|
|
1149
1136
|
)
|
|
1150
1137
|
|
|
1151
1138
|
|
|
1152
1139
|
def find_index(
|
|
1153
1140
|
predicate: Callable[[_T, int, Observable[_T]], bool],
|
|
1154
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
1141
|
+
) -> Callable[[Observable[_T]], Observable[int | None]]:
|
|
1155
1142
|
"""Searches for an element that matches the conditions defined by
|
|
1156
1143
|
the specified predicate, and returns an Observable sequence with the
|
|
1157
1144
|
zero-based index of the first occurrence within the entire
|
|
@@ -1177,13 +1164,13 @@ def find_index(
|
|
|
1177
1164
|
from ._find import find_value_
|
|
1178
1165
|
|
|
1179
1166
|
return cast(
|
|
1180
|
-
Callable[[Observable[_T]], Observable[
|
|
1167
|
+
Callable[[Observable[_T]], Observable[int | None]],
|
|
1181
1168
|
find_value_(predicate, True),
|
|
1182
1169
|
)
|
|
1183
1170
|
|
|
1184
1171
|
|
|
1185
1172
|
def first(
|
|
1186
|
-
predicate:
|
|
1173
|
+
predicate: Predicate[_T] | None = None,
|
|
1187
1174
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1188
1175
|
"""Returns the first element of an observable sequence that
|
|
1189
1176
|
satisfies the condition in the predicate if present else the first
|
|
@@ -1217,7 +1204,7 @@ def first(
|
|
|
1217
1204
|
|
|
1218
1205
|
|
|
1219
1206
|
def first_or_default(
|
|
1220
|
-
predicate:
|
|
1207
|
+
predicate: Predicate[_T] | None = None, default_value: _T | None = None
|
|
1221
1208
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1222
1209
|
"""Returns the first element of an observable sequence that
|
|
1223
1210
|
satisfies the condition in the predicate, or a default value if no
|
|
@@ -1255,30 +1242,30 @@ def first_or_default(
|
|
|
1255
1242
|
|
|
1256
1243
|
@overload
|
|
1257
1244
|
def flat_map(
|
|
1258
|
-
mapper:
|
|
1245
|
+
mapper: Iterable[_T2] | None = None,
|
|
1259
1246
|
) -> Callable[[Observable[Any]], Observable[_T2]]: ...
|
|
1260
1247
|
|
|
1261
1248
|
|
|
1262
1249
|
@overload
|
|
1263
1250
|
def flat_map(
|
|
1264
|
-
mapper:
|
|
1251
|
+
mapper: Observable[_T2] | None = None,
|
|
1265
1252
|
) -> Callable[[Observable[Any]], Observable[_T2]]: ...
|
|
1266
1253
|
|
|
1267
1254
|
|
|
1268
1255
|
@overload
|
|
1269
1256
|
def flat_map(
|
|
1270
|
-
mapper:
|
|
1257
|
+
mapper: Mapper[_T1, Iterable[_T2]] | None = None,
|
|
1271
1258
|
) -> Callable[[Observable[_T1]], Observable[_T2]]: ...
|
|
1272
1259
|
|
|
1273
1260
|
|
|
1274
1261
|
@overload
|
|
1275
1262
|
def flat_map(
|
|
1276
|
-
mapper:
|
|
1263
|
+
mapper: Mapper[_T1, Observable[_T2]] | None = None,
|
|
1277
1264
|
) -> Callable[[Observable[_T1]], Observable[_T2]]: ...
|
|
1278
1265
|
|
|
1279
1266
|
|
|
1280
1267
|
def flat_map(
|
|
1281
|
-
mapper:
|
|
1268
|
+
mapper: Any | None = None,
|
|
1282
1269
|
) -> Callable[[Observable[Any]], Observable[Any]]:
|
|
1283
1270
|
"""The flat_map operator.
|
|
1284
1271
|
|
|
@@ -1324,25 +1311,25 @@ def flat_map(
|
|
|
1324
1311
|
|
|
1325
1312
|
@overload
|
|
1326
1313
|
def flat_map_indexed(
|
|
1327
|
-
mapper_indexed:
|
|
1314
|
+
mapper_indexed: Iterable[_T2] | None = None,
|
|
1328
1315
|
) -> Callable[[Observable[Any]], Observable[_T2]]: ...
|
|
1329
1316
|
|
|
1330
1317
|
|
|
1331
1318
|
@overload
|
|
1332
1319
|
def flat_map_indexed(
|
|
1333
|
-
mapper_indexed:
|
|
1320
|
+
mapper_indexed: Observable[_T2] | None = None,
|
|
1334
1321
|
) -> Callable[[Observable[Any]], Observable[_T2]]: ...
|
|
1335
1322
|
|
|
1336
1323
|
|
|
1337
1324
|
@overload
|
|
1338
1325
|
def flat_map_indexed(
|
|
1339
|
-
mapper_indexed:
|
|
1326
|
+
mapper_indexed: MapperIndexed[_T1, Iterable[_T2]] | None = None,
|
|
1340
1327
|
) -> Callable[[Observable[_T1]], Observable[_T2]]: ...
|
|
1341
1328
|
|
|
1342
1329
|
|
|
1343
1330
|
@overload
|
|
1344
1331
|
def flat_map_indexed(
|
|
1345
|
-
mapper_indexed:
|
|
1332
|
+
mapper_indexed: MapperIndexed[_T1, Observable[_T2]] | None = None,
|
|
1346
1333
|
) -> Callable[[Observable[_T1]], Observable[_T2]]: ...
|
|
1347
1334
|
|
|
1348
1335
|
|
|
@@ -1419,7 +1406,7 @@ def flat_map_latest(
|
|
|
1419
1406
|
|
|
1420
1407
|
def fork_join(
|
|
1421
1408
|
*others: Observable[Any],
|
|
1422
|
-
) -> Callable[[Observable[Any]], Observable[
|
|
1409
|
+
) -> Callable[[Observable[Any]], Observable[tuple[Any, ...]]]:
|
|
1423
1410
|
"""Wait for observables to complete and then combine last values
|
|
1424
1411
|
they emitted into a tuple. Whenever any of that observables completes
|
|
1425
1412
|
without emitting any value, result sequence will complete at that moment as well.
|
|
@@ -1449,8 +1436,8 @@ def fork_join(
|
|
|
1449
1436
|
|
|
1450
1437
|
def group_by(
|
|
1451
1438
|
key_mapper: Mapper[_T, _TKey],
|
|
1452
|
-
element_mapper:
|
|
1453
|
-
subject_mapper:
|
|
1439
|
+
element_mapper: Mapper[_T, _TValue] | None = None,
|
|
1440
|
+
subject_mapper: Callable[[], Subject[_TValue]] | None = None,
|
|
1454
1441
|
) -> Callable[[Observable[_T]], Observable[GroupedObservable[_TKey, _TValue]]]:
|
|
1455
1442
|
"""Groups the elements of an observable sequence according to a
|
|
1456
1443
|
specified key mapper function and comparer and selects the
|
|
@@ -1490,9 +1477,9 @@ def group_by(
|
|
|
1490
1477
|
|
|
1491
1478
|
def group_by_until(
|
|
1492
1479
|
key_mapper: Mapper[_T, _TKey],
|
|
1493
|
-
element_mapper:
|
|
1480
|
+
element_mapper: Mapper[_T, _TValue] | None,
|
|
1494
1481
|
duration_mapper: Callable[[GroupedObservable[_TKey, _TValue]], Observable[Any]],
|
|
1495
|
-
subject_mapper:
|
|
1482
|
+
subject_mapper: Callable[[], Subject[_TValue]] | None = None,
|
|
1496
1483
|
) -> Callable[[Observable[_T]], Observable[GroupedObservable[_TKey, _TValue]]]:
|
|
1497
1484
|
"""Groups the elements of an observable sequence according to a
|
|
1498
1485
|
specified key mapper function. A duration mapper function is used
|
|
@@ -1547,7 +1534,7 @@ def group_join(
|
|
|
1547
1534
|
right: Observable[_TRight],
|
|
1548
1535
|
left_duration_mapper: Callable[[_TLeft], Observable[Any]],
|
|
1549
1536
|
right_duration_mapper: Callable[[_TRight], Observable[Any]],
|
|
1550
|
-
) -> Callable[[Observable[_TLeft]], Observable[
|
|
1537
|
+
) -> Callable[[Observable[_TLeft]], Observable[tuple[_TLeft, Observable[_TRight]]]]:
|
|
1551
1538
|
"""Correlates the elements of two sequences based on overlapping
|
|
1552
1539
|
durations, and groups the results.
|
|
1553
1540
|
|
|
@@ -1626,7 +1613,7 @@ def join(
|
|
|
1626
1613
|
right: Observable[_T2],
|
|
1627
1614
|
left_duration_mapper: Callable[[Any], Observable[Any]],
|
|
1628
1615
|
right_duration_mapper: Callable[[Any], Observable[Any]],
|
|
1629
|
-
) -> Callable[[Observable[_T1]], Observable[
|
|
1616
|
+
) -> Callable[[Observable[_T1]], Observable[tuple[_T1, _T2]]]:
|
|
1630
1617
|
"""Correlates the elements of two sequences based on overlapping
|
|
1631
1618
|
durations.
|
|
1632
1619
|
|
|
@@ -1659,7 +1646,7 @@ def join(
|
|
|
1659
1646
|
|
|
1660
1647
|
|
|
1661
1648
|
def last(
|
|
1662
|
-
predicate:
|
|
1649
|
+
predicate: Predicate[_T] | None = None,
|
|
1663
1650
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1664
1651
|
"""The last operator.
|
|
1665
1652
|
|
|
@@ -1693,7 +1680,7 @@ def last(
|
|
|
1693
1680
|
|
|
1694
1681
|
|
|
1695
1682
|
@overload
|
|
1696
|
-
def last_or_default() -> Callable[[Observable[_T]], Observable[
|
|
1683
|
+
def last_or_default() -> Callable[[Observable[_T]], Observable[_T | None]]: ...
|
|
1697
1684
|
|
|
1698
1685
|
|
|
1699
1686
|
@overload
|
|
@@ -1711,7 +1698,7 @@ def last_or_default(
|
|
|
1711
1698
|
|
|
1712
1699
|
def last_or_default(
|
|
1713
1700
|
default_value: Any = None,
|
|
1714
|
-
predicate:
|
|
1701
|
+
predicate: Predicate[_T] | None = None,
|
|
1715
1702
|
) -> Callable[[Observable[_T]], Observable[Any]]:
|
|
1716
1703
|
"""The last_or_default operator.
|
|
1717
1704
|
|
|
@@ -1751,7 +1738,7 @@ def last_or_default(
|
|
|
1751
1738
|
|
|
1752
1739
|
|
|
1753
1740
|
def map(
|
|
1754
|
-
mapper:
|
|
1741
|
+
mapper: Mapper[_T1, _T2] | None = None,
|
|
1755
1742
|
) -> Callable[[Observable[_T1]], Observable[_T2]]:
|
|
1756
1743
|
"""The map operator.
|
|
1757
1744
|
|
|
@@ -1783,7 +1770,7 @@ def map(
|
|
|
1783
1770
|
|
|
1784
1771
|
|
|
1785
1772
|
def map_indexed(
|
|
1786
|
-
mapper_indexed:
|
|
1773
|
+
mapper_indexed: MapperIndexed[_T1, _T2] | None = None,
|
|
1787
1774
|
) -> Callable[[Observable[_T1]], Observable[_T2]]:
|
|
1788
1775
|
"""Project each element of an observable sequence into a new form
|
|
1789
1776
|
by incorporating the element's index.
|
|
@@ -1823,13 +1810,13 @@ def materialize() -> Callable[[Observable[_T]], Observable[Notification[_T]]]:
|
|
|
1823
1810
|
returns an observable sequence containing the materialized
|
|
1824
1811
|
notification values from the source sequence.
|
|
1825
1812
|
"""
|
|
1826
|
-
from ._materialize import
|
|
1813
|
+
from ._materialize import materialize_
|
|
1827
1814
|
|
|
1828
|
-
return
|
|
1815
|
+
return materialize_()
|
|
1829
1816
|
|
|
1830
1817
|
|
|
1831
1818
|
def max(
|
|
1832
|
-
comparer:
|
|
1819
|
+
comparer: Comparer[_T] | None = None,
|
|
1833
1820
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1834
1821
|
"""Returns the maximum value in an observable sequence according to
|
|
1835
1822
|
the specified comparer.
|
|
@@ -1859,8 +1846,8 @@ def max(
|
|
|
1859
1846
|
|
|
1860
1847
|
|
|
1861
1848
|
def max_by(
|
|
1862
|
-
key_mapper: Mapper[_T, _TKey], comparer:
|
|
1863
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
1849
|
+
key_mapper: Mapper[_T, _TKey], comparer: Comparer[_TKey] | None = None
|
|
1850
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
1864
1851
|
"""The max_by operator.
|
|
1865
1852
|
|
|
1866
1853
|
Returns the elements in an observable sequence with the maximum
|
|
@@ -1892,7 +1879,7 @@ def max_by(
|
|
|
1892
1879
|
|
|
1893
1880
|
|
|
1894
1881
|
def merge(
|
|
1895
|
-
*sources: Observable[Any], max_concurrent:
|
|
1882
|
+
*sources: Observable[Any], max_concurrent: int | None = None
|
|
1896
1883
|
) -> Callable[[Observable[Any]], Observable[Any]]:
|
|
1897
1884
|
"""Merges an observable sequence of observable sequences into an
|
|
1898
1885
|
observable sequence, limiting the number of concurrent
|
|
@@ -1951,7 +1938,7 @@ def merge_all() -> Callable[[Observable[Observable[_T]]], Observable[_T]]:
|
|
|
1951
1938
|
|
|
1952
1939
|
|
|
1953
1940
|
def min(
|
|
1954
|
-
comparer:
|
|
1941
|
+
comparer: Comparer[_T] | None = None,
|
|
1955
1942
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
1956
1943
|
"""The `min` operator.
|
|
1957
1944
|
|
|
@@ -1983,8 +1970,8 @@ def min(
|
|
|
1983
1970
|
|
|
1984
1971
|
|
|
1985
1972
|
def min_by(
|
|
1986
|
-
key_mapper: Mapper[_T, _TKey], comparer:
|
|
1987
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
1973
|
+
key_mapper: Mapper[_T, _TKey], comparer: Comparer[_TKey] | None = None
|
|
1974
|
+
) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
1988
1975
|
"""The `min_by` operator.
|
|
1989
1976
|
|
|
1990
1977
|
Returns the elements in an observable sequence with the minimum key
|
|
@@ -2028,19 +2015,18 @@ def multicast(
|
|
|
2028
2015
|
@overload
|
|
2029
2016
|
def multicast(
|
|
2030
2017
|
*,
|
|
2031
|
-
subject_factory: Callable[[
|
|
2032
|
-
mapper:
|
|
2018
|
+
subject_factory: Callable[[abc.SchedulerBase | None], abc.SubjectBase[_T]],
|
|
2019
|
+
mapper: Callable[[Observable[_T]], Observable[_T2]] | None = None,
|
|
2033
2020
|
) -> Callable[[Observable[_T]], Observable[_T2]]: ...
|
|
2034
2021
|
|
|
2035
2022
|
|
|
2036
2023
|
def multicast(
|
|
2037
|
-
subject:
|
|
2024
|
+
subject: abc.SubjectBase[_T] | None = None,
|
|
2038
2025
|
*,
|
|
2039
|
-
subject_factory:
|
|
2040
|
-
|
|
2041
|
-
] = None,
|
|
2042
|
-
|
|
2043
|
-
) -> Callable[[Observable[_T]], Union[Observable[_T2], ConnectableObservable[_T]]]:
|
|
2026
|
+
subject_factory: Callable[[abc.SchedulerBase | None], abc.SubjectBase[_T]]
|
|
2027
|
+
| None = None,
|
|
2028
|
+
mapper: Callable[[Observable[_T]], Observable[_T2]] | None = None,
|
|
2029
|
+
) -> Callable[[Observable[_T]], Observable[_T2] | ConnectableObservable[_T]]:
|
|
2044
2030
|
"""Multicasts the source sequence notifications through an
|
|
2045
2031
|
instantiated subject into all uses of the sequence within a mapper
|
|
2046
2032
|
function. Each subscription to the resulting sequence causes a
|
|
@@ -2128,7 +2114,7 @@ def on_error_resume_next(
|
|
|
2128
2114
|
return on_error_resume_next_(second)
|
|
2129
2115
|
|
|
2130
2116
|
|
|
2131
|
-
def pairwise() -> Callable[[Observable[_T]], Observable[
|
|
2117
|
+
def pairwise() -> Callable[[Observable[_T]], Observable[tuple[_T, _T]]]:
|
|
2132
2118
|
"""The pairwise operator.
|
|
2133
2119
|
|
|
2134
2120
|
Returns a new observable that triggers on the second and subsequent
|
|
@@ -2149,7 +2135,7 @@ def pairwise() -> Callable[[Observable[_T]], Observable[Tuple[_T, _T]]]:
|
|
|
2149
2135
|
|
|
2150
2136
|
def partition(
|
|
2151
2137
|
predicate: Predicate[_T],
|
|
2152
|
-
) -> Callable[[Observable[_T]],
|
|
2138
|
+
) -> Callable[[Observable[_T]], list[Observable[_T]]]:
|
|
2153
2139
|
"""Returns two observables which partition the observations of the
|
|
2154
2140
|
source by the given function. The first will trigger observations
|
|
2155
2141
|
for those values for which the predicate returns true. The second
|
|
@@ -2183,7 +2169,7 @@ def partition(
|
|
|
2183
2169
|
|
|
2184
2170
|
def partition_indexed(
|
|
2185
2171
|
predicate_indexed: PredicateIndexed[_T],
|
|
2186
|
-
) -> Callable[[Observable[_T]],
|
|
2172
|
+
) -> Callable[[Observable[_T]], list[Observable[_T]]]:
|
|
2187
2173
|
"""The indexed partition operator.
|
|
2188
2174
|
|
|
2189
2175
|
Returns two observables which partition the observations of the
|
|
@@ -2218,7 +2204,7 @@ def partition_indexed(
|
|
|
2218
2204
|
|
|
2219
2205
|
def pluck(
|
|
2220
2206
|
key: _TKey,
|
|
2221
|
-
) -> Callable[[Observable[
|
|
2207
|
+
) -> Callable[[Observable[dict[_TKey, _TValue]]], Observable[_TValue]]:
|
|
2222
2208
|
"""Retrieves the value of a specified key using dict-like access (as in
|
|
2223
2209
|
element[key]) from all elements in the Observable sequence.
|
|
2224
2210
|
|
|
@@ -2266,8 +2252,8 @@ def publish(
|
|
|
2266
2252
|
|
|
2267
2253
|
|
|
2268
2254
|
def publish(
|
|
2269
|
-
mapper:
|
|
2270
|
-
) -> Callable[[Observable[_T1]],
|
|
2255
|
+
mapper: Mapper[Observable[_T1], Observable[_T2]] | None = None,
|
|
2256
|
+
) -> Callable[[Observable[_T1]], Observable[_T2] | ConnectableObservable[_T1]]:
|
|
2271
2257
|
"""The `publish` operator.
|
|
2272
2258
|
|
|
2273
2259
|
Returns an observable sequence that is the result of invoking the
|
|
@@ -2313,11 +2299,11 @@ def publish_value(
|
|
|
2313
2299
|
|
|
2314
2300
|
def publish_value(
|
|
2315
2301
|
initial_value: _T1,
|
|
2316
|
-
mapper:
|
|
2317
|
-
) ->
|
|
2318
|
-
Callable[[Observable[_T1]], ConnectableObservable[_T1]]
|
|
2319
|
-
Callable[[Observable[_T1]], Observable[_T2]]
|
|
2320
|
-
|
|
2302
|
+
mapper: Mapper[Observable[_T1], Observable[_T2]] | None = None,
|
|
2303
|
+
) -> (
|
|
2304
|
+
Callable[[Observable[_T1]], ConnectableObservable[_T1]]
|
|
2305
|
+
| Callable[[Observable[_T1]], Observable[_T2]]
|
|
2306
|
+
):
|
|
2321
2307
|
"""Returns an observable sequence that is the result of invoking
|
|
2322
2308
|
the mapper on a connectable observable sequence that shares a
|
|
2323
2309
|
single subscription to the underlying sequence and starts with
|
|
@@ -2365,7 +2351,7 @@ def reduce(
|
|
|
2365
2351
|
|
|
2366
2352
|
|
|
2367
2353
|
def reduce(
|
|
2368
|
-
accumulator: Accumulator[_TState, _T], seed:
|
|
2354
|
+
accumulator: Accumulator[_TState, _T], seed: _TState | type[NotSet] = NotSet
|
|
2369
2355
|
) -> Callable[[Observable[_T]], Observable[Any]]:
|
|
2370
2356
|
"""The reduce operator.
|
|
2371
2357
|
|
|
@@ -2414,7 +2400,7 @@ def ref_count() -> Callable[[ConnectableObservable[_T]], Observable[_T]]:
|
|
|
2414
2400
|
|
|
2415
2401
|
|
|
2416
2402
|
def repeat(
|
|
2417
|
-
repeat_count:
|
|
2403
|
+
repeat_count: int | None = None,
|
|
2418
2404
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2419
2405
|
"""Repeats the observable sequence a specified number of times.
|
|
2420
2406
|
If the repeat count is not specified, the sequence repeats
|
|
@@ -2447,30 +2433,30 @@ def repeat(
|
|
|
2447
2433
|
|
|
2448
2434
|
@overload
|
|
2449
2435
|
def replay(
|
|
2450
|
-
buffer_size:
|
|
2451
|
-
window:
|
|
2436
|
+
buffer_size: int | None = None,
|
|
2437
|
+
window: typing.RelativeTime | None = None,
|
|
2452
2438
|
*,
|
|
2453
|
-
scheduler:
|
|
2439
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
2454
2440
|
) -> Callable[[Observable[_T1]], ConnectableObservable[_T1]]: ...
|
|
2455
2441
|
|
|
2456
2442
|
|
|
2457
2443
|
@overload
|
|
2458
2444
|
def replay(
|
|
2459
|
-
buffer_size:
|
|
2460
|
-
window:
|
|
2445
|
+
buffer_size: int | None = None,
|
|
2446
|
+
window: typing.RelativeTime | None = None,
|
|
2461
2447
|
*,
|
|
2462
|
-
mapper:
|
|
2463
|
-
scheduler:
|
|
2448
|
+
mapper: Mapper[Observable[_T1], Observable[_T2]] | None,
|
|
2449
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
2464
2450
|
) -> Callable[[Observable[_T1]], Observable[_T2]]: ...
|
|
2465
2451
|
|
|
2466
2452
|
|
|
2467
2453
|
def replay(
|
|
2468
|
-
buffer_size:
|
|
2469
|
-
window:
|
|
2454
|
+
buffer_size: int | None = None,
|
|
2455
|
+
window: typing.RelativeTime | None = None,
|
|
2470
2456
|
*,
|
|
2471
|
-
mapper:
|
|
2472
|
-
scheduler:
|
|
2473
|
-
) -> Callable[[Observable[_T1]],
|
|
2457
|
+
mapper: Mapper[Observable[_T1], Observable[_T2]] | None = None,
|
|
2458
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
2459
|
+
) -> Callable[[Observable[_T1]], Observable[_T2] | ConnectableObservable[_T1]]:
|
|
2474
2460
|
"""The `replay` operator.
|
|
2475
2461
|
|
|
2476
2462
|
Returns an observable sequence that is the result of invoking the
|
|
@@ -2511,7 +2497,7 @@ def replay(
|
|
|
2511
2497
|
|
|
2512
2498
|
|
|
2513
2499
|
def retry(
|
|
2514
|
-
retry_count:
|
|
2500
|
+
retry_count: int | None = None,
|
|
2515
2501
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2516
2502
|
"""Repeats the source observable sequence the specified number of
|
|
2517
2503
|
times or until it successfully terminates. If the retry count is
|
|
@@ -2535,8 +2521,8 @@ def retry(
|
|
|
2535
2521
|
|
|
2536
2522
|
|
|
2537
2523
|
def sample(
|
|
2538
|
-
sampler:
|
|
2539
|
-
scheduler:
|
|
2524
|
+
sampler: typing.RelativeTime | Observable[Any],
|
|
2525
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
2540
2526
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2541
2527
|
"""Samples the observable sequence at each interval.
|
|
2542
2528
|
|
|
@@ -2574,12 +2560,12 @@ def scan(
|
|
|
2574
2560
|
|
|
2575
2561
|
@overload
|
|
2576
2562
|
def scan(
|
|
2577
|
-
accumulator: Accumulator[_TState, _T], seed:
|
|
2563
|
+
accumulator: Accumulator[_TState, _T], seed: _TState | type[NotSet]
|
|
2578
2564
|
) -> Callable[[Observable[_T]], Observable[_TState]]: ...
|
|
2579
2565
|
|
|
2580
2566
|
|
|
2581
2567
|
def scan(
|
|
2582
|
-
accumulator: Accumulator[_TState, _T], seed:
|
|
2568
|
+
accumulator: Accumulator[_TState, _T], seed: _TState | type[NotSet] = NotSet
|
|
2583
2569
|
) -> Callable[[Observable[_T]], Observable[_TState]]:
|
|
2584
2570
|
"""The scan operator.
|
|
2585
2571
|
|
|
@@ -2615,7 +2601,7 @@ def scan(
|
|
|
2615
2601
|
|
|
2616
2602
|
|
|
2617
2603
|
def sequence_equal(
|
|
2618
|
-
second:
|
|
2604
|
+
second: Observable[_T] | Iterable[_T], comparer: Comparer[_T] | None = None
|
|
2619
2605
|
) -> Callable[[Observable[_T]], Observable[bool]]:
|
|
2620
2606
|
"""Determines whether two sequences are equal by comparing the
|
|
2621
2607
|
elements pairwise using a specified equality comparer.
|
|
@@ -2672,7 +2658,7 @@ def share() -> Callable[[Observable[_T]], Observable[_T]]:
|
|
|
2672
2658
|
|
|
2673
2659
|
|
|
2674
2660
|
def single(
|
|
2675
|
-
predicate:
|
|
2661
|
+
predicate: Predicate[_T] | None = None,
|
|
2676
2662
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2677
2663
|
"""The single operator.
|
|
2678
2664
|
|
|
@@ -2707,7 +2693,7 @@ def single(
|
|
|
2707
2693
|
|
|
2708
2694
|
|
|
2709
2695
|
def single_or_default(
|
|
2710
|
-
predicate:
|
|
2696
|
+
predicate: Predicate[_T] | None = None, default_value: Any = None
|
|
2711
2697
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2712
2698
|
"""Returns the only element of an observable sequence that matches
|
|
2713
2699
|
the predicate, or a default value if no such element exists this
|
|
@@ -2814,7 +2800,7 @@ def skip_last(count: int) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
|
2814
2800
|
|
|
2815
2801
|
|
|
2816
2802
|
def skip_last_with_time(
|
|
2817
|
-
duration: typing.RelativeTime, scheduler:
|
|
2803
|
+
duration: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
2818
2804
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2819
2805
|
"""Skips elements for the specified duration from the end of the
|
|
2820
2806
|
observable source sequence.
|
|
@@ -2873,7 +2859,7 @@ def skip_until(
|
|
|
2873
2859
|
|
|
2874
2860
|
def skip_until_with_time(
|
|
2875
2861
|
start_time: typing.AbsoluteOrRelativeTime,
|
|
2876
|
-
scheduler:
|
|
2862
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
2877
2863
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2878
2864
|
"""Skips elements from the observable source sequence until the
|
|
2879
2865
|
specified start time.
|
|
@@ -2976,7 +2962,7 @@ def skip_while_indexed(
|
|
|
2976
2962
|
|
|
2977
2963
|
|
|
2978
2964
|
def skip_with_time(
|
|
2979
|
-
duration: typing.RelativeTime, scheduler:
|
|
2965
|
+
duration: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
2980
2966
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
2981
2967
|
"""Skips elements for the specified duration from the start of the
|
|
2982
2968
|
observable source sequence.
|
|
@@ -3015,7 +3001,7 @@ def skip_with_time(
|
|
|
3015
3001
|
|
|
3016
3002
|
|
|
3017
3003
|
def slice(
|
|
3018
|
-
start:
|
|
3004
|
+
start: int | None = None, stop: int | None = None, step: int | None = None
|
|
3019
3005
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3020
3006
|
"""The slice operator.
|
|
3021
3007
|
|
|
@@ -3053,7 +3039,7 @@ def slice(
|
|
|
3053
3039
|
|
|
3054
3040
|
|
|
3055
3041
|
def some(
|
|
3056
|
-
predicate:
|
|
3042
|
+
predicate: Predicate[_T] | None = None,
|
|
3057
3043
|
) -> Callable[[Observable[_T]], Observable[bool]]:
|
|
3058
3044
|
"""The some operator.
|
|
3059
3045
|
|
|
@@ -3088,25 +3074,17 @@ def some(
|
|
|
3088
3074
|
|
|
3089
3075
|
|
|
3090
3076
|
@overload
|
|
3091
|
-
def starmap(
|
|
3092
|
-
mapper: Callable[[_A, _B], _T],
|
|
3093
|
-
) -> Callable[[Observable[Tuple[_A, _B]]], Observable[_T]]: ...
|
|
3077
|
+
def starmap() -> Callable[[Observable[_T]], Observable[_T]]: ...
|
|
3094
3078
|
|
|
3095
3079
|
|
|
3096
3080
|
@overload
|
|
3097
3081
|
def starmap(
|
|
3098
|
-
mapper: Callable[[
|
|
3099
|
-
) -> Callable[[Observable[
|
|
3082
|
+
mapper: Callable[[Unpack[_Ts]], _T],
|
|
3083
|
+
) -> Callable[[Observable[tuple[Unpack[_Ts]]]], Observable[_T]]: ...
|
|
3100
3084
|
|
|
3101
3085
|
|
|
3102
|
-
@overload
|
|
3103
3086
|
def starmap(
|
|
3104
|
-
mapper: Callable[[
|
|
3105
|
-
) -> Callable[[Observable[Tuple[_A, _B, _C, _D]]], Observable[_T]]: ...
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
def starmap(
|
|
3109
|
-
mapper: Optional[Callable[..., Any]] = None,
|
|
3087
|
+
mapper: Callable[[Unpack[_Ts]], _T] | None = None,
|
|
3110
3088
|
) -> Callable[[Observable[Any]], Observable[Any]]:
|
|
3111
3089
|
"""The starmap operator.
|
|
3112
3090
|
|
|
@@ -3130,7 +3108,7 @@ def starmap(
|
|
|
3130
3108
|
|
|
3131
3109
|
Args:
|
|
3132
3110
|
mapper: A transform function to invoke with unpacked elements
|
|
3133
|
-
as arguments.
|
|
3111
|
+
as arguments. If not provided, returns the tuple unchanged.
|
|
3134
3112
|
|
|
3135
3113
|
Returns:
|
|
3136
3114
|
An operator function that takes an observable source and
|
|
@@ -3138,46 +3116,27 @@ def starmap(
|
|
|
3138
3116
|
invoking the mapper function with unpacked elements of the
|
|
3139
3117
|
source.
|
|
3140
3118
|
"""
|
|
3141
|
-
|
|
3142
3119
|
if mapper is None:
|
|
3143
|
-
return compose(identity)
|
|
3144
3120
|
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
return mapper(*values)
|
|
3148
|
-
|
|
3149
|
-
return compose(map(starred))
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
@overload
|
|
3153
|
-
def starmap_indexed(
|
|
3154
|
-
mapper: Callable[[_A, int], _T],
|
|
3155
|
-
) -> Callable[[Observable[_A]], Observable[_T]]: ...
|
|
3121
|
+
def identity_fn(x: Any) -> Any:
|
|
3122
|
+
return x
|
|
3156
3123
|
|
|
3124
|
+
return compose(map(identity_fn))
|
|
3157
3125
|
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
mapper: Callable[[_A, _B, int], _T],
|
|
3161
|
-
) -> Callable[[Observable[Tuple[_A, _B]]], Observable[_T]]: ...
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
@overload
|
|
3165
|
-
def starmap_indexed(
|
|
3166
|
-
mapper: Callable[[_A, _B, _C, int], _T],
|
|
3167
|
-
) -> Callable[[Observable[Tuple[_A, _B, _C]]], Observable[_T]]: ...
|
|
3168
|
-
|
|
3126
|
+
def starred(values: tuple[Unpack[_Ts]]) -> _T:
|
|
3127
|
+
return mapper(*values)
|
|
3169
3128
|
|
|
3170
|
-
|
|
3171
|
-
def starmap_indexed(
|
|
3172
|
-
mapper: Callable[[_A, _B, _C, _D, int], _T],
|
|
3173
|
-
) -> Callable[[Observable[Tuple[_A, _B, _C, _D]]], Observable[_T]]: ...
|
|
3129
|
+
return compose(map(starred))
|
|
3174
3130
|
|
|
3175
3131
|
|
|
3176
3132
|
def starmap_indexed(
|
|
3177
|
-
mapper:
|
|
3178
|
-
) -> Callable[[Observable[
|
|
3133
|
+
mapper: Callable[[Unpack[_Ts], int], _T],
|
|
3134
|
+
) -> Callable[[Observable[tuple[Unpack[_Ts], int]]], Observable[_T]]:
|
|
3179
3135
|
"""Variant of :func:`starmap` which accepts an indexed mapper.
|
|
3180
3136
|
|
|
3137
|
+
Note: This operator expects the input to already be indexed as flat tuples
|
|
3138
|
+
of (*values, index), which is what map_indexed provides via zip_with_iterable.
|
|
3139
|
+
|
|
3181
3140
|
.. marble::
|
|
3182
3141
|
:alt: starmap_indexed
|
|
3183
3142
|
|
|
@@ -3190,7 +3149,7 @@ def starmap_indexed(
|
|
|
3190
3149
|
|
|
3191
3150
|
Args:
|
|
3192
3151
|
mapper: A transform function to invoke with unpacked elements
|
|
3193
|
-
as arguments.
|
|
3152
|
+
as arguments, plus the index.
|
|
3194
3153
|
|
|
3195
3154
|
Returns:
|
|
3196
3155
|
An operator function that takes an observable source and
|
|
@@ -3198,16 +3157,11 @@ def starmap_indexed(
|
|
|
3198
3157
|
invoking the indexed mapper function with unpacked elements
|
|
3199
3158
|
of the source.
|
|
3200
3159
|
"""
|
|
3201
|
-
from ._map import map_
|
|
3202
3160
|
|
|
3203
|
-
|
|
3204
|
-
return
|
|
3205
|
-
|
|
3206
|
-
def starred(values: Tuple[Any, ...]) -> Any:
|
|
3207
|
-
assert mapper # mypy is paranoid
|
|
3208
|
-
return mapper(*values)
|
|
3161
|
+
def starred(indexed_values: tuple[Unpack[_Ts], int]) -> _T:
|
|
3162
|
+
return mapper(*indexed_values)
|
|
3209
3163
|
|
|
3210
|
-
return compose(
|
|
3164
|
+
return compose(map(starred))
|
|
3211
3165
|
|
|
3212
3166
|
|
|
3213
3167
|
def start_with(*args: _T) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
@@ -3271,7 +3225,7 @@ def sum(
|
|
|
3271
3225
|
|
|
3272
3226
|
|
|
3273
3227
|
def sum(
|
|
3274
|
-
key_mapper:
|
|
3228
|
+
key_mapper: Mapper[Any, float] | None = None,
|
|
3275
3229
|
) -> Callable[[Observable[Any]], Observable[float]]:
|
|
3276
3230
|
"""Computes the sum of a sequence of values that are obtained by
|
|
3277
3231
|
invoking an optional transform function on each element of the
|
|
@@ -3333,7 +3287,7 @@ def switch_latest() -> (
|
|
|
3333
3287
|
|
|
3334
3288
|
|
|
3335
3289
|
def switch_map(
|
|
3336
|
-
project:
|
|
3290
|
+
project: Mapper[_T1, Observable[_T2]] | None = None,
|
|
3337
3291
|
) -> Callable[[Observable[_T1]], Observable[_T2]]:
|
|
3338
3292
|
"""Projects each source value to an Observable which is merged in
|
|
3339
3293
|
the output Observable, emitting values only from the most recently
|
|
@@ -3373,7 +3327,7 @@ def switch_map(
|
|
|
3373
3327
|
|
|
3374
3328
|
|
|
3375
3329
|
def switch_map_indexed(
|
|
3376
|
-
project:
|
|
3330
|
+
project: MapperIndexed[_T1, Observable[_T2]] | None = None,
|
|
3377
3331
|
) -> Callable[[Observable[_T1]], Observable[_T2]]:
|
|
3378
3332
|
"""Projects each source value to an Observable which is merged in
|
|
3379
3333
|
the output Observable, emitting values only from the most recently
|
|
@@ -3471,7 +3425,7 @@ def take_last(count: int) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
|
3471
3425
|
return take_last_(count)
|
|
3472
3426
|
|
|
3473
3427
|
|
|
3474
|
-
def take_last_buffer(count: int) -> Callable[[Observable[_T]], Observable[
|
|
3428
|
+
def take_last_buffer(count: int) -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
3475
3429
|
"""The `take_last_buffer` operator.
|
|
3476
3430
|
|
|
3477
3431
|
Returns an array with the specified number of contiguous elements
|
|
@@ -3508,7 +3462,7 @@ def take_last_buffer(count: int) -> Callable[[Observable[_T]], Observable[List[_
|
|
|
3508
3462
|
|
|
3509
3463
|
|
|
3510
3464
|
def take_last_with_time(
|
|
3511
|
-
duration: typing.RelativeTime, scheduler:
|
|
3465
|
+
duration: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
3512
3466
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3513
3467
|
"""Returns elements within the specified duration from the end of
|
|
3514
3468
|
the observable source sequence.
|
|
@@ -3573,7 +3527,7 @@ def take_until(other: Observable[Any]) -> Callable[[Observable[_T]], Observable[
|
|
|
3573
3527
|
|
|
3574
3528
|
def take_until_with_time(
|
|
3575
3529
|
end_time: typing.AbsoluteOrRelativeTime,
|
|
3576
|
-
scheduler:
|
|
3530
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
3577
3531
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3578
3532
|
"""Takes elements for the specified duration until the specified
|
|
3579
3533
|
end time, using the specified scheduler to run timers.
|
|
@@ -3675,7 +3629,7 @@ def take_while_indexed(
|
|
|
3675
3629
|
|
|
3676
3630
|
|
|
3677
3631
|
def take_with_time(
|
|
3678
|
-
duration: typing.RelativeTime, scheduler:
|
|
3632
|
+
duration: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
3679
3633
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3680
3634
|
"""Takes elements for the specified duration from the start of the
|
|
3681
3635
|
observable source sequence.
|
|
@@ -3711,7 +3665,7 @@ def take_with_time(
|
|
|
3711
3665
|
|
|
3712
3666
|
|
|
3713
3667
|
def throttle_first(
|
|
3714
|
-
window_duration: typing.RelativeTime, scheduler:
|
|
3668
|
+
window_duration: typing.RelativeTime, scheduler: abc.SchedulerBase | None = None
|
|
3715
3669
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3716
3670
|
"""Returns an Observable that emits only the first item emitted by
|
|
3717
3671
|
the source Observable during sequential time windows of a specified
|
|
@@ -3760,7 +3714,7 @@ if TYPE_CHECKING:
|
|
|
3760
3714
|
|
|
3761
3715
|
|
|
3762
3716
|
def timestamp(
|
|
3763
|
-
scheduler:
|
|
3717
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
3764
3718
|
) -> Callable[[Observable[_T]], Observable["Timestamp[_T]"]]:
|
|
3765
3719
|
"""The timestamp operator.
|
|
3766
3720
|
|
|
@@ -3784,8 +3738,8 @@ def timestamp(
|
|
|
3784
3738
|
|
|
3785
3739
|
def timeout(
|
|
3786
3740
|
duetime: typing.AbsoluteOrRelativeTime,
|
|
3787
|
-
other:
|
|
3788
|
-
scheduler:
|
|
3741
|
+
other: Observable[_T] | None = None,
|
|
3742
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
3789
3743
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3790
3744
|
"""Returns the source observable sequence or the other observable
|
|
3791
3745
|
sequence if duetime elapses.
|
|
@@ -3822,9 +3776,9 @@ def timeout(
|
|
|
3822
3776
|
|
|
3823
3777
|
|
|
3824
3778
|
def timeout_with_mapper(
|
|
3825
|
-
first_timeout:
|
|
3826
|
-
timeout_duration_mapper:
|
|
3827
|
-
other:
|
|
3779
|
+
first_timeout: Observable[Any] | None = None,
|
|
3780
|
+
timeout_duration_mapper: Callable[[_T], Observable[Any]] | None = None,
|
|
3781
|
+
other: Observable[_T] | None = None,
|
|
3828
3782
|
) -> Callable[[Observable[_T]], Observable[_T]]:
|
|
3829
3783
|
"""Returns the source observable sequence, switching to the other
|
|
3830
3784
|
observable sequence if a timeout is signaled.
|
|
@@ -3865,7 +3819,7 @@ if TYPE_CHECKING:
|
|
|
3865
3819
|
|
|
3866
3820
|
|
|
3867
3821
|
def time_interval(
|
|
3868
|
-
scheduler:
|
|
3822
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
3869
3823
|
) -> Callable[[Observable[_T]], Observable["TimeInterval[_T]"]]:
|
|
3870
3824
|
"""Records the time interval between consecutive values in an
|
|
3871
3825
|
observable sequence.
|
|
@@ -3891,8 +3845,8 @@ def time_interval(
|
|
|
3891
3845
|
|
|
3892
3846
|
|
|
3893
3847
|
def to_dict(
|
|
3894
|
-
key_mapper: Mapper[_T, _TKey], element_mapper:
|
|
3895
|
-
) -> Callable[[Observable[_T]], Observable[
|
|
3848
|
+
key_mapper: Mapper[_T, _TKey], element_mapper: Mapper[_T, _TValue] | None = None
|
|
3849
|
+
) -> Callable[[Observable[_T]], Observable[dict[_TKey, _TValue]]]:
|
|
3896
3850
|
"""Converts the observable sequence to a Map if it exists.
|
|
3897
3851
|
|
|
3898
3852
|
Args:
|
|
@@ -3913,7 +3867,7 @@ def to_dict(
|
|
|
3913
3867
|
|
|
3914
3868
|
|
|
3915
3869
|
def to_future(
|
|
3916
|
-
future_ctor:
|
|
3870
|
+
future_ctor: Callable[[], "Future[_T]"] | None = None,
|
|
3917
3871
|
) -> Callable[[Observable[_T]], "Future[_T]"]:
|
|
3918
3872
|
"""Converts an existing observable sequence to a Future.
|
|
3919
3873
|
|
|
@@ -3932,7 +3886,7 @@ def to_future(
|
|
|
3932
3886
|
return to_future_(future_ctor)
|
|
3933
3887
|
|
|
3934
3888
|
|
|
3935
|
-
def to_iterable() -> Callable[[Observable[_T]], Observable[
|
|
3889
|
+
def to_iterable() -> Callable[[Observable[_T]], Observable[list[_T]]]:
|
|
3936
3890
|
"""Creates an iterable from an observable sequence.
|
|
3937
3891
|
|
|
3938
3892
|
There is also an alias called ``to_list``.
|
|
@@ -3951,7 +3905,7 @@ to_list = to_iterable
|
|
|
3951
3905
|
|
|
3952
3906
|
|
|
3953
3907
|
def to_marbles(
|
|
3954
|
-
timespan: typing.RelativeTime = 0.1, scheduler:
|
|
3908
|
+
timespan: typing.RelativeTime = 0.1, scheduler: abc.SchedulerBase | None = None
|
|
3955
3909
|
) -> Callable[[Observable[Any]], Observable[str]]:
|
|
3956
3910
|
"""Convert an observable sequence into a marble diagram string.
|
|
3957
3911
|
|
|
@@ -3969,7 +3923,7 @@ def to_marbles(
|
|
|
3969
3923
|
return to_marbles(scheduler=scheduler, timespan=timespan)
|
|
3970
3924
|
|
|
3971
3925
|
|
|
3972
|
-
def to_set() -> Callable[[Observable[_T]], Observable[
|
|
3926
|
+
def to_set() -> Callable[[Observable[_T]], Observable[set[_T]]]:
|
|
3973
3927
|
"""Converts the observable sequence to a set.
|
|
3974
3928
|
|
|
3975
3929
|
Returns:
|
|
@@ -4112,7 +4066,7 @@ def window_toggle(
|
|
|
4112
4066
|
|
|
4113
4067
|
|
|
4114
4068
|
def window_with_count(
|
|
4115
|
-
count: int, skip:
|
|
4069
|
+
count: int, skip: int | None = None
|
|
4116
4070
|
) -> Callable[[Observable[_T]], Observable[Observable[_T]]]:
|
|
4117
4071
|
"""Projects each element of an observable sequence into zero or more
|
|
4118
4072
|
windows which are produced based on element count information.
|
|
@@ -4146,8 +4100,8 @@ def window_with_count(
|
|
|
4146
4100
|
|
|
4147
4101
|
def window_with_time(
|
|
4148
4102
|
timespan: typing.RelativeTime,
|
|
4149
|
-
timeshift:
|
|
4150
|
-
scheduler:
|
|
4103
|
+
timeshift: typing.RelativeTime | None = None,
|
|
4104
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
4151
4105
|
) -> Callable[[Observable[_T]], Observable[Observable[_T]]]:
|
|
4152
4106
|
from ._windowwithtime import window_with_time_
|
|
4153
4107
|
|
|
@@ -4157,7 +4111,7 @@ def window_with_time(
|
|
|
4157
4111
|
def window_with_time_or_count(
|
|
4158
4112
|
timespan: typing.RelativeTime,
|
|
4159
4113
|
count: int,
|
|
4160
|
-
scheduler:
|
|
4114
|
+
scheduler: abc.SchedulerBase | None = None,
|
|
4161
4115
|
) -> Callable[[Observable[_T]], Observable[Observable[_T]]]:
|
|
4162
4116
|
from ._windowwithtimeorcount import window_with_time_or_count_
|
|
4163
4117
|
|
|
@@ -4229,7 +4183,7 @@ def zip(*args: Observable[Any]) -> Callable[[Observable[Any]], Observable[Any]]:
|
|
|
4229
4183
|
|
|
4230
4184
|
def zip_with_iterable(
|
|
4231
4185
|
second: Iterable[_T2],
|
|
4232
|
-
) -> Callable[[Observable[_T1]], Observable[
|
|
4186
|
+
) -> Callable[[Observable[_T1]], Observable[tuple[_T1, _T2]]]:
|
|
4233
4187
|
"""Merges the specified observable sequence and list into one
|
|
4234
4188
|
observable sequence by creating a tuple whenever all of
|
|
4235
4189
|
the observable sequences have produced an element at a
|