from pathlib import Path


def recurse_checker(file_path: Path, recursive_flag: bool, recursive_dot_flag: bool) -> bool:
    """
    :param file_path: file to be checked.
    :param recursive_flag: whether to recursively refactor directories.
    :param recursive_dot_flag: whether to recursively refactor dot directories.

    :return: bool, that determines whether or not a path should be recursed upon.
    """

    # alias
    p = file_path

    # if a flag is set, and file_path is associated with
    # the flag, the file_path is scheduled to be recursed upon.
    if recursive_flag     and p.is_dir() and p.name[0] != '.': return True
    if recursive_dot_flag and p.is_dir() and p.name[0] == '.': return True

    # None of the checks were passed
    return False