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 clock;
15pub mod attribute;
16/// Blob storage, schemas, and conversion traits.
17pub mod blob;
18/// Export utilities for serialising trible data.
19pub mod export;
20/// Identifier types and generation strategies.
21pub mod id;
22/// Import utilities for deserialising external data into tribles.
23pub mod import;
24/// Bootstrap metadata namespace for describing schemas and attributes.
25pub mod metadata;
26/// Adaptive radix tree (PATCH) used as the backing store for trible indexes.
27pub mod patch;
28/// Commonly used re-exports for convenient glob imports.
29pub mod prelude;
30/// Query engine: constraints, variables, and the Atreides join algorithm.
31pub mod query;
32/// Repository layer: blob stores, branch stores, commits, and workspaces.
33pub mod repo;
34/// Trible representation, sets, fragments, and spread helpers.
35pub mod trible;
36/// Inline types, schemas, and conversion traits.
37pub mod inline;
38
39#[cfg(feature = "wasm")]
40/// WebAssembly integration helpers.
41pub mod wasm;
42
43#[cfg(feature = "wasm")]
44/// WebAssembly-based value formatter runtime.
45pub mod value_formatter;
46
47/// Diagnostic wrappers for testing and debugging the query engine.
48pub mod debug;
49/// Example namespaces and sample datasets for documentation and tests.
50pub mod examples;
51
52// Re-export dependencies used by generated macros so consumers
53// don't need to add them explicitly.
54/// Re-export of `arrayvec` used by generated macro code.
55pub use arrayvec;
56
57/// Re-exported proc-macros and helper macros for entity, pattern, and query construction.
58pub mod macros {
59    /// Re-export of the [`id_hex`] macro.
60    pub use crate::id::id_hex;
61    /// Re-export of the [`find`] macro.
62    pub use crate::query::find;
63    /// Re-export of all proc-macros from `triblespace_core_macros`.
64    pub use triblespace_core_macros::*;
65}
66
67// Proof harnesses and integration-style documentation tests live in the
68// top-level `triblespace` crate so downstream users can depend on
69// `triblespace-core` without pulling in additional development-only
70// dependencies.