[package]
name = "cbor_enhanced"
version = "0.1.1"
authors = ["Christian Loehnert"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = """
Cbor de/serialization library making use of lifetimes to support zero copy deserialization.
Several iana tags are supported but need to be activated via feature flags.
"""
keywords= ["cbor","binary", "serialization", "deserialization"]
categories = ["parser-implementations", "parsing"]
homepage = "https://github.com/krampenschiesser/cbor_enhanced"
repository = "https://github.com/krampenschiesser/cbor_enhanced"
readme="readme.md"
documentation = "https://docs.rs/cbor_enhanced"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default =[]
iana_all_tags = ["iana_std","iana_chrono", "iana_bigint", "iana_uuid","iana_mime","iana_geo"]
iana_std = ["safe-transmute"]  # tags 64-79, 81,82, 85,86 260, 261,
iana_numbers = ["half"] # tags 80,
iana_chrono = ["chrono"] #Tags 0, 1, 1001
iana_bigint = ["num-bigint", "num-traits"] ## tags 2,3
iana_uuid = ["uuid"] # tags 37
iana_regex = ["regex"] # tag 35
iana_mime = ["mime"] # tag 36
iana_geo = ["num-traits"] # tag 103
protocol_derive = ["cbor_enhanced_derive_protocol"]

[[test]]
name = "test_vectors"
required-features = ["iana_all_tags"]

[dependencies]
nom = {version = "6.0.1", default-features = false, features= ["std"] }
bytes = "1.0.0"
failure = "0.1.8"


chrono = { version = "0.4.19", optional = true }
num-bigint = {version ="0.3.1", optional = true }
num-traits = {version ="0.2.14", optional = true }
uuid = {version = "0.8.1", features=["v4"], optional = true }
mime = {version = "0.3.16", optional = true }
half = {version = "1.6.0", optional = true }
safe-transmute = {version = "0.11.0", optional = true }
regex = {version = "1.4.2", optional = true }
cbor_enhanced_derive_protocol = { path = "../derive_protocol", optional= true, version = "0.1" }

[dev-dependencies]
float-cmp = "0.8.0"