def METHOD_NAME(cls, typ: str) -> Any:
    if typ not in ["boolean", "integer"] and cls.METHOD_NAME("boolean"):
        # return 'None' for +- 33% of all requests
        return None
    if typ == "number":
        while True:
            int_value = cls.METHOD_NAME("integer")
            if int_value:
                break
        return float(int_value) + random.random()
    elif typ == "integer":
        return random.randint(-sys.maxsize - 1, sys.maxsize)
        # return random.randint(0, 1000)
    elif typ == "boolean":
        return random.choice([True, False, None])
    elif typ == "string":
        random_length = random.randint(0, 10 * 1024)  # max size of bytes is 10k
        return os.urandom(random_length)
    elif typ == "timestamp":
        return datetime.now() + timedelta(seconds=random.randint(0, 7200))
    elif typ == "date":
        dt = cls.METHOD_NAME("timestamp")
        return dt.date() if dt else None
    elif typ == "time":
        dt = cls.METHOD_NAME("timestamp")
        return dt.time() if dt else None
    elif typ == "decimal":
        return Decimal((0, tuple([random.randint(1, 9) for _ in range(10)]), -4))
    raise Exception(f"not supported type: {typ}")