[package]
name = "nym-wasm-utils"
version.workspace = true
authors = ["Jedrzej Stuczynski <andrew@nymtech.net>"]
edition = "2021"
license.workspace = true
description = "Helpers and macros for the Nym WASM client"
repository.workspace = true
homepage.workspace = true
documentation.workspace = true

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
futures = { workspace = true }
js-sys = { workspace = true }
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = { workspace = true }
getrandom = { workspace = true, features = ["js"], optional = true }
gloo-utils = { workspace = true }
gloo-net = { workspace = true, features = ["websocket"], optional = true }
#gloo-net = { workspace = truepath = "../../../../gloo/crates/net", features = ["websocket"], optional = true }

console_error_panic_hook = { workspace = true, optional = true }

# we don't want entire tokio-tungstenite, tungstenite itself is just fine - we just want message and error enums
[dependencies.tungstenite]
workspace = true
default-features = false
optional = true

[dependencies.web-sys]
workspace = true
optional = true

[features]
default = ["sleep"]
sleep = ["web-sys", "web-sys/Window"]
websocket = ["getrandom", "tungstenite", "gloo-net"]
crypto = [
    "web-sys",
    "web-sys/Crypto",
    "web-sys/CryptoKey",
    "web-sys/CryptoKeyPair",
    "web-sys/SubtleCrypto",
    "web-sys/Window",
    "web-sys/WorkerGlobalScope",
]
