text: import { NotImplementedError } from "../extensions/index.js";
  
  /**
   * Extract season from given date and expose the enemy scout!🦆
   *
   * @param {Date | FakeDate} date real or fake date
   * @returns {String} time of the year
   *
   * @example
   *
   * getSeason(new Date(2020, 02, 31)) => 'spring'
   *
   */
  export default function getSeason(date) {
    if (!date) {
      return "Unable to determine the time of year!";
    }
    if (!(date instanceof Date) || Date.prototype.toString !== date.toString) {
      // 1. check prototype
      // 2. check if toString was overwritten
      throw new Error("Invalid date!");
    }
  
    let month = date.getMonth();
    if (month === 11 || (month >= 0 && month < 2)) {
      return "winter";
    }
    if (month >= 2 && month <= 4) {
      return "spring";
    }
    if (month > 4 && month < 8) {
      return "summer";
    }
    if (month >= 8 && month < 11) {
      return "autumn";
    }
  }
  