UNPKG

@fluentui/react-northstar

Version:
31 lines (29 loc) 1.48 kB
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; var _excluded = ["targetDate", "initialDate", "direction"]; import { isRestrictedDate } from './isRestrictedDate'; import { isAfterMaxDate } from './isAfterMaxDate'; import { isBeforeMinDate } from './isBeforeMinDate'; import { compareDatePart, addDays } from '../dateMath/dateMath'; /** * Returns closest available date given the restriction `options`, or undefined otherwise * @param options - list of search options */ export var findAvailableDate = function findAvailableDate(options) { var targetDate = options.targetDate, initialDate = options.initialDate, direction = options.direction, restrictedDateOptions = _objectWithoutPropertiesLoose(options, _excluded); var availableDate = targetDate; // if the target date is available, return it immediately if (!isRestrictedDate(targetDate, restrictedDateOptions)) { return targetDate; } while (compareDatePart(initialDate, availableDate) !== 0 && isRestrictedDate(availableDate, restrictedDateOptions) && !isAfterMaxDate(availableDate, restrictedDateOptions) && !isBeforeMinDate(availableDate, restrictedDateOptions)) { availableDate = addDays(availableDate, direction); } if (compareDatePart(initialDate, availableDate) !== 0 && !isRestrictedDate(availableDate, restrictedDateOptions)) { return availableDate; } return undefined; }; //# sourceMappingURL=findAvailableDate.js.map