rojo/src/snapshot_middleware/middleware.rs
2019-11-19 13:05:18 -08:00

23 lines
652 B
Rust

use rbx_dom_weak::{RbxId, RbxTree};
use crate::{
snapshot::InstanceSnapshot,
vfs::{Vfs, VfsEntry, VfsFetcher, VfsSnapshot},
};
use super::{context::InstanceSnapshotContext, error::SnapshotError};
pub type SnapshotInstanceResult<'a> = Result<Option<InstanceSnapshot>, SnapshotError>;
pub type SnapshotFileResult = Option<(String, VfsSnapshot)>;
pub trait SnapshotMiddleware {
fn from_vfs<F: VfsFetcher>(
context: &mut InstanceSnapshotContext,
vfs: &Vfs<F>,
entry: &VfsEntry,
) -> SnapshotInstanceResult<'static>;
fn from_instance(_tree: &RbxTree, _id: RbxId) -> SnapshotFileResult {
None
}
}