e256931e9b
This commit completely rewrites this crate from the ground up, supporting serde at the lowest levels as I believe serde support was intended to do. This is a major change from the previous versions of this crate, with a summary of changes being: * Serialization directly to TOML is now supported without going through a `Value` first. * Deserialization directly from TOML is now supported without going through a `Value`. Note that due to the TOML format some values still are buffered in intermediate memory, but overall this should be at a minimum now. * The API of `Value` was overhauled to match the API of `serde_json::Value`. The changes here were to: * Add `is_*` accessors * Add `get` and `get_mut` for one-field lookups. * Implement panicking lookups through `Index` The old `index` methods are now gone in favor of `get` and `Index` implementations. * A `Datetime` type has been added to represent a TOML datetime in a first-class fashion. Currently this type provides no accessors other than a `Display` implementation, but the idea is that this will grow support over time for decomposing the date. * Support for the `rustc-serialize` crate has been dropped, that'll stay on the 0.2 and 0.1 release trains. * This crate no longer supports the detection of unused fields, for that though you can use the `serde_ignored` crate on crates.io |
||
---|---|---|
examples | ||
src | ||
tests | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
toml-rs
A TOML decoder and encoder for Rust. This library is currently compliant with the v0.4.0 version of TOML. This library will also likely continue to stay up to date with the TOML specification as changes happen.
# Cargo.toml
[dependencies]
toml = "0.2"
By default this crate supports rustc-serialize
style serialization. This can
be disabled though by disabling the default feature set:
# Cargo.toml
[dependencies]
toml = { version = "0.2", default-features = false }
If you'd like to enable support for serde you can enable the serde
feature:
# Cargo.toml
[dependencies]
toml = { version = "0.2", features = ["serde"] }
If you'd like to only support serde, you can also write:
# Cargo.toml
[dependencies]
toml = { version = "0.2", features = ["serde"], default-features = false }
License
toml-rs
is primarily distributed under the terms of both the MIT license and
the Apache License (Version 2.0), with portions covered by various BSD-like
licenses.
See LICENSE-APACHE, and LICENSE-MIT for details.