[package]
edition = "2024"
rust-version = "1.89"
name = "kithara-platform"
version = "0.0.1-alpha2"
authors = ["kithara contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cross-platform primitives (sync, time, thread) for native and wasm32."
readme = "README.md"
keywords = [
"platform",
"wasm",
"sync",
"audio",
"primitives",
]
categories = [
"wasm",
"concurrency",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/zvuk/kithara"
resolver = "2"
[lib]
name = "kithara_platform"
path = "src/lib.rs"
[dependencies.futures]
version = "0.3.32"
[dependencies.tokio-util]
version = "0.7.18"
default-features = false
[dependencies.tokio_with_wasm]
version = "0.9"
features = ["full"]
[dependencies.web-time]
version = "1.1"
[dev-dependencies.wasm-bindgen-test]
version = "0.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.parking_lot]
version = "0.12"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.52.3"
features = [
"sync",
"macros",
"rt",
"time",
"time",
"sync",
"rt",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm_safe_thread]
version = "0.1.1"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
"Blob",
"BroadcastChannel",
"console",
"DedicatedWorkerGlobalScope",
"Document",
"Element",
"Event",
"EventTarget",
"File",
"FileList",
"FileReader",
"HtmlElement",
"HtmlInputElement",
"MessageEvent",
"Window",
]
[lints.clippy]
allow_attributes = "deny"
approx_constant = "warn"
cast_lossless = "warn"
cast_possible_truncation = "warn"
cast_precision_loss = "warn"
cast_sign_loss = "warn"
cloned_instead_of_copied = "deny"
cognitive_complexity = "warn"
default_constructed_unit_structs = "warn"
default_trait_access = "warn"
derivable_impls = "warn"
derive_ord_xor_partial_ord = "warn"
derive_partial_eq_without_eq = "warn"
derived_hash_with_manual_eq = "warn"
doc_markdown = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
flat_map_option = "warn"
ignored_unit_patterns = "allow"
impl_trait_in_params = "warn"
inconsistent_struct_constructor = "warn"
inherent_to_string = "warn"
items_after_statements = "warn"
manual_let_else = "warn"
manual_map = "deny"
map_identity = "deny"
map_unwrap_or = "warn"
match_same_arms = "warn"
match_wildcard_for_single_variants = "warn"
missing_errors_doc = "warn"
missing_fields_in_debug = "warn"
missing_panics_doc = "warn"
must_use_candidate = "warn"
mut_mut = "warn"
needless_borrow = "deny"
needless_for_each = "warn"
needless_lifetimes = "deny"
needless_pass_by_value = "warn"
needless_range_loop = "deny"
non_canonical_partial_ord_impl = "warn"
option_if_let_else = "warn"
or_fun_call = "warn"
partialeq_ne_impl = "warn"
ptr_arg = "deny"
question_mark = "deny"
redundant_closure_for_method_calls = "warn"
redundant_else = "warn"
search_is_some = "deny"
semicolon_if_nothing_returned = "warn"
significant_drop_tightening = "warn"
single_match_else = "warn"
to_string_trait_impl = "warn"
too_many_arguments = "warn"
too_many_lines = "warn"
trivially_copy_pass_by_ref = "warn"
type_complexity = "warn"
undocumented_unsafe_blocks = "deny"
unnecessary_wraps = "warn"
unused_self = "warn"
unwrap_used = "deny"
use_self = "warn"
[lints.rust]
unreachable_pub = "warn"
unused_qualifications = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(rtsan)"]
[lints.rustdoc]
broken_intra_doc_links = "deny"