[package]
name = "armour"
version = "0.4.4"
authors = ["Rail Khusnutdinov <rail@33.run>"]
description = "DDL and serialization for key-value storage"
keywords = ["key-value", "ORM", "DDL", "serialization", "databases"]
categories = []
license = "MIT OR Apache-2.0"
homepage = "https://github.com/libfunc/armour/"
documentation = "https://docs.rs/armour/"
repository = "https://github.com/libfunc/armour/"
readme = "../README.md"
edition = "2021"

[lib]
name = "armour"
path = "src/lib.rs"

[features]
default = ["std", "smallvec"]
std = [
  "serde",
  "serde_json",
  "bincode",
  "time/std",
  "time/serde-human-readable",
  "thiserror",
  "anyhow",
  "harsh",
]
no_std = []

[dependencies]
serde = { version = "1.0", optional = true, features = ["derive"] }
serde_json = { version = "1.0", optional = true }
num-derive = "0.3"
thiserror = { version = "1.0", optional = true }
anyhow = { version = "1.0", optional = true }
arrayvec = { version = "0.7", features = ["serde"] }
blowfish = "0.9"
data-encoding = "2.3"
once_cell = { version = "1.8", features = ["parking_lot"] }
bincode = { version = "2.0.0-rc.2", optional = true }
harsh = { version = "0.2", optional = true }
num-traits = { version = "0.2", default-features = false }
time = { version = "0.3", default-features = false }
smallvec = { version = "1.10", optional = true, features = ["union", "const_generics", "const_new", "serde"] }
twox-hash = "1.6"
compact_str = { version = "0.6", features = ["bytes", "serde"] }
rust_decimal = { version = "1.27" }
specta = { version = "0.0.6", features = ["time", "export"] }
typescript-type-def = { version = "0.5.5" }
# typescript-type-def = { path = "../../rust-typescript-type-def" }

primitive-from-enum = "0.1"
rapira = "0.3"

[dependencies.armour-derive]
version = "0.1"
# path = "../armour-derive"

[dependencies.wa_proto]
version = "0.1"
#path = "../../wa-proto"
default-features = false
optional = true
