def initialize()

in rostran/core/parameters.py [0:0]


    def initialize(cls, name: str, value: dict):
        if not isinstance(value, dict):
            raise InvalidTemplateParameter(
                name=name,
                reason=f"The type of value ({value}) should be dict",
            )

        if cls.DEFAULT in value:
            default = cls.NULL if value[cls.DEFAULT] is None else value[cls.DEFAULT]
        else:
            default = None
        param = cls(
            name,
            type=value.get(cls.TYPE),
            default=default,
            association_property=value.get(cls.ASSOCIATION_PROPERTY),
            association_property_metadata=value.get(cls.ASSOCIATION_PROPERTY_METADATA),
            description=value.get(cls.DESCRIPTION),
            constraint_description=value.get(cls.CONSTRAINT_DESCRIPTION),
            allowed_values=value.get(cls.ALLOWED_VALUES),
            min_length=value.get(cls.MIN_LENGTH),
            max_length=value.get(cls.MAX_LENGTH),
            allowed_pattern=value.get(cls.ALLOWED_PATTERN),
            min_value=value.get(cls.MIN_VALUE),
            max_value=value.get(cls.MAX_VALUE),
            label=value.get(cls.LABEL),
            no_echo=value.get(cls.NO_ECHO),
            confirm=value.get(cls.CONFIRM),
            text_area=value.get(cls.TEXT_AREA),
            orig_data=value,
        )
        param.validate()
        return param