[package]
name = "specta"
description = "Easily export your Rust types to other languages"
version = "2.0.0-rc.20"
authors = ["Oscar Beaumont <oscar@otbeaumont.me>"]
edition = "2021"
license = "MIT"
include = ["/src", "/examples", "/LICENCE", "/README.md"]
repository = "https://github.com/oscartbeaumont/specta"
documentation = "https://docs.rs/specta/latest/specta"
keywords = ["async", "specta", "rspc", "typescript", "typesafe"]
categories = ["web-programming", "asynchronous"]
[package.metadata."docs.rs"]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = []
derive = ["dep:specta-macros"]
function = ["specta-macros?/DO_NOT_USE_function", "dep:paste"]
serde = ["dep:serde"]
serde_json = ["dep:serde_json"]
serde_yaml = ["dep:serde_yaml"]
toml = ["dep:toml"]
uuid = ["dep:uuid"]
ulid = ["dep:ulid"]
chrono = ["dep:chrono"]
time = ["dep:time"]
bigdecimal = ["dep:bigdecimal"]
rust_decimal = ["dep:rust_decimal"]
indexmap = ["dep:indexmap"]
ipnetwork = ["dep:ipnetwork"]
mac_address = ["dep:mac_address"]
bit-vec = ["dep:bit-vec"]
bson = ["dep:bson"]
uhlc = ["dep:uhlc"]
bytesize = ["dep:bytesize"]
glam = ["dep:glam"]
tokio = ["dep:tokio"]
url = ["dep:url"]
either = ["dep:either"]
bevy_ecs = ["dep:bevy_ecs"]
bevy_input = ["dep:bevy_input", "dep:bevy_ecs", "dep:glam"]
interop = ["dep:specta1"]
[lints]
workspace = true
[dependencies]
specta-macros = { version = "=2.0.0-rc.17", optional = true, path = "../specta-macros" }
paste = { version = "1", optional = true }
thiserror = "1.0.61"
specta1 = { package = "specta", version = "1", optional = true, default-features = false }
serde = { version = "1.0.204", optional = true, default-features = false, features = ["derive"] }
serde_json = { version = "1.0.120", optional = true, default-features = false, features = ["std"] }
serde_yaml = { version = "0.9.34", optional = true, default-features = false, features = [] }
toml = { version = "0.8.14", optional = true, default-features = false }
ulid = { version = "1.1.2", optional = true, default-features = false, features = [] }
uuid = { version = "1.10.0", optional = true, default-features = false, features = [] }
chrono = { version = "0.4.38", optional = true, default-features = false, features = ["clock"] }
time = { version = "0.3.36", optional = true, default-features = false, features = [] }
bigdecimal = { version = "0.4.5", optional = true, default-features = false, features = [] }
rust_decimal = { version = "1.35.0", optional = true, default-features = false, features = [] }
indexmap = { version = "2.2.6", optional = true, default-features = false, features = ["std"] }
ipnetwork = { version = "0.20.0", optional = true, default-features = false, features = [] }
mac_address = { version = "1.1.7", optional = true, default-features = false, features = [] }
bit-vec = { version = "0.7.0", optional = true, default-features = false, features = [] }
bson = { version = "2.11.0", optional = true, default-features = false, features = [] }
uhlc = { version = "0.8.0", optional = true, default-features = false, features = [] }
bytesize = { version = "1.3.0", optional = true, default-features = false, features = [] }
glam = { version = "0.28", optional = true, default-features = false, features = ["std"] }
tokio = { version = "1.38", optional = true, default-features = false, features = ["sync"] }
url = { version = "2.5.2", optional = true, default-features = false }
either = { version = "1.13.0", optional = true, default-features = false }
bevy_ecs = { version = "0.14.0", optional = true, default-features = false }
bevy_input = { version = "0.14.0", optional = true, default-features = false }
[dev-dependencies]
serde = { version = "1.0.204", features = ["derive"] }