use crate::data::dataframe::DataFrame;
use crate::data::io::{doc_io::DocState, load_file_with_doc};
use color_eyre::Result;
use std::path::PathBuf;
use std::sync::mpsc;
use std::thread;
pub enum LoadEvent {
Complete(Result<(DataFrame, Option<DocState>)>),
}
pub fn load_in_background(path: PathBuf, delimiter: Option<u8>) -> mpsc::Receiver<LoadEvent> {
let (tx, rx) = mpsc::channel();
thread::spawn(move || {
let result = load_file_with_doc(&path, delimiter);
let _ = tx.send(LoadEvent::Complete(result));
});
rx
}