previousBusinessDay method

Hora previousBusinessDay([
  1. BusinessDayConfig config = BusinessDayConfig.standard
])

Returns the previous business day.

If this is already a business day, returns a copy of this. Otherwise, returns the previous date that is a business day.

Implementation

Hora previousBusinessDay([
  BusinessDayConfig config = BusinessDayConfig.standard,
]) {
  _requireValidBusinessDate(this, 'previousBusinessDay');
  _validateTraversalConfig(config, method: 'previousBusinessDay');

  var current = this;
  var iterations = 0;
  while (!current.isBusinessDay(config)) {
    current = current.subtract(1, TemporalUnit.day);
    iterations++;
    if (iterations > _maxBusinessDaySearchIterations) {
      throw StateError(
        'previousBusinessDay() exceeded search guard '
        '($_maxBusinessDaySearchIterations days). '
        'Check weekend/holiday configuration.',
      );
    }
  }
  return current;
}