77
88import re
99
10+ from typing import Union
11+
1012if LARK_AVAILABLE :
1113 mvd_grammar = r'''
1214 start: entry+
@@ -109,7 +111,7 @@ def parse_mvd(description):
109111 parsed_description .view_definitions = None
110112 return parsed_description
111113
112- def parse_semicolon_separated_kv (text : str ) -> dict [str , str | list [str ]] | None :
114+ def parse_semicolon_separated_kv (text : str ) -> Union [ dict [str , Union [ str , list [str ]]], None ] :
113115 if not re .search (r'\w+\s*:\s*[^:]+' , text ):
114116 return None
115117 result = {}
@@ -168,7 +170,7 @@ def view_definitions(self):
168170 )
169171
170172 @view_definitions .setter
171- def view_definitions (self , new_value : str | list [str ]):
173+ def view_definitions (self , new_value : Union [ str , list [str ] ]):
172174 if isinstance (new_value , list ):
173175 value = ", " .join (new_value )
174176 else :
@@ -187,7 +189,7 @@ def comments(self):
187189 )
188190
189191 @comments .setter
190- def comments (self , new_value : str | list [str ]):
192+ def comments (self , new_value : Union [ str , list [str ] ]):
191193 if isinstance (new_value , list ):
192194 value = ", " .join (new_value )
193195 else :
0 commit comments