#[cfg(not(target_arch = "wasm32"))]
use std::fs;
use std::io;
#[cfg(not(target_arch = "wasm32"))]
use std::path::Path;
pub trait IntoDataInput {
fn load_data(self) -> Result<Vec<u8>, io::Error>;
}
#[cfg(not(target_arch = "wasm32"))]
impl IntoDataInput for &Path {
fn load_data(self) -> Result<Vec<u8>, io::Error> {
fs::read(self)
}
}
impl IntoDataInput for &str {
fn load_data(self) -> Result<Vec<u8>, io::Error> {
Ok(self.as_bytes().to_vec())
}
}
impl IntoDataInput for &[u8] {
fn load_data(self) -> Result<Vec<u8>, io::Error> {
Ok(self.to_vec())
}
}
impl IntoDataInput for String {
fn load_data(self) -> Result<Vec<u8>, io::Error> {
Ok(self.into_bytes())
}
}