From a434c2aa556c7a97498d3a2e57eeef71087d4a7c Mon Sep 17 00:00:00 2001 From: Nova Date: Sat, 28 Jan 2023 11:12:51 -0500 Subject: [PATCH] fix(items): make acceptor fields non-optional --- src/nodes/items/mod.rs | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/src/nodes/items/mod.rs b/src/nodes/items/mod.rs index 6eaeeee..e149e79 100644 --- a/src/nodes/items/mod.rs +++ b/src/nodes/items/mod.rs @@ -262,17 +262,13 @@ impl ItemUI { let Some(node) = self.node.upgrade() else { return }; let Some(client) = node.get_client() else { return }; - let (alias, field_alias) = acceptor.make_aliases( + let Ok((alias, field_alias)) = acceptor.make_aliases( &client, &format!("/item/{}/acceptor", self.type_info.type_name), - ); - if let Ok(alias) = alias { - self.acceptor_aliases.add(acceptor.uid.clone(), &alias); - } - if let Some(Ok(field_alias)) = field_alias { - self.acceptor_field_aliases - .add(acceptor.uid.clone(), &field_alias); - } + ) else {return}; + self.acceptor_aliases.add(acceptor.uid.clone(), &alias); + self.acceptor_field_aliases + .add(acceptor.uid.clone(), &field_alias); let _ = node.send_remote_signal("create_acceptor", &serialize(&acceptor.uid).unwrap()); } fn handle_destroy_acceptor(&self, acceptor: &ItemAcceptor) { @@ -320,11 +316,7 @@ impl ItemAcceptor { Ok(()) } - fn make_aliases( - &self, - client: &Arc, - parent: &str, - ) -> (Result>, Option>>) { + fn make_aliases(&self, client: &Arc, parent: &str) -> Result<(Arc, Arc)> { let acceptor_node = &self.node.upgrade().unwrap(); let acceptor_alias = Alias::create( client, @@ -335,19 +327,17 @@ impl ItemAcceptor { local_signals: vec!["capture"], ..Default::default() }, - ); + )?; - let acceptor_field_alias = acceptor_alias.as_ref().ok().map(|acceptor_alias| { - Alias::create( - client, - acceptor_alias.get_path(), - "field", - &self.field.spatial_ref().node.upgrade().unwrap(), - AliasInfo::default(), - ) - }); + let acceptor_field_alias = Alias::create( + client, + acceptor_alias.get_path(), + "field", + &self.field.spatial_ref().node.upgrade().unwrap(), + AliasInfo::default(), + )?; - (acceptor_alias, acceptor_field_alias) + Ok((acceptor_alias, acceptor_field_alias)) } fn handle_capture(&self, item: &Arc) { let Some(node) = self.node.upgrade() else { return };