def get_first_week(feed: "Feed", *, as_date_obj: bool = False) -> List[str]:
    """
    Return a list of date corresponding to the first Monday--Sunday
    week for which this feed is valid.
    If the given feed does not cover a full Monday--Sunday week,
    then return whatever initial segment of the week it does cover,
    which could be the empty list.

    Parameters
    ----------
    feed : "Feed"
    as_date_obj : boolean
        If ``True``, then return the dates as ``datetime.date`` objects;
        otherwise return them as strings

    Returns
    -------
    list
        Dates

    """
    dates = feed.get_dates(as_date_obj=True)
    if not dates:
        return []

    # Get first Monday
    monday_index = None
    for (i, date) in enumerate(dates):
        if date.weekday() == 0:
            monday_index = i
            break
    if monday_index is None:
        return []

    result = []
    for j in range(7):
        try:
            result.append(dates[monday_index + j])
        except:
            break

    # Convert to date strings if requested
    if not as_date_obj:
        result = [hp.datestr_to_date(x, inverse=True) for x in result]

    return result
Return a list of date corresponding to the first Monday--Sunday
    week for which this feed is valid.
    If the given feed does not cover a full Monday--Sunday week,
    then return whatever initial segment of the week it does cover,
    which could be the empty list.

    Parameters
    ----------
    feed : "Feed"
    as_date_obj : boolean
        If ``True``, then return the dates as ``datetime.date`` objects;
        otherwise return them as strings

    Returns
    -------
    list
        Dates