tweaking
This commit is contained in:
parent
15fd698a21
commit
7863137174
15
src/main.rs
15
src/main.rs
@ -1197,11 +1197,11 @@ impl Query for QueryTriplet{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn discern_node(search_path:&std::path::PathBuf,search_name:&str,style:Option<DecompileStyle>)->AResult<CompileNode>{
|
async fn discern_node(search_path:&std::path::PathBuf,search_name:&str,style:Option<DecompileStyle>)->AResult<Option<CompileNode>>{
|
||||||
let mut contents_folder=search_path.clone();
|
let mut contents_folder=search_path.clone();
|
||||||
contents_folder.push(search_name);
|
contents_folder.push(search_name);
|
||||||
//folder
|
//folder
|
||||||
if let Ok(dir)=tokio::fs::read_dir(contents_folder.as_path()).await{
|
Ok(if let Ok(dir)=tokio::fs::read_dir(contents_folder.as_path()).await{
|
||||||
//scan inside the folder for an object to define the class of the folder
|
//scan inside the folder for an object to define the class of the folder
|
||||||
let (script_file,model_file)=tokio::join!(
|
let (script_file,model_file)=tokio::join!(
|
||||||
async {match style{
|
async {match style{
|
||||||
@ -1220,7 +1220,7 @@ async fn discern_node(search_path:&std::path::PathBuf,search_name:&str,style:Opt
|
|||||||
get_file_async(contents_folder.clone(),format!("{}.rbxmx",search_name))
|
get_file_async(contents_folder.clone(),format!("{}.rbxmx",search_name))
|
||||||
);
|
);
|
||||||
//model? script? both?
|
//model? script? both?
|
||||||
Ok(match (script_file,model_file){
|
Some(match (script_file,model_file){
|
||||||
(Ok(mut file),Err(QueryResolveError::NotFound))=>{
|
(Ok(mut file),Err(QueryResolveError::NotFound))=>{
|
||||||
//read entire file
|
//read entire file
|
||||||
let mut buf=String::new();
|
let mut buf=String::new();
|
||||||
@ -1249,8 +1249,9 @@ async fn discern_node(search_path:&std::path::PathBuf,search_name:&str,style:Opt
|
|||||||
|(_,Err(e))=>Err(e)?
|
|(_,Err(e))=>Err(e)?
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
Err(anyhow::Error::msg("message"))
|
//a folder of this name does not exist
|
||||||
}
|
None
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
enum CompileClass{
|
enum CompileClass{
|
||||||
@ -1301,7 +1302,9 @@ async fn compile(config:CompileConfig)->AResult<()>{
|
|||||||
CompileStackInstruction::Referent(item_ref)=>{
|
CompileStackInstruction::Referent(item_ref)=>{
|
||||||
let item=dom.get_by_ref(item_ref).ok_or(anyhow::Error::msg("null child ref"))?;
|
let item=dom.get_by_ref(item_ref).ok_or(anyhow::Error::msg("null child ref"))?;
|
||||||
//check if item exists in folder or subfolder of same name
|
//check if item exists in folder or subfolder of same name
|
||||||
if let Ok(obj)=discern_node(&folder,item.name.as_str(),None).await{
|
todo!("this is totally unnecessary,
|
||||||
|
only the folder needs to exist to determine if traversal should continue");
|
||||||
|
if let Some(obj)=discern_node(&folder,item.name.as_str(),None).await?{
|
||||||
//cool
|
//cool
|
||||||
}else{
|
}else{
|
||||||
//determine if this is ok
|
//determine if this is ok
|
||||||
|
Loading…
Reference in New Issue
Block a user