1#![cfg_attr(not(feature = "std"), no_std)]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![deny(missing_docs)]
4#![warn(unsafe_op_in_unsafe_fn)]
5#![doc = include_str!("../README.md")]
6
7#[cfg(all(not(feature = "std"), feature = "alloc"))]
8extern crate alloc as std;
9
10#[cfg(feature = "std")]
11extern crate std;
12
13#[cfg(any(feature = "std", feature = "alloc"))]
14pub use ::bytes::{Buf, BufMut};
15
16#[cfg(any(feature = "std", feature = "alloc"))]
17#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
18pub use ::bytes::buf;
19
20#[cfg(any(feature = "std", feature = "alloc"))]
21#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
22pub use bytes::strategy::{
23 compact,
24 shared::{self, Bytes},
25};
26
27#[cfg(any(feature = "std", feature = "alloc"))]
28#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
29pub(crate) use bytes::strategy;
30
31#[cfg(any(feature = "std", feature = "alloc"))]
32#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
33pub use bytes_mut::BytesMut;
34
35#[cfg(any(feature = "std", feature = "alloc"))]
36#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
37pub use bytes::strategy::shared::Utf8Bytes;
38
39#[cfg(any(feature = "std", feature = "alloc"))]
40#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
41pub use utf8_bytes_mut::Utf8BytesMut;
42
43#[cfg(any(feature = "std", feature = "alloc"))]
44#[cfg_attr(docsrs, doc(cfg(any(feature = "std", feature = "alloc"))))]
45pub use str_ext::{StrExt, ToUtf8Bytes};
46
47pub use buffer::{Buffer, INLINE_CAP};
48pub use error::*;
49pub use utf8_buf::{Utf8Buf, Utf8BufMut};
50pub use utf8_buffer::Utf8Buffer;
51pub use utf8_drain::Utf8Drain;
52
53#[cfg(any(feature = "std", feature = "alloc"))]
54mod bytes;
55#[cfg(any(feature = "std", feature = "alloc"))]
56mod bytes_mut;
57
58#[cfg(feature = "async-graphql")]
59#[cfg_attr(docsrs, doc(cfg(feature = "async-graphql")))]
60mod graphql;
61
62#[cfg(feature = "schemars")]
63#[cfg_attr(docsrs, doc(cfg(feature = "schemars")))]
64mod json_schema;
65
66#[cfg(feature = "pyo3")]
67#[cfg_attr(docsrs, doc(cfg(feature = "pyo3")))]
68mod python;
69
70#[cfg(feature = "sqlx")]
71#[cfg_attr(docsrs, doc(cfg(feature = "sqlx")))]
72mod sql;
73
74#[cfg(feature = "wasm")]
75mod wasm;
76#[cfg(feature = "wasm")]
77mod wasm_iter;
78
79#[cfg(feature = "pyo3")]
80#[cfg_attr(docsrs, doc(cfg(feature = "pyo3")))]
81pub use python::{register_classes, register_compact, register_shared, register_shared_aliases};
82
83mod buffer;
84
85mod utf8_buf;
86mod utf8_buffer;
87mod utf8_drain;
88mod utf8_edit;
89
90#[cfg(any(feature = "std", feature = "alloc"))]
91mod utf8_bytes;
92#[cfg(any(feature = "std", feature = "alloc"))]
93mod utf8_bytes_mut;
94
95#[cfg(any(feature = "std", feature = "alloc"))]
96mod str_ext;
97
98#[cfg(any(feature = "std", feature = "alloc"))]
99mod macros;
100
101pub mod error;