lychee_lib/types/input/
content.rs1use super::source::ResolvedInputSource;
7use crate::types::FileType;
8use std::borrow::Cow;
9
10#[derive(Debug)]
12pub struct InputContent {
13 pub source: ResolvedInputSource,
15 pub file_type: FileType,
17 pub content: String,
19}
20
21impl InputContent {
22 #[must_use]
23 pub fn from_string(s: &str, file_type: FileType) -> Self {
25 Self {
26 source: ResolvedInputSource::String(Cow::Owned(s.to_owned())),
27 file_type,
28 content: s.to_owned(),
29 }
30 }
31
32 #[must_use]
34 pub fn from_str<S: Into<Cow<'static, str>>>(s: S, file_type: FileType) -> Self {
35 let cow = s.into();
36 Self {
37 source: ResolvedInputSource::String(cow.clone()),
38 file_type,
39 content: cow.into_owned(),
40 }
41 }
42}