File tree Expand file tree Collapse file tree 1 file changed +23
-22
lines changed
crates/oxc_linter/src/rules/unicorn Expand file tree Collapse file tree 1 file changed +23
-22
lines changed Original file line number Diff line number Diff line change @@ -83,33 +83,34 @@ impl Rule for RequirePostMessageTargetOrigin {
8383}
8484
8585fn is_message_port_expression ( expr : & Expression < ' _ > ) -> bool {
86- let expr = expr. without_parentheses ( ) ;
86+ let mut current_expr = expr. without_parentheses ( ) ;
87+ loop {
88+ if let Expression :: Identifier ( ident) = current_expr
89+ && matches ! ( ident. name. as_str( ) , "port" | "port1" | "port2" | "messagePort" )
90+ {
91+ return true ;
92+ }
8793
88- if let Expression :: Identifier ( ident) = expr
89- && matches ! ( ident. name. as_str( ) , "port" | "port1" | "port2" | "messagePort" )
90- {
91- return true ;
92- }
94+ let Some ( member_expr) = current_expr. get_member_expr ( ) else {
95+ return false ;
96+ } ;
9397
94- let Some ( member_expr ) = expr . get_member_expr ( ) else {
95- return false ;
96- } ;
98+ if member_expr . static_property_name ( ) . is_some_and ( |name| matches ! ( name , "port1" | "port2" ) ) {
99+ return true ;
100+ }
97101
98- if member_expr. static_property_name ( ) . is_some_and ( |name| matches ! ( name, "port1" | "port2" ) ) {
99- return true ;
100- }
102+ if member_expr. is_computed ( )
103+ && member_expr. object ( ) . without_parentheses ( ) . get_member_expr ( ) . is_some_and (
104+ |object_member| {
105+ object_member. static_property_name ( ) . is_some_and ( |name| name == "ports" )
106+ } ,
107+ )
108+ {
109+ return true ;
110+ }
101111
102- if member_expr. is_computed ( )
103- && member_expr. object ( ) . without_parentheses ( ) . get_member_expr ( ) . is_some_and (
104- |object_member| {
105- object_member. static_property_name ( ) . is_some_and ( |name| name == "ports" )
106- } ,
107- )
108- {
109- return true ;
112+ current_expr = member_expr. object ( ) . without_parentheses ( ) ;
110113 }
111-
112- is_message_port_expression ( member_expr. object ( ) )
113114}
114115
115116#[ test]
You can’t perform that action at this time.
0 commit comments