from typing import Callable, Iterable, Union, Any
from tqdm import tqdm

def njit(f: Union[Callable, str] = None, *args, **kwargs) -> Callable:
	def decorator(func: Callable) -> Any:
		return func

	if callable(f):
		return f
	return decorator

def tqdm_iter(iter: Iterable, desc: str):
	return tqdm(iter, leave = False, desc = desc)