Skip to main content

Module traits

Module traits 

Source
Expand description

Traits for console-aware components.

This module defines traits that allow database connections, pools, and other components to receive and use console output capabilities.

§Example

use sqlmodel_console::{ConsoleAware, SqlModelConsole};
use std::sync::Arc;

struct MyConnection {
    console: Option<Arc<SqlModelConsole>>,
}

impl ConsoleAware for MyConnection {
    fn set_console(&mut self, console: Option<Arc<SqlModelConsole>>) {
        self.console = console;
    }

    fn console(&self) -> Option<&Arc<SqlModelConsole>> {
        self.console.as_ref()
    }
}

let mut conn = MyConnection { console: None };
let console = Arc::new(SqlModelConsole::new());
conn.set_console(Some(console));

// Now the connection can emit rich output
conn.emit_status("Connecting...");

Traits§

ConsoleAware
Trait for components that can accept a console for rich output.