def unmarshall()

in python3.12/event-bridge/{{cookiecutter.project_name}}/hello_world_function/model/aws/ec2/marshaller.py [0:0]


    def unmarshall(cls, data, typeName):

        if data is None:
            return None

        if type(typeName) == str:
            if typeName.startswith('list['):
                sub_kls = re.match(r'list\[(.*)\]', typeName).group(1)
                return [cls.unmarshall(sub_data, sub_kls)
                        for sub_data in data]

            if typeName.startswith('dict('):
                sub_kls = re.match(r'dict\(([^,]*), (.*)\)', typeName).group(2)
                return {k: cls.unmarshall(v, sub_kls)
                        for k, v in six.iteritems(data)}

            if typeName in cls.NATIVE_TYPES_MAPPING:
                typeName = cls.NATIVE_TYPES_MAPPING[typeName]
            else:
                typeName = getattr(model.aws.ec2, typeName)

        if typeName in cls.PRIMITIVE_TYPES:
            return cls.__unmarshall_primitive(data, typeName)
        elif typeName == object:
            return cls.__unmarshall_object(data)
        elif typeName == datetime.date:
            return cls.__unmarshall_date(data)
        elif typeName == datetime.datetime:
            return cls.__unmarshall_datatime(data)
        else:
            return cls.__unmarshall_model(data, typeName)