[package]
edition = "2024"
rust-version = "1.88.0"
name = "rx-rust"
version = "1.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Reactive Programming in Rust inspired by ReactiveX https://reactivex.io/"
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/623637646/rx-rust"
[package.metadata.docs.rs]
features = ["tokio-scheduler"]
[features]
async-std-scheduler = [
"futures",
"dep:async-std",
]
default = []
local-pool-scheduler = [
"single-threaded",
"futures",
"dep:async-io",
]
single-threaded = []
smol-scheduler = [
"futures",
"dep:smol",
]
thread-pool-scheduler = [
"futures/thread-pool",
"dep:async-io",
]
tokio-scheduler = [
"futures",
"dep:tokio",
"tokio/rt",
"tokio/time",
]
[lib]
name = "rx_rust"
path = "src/lib.rs"
[[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 = "cloneable_boxed_observable"
path = "tests/cloneable_boxed_observable.rs"
[[test]]
name = "collect"
path = "tests/collect.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 = "from_try_future"
path = "tests/from_try_future.rs"
[[test]]
name = "from_try_stream"
path = "tests/from_try_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_err"
path = "tests/map_err.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 = "mutable"
path = "tests/mutable.rs"
[[test]]
name = "never"
path = "tests/never.rs"
[[test]]
name = "observable_future"
path = "tests/observable_future.rs"
[[test]]
name = "observable_stream"
path = "tests/observable_stream.rs"
[[test]]
name = "observable_try_future"
path = "tests/observable_try_future.rs"
[[test]]
name = "observable_try_stream"
path = "tests/observable_try_stream.rs"
[[test]]
name = "observe_on"
path = "tests/observe_on.rs"
[[test]]
name = "on_panic"
path = "tests/on_panic.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 = "serialized_delivery"
path = "tests/serialized_delivery.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 = "subscribe_with_auto_dispose_on_termination"
path = "tests/subscribe_with_auto_dispose_on_termination.rs"
[[test]]
name = "subscribe_with_context"
path = "tests/subscribe_with_context.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 = "unicast_subject"
path = "tests/unicast_subject.rs"
[[test]]
name = "window"
path = "tests/window.rs"
[[test]]
name = "window_with_count"
path = "tests/window_with_count.rs"
[[test]]
name = "with_error_type"
path = "tests/with_error_type.rs"
[[test]]
name = "with_item_type"
path = "tests/with_item_type.rs"
[[test]]
name = "zip"
path = "tests/zip.rs"
[dependencies.async-io]
version = "2"
optional = true
[dependencies.async-std]
version = "1"
optional = true
[dependencies.cfg-if]
version = "1"
[dependencies.educe]
version = "0"
[dependencies.futures]
version = "0"
optional = true
[dependencies.smol]
version = "2"
optional = true
[dependencies.tokio]
version = "1"
optional = true
[dev-dependencies.async-io]
version = "2"
[dev-dependencies.paste]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = ["full"]