Skip to main content

Crate bonds_core

Crate bonds_core 

Source
Expand description

§bonds-core

Core library for creating and managing bonds (symlink-based directory links) backed by SQLite persistence.

§Quick example

use bonds_core::{BondError, BondManager};
use std::path::PathBuf;

// `BondManager::new(None)` uses ~/.bonds/bonds.db by default.
let manager = BondManager::new(None)?;
let source = PathBuf::from("/path/to/source");
let target = PathBuf::from("/path/to/target-link");

// This creates a symlink on disk and persists the record in SQLite.
let _bond = manager.create_bond(source, target, Some("my-bond".to_string()))?;

Re-exports§

pub use bond::Bond;
pub use config::BondsConfig;
pub use error::BondError;
pub use error::ErrorKind;
pub use events::BondBrokenReason;
pub use events::BondEvent;
pub use events::BondEventHook;
pub use events::BondEventKind;
pub use events::BondEventPayload;
pub use manager::BondManager;
pub use query::BondQuery;
pub use query::MetadataFilter;

Modules§

bond
Bond domain model types (for example, Bond).
config
User configuration loading/saving (~/.bonds/config.toml).
error
Public error types returned by this crate.
events
Event and hook types for lifecycle notifications.
manager
High-level manager for bond lifecycle operations.
query
Query builder types for filtering bonds.