Skip to main content

type_bridge/
lib.rs

1//! Public Rust client library for TypeBridge.
2//!
3//! Provides top-level [`Database`], [`ConnectionOptions`], [`SchemaPackage`],
4//! and owner-branded schema/model primitives.
5
6#![forbid(unsafe_code)]
7
8extern crate self as type_bridge;
9
10pub mod __codegen;
11pub mod aggregate;
12#[allow(dead_code)]
13mod entity_codec;
14mod entity_manager;
15pub mod error;
16pub mod model;
17mod query;
18#[allow(dead_code)]
19mod relation_codec;
20mod relation_manager;
21mod remote;
22pub mod schema;
23pub mod session;
24mod transaction;
25pub mod value;
26
27pub use entity_manager::{EntityManager, EntitySubtypeManager};
28pub use error::{Error, ErrorCategory, ModelValidationPhase, Result};
29pub use query::{
30    Binding, BoundField, BoundRole, Collected, Exact, GroupedQuery, NamedSelection, Order,
31    OrderedOperand, Page, PageOptions, Predicate, Query, QueryOperand, QuerySession, RowsOptions,
32    Selectable, SelectedRowSpec, SelectedShape, SelectedSlot, SelectionMode, SingularSelectedShape,
33    Subtypes,
34};
35pub use relation_manager::{RelationManager, RelationSubtypeManager};
36pub use remote::{
37    RemoteConnectionOptions, RemoteDatabase, RemoteQueryLimits, RemoteQueryTransport,
38};
39pub use schema::{Schema, SchemaPackage, Unbound};
40pub use session::{ConnectionOptions, Database};
41pub use transaction::{
42    ReadTransaction, TransactionEntityManager, TransactionRelationManager, WriteTransaction,
43};
44pub use type_bridge_orm_derive::SelectedRow;