@@ -291,7 +291,9 @@ class LangStringSet(MutableMapping[str, str]):
291291 """
292292 def __init__ (self , dict_ : Dict [str , str ]):
293293 self ._dict : Dict [str , str ] = {}
294-
294+
295+ if not isinstance (dict_ , dict ):
296+ raise TypeError (f"A { self .__class__ .__name__ } must be initialized with a dict!, got { type (dict_ )} " )
295297 if len (dict_ ) < 1 :
296298 raise ValueError (f"A { self .__class__ .__name__ } must not be empty!" )
297299 for ltag in dict_ :
@@ -827,38 +829,26 @@ def _set_id_short(self, id_short: Optional[NameType]):
827829 # Redundant to the line above. However, this way, we make sure that we really update the _id_short
828830 self ._id_short = id_short
829831
830- def _check_multiLanguageNameType (self , value : Optional [MultiLanguageNameType ]) -> None :
831- """Ensure value is None or a MultiLanguageNameType."""
832- if value is not None and not isinstance (value , MultiLanguageNameType ):
833- raise TypeError (
834- f"display_name must be of type MultiLanguageNameType, but got { type (value )} "
835- )
836-
837832 @property
838- def display_name (self ) -> Optional [ MultiLanguageNameType ] :
833+ def display_name (self ) -> MultiLanguageNameType | None :
839834 """Display name of the element (MultiLanguageNameType)."""
840835 return self ._display_name
841836
842837 @display_name .setter
843- def display_name (self , value : Optional [MultiLanguageNameType ]) -> None :
844- self ._check_multiLanguageNameType (value )
838+ def display_name (self , value : MultiLanguageNameType | None ) -> None :
839+ if value is not None and not isinstance (value , MultiLanguageNameType ):
840+ value = MultiLanguageNameType (value )
845841 self ._display_name = value
846842
847- def _check_MultiLanguageTextType (self , value : Optional [MultiLanguageTextType ]) -> None :
848- """Ensure value is None or a MultiLanguageTextType."""
849- if value is not None and not isinstance (value , MultiLanguageTextType ):
850- raise TypeError (
851- f"description must be of type MultiLanguageTextType, but got { type (value )} "
852- )
853-
854843 @property
855- def description (self ) -> Optional [ MultiLanguageTextType ] :
844+ def description (self ) -> MultiLanguageTextType | None :
856845 """Description of the element (MultiLanguageTextType)."""
857846 return self ._description
858847
859848 @description .setter
860- def description (self , value : Optional [MultiLanguageTextType ]) -> None :
861- self ._check_MultiLanguageTextType (value )
849+ def description (self , value : MultiLanguageTextType | None ) -> None :
850+ if value is not None and not isinstance (value , MultiLanguageTextType ):
851+ value = MultiLanguageTextType (value )
862852 self ._description = value
863853
864854 def update_from (self , other : "Referable" ):
0 commit comments