pub(crate) mod build;
pub(crate) mod declare_index;
pub(crate) mod declare_relation;
pub(crate) mod indexes;
pub(crate) mod integrity;
pub(crate) mod migrate;
pub(crate) mod parse;
pub(crate) mod serialize;
pub(crate) mod types;
pub(crate) mod write;
pub use build::{create_table, declare_trigger, drop_field, empty_catalog};
pub use declare_index::declare_index;
pub use declare_relation::declare_relation;
pub use indexes::{expand_indexes, sugar_index_name, ExpandedIndex};
pub use integrity::{check_integrity, IntegrityReport, OrphanRecord};
pub use migrate::{
is_format_one_directory, migrate_format1, migrate_format_1_to_2, schema_files_of as format_1_schema_files,
MigrateFormat1Error, MigrateOutcome,
};
pub use parse::parse_catalog;
pub use serialize::catalog_document;
pub use types::{
Catalog, CatalogCompaction, CatalogFieldSpec, CatalogIndexKind, CatalogLayout, CatalogPredicate, CatalogSyncMode,
CatalogValidation, CheckEntry, HistoryEntry, IndexEntry, LinkParsing, Relation, RelationAction,
RelationCardinality, RelationEnd, TableEntry, TableOptions, TriggerEffect, TriggerEntry, TriggerEvent,
TriggerFieldMapping, TriggerValueSource, ViewEntry,
};
pub use write::{assert_catalog_readable, write_catalog};
pub(crate) use indexes::index_identity;
pub(crate) use integrity::{reference_of, relations_touching};