function eachWeekendOfInterval(interval) {
  __WEBPACK_IMPORTED_MODULE_3__lib_requiredArgs_index_js__["a" /* default */](1, arguments);
  var dateInterval = __WEBPACK_IMPORTED_MODULE_0__eachDayOfInterval_index_js__["a" /* default */](interval);
  var weekends = [];
  var index = 0;

  while (index < dateInterval.length) {
    var date = dateInterval[index++];

    if (__WEBPACK_IMPORTED_MODULE_2__isWeekend_index_js__["a" /* default */](date)) {
      weekends.push(date);
      if (__WEBPACK_IMPORTED_MODULE_1__isSunday_index_js__["a" /* default */](date)) index = index + 5;
    }
  }

  return weekends;
}
@name eachWeekendOfInterval
@category Interval Helpers
@summary List all the Saturdays and Sundays in the given date interval.

@description
Get all the Saturdays and Sundays in the given date interval.

@param {Interval} interval - the given interval. See [Interval]{@link docs/types/Interval}
@returns {Date[]} an array containing all the Saturdays and Sundays
@throws {TypeError} 1 argument required
@throws {RangeError} The start of an interval cannot be after its end
@throws {RangeError} Date in interval cannot be `Invalid Date`

@example
// Lists all Saturdays and Sundays in the given date interval
var result = eachWeekendOfInterval({
  start: new Date(2018, 8, 17),
  end: new Date(2018, 8, 30)
})
//=> [
//   Sat Sep 22 2018 00:00:00,
//   Sun Sep 23 2018 00:00:00,
//   Sat Sep 29 2018 00:00:00,
//   Sun Sep 30 2018 00:00:00
// ]