[package] name = "senhasegura-rs" version = "0.3.0" edition = "2021" publish = true authors = ["Gabriel Kim"] license = "MIT" description = "Senhasegura API client for Rust" repository = "https://github.com/gabrielkim13/senhasegura-rs" homepage = "https://github.com/gabrielkim13/senhasegura-rs" [lib] crate-type = ["cdylib", "lib"] [[bin]] name = "uniffi-bindgen" path = "uniffi-bindgen.rs" [dependencies] anyhow = "1" async-trait = "0.1" chrono = "0.4" http = "1" napi = { version = "2", default-features = false, features = ["async", "napi4"], optional = true } napi-derive = { version = "2", optional = true } oauth2 = { version = "5.0.0-alpha.4", default-features = false, features = ["rustls-tls"] } once_cell = { version = "1", optional = true } serde = { version = "1", features = ["derive"] } serde-aux = { version = "4", default-features = false } serde_json = "1" serde_repr = "0.1" strum = { version = "0.26", features = ["derive"] } thiserror = "1" tracing = "0.1" reqwest = { version = "0.12", default-features = false, features = ["http2", "rustls-tls", "rustls-tls-native-roots", "charset", "gzip", "json" ] } reqwest-middleware = { version = "0.3", features = ["charset", "http2", "json", "rustls-tls"], optional = true } reqwest-retry = { version = "0.6", optional = true } tokio = { version = "1", features = ["sync"] } uniffi = { version = "0.25.0", features = ["cli"], optional = true } url = "2" [dev-dependencies] test-context = "0.3" tokio = { version = "1", features = ["test-util"] } tokio-test = "0.4" tracing-subscriber = { version = "0.3", features = ["env-filter"] } wiremock = "0.6" [features] default = ["retry"] # Enables exponential backoff retry strategy retry = ["dep:reqwest-middleware", "dep:reqwest-retry"] # NAPI-RS bindings for Node.js integration napi = ["dep:napi", "dep:napi-derive"] # UniFFI bindings uniffi = ["dep:once_cell", "dep:uniffi", "tokio/rt-multi-thread"]