1#![no_std]
8
9extern crate alloc;
10
11use alloc::string::String;
12
13mod datetime;
14mod edit;
15mod error;
16mod parser;
17mod serializer;
18mod span;
19mod value;
20
21pub use datetime::{Date, Datetime, Offset, Time};
22pub use edit::Document;
23pub use error::Error;
24pub use span::{
25 CommentIndex, CommentSpan, PathSegment, SectionIndex, SectionSpan, SpanIndex, TextSpan,
26 ValuePath, parse_value_path,
27};
28pub use value::{Array, Table, Value};
29
30#[derive(Debug, Clone, Copy, PartialEq, Eq)]
32pub enum TomlVersion {
33 V1_0,
35 V1_1,
37}
38
39pub fn from_str(s: &str) -> Result<Table, Error> {
43 parser::parse(s, TomlVersion::V1_0)
44}
45
46pub fn from_str_with_version(s: &str, version: TomlVersion) -> Result<Table, Error> {
48 parser::parse(s, version)
49}
50
51pub fn to_string(value: &Value) -> Result<String, Error> {
53 serializer::to_string(value)
54}
55
56pub fn to_inline_string(value: &Value) -> Result<String, Error> {
58 serializer::to_inline_string(value)
59}
60
61pub fn to_string_pretty(value: &Value) -> Result<String, Error> {
63 serializer::to_string_pretty(value)
64}