-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
77 lines (65 loc) · 2.86 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
[package]
name = "serde_encom"
version = "0.3.2"
authors = ["Dmitry Rodionov <[email protected]>"]
description = "Official EnCom library"
repository = "https://github.com/RoDmitry/serde_encom"
documentation = "https://docs.rs/serde_encom/"
readme = "README.md"
keywords = ["encom", "serde", "serialization", "json"]
categories = ["encoding", "parser-implementations"]
license = "MIT OR Apache-2.0"
edition = "2021"
[lib]
name = "serde_encom"
path = "src/lib.rs"
[dependencies]
atoi_simd = "0.16"
debug_unsafe = "0.1"
indexmap = { version = "2", optional = true }
itoa = "1"
ryu = "1"
serde = { version = "1.0", default-features = false }
# atoi_simd = { git = "https://github.com/RoDmitry/atoi_simd", branch = "fb" }
[dev-dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
# serde_json = "1.0"
############################## FEATURES ######################################
[features]
default = ["std"]
std = ["serde/std", "atoi_simd/std"]
# Provide integration for heap-allocated collections without depending on the
# rest of the Rust standard library.
# NOTE: Disabling both `std` *and* `alloc` features is not supported yet.
alloc = ["serde/alloc"]
# Make serde_encom::Map use a representation which maintains insertion order.
# This allows data to be read into a Value and written back to a JSON string
# while preserving the order of map keys in the input.
preserve_order = ["indexmap", "std"]
# Use sufficient precision when parsing fixed precision floats from JSON to
# ensure that they maintain accuracy when round-tripped through JSON. This comes
# at an approximately 2x performance cost for parsing floats compared to the
# default best-effort precision.
#
# Unlike arbitrary_precision, this feature makes f64 -> JSON -> f64 produce
# output identical to the input.
# float_roundtrip = []
# Use an arbitrary precision number representation for serde_encom::Number. This
# allows JSON numbers of arbitrary size/precision to be read into a Number and
# written back to a JSON string without loss of precision.
#
# Unlike float_roundtrip, this feature makes JSON -> serde_encom::Number -> JSON
# produce output identical to the input.
# arbitrary_precision = []
# Provide a RawValue type that can hold unprocessed JSON during deserialization.
# raw_value = []
# Provide a method disable_recursion_limit to parse arbitrarily deep JSON
# structures without any consideration for overflowing the stack. When using
# this feature, you will want to provide some other way to protect against stack
# overflows, such as by wrapping your Deserializer in the dynamically growing
# stack adapter provided by the serde_stacker crate. Additionally you will need
# to be careful around other recursive operations on the parsed result which may
# overflow the stack after deserialization has completed, including, but not
# limited to, Display and Debug and Drop impls.
# unbounded_depth = []