polywrap_core/
file_reader.rs

1use crate::error::Error;
2
3pub trait FileReader: Send + Sync {
4    fn read_file(&self, path: &str) -> Result<Vec<u8>, Error>;
5}
6
7pub struct SimpleFileReader {}
8
9impl Default for SimpleFileReader {
10    fn default() -> Self {
11        Self::new()
12    }
13}
14
15impl SimpleFileReader {
16    pub fn new() -> Self {
17        Self {}
18    }
19}
20
21impl FileReader for SimpleFileReader {
22    fn read_file(&self, path: &str) -> Result<Vec<u8>, Error> {
23        std::fs::read(path).map_err(|e| Error::FileReadError(e.to_string()))
24    }
25}