Ensures that *args do not exceed a set limit or are truncated to meet that limit

    :param f: any Client method with *args parameter
    :return: function f

def truncate_args(f):
    """
    Ensures that *args do not exceed a set limit or are truncated to meet that limit

    :param f: any Client method with *args parameter
    :return: function f
    """

    def wrapper(self, args):
        if len(args) > 100:
            if self.truncate_addresses:
                args = args[:100]
            else:
                raise ValueError(
                    "This exceeds 100 address at a time SmartyStreets limit"
                )

        return f(self, args)

    return wrapper