use super::source::ResolvedInputSource;
use crate::types::FileType;
use std::borrow::Cow;
#[derive(Debug)]
pub struct InputContent {
pub source: ResolvedInputSource,
pub file_type: FileType,
pub content: String,
}
impl InputContent {
#[must_use]
pub fn from_string(s: &str, file_type: FileType) -> Self {
Self {
source: ResolvedInputSource::String(Cow::Owned(s.to_owned())),
file_type,
content: s.to_owned(),
}
}
#[must_use]
pub fn from_str<S: Into<Cow<'static, str>>>(s: S, file_type: FileType) -> Self {
let cow = s.into();
Self {
source: ResolvedInputSource::String(cow.clone()),
file_type,
content: cow.into_owned(),
}
}
}