use super::{FrontendService, FrontendServiceError};
use crate::runtime::{
CoreRuntime, FileSystemHost, PresetSnapshotRequest, RuntimeContext, capture_preset_snapshot,
};
impl<H: FileSystemHost> FrontendService<H> {
pub async fn capture(
host: H,
context: RuntimeContext,
presets: PresetSnapshotRequest,
) -> Result<Self, FrontendServiceError> {
let snapshot = capture_preset_snapshot(&host, presets)
.await
.map_err(|error| FrontendServiceError::new("frontend_capture_failed", error))?;
Ok(Self::new(CoreRuntime::new(host, context, snapshot)))
}
}
impl<H> FrontendService<H> {
pub fn with_configuration_revision(mut self, revision: Option<String>) -> Self {
self.configuration_revision = revision;
self
}
}