mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
Refactor code for improved readability by consolidating multi-line statements into single lines across various modules, including JSON serialization, snapshot middleware, and file name validation.
This commit is contained in:
parent
4caac7a31c
commit
2dfcac4ef7
8 changed files with 32 additions and 25 deletions
|
|
@ -166,7 +166,6 @@ pub fn to_vec_pretty_sorted<T: Serialize>(value: &T) -> anyhow::Result<Vec<u8>>
|
|||
serde_json::to_vec_pretty(&sorted_value).context("Failed to serialize to JSON")
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
|
|
|||
|
|
@ -57,10 +57,7 @@ impl AdjacentMetadata {
|
|||
// when encodeWindowsInvalidChars is enabled.
|
||||
// Strip known script type suffixes (.server, .client, .plugin) to get
|
||||
// the base name for the meta file.
|
||||
let file_stem = path
|
||||
.file_stem()
|
||||
.and_then(|s| s.to_str())
|
||||
.unwrap_or("");
|
||||
let file_stem = path.file_stem().and_then(|s| s.to_str()).unwrap_or("");
|
||||
let base_name = file_stem
|
||||
.strip_suffix(".server")
|
||||
.or_else(|| file_stem.strip_suffix(".client"))
|
||||
|
|
|
|||
|
|
@ -58,11 +58,7 @@ pub fn syncback_rbxm<'sync>(
|
|||
serialized
|
||||
} else {
|
||||
// Clone the subtree, filtering out ignored instances
|
||||
let filtered_tree = clone_tree_filtered(
|
||||
snapshot.new_tree(),
|
||||
inst.referent(),
|
||||
&tree_globs,
|
||||
);
|
||||
let filtered_tree = clone_tree_filtered(snapshot.new_tree(), inst.referent(), &tree_globs);
|
||||
let mut serialized = Vec::new();
|
||||
rbx_binary::to_writer(&mut serialized, &filtered_tree, &[filtered_tree.root_ref()])
|
||||
.context("failed to serialize filtered rbxm")?;
|
||||
|
|
@ -99,7 +95,9 @@ fn add_children_filtered(
|
|||
builder: &mut InstanceBuilder,
|
||||
ignore_globs: &[Glob],
|
||||
) {
|
||||
let parent = source.get_by_ref(parent_ref).expect("parent ref should exist");
|
||||
let parent = source
|
||||
.get_by_ref(parent_ref)
|
||||
.expect("parent ref should exist");
|
||||
|
||||
for &child_ref in parent.children() {
|
||||
let child_path = inst_path(source, child_ref);
|
||||
|
|
@ -112,7 +110,9 @@ fn add_children_filtered(
|
|||
continue;
|
||||
}
|
||||
|
||||
let child = source.get_by_ref(child_ref).expect("child ref should exist");
|
||||
let child = source
|
||||
.get_by_ref(child_ref)
|
||||
.expect("child ref should exist");
|
||||
|
||||
let mut child_builder = InstanceBuilder::new(child.class)
|
||||
.with_name(child.name.clone())
|
||||
|
|
|
|||
|
|
@ -69,11 +69,7 @@ pub fn syncback_rbxmx<'sync>(
|
|||
serialized
|
||||
} else {
|
||||
// Clone the subtree, filtering out ignored instances
|
||||
let filtered_tree = clone_tree_filtered(
|
||||
snapshot.new_tree(),
|
||||
inst.referent(),
|
||||
&tree_globs,
|
||||
);
|
||||
let filtered_tree = clone_tree_filtered(snapshot.new_tree(), inst.referent(), &tree_globs);
|
||||
let mut serialized = Vec::new();
|
||||
rbx_xml::to_writer(
|
||||
&mut serialized,
|
||||
|
|
|
|||
|
|
@ -48,7 +48,10 @@ pub fn name_for_inst<'old>(
|
|||
encoded
|
||||
} else {
|
||||
validate_file_name(&new_inst.name).with_context(|| {
|
||||
format!("name '{}' is not legal to write to the file system", new_inst.name)
|
||||
format!(
|
||||
"name '{}' is not legal to write to the file system",
|
||||
new_inst.name
|
||||
)
|
||||
})?;
|
||||
new_inst.name.clone()
|
||||
};
|
||||
|
|
@ -65,7 +68,10 @@ pub fn name_for_inst<'old>(
|
|||
encoded
|
||||
} else {
|
||||
validate_file_name(&new_inst.name).with_context(|| {
|
||||
format!("name '{}' is not legal to write to the file system", new_inst.name)
|
||||
format!(
|
||||
"name '{}' is not legal to write to the file system",
|
||||
new_inst.name
|
||||
)
|
||||
})?;
|
||||
new_inst.name.clone()
|
||||
};
|
||||
|
|
|
|||
|
|
@ -369,8 +369,8 @@ pub fn get_best_middleware(snapshot: &SyncbackSnapshot) -> Middleware {
|
|||
middleware = Middleware::JsonModel;
|
||||
} else {
|
||||
middleware = match inst.class.as_str() {
|
||||
"Folder" | "Configuration" | "Tool"
|
||||
| "ScreenGui" | "SurfaceGui" | "BillboardGui" | "AdGui" => Middleware::Dir,
|
||||
"Folder" | "Configuration" | "Tool" | "ScreenGui" | "SurfaceGui" | "BillboardGui"
|
||||
| "AdGui" => Middleware::Dir,
|
||||
"StringValue" => Middleware::Text,
|
||||
"Script" => Middleware::ServerScript,
|
||||
"LocalScript" => Middleware::ClientScript,
|
||||
|
|
@ -478,8 +478,9 @@ impl SyncbackRules {
|
|||
let mut globs = Vec::with_capacity(self.ignore_trees.len());
|
||||
|
||||
for pattern in &self.ignore_trees {
|
||||
let glob = Glob::new(pattern)
|
||||
.with_context(|| format!("the pattern '{pattern}' is not a valid ignoreTrees glob"))?;
|
||||
let glob = Glob::new(pattern).with_context(|| {
|
||||
format!("the pattern '{pattern}' is not a valid ignoreTrees glob")
|
||||
})?;
|
||||
globs.push(glob);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -249,7 +249,9 @@ impl<'sync> SyncbackSnapshot<'sync> {
|
|||
// Try glob matching first, fall back to prefix matching for backwards compatibility
|
||||
if let Ok(glob) = Glob::new(pattern) {
|
||||
if glob.is_match(&path) {
|
||||
log::debug!("Ignoring {path} because it matches ignoreTrees glob: {pattern}");
|
||||
log::debug!(
|
||||
"Ignoring {path} because it matches ignoreTrees glob: {pattern}"
|
||||
);
|
||||
return true;
|
||||
}
|
||||
} else if path.starts_with(pattern.as_str()) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
//! Defines Rojo's HTTP API, all under /api. These endpoints generally return
|
||||
//! JSON.
|
||||
|
||||
use std::{collections::{HashMap, HashSet}, fs, path::PathBuf, str::FromStr, sync::Arc};
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
fs,
|
||||
path::PathBuf,
|
||||
str::FromStr,
|
||||
sync::Arc,
|
||||
};
|
||||
|
||||
use futures::{sink::SinkExt, stream::StreamExt};
|
||||
use hyper::{body, Body, Method, Request, Response, StatusCode};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue