forked from rojo-rbx/rojo
Make InstanceSnapshotContext mutable through whole middleware pipeline
This commit is contained in:
@@ -20,7 +20,7 @@ pub struct SnapshotCsv;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotCsv {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -162,7 +162,7 @@ Ack,Ack!,,An exclamation of despair,¡Ay!"#,
|
||||
|
||||
let entry = imfs.get("/foo.csv").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotCsv::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotCsv::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -184,7 +184,7 @@ Ack,Ack!,,An exclamation of despair,¡Ay!"#,
|
||||
|
||||
let entry = imfs.get("/foo.csv").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotCsv::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotCsv::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ pub struct SnapshotDir;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotDir {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -97,7 +97,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotDir::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotDir::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -115,7 +115,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotDir::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotDir::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ pub struct SnapshotJsonModel;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotJsonModel {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -163,10 +163,13 @@ mod test {
|
||||
imfs.debug_load_snapshot("/foo.model.json", file);
|
||||
|
||||
let entry = imfs.get("/foo.model.json").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotJsonModel::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
let instance_snapshot = SnapshotJsonModel::from_imfs(
|
||||
&mut InstanceSnapshotContext::default(),
|
||||
&mut imfs,
|
||||
&entry,
|
||||
)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
assert_yaml_snapshot!(instance_snapshot);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ pub struct SnapshotLua;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotLua {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
context: &InstanceSnapshotContext,
|
||||
context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -116,7 +116,7 @@ fn snapshot_lua_file<F: ImfsFetcher>(
|
||||
/// Scripts named `init.lua`, `init.server.lua`, or `init.client.lua` usurp
|
||||
/// their parents, which acts similarly to `__init__.py` from the Python world.
|
||||
fn snapshot_init<F: ImfsFetcher>(
|
||||
context: &InstanceSnapshotContext,
|
||||
context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
folder_entry: &ImfsEntry,
|
||||
init_name: &str,
|
||||
@@ -156,7 +156,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -172,7 +172,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.server.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -188,7 +188,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.client.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -212,7 +212,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -236,7 +236,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.server.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
@@ -262,7 +262,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/bar.server.lua").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotLua::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotLua::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ pub type SnapshotFileResult = Option<(String, ImfsSnapshot)>;
|
||||
|
||||
pub trait SnapshotMiddleware {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
context: &InstanceSnapshotContext,
|
||||
context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static>;
|
||||
|
||||
@@ -44,12 +44,12 @@ macro_rules! middlewares {
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
let context = InstanceSnapshotContext::default();
|
||||
let mut context = InstanceSnapshotContext::default();
|
||||
|
||||
$(
|
||||
log::trace!("trying middleware {} on {}", stringify!($middleware), entry.path().display());
|
||||
|
||||
if let Some(snapshot) = $middleware::from_imfs(&context, imfs, entry)? {
|
||||
if let Some(snapshot) = $middleware::from_imfs(&mut context, imfs, entry)? {
|
||||
log::trace!("middleware {} success on {}", stringify!($middleware), entry.path().display());
|
||||
return Ok(Some(snapshot));
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ pub struct SnapshotProject;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotProject {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
context: &InstanceSnapshotContext,
|
||||
context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -212,7 +212,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -239,7 +239,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo/hello.project.json").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -272,7 +272,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -302,7 +302,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -333,7 +333,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -361,7 +361,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -396,7 +396,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -435,7 +435,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
@@ -479,7 +479,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotProject::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotProject::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.expect("snapshot error")
|
||||
.expect("snapshot returned no instances");
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ pub struct SnapshotRbxlx;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotRbxlx {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
|
||||
@@ -17,7 +17,7 @@ pub struct SnapshotRbxm;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotRbxm {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -71,7 +71,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.rbxm").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotRbxm::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotRbxm::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ pub struct SnapshotRbxmx;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotRbxmx {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -77,7 +77,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.rbxmx").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotRbxmx::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotRbxmx::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ pub struct SnapshotTxt;
|
||||
|
||||
impl SnapshotMiddleware for SnapshotTxt {
|
||||
fn from_imfs<F: ImfsFetcher>(
|
||||
_context: &InstanceSnapshotContext,
|
||||
_context: &mut InstanceSnapshotContext,
|
||||
imfs: &mut Imfs<F>,
|
||||
entry: &ImfsEntry,
|
||||
) -> SnapshotInstanceResult<'static> {
|
||||
@@ -117,7 +117,7 @@ mod test {
|
||||
|
||||
let entry = imfs.get("/foo.txt").unwrap();
|
||||
let instance_snapshot =
|
||||
SnapshotTxt::from_imfs(&InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
SnapshotTxt::from_imfs(&mut InstanceSnapshotContext::default(), &mut imfs, &entry)
|
||||
.unwrap()
|
||||
.unwrap();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user