[package]
edition = "2024"
name = "rust-elm"
version = "0.9.0"
authors = ["Codefonsi <info@codefonsi.com>"]
build = false
include = [
"src/**/*",
"Cargo.toml",
"README.0.1.0.md",
"LICENSE",
"book/**/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Elm Architecture for Rust: composable reducers, pure effects, async runtime."
homepage = "https://github.com/codefonsi/rust-key-paths/tree/main/rust-elm"
documentation = "https://docs.rs/rust-elm"
readme = "README.0.1.0.md"
keywords = [
"elm",
"udf",
"reducer",
"effect",
"architecture",
]
categories = [
"asynchronous",
"development-tools",
]
license = "MPL-2.0"
repository = "https://github.com/codefonsi/rust-key-paths"
[features]
arc-swap = [
"runtime",
"dep:arc-swap",
]
default = [
"runtime",
"websocket",
]
runtime = ["dep:tokio"]
serde = [
"dep:serde",
"dep:serde_json",
"rust_identified_vec/serde",
]
websocket = [
"runtime",
"dep:tokio-tungstenite",
"dep:futures-util",
]
[lib]
name = "rust_elm"
path = "src/lib.rs"
[dependencies.arc-swap]
version = "1.7"
optional = true
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
optional = true
default-features = false
[dependencies.key-paths-core]
version = "2.1.0"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rust-key-paths]
version = "3.4.0"
[dependencies.rust_dependencies]
version = "0.1.2"
[dependencies.rust_identified_vec]
version = "0.1.2"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tokio]
version = "1.38"
features = [
"sync",
"rt",
"rt-multi-thread",
"macros",
"time",
"net",
]
optional = true
[dependencies.tokio-tungstenite]
version = "0.26"
optional = true
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
default-features = false
[dev-dependencies.iced]
version = "0.13"
features = ["tokio"]
[dev-dependencies.key-paths-derive]
version = "3.3"
[dev-dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1.38"
features = [
"sync",
"rt",
"rt-multi-thread",
"macros",
"time",
"net",
"test-util",
]
[dev-dependencies.tokio-tungstenite]
version = "0.26"