Skip to main content

triblespace_core/
lib.rs

1// Prefer explicit `?` variable bindings in patterns instead of relying on
2// parenthesisation. Do not suppress `unused_parens` at the crate level.
3#![cfg_attr(nightly, feature(rustc_attrs, decl_macro, file_lock))]
4
5extern crate self as triblespace_core;
6
7#[allow(unused_extern_crates)]
8extern crate proc_macro;
9
10#[cfg(not(all(target_pointer_width = "64", target_endian = "little")))]
11compile_error!("triblespace-rs requires a 64-bit little-endian target");
12
13/// Attribute definition and usage metadata.
14pub mod attribute;
15/// Blob storage, schemas, and conversion traits.
16pub mod blob;
17/// Export utilities for serialising trible data.
18pub mod export;
19/// Identifier types and generation strategies.
20pub mod id;
21/// Import utilities for deserialising external data into tribles.
22pub mod import;
23/// Bootstrap metadata namespace for describing schemas and attributes.
24pub mod metadata;
25/// Adaptive radix tree (PATCH) used as the backing store for trible indexes.
26pub mod patch;
27/// Commonly used re-exports for convenient glob imports.
28pub mod prelude;
29/// Query engine: constraints, variables, and the Atreides join algorithm.
30pub mod query;
31/// Repository layer: blob stores, branch stores, commits, and workspaces.
32pub mod repo;
33/// Trible representation, sets, fragments, and spread helpers.
34pub mod trible;
35/// Value types, schemas, and conversion traits.
36pub mod value;
37
38#[cfg(feature = "wasm")]
39/// WebAssembly integration helpers.
40pub mod wasm;
41
42#[cfg(feature = "wasm")]
43/// WebAssembly-based value formatter runtime.
44pub mod value_formatter;
45
46/// Diagnostic wrappers for testing and debugging the query engine.
47pub mod debug;
48/// Example namespaces and sample datasets for documentation and tests.
49pub mod examples;
50
51// Re-export dependencies used by generated macros so consumers
52// don't need to add them explicitly.
53/// Re-export of `arrayvec` used by generated macro code.
54pub use arrayvec;
55
56/// Re-exported proc-macros and helper macros for entity, pattern, and query construction.
57pub mod macros {
58    /// Re-export of the [`id_hex`](crate::id::id_hex) macro.
59    pub use crate::id::id_hex;
60    /// Re-export of the [`find`](crate::query::find) macro.
61    pub use crate::query::find;
62    /// Re-export of all proc-macros from `triblespace_core_macros`.
63    pub use triblespace_core_macros::*;
64}
65
66// Proof harnesses and integration-style documentation tests live in the
67// top-level `triblespace` crate so downstream users can depend on
68// `triblespace-core` without pulling in additional development-only
69// dependencies.