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
// Copyright (C) 2024-2025 Greg Burd. Licensed under either of the
// Apache License, Version 2.0 or the MIT license, at your option.
// See LICENSE-APACHE and LICENSE-MIT at the root of this repository.
// SPDX-License-Identifier: Apache-2.0 OR MIT
//! > **Internal component of the [`noxu`](https://crates.io/crates/noxu) database.**
//! >
//! > This crate is published only so the `noxu` umbrella crate can depend on it.
//! > Use `noxu` (`noxu = "3"`) in applications; depend on this crate directly only
//! > if you are extending the engine internals. Its API may change without a major
//! > version bump.
//!
//! Serialization bindings for Noxu DB.
//!
//! bindings between database entries
//! and Rust types, including tuple and byte encoding.
//!
//! # Overview
//!
//! This crate provides the serialization layer for Noxu DB, converting between
//! Rust types and `DatabaseEntry` byte representations. The primary mechanism
//! is the **tuple binding** subsystem, which encodes primitive types into
//! sortable byte arrays suitable for database keys.
//!
//! # Modules
//!
//! - [`error`] - Error types for binding operations.
//! - [`entry_binding`] - Core `EntryBinding` and `EntityBinding` traits.
//! - [`byte_array_binding`] - Pass-through binding for raw byte arrays.
//! - [`record_number_binding`] - Big-endian u64 record number binding.
//! - [`tuple`][mod@tuple] - Tuple (compact binary) bindings for sortable keys.
// Re-export primary types at crate root for convenience.
pub use ByteArrayBinding;
pub use ;
pub use ;
pub use RecordNumberBinding;
pub use SerdeBinding;
pub use ;
pub use ;
pub use ;