Skip to main content

hashtree_collection/
lib.rs

1//! Immutable by-id, key-index, search-index, schema, and federated-search
2//! collections for hashtree.
3
4use std::collections::BTreeMap;
5
6use hashtree_core::Cid;
7
8pub const MANIFEST_BY_ID: &str = "by-id";
9
10pub type CollectionWriteContext = BTreeMap<String, Cid>;
11
12mod definition;
13mod error;
14mod federated;
15mod helpers;
16mod schema;
17mod source;
18mod state;
19mod writer;
20
21pub use definition::{
22    default_search_prefix, CollectionDefinition, CollectionEntryContext,
23    CollectionKeyIndexDefinition, CollectionSearchEntry, CollectionSearchIndexDefinition,
24};
25pub use error::CollectionError;
26pub use federated::{
27    federated_search, FederatedCollectionSource, FederatedSearchHit, FederatedSearchOptions,
28    FederatedSearchSourceHit,
29};
30pub use schema::{
31    get_collection_schema, get_schema_version, normalize_collection_item, CollectionSchema,
32    NormalizeCollectionItemOptions,
33};
34pub use source::{CollectionIndexLinkResult, CollectionSource};
35pub use state::{
36    create_empty_collection_state, load_collection_state, CollectionOptions, CollectionState,
37};
38pub use writer::CollectionWriter;
39
40pub use hashtree_index::{SearchIndexOptions, SearchLinkResult, SearchOptions};