[dependencies.async-io]
optional = true
version = "2.4.1"
[dependencies.async-std]
optional = true
version = "1.13.1"
[dependencies.cfg-if]
version = "1.0.1"
[dependencies.educe]
version = "0.6.0"
[dependencies.futures]
optional = true
version = "0.3.31"
[dependencies.slotmap]
version = "1.0.7"
[dependencies.tokio]
optional = true
version = "1.47.1"
[dev-dependencies.async-io]
version = "2.4.1"
[dev-dependencies.futures]
features = ["thread-pool"]
version = "0.3.31"
[dev-dependencies.paste]
version = "1.0.15"
[dev-dependencies.pin-project]
version = "1.1.10"
[dev-dependencies.rand]
version = "0.9.2"
[dev-dependencies.tokio]
features = ["full"]
version = "1.47.1"
[features]
async-std-scheduler = ["futures", "async-std"]
default = ["multi-threaded"]
local-pool-scheduler = ["single-threaded", "futures", "async-io"]
multi-threaded = []
single-threaded = []
thread-pool-scheduler = ["futures/thread-pool", "async-io"]
tokio-scheduler = ["futures", "tokio/rt", "tokio/time"]
[lib]
name = "rx_rust"
path = "src/lib.rs"
[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "Reactive Programming in Rust inspired by ReactiveX https://reactivex.io/"
edition = "2024"
license-file = "LICENSE"
name = "rx-rust"
readme = "README.md"
repository = "https://github.com/623637646/rx-rust"
version = "0.2.1"
[[test]]
name = "all"
path = "tests/all.rs"
[[test]]
name = "amb"
path = "tests/amb.rs"
[[test]]
name = "async_subject"
path = "tests/async_subject.rs"
[[test]]
name = "average"
path = "tests/average.rs"
[[test]]
name = "behavior_subject"
path = "tests/behavior_subject.rs"
[[test]]
name = "boxed_observable"
path = "tests/boxed_observable.rs"
[[test]]
name = "boxed_observer"
path = "tests/boxed_observer.rs"
[[test]]
name = "buffer"
path = "tests/buffer.rs"
[[test]]
name = "buffer_with_count"
path = "tests/buffer_with_count.rs"
[[test]]
name = "buffer_with_time"
path = "tests/buffer_with_time.rs"
[[test]]
name = "buffer_with_time_or_count"
path = "tests/buffer_with_time_or_count.rs"
[[test]]
name = "callback_observer"
path = "tests/callback_observer.rs"
[[test]]
name = "catch"
path = "tests/catch.rs"
[[test]]
name = "combine_latest"
path = "tests/combine_latest.rs"
[[test]]
name = "concat"
path = "tests/concat.rs"
[[test]]
name = "concat_all"
path = "tests/concat_all.rs"
[[test]]
name = "concat_map"
path = "tests/concat_map.rs"
[[test]]
name = "contains"
path = "tests/contains.rs"
[[test]]
name = "count"
path = "tests/count.rs"
[[test]]
name = "create"
path = "tests/create.rs"
[[test]]
name = "debounce"
path = "tests/debounce.rs"
[[test]]
name = "default_if_empty"
path = "tests/default_if_empty.rs"
[[test]]
name = "defer"
path = "tests/defer.rs"
[[test]]
name = "delay"
path = "tests/delay.rs"
[[test]]
name = "dematerialize"
path = "tests/dematerialize.rs"
[[test]]
name = "disposable"
path = "tests/disposable.rs"
[[test]]
name = "distinct"
path = "tests/distinct.rs"
[[test]]
name = "distinct_until_changed"
path = "tests/distinct_until_changed.rs"
[[test]]
name = "do_after_disposal"
path = "tests/do_after_disposal.rs"
[[test]]
name = "do_after_next"
path = "tests/do_after_next.rs"
[[test]]
name = "do_after_subscription"
path = "tests/do_after_subscription.rs"
[[test]]
name = "do_after_termination"
path = "tests/do_after_termination.rs"
[[test]]
name = "do_before_disposal"
path = "tests/do_before_disposal.rs"
[[test]]
name = "do_before_next"
path = "tests/do_before_next.rs"
[[test]]
name = "do_before_subscription"
path = "tests/do_before_subscription.rs"
[[test]]
name = "do_before_termination"
path = "tests/do_before_termination.rs"
[[test]]
name = "element_at"
path = "tests/element_at.rs"
[[test]]
name = "empty"
path = "tests/empty.rs"
[[test]]
name = "filter"
path = "tests/filter.rs"
[[test]]
name = "first"
path = "tests/first.rs"
[[test]]
name = "flat_map"
path = "tests/flat_map.rs"
[[test]]
name = "from_future"
path = "tests/from_future.rs"
[[test]]
name = "from_iter"
path = "tests/from_iter.rs"
[[test]]
name = "from_result"
path = "tests/from_result.rs"
[[test]]
name = "from_stream"
path = "tests/from_stream.rs"
[[test]]
name = "group_by"
path = "tests/group_by.rs"
[[test]]
name = "hook_on_next"
path = "tests/hook_on_next.rs"
[[test]]
name = "hook_on_subscription"
path = "tests/hook_on_subscription.rs"
[[test]]
name = "hook_on_termination"
path = "tests/hook_on_termination.rs"
[[test]]
name = "ignore_elements"
path = "tests/ignore_elements.rs"
[[test]]
name = "interval"
path = "tests/interval.rs"
[[test]]
name = "just"
path = "tests/just.rs"
[[test]]
name = "last"
path = "tests/last.rs"
[[test]]
name = "map"
path = "tests/map.rs"
[[test]]
name = "map_infallible_to_error"
path = "tests/map_infallible_to_error.rs"
[[test]]
name = "map_infallible_to_value"
path = "tests/map_infallible_to_value.rs"
[[test]]
name = "materialize"
path = "tests/materialize.rs"
[[test]]
name = "max"
path = "tests/max.rs"
[[test]]
name = "merge"
path = "tests/merge.rs"
[[test]]
name = "merge_all"
path = "tests/merge_all.rs"
[[test]]
name = "min"
path = "tests/min.rs"
[[test]]
name = "never"
path = "tests/never.rs"
[[test]]
name = "observable_stream"
path = "tests/observable_stream.rs"
[[test]]
name = "observe_on"
path = "tests/observe_on.rs"
[[test]]
name = "on_backpressure_buffer"
path = "tests/on_backpressure_buffer.rs"
[[test]]
name = "on_backpressure_latest"
path = "tests/on_backpressure_latest.rs"
[[test]]
name = "publish"
path = "tests/publish.rs"
[[test]]
name = "publish_last"
path = "tests/publish_last.rs"
[[test]]
name = "publish_subject"
path = "tests/publish_subject.rs"
[[test]]
name = "range"
path = "tests/range.rs"
[[test]]
name = "reduce"
path = "tests/reduce.rs"
[[test]]
name = "ref_count"
path = "tests/ref_count.rs"
[[test]]
name = "repeat"
path = "tests/repeat.rs"
[[test]]
name = "replay"
path = "tests/replay.rs"
[[test]]
name = "replay_subject"
path = "tests/replay_subject.rs"
[[test]]
name = "retry"
path = "tests/retry.rs"
[[test]]
name = "sample"
path = "tests/sample.rs"
[[test]]
name = "scan"
path = "tests/scan.rs"
[[test]]
name = "scheduler"
path = "tests/scheduler.rs"
[[test]]
name = "sequence_equal"
path = "tests/sequence_equal.rs"
[[test]]
name = "skip"
path = "tests/skip.rs"
[[test]]
name = "skip_last"
path = "tests/skip_last.rs"
[[test]]
name = "skip_until"
path = "tests/skip_until.rs"
[[test]]
name = "skip_while"
path = "tests/skip_while.rs"
[[test]]
name = "start"
path = "tests/start.rs"
[[test]]
name = "start_with"
path = "tests/start_with.rs"
[[test]]
name = "subscribe_on"
path = "tests/subscribe_on.rs"
[[test]]
name = "subscription"
path = "tests/subscription.rs"
[[test]]
name = "sum"
path = "tests/sum.rs"
[[test]]
name = "switch"
path = "tests/switch.rs"
[[test]]
name = "switch_map"
path = "tests/switch_map.rs"
[[test]]
name = "take"
path = "tests/take.rs"
[[test]]
name = "take_last"
path = "tests/take_last.rs"
[[test]]
name = "take_until"
path = "tests/take_until.rs"
[[test]]
name = "take_while"
path = "tests/take_while.rs"
[[test]]
name = "test_channel"
path = "tests/test_channel.rs"
[[test]]
name = "throttle"
path = "tests/throttle.rs"
[[test]]
name = "throw"
path = "tests/throw.rs"
[[test]]
name = "time_interval"
path = "tests/time_interval.rs"
[[test]]
name = "timeout"
path = "tests/timeout.rs"
[[test]]
name = "timer"
path = "tests/timer.rs"
[[test]]
name = "timestamp"
path = "tests/timestamp.rs"
[[test]]
name = "window"
path = "tests/window.rs"
[[test]]
name = "window_with_count"
path = "tests/window_with_count.rs"
[[test]]
name = "zip"
path = "tests/zip.rs"