UNPKG

date-fns

Version:

Modern JavaScript date utility library

1 lines 432 kB
{"version":3,"file":"cdn.js","names":["__defProp","Object","defineProperty","__export","target","all","name","get","enumerable","configurable","set","newValue","exports_lib","yearsToQuarters","yearsToMonths","yearsToDays","weeksToDays","transpose","toDate","subYears","subWeeks","subSeconds","subQuarters","subMonths","subMinutes","subMilliseconds","subISOWeekYears","subHours","subDays","subBusinessDays","sub","startOfYesterday","startOfYear","startOfWeekYear","startOfWeek","startOfTomorrow","startOfToday","startOfSecond","startOfQuarter","startOfMonth","startOfMinute","startOfISOWeekYear","startOfISOWeek","startOfHour","startOfDecade","startOfDay","setYear","setWeekYear","setWeek","setSeconds","setQuarter","setMonth","setMinutes","setMilliseconds","setISOWeekYear","setISOWeek","setISODay","setHours","setDefaultOptions","setDefaultOptions2","setDayOfYear","setDay","setDate","secondsToMinutes","secondsToMilliseconds","secondsToHours","roundToNearestMinutes","roundToNearestHours","quartersToYears","quartersToMonths","previousWednesday","previousTuesday","previousThursday","previousSunday","previousSaturday","previousMonday","previousFriday","previousDay","parsers","parseJSON","parseISO","parse","nextWednesday","nextTuesday","nextThursday","nextSunday","nextSaturday","nextMonday","nextFriday","nextDay","monthsToYears","monthsToQuarters","minutesToSeconds","minutesToMilliseconds","minutesToHours","min","millisecondsToSeconds","millisecondsToMinutes","millisecondsToHours","milliseconds","max","longFormatters","lightFormatters","lightFormat","lastDayOfYear","lastDayOfWeek","lastDayOfQuarter","lastDayOfMonth","lastDayOfISOWeekYear","lastDayOfISOWeek","lastDayOfDecade","isYesterday","isWithinInterval","isWeekend","isWednesday","isValid","isTuesday","isTomorrow","isToday","isThursday","isThisYear","isThisWeek","isThisSecond","isThisQuarter","isThisMonth","isThisMinute","isThisISOWeek","isThisHour","isSunday","isSaturday","isSameYear","isSameWeek","isSameSecond","isSameQuarter","isSameMonth","isSameMinute","isSameISOWeekYear","isSameISOWeek","isSameHour","isSameDay","isPast","isMonday","isMatch","isLeapYear","isLastDayOfMonth","isFuture","isFriday","isFirstDayOfMonth","isExists","isEqual","isDate","isBefore","isAfter","intlFormatDistance","intlFormat","intervalToDuration","interval","hoursToSeconds","hoursToMinutes","hoursToMilliseconds","getYear","getWeeksInMonth","getWeekYear","getWeekOfMonth","getWeek","getUnixTime","getTime","getSeconds","getQuarter","getOverlappingDaysInIntervals","getMonth","getMinutes","getMilliseconds","getISOWeeksInYear","getISOWeekYear","getISOWeek","getISODay","getHours","getDefaultOptions","getDefaultOptions2","getDecade","getDaysInYear","getDaysInMonth","getDayOfYear","getDay","getDate","fromUnixTime","formatters","formatRelative","formatRelative3","formatRFC7231","formatRFC3339","formatISODuration","formatISO9075","formatISO","formatDuration","formatDistanceToNowStrict","formatDistanceToNow","formatDistanceStrict","formatDistance","formatDistance3","formatDate","format","endOfYesterday","endOfYear","endOfWeek","endOfTomorrow","endOfToday","endOfSecond","endOfQuarter","endOfMonth","endOfMinute","endOfISOWeekYear","endOfISOWeek","endOfHour","endOfDecade","endOfDay","eachYearOfInterval","eachWeekendOfYear","eachWeekendOfMonth","eachWeekendOfInterval","eachWeekOfInterval","eachQuarterOfInterval","eachMonthOfInterval","eachMinuteOfInterval","eachHourOfInterval","eachDayOfInterval","differenceInYears","differenceInWeeks","differenceInSeconds","differenceInQuarters","differenceInMonths","differenceInMinutes","differenceInMilliseconds","differenceInISOWeekYears","differenceInHours","differenceInDays","differenceInCalendarYears","differenceInCalendarWeeks","differenceInCalendarQuarters","differenceInCalendarMonths","differenceInCalendarISOWeeks","differenceInCalendarISOWeekYears","differenceInCalendarDays","differenceInBusinessDays","daysToWeeks","constructNow","constructFrom","compareDesc","compareAsc","closestTo","closestIndexTo","clamp","areIntervalsOverlapping","addYears","addWeeks","addSeconds","addQuarters","addMonths","addMinutes","addMilliseconds","addISOWeekYears","addHours","addDays","addBusinessDays","add","daysInWeek","daysInYear","maxTime","Math","pow","minTime","millisecondsInWeek","millisecondsInDay","millisecondsInMinute","millisecondsInHour","millisecondsInSecond","minutesInYear","minutesInMonth","minutesInDay","minutesInHour","monthsInQuarter","monthsInYear","quartersInYear","secondsInHour","secondsInMinute","secondsInDay","secondsInWeek","secondsInYear","secondsInMonth","secondsInQuarter","constructFromSymbol","Symbol","for","date","value","_typeof","Date","constructor","argument","context","amount","options","_date","in","isNaN","NaN","dayOfMonth","endOfDesiredMonth","daysInMonth","setFullYear","getFullYear","duration","_duration$years","years","_duration$months","months","_duration$weeks","weeks","_duration$days","days","_duration$hours","hours","_duration$minutes","minutes","_duration$seconds","seconds","dateWithMonths","dateWithDays","minutesToAdd","secondsToAdd","msToAdd","day","startedOnWeekend","sign","fullWeeks","trunc","restDays","abs","defaultOptions","newOptions","_ref","_ref2","_ref3","_options$weekStartsOn","_options$locale","_defaultOptions3$loca","defaultOptions3","weekStartsOn","locale","diff","_objectSpread","year","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","getTimezoneOffsetInMilliseconds","utcDate","UTC","setUTCFullYear","normalizeDates","_len","arguments","length","dates","Array","_key","normalize","bind","find","map","laterDate","earlierDate","_normalizeDates","_normalizeDates2","_slicedToArray","laterDate_","earlierDate_","laterStartOfDay","earlierStartOfDay","laterTimestamp","earlierTimestamp","round","fourthOfJanuary","weekYear","setTime","intervalLeft","intervalRight","_sort","start","end","sort","a","b","_sort2","leftStartTime","leftEndTime","_sort3","_sort4","rightStartTime","rightEndTime","inclusive","result","forEach","date_","_normalizeDates3","_normalizeDates4","dateToCompare","timeToCompare","minDistance","index","distance","_normalizeDates5","apply","concat","_toConsumableArray","_normalizeDates6","_toArray","dateToCompare_","dates_","slice","undefined","dateLeft","dateRight","now","_normalizeDates7","_normalizeDates8","dateLeft_","dateRight_","prototype","toString","call","_normalizeDates9","_normalizeDates10","movingDate","_normalizeDates11","_normalizeDates12","_normalizeDates13","_normalizeDates14","startOfISOWeekLeft","startOfISOWeekRight","timestampLeft","timestampRight","_normalizeDates15","_normalizeDates16","yearsDiff","monthsDiff","quarter","_normalizeDates17","_normalizeDates18","quartersDiff","_normalizeDates19","_normalizeDates20","laterStartOfWeek","earlierStartOfWeek","_normalizeDates21","_normalizeDates22","_normalizeDates23","_normalizeDates24","compareLocalAsc","difference","isLastDayNotFull","Number","getRoundingMethod","method","number","_normalizeDates25","_normalizeDates26","roundingMethod","_normalizeDates27","_normalizeDates28","adjustedDate","isLastISOWeekYearNotFull","month","_normalizeDates29","_normalizeDates30","workingLaterDate","isLastMonthNotFull","_normalizeDates31","_normalizeDates32","partial","normalizeInterval","_normalizeDates33","_normalizeDates34","_options$step","_normalizeInterval","reversed","endTime","step","push","reverse","_options$step2","_normalizeInterval2","_options$step3","_normalizeInterval3","_options$step4","_normalizeInterval4","currentMonth","_options$step5","_normalizeInterval5","_options$step6","_normalizeInterval6","startDateWeek","endDateWeek","currentDate","_normalizeInterval7","dateInterval","weekends","_options$step7","_normalizeInterval8","decade","floor","_ref4","_ref5","_ref6","_options$weekStartsOn2","_options$locale2","_defaultOptions4$loca","defaultOptions4","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","token","count","tokenValue","replace","addSuffix","comparison","buildFormatLongFn","args","width","String","defaultWidth","formats","dateFormats","full","long","medium","short","timeFormats","dateTimeFormats","formatLong","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","_baseDate","_options","buildLocalizeFn","valuesArray","formattingValues","defaultFormattingWidth","values","argumentCallback","eraValues","narrow","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","dirtyNumber","rem100","localize","era","dayPeriod","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","match","matchedString","parsePatterns","defaultParseWidth","key","isArray","findIndex","pattern","test","findKey","valueCallback","rest","object","predicate","hasOwnProperty","array","buildMatchPatternFn","parseResult","parsePattern","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","any","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","parseInt","enUS","code","firstWeekContainsDate","dayOfYear","_ref7","_ref8","_ref9","_options$firstWeekCon","_options$locale3","_defaultOptions5$loca","defaultOptions5","firstWeekOfNextYear","firstWeekOfThisYear","_ref10","_ref11","_ref12","_options$firstWeekCon2","_options$locale4","_defaultOptions6$loca","defaultOptions6","firstWeek","addLeadingZeros","targetLength","output","padStart","y","signedYear","M","d","dayPeriodEnumValue","toUpperCase","h","H","m","s","S","numberOfDigits","fractionalSeconds","formatTimezoneShort","offset","delimiter","absOffset","formatTimezoneWithOptionalMinutes","formatTimezone","dayPeriodEnum","G","localize3","unit","Y","signedWeekYear","twoDigitYear","R","isoWeekYear","u","Q","ceil","q","L","w","week","I","isoWeek","D","E","dayOfWeek","e","localDayOfWeek","c","i","isoDayOfWeek","toLowerCase","B","K","k","X","_localize","timezoneOffset","getTimezoneOffset","x","O","z","t","timestamp","T","dateLongFormatter","formatLong3","timeLongFormatter","dateTimeLongFormatter","datePattern","timePattern","dateTimeFormat","p","P","isProtectedDayOfYearToken","dayOfYearTokenRE","isProtectedWeekYearToken","weekYearTokenRE","warnOrThrowProtectedError","input","_message","message","console","warn","throwTokens","includes","RangeError","subject","formatStr","_ref13","_options$locale5","_ref14","_ref15","_ref16","_options$firstWeekCon3","_options$locale6","_defaultOptions7$loca","_ref17","_ref18","_ref19","_options$weekStartsOn3","_options$locale7","_defaultOptions7$loca2","defaultOptions7","originalDate","parts","longFormattingTokensRegExp","substring","firstCharacter","longFormatter","join","formattingTokensRegExp","isToken","cleanEscapedString","unescapedLatinCharacterRegExp","preprocessor","formatterOptions","part","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","formatter","matched","escapedStringRegExp","doubleQuoteRegExp","_ref20","_options$locale8","defaultOptions8","minutesInAlmostTwoDays","localizeOptions","assign","_normalizeDates35","_normalizeDates36","offsetInSeconds","includeSeconds","nearestMonth","monthsSinceStartOfYear","_ref21","_options$locale9","_options$roundingMeth","defaultOptions9","_normalizeDates37","_normalizeDates38","dstNormalizedMinutes","defaultUnit","roundedMinutes","_ref22","_options$locale10","_options$format","_options$zero","_options$delimiter","defaultOptions10","format2","defaultFormat","zero","reduce","acc","_options$format2","_options$representati","representation","tzOffset","dateDelimiter","timeDelimiter","absoluteOffset","hourOffset","minuteOffset","hour","minute","second","separator","_options$format3","_options$representati2","_duration$years2","_duration$months2","_duration$days2","_duration$hours2","_duration$minutes2","_duration$seconds2","_options$fractionDigi","fractionDigits","fractionalSecond","dayName","getUTCDay","getUTCDate","monthName","getUTCMonth","getUTCFullYear","getUTCHours","getUTCMinutes","getUTCSeconds","baseDate","_ref23","_options$locale11","_ref24","_ref25","_ref26","_options$weekStartsOn4","_options$locale12","_defaultOptions11$loc","_normalizeDates39","_normalizeDates40","baseDate_","defaultOptions11","unixTime","monthIndex","thisYear","nextYear","_sort5","_sort6","leftStart","leftEnd","_sort7","_sort8","rightStart","rightEnd","isOverlapping","overlapLeft","left","overlapRight","right","_ref27","_ref28","_ref29","_options$weekStartsOn5","_options$locale13","_defaultOptions13$loc","defaultOptions13","currentDayOfMonth","startWeekDay","lastDayOfFirstWeek","remainingDaysAfterFirstWeek","contextDate","_normalizeDates41","_normalizeDates42","_start","_end","TypeError","assertPositive","interval2","_normalizeInterval9","remainingMonths","months2","remainingDays","days2","remainingHours","remainingMinutes","remainingSeconds","formatOrLocale","localeOptions","_localeOptions","formatOptions","isFormatOptions","Intl","DateTimeFormat","opts","_normalizeDates43","_normalizeDates44","diffInSeconds","rtf","RelativeTimeFormat","numeric","leftDate","rightDate","isConstructor","_constructor$prototyp","TIMEZONE_UNIT_PRIORITY","Setter","_classCallCheck","_defineProperty","_createClass","validate","_utcDate","ValueSetter","_Setter2","_inherits","validateValue","setValue","priority","subPriority","_this","_callSuper","flags","DateTimezoneSetter","_Setter3","reference","_this2","_assertThisInitialized","timestampIsSet","Parser","run","dateString","match3","setter","_value","EraParser","_Parser","_this3","_len2","_key2","numericPatterns","hour23h","hour24h","hour11h","hour12h","singleDigit","twoDigits","threeDigits","fourDigits","anyDigitsSigned","singleDigitSigned","twoDigitsSigned","threeDigitsSigned","fourDigitsSigned","timezonePatterns","basicOptionalMinutes","basic","basicOptionalSeconds","extended","extendedOptionalSeconds","mapValue","parseFnResult","mapFn","parseNumericPattern","parseTimezonePattern","parseAnyDigitsSigned","parseNDigits","n","RegExp","parseNDigitsSigned","dayPeriodEnumToHours","normalizeTwoDigitYear","currentYear","isCommonEra","absCurrentYear","rangeEnd","rangeEndCentury","isPreviousCentury","isLeapYearIndex","YearParser","_Parser2","_this4","_len3","_key3","isTwoDigitYear","normalizedTwoDigitYear","LocalWeekYearParser","_Parser3","_this5","_len4","_key4","ISOWeekYearParser","_Parser4","_this6","_len5","_key5","_flags","firstWeekOfYear","ExtendedYearParser","_Parser5","_this7","_len6","_key6","QuarterParser","_Parser6","_this8","_len7","_key7","StandAloneQuarterParser","_Parser7","_this9","_len8","_key8","MonthParser","_Parser8","_this10","_len9","_key9","StandAloneMonthParser","_Parser9","_this11","_len10","_key10","LocalWeekParser","_Parser10","_this12","_len11","_key11","ISOWeekParser","_Parser11","_this13","_len12","_key12","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","DateParser","_Parser12","_this14","_len13","_key13","isLeapYear3","DayOfYearParser","_Parser13","_this15","_len14","_key14","_ref30","_ref31","_ref32","_options$weekStartsOn6","_options$locale14","_defaultOptions14$loc","defaultOptions14","currentDay","remainder","dayIndex","delta","DayParser","_Parser14","_this16","_len15","_key15","LocalDayParser","_Parser15","_this17","_len16","_key16","wholeWeekDays","StandAloneLocalDayParser","_Parser16","_this18","_len17","_key17","ISODayParser","_Parser17","_this19","_len18","_key18","AMPMParser","_Parser18","_this20","_len19","_key19","AMPMMidnightParser","_Parser19","_this21","_len20","_key20","DayPeriodParser","_Parser20","_this22","_len21","_key21","Hour1to12Parser","_Parser21","_this23","_len22","_key22","isPM","Hour0to23Parser","_Parser22","_this24","_len23","_key23","Hour0To11Parser","_Parser23","_this25","_len24","_key24","Hour1To24Parser","_Parser24","_this26","_len25","_key25","MinuteParser","_Parser25","_this27","_len26","_key26","SecondParser","_Parser26","_this28","_len27","_key27","FractionOfSecondParser","_Parser27","_this29","_len28","_key28","ISOTimezoneWithZParser","_Parser28","_this30","_len29","_key29","ISOTimezoneParser","_Parser29","_this31","_len30","_key30","TimestampSecondsParser","_Parser30","_this32","_len31","_key31","TimestampMillisecondsParser","_Parser31","_this33","_len32","_key32","dateStr","referenceDate","_ref33","_options$locale15","_ref34","_ref35","_ref36","_options$firstWeekCon4","_options$locale16","_defaultOptions14$loc2","_ref37","_ref38","_ref39","_options$weekStartsOn7","_options$locale17","_defaultOptions14$loc3","invalidDate","subFnOptions","setters","tokens","longFormattingTokensRegExp2","formattingTokensRegExp2","usedTokens","_iterator","_createForOfIteratorHelper","_step","_loop","parser","incompatibleTokens","incompatibleToken","usedToken","fullToken","v","unescapedLatinCharacterRegExp2","cleanEscapedString2","indexOf","_ret","done","err","f","notWhitespaceRegExp","uniquePrioritySetters","filter","setterArray","_iterator2","_step2","escapedStringRegExp2","doubleQuoteRegExp2","_normalizeDates45","_normalizeDates46","_normalizeDates47","_normalizeDates48","_normalizeDates49","_normalizeDates50","_normalizeDates51","_normalizeDates52","_normalizeDates53","_normalizeDates54","_normalizeDates55","_normalizeDates56","_sort9","_sort10","startTime","_ref40","_ref41","_ref42","_options$weekStartsOn8","_options$locale18","_defaultOptions15$loc","defaultOptions15","formattingTokensRegExp3","cleanEscapedString3","unescapedLatinCharacterRegExp3","matches","escapedStringRegExp3","doubleQuoteRegExp3","_ref43","totalDays","totalSeconds","milliseconds2","quarters","_options$additionalDi","additionalDigits","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","parseTime","timezone","parseTimezone","tmpDate","getUTCMilliseconds","split","patterns","dateTimeDelimiter","timeString","timeZoneDelimiter","substr","exec","regex","captures","century","dateRegex","isWeekDate","parseDateUnit","validateWeekDate","dayOfISOWeekYear","validateDate","validateDayOfYearDate","timeRegex","parseTimeUnit","validateTime","parseFloat","timezoneString","timezoneRegex","validateTimezone","fourthOfJanuaryDay","setUTCDate","isLeapYearIndex2","daysInMonths","_year","_hours","_options$nearestTo","_options$roundingMeth2","nearestTo","fractionalMinutes","fractionalMilliseconds","roundedHours","_options$nearestTo2","_options$roundingMeth3","midMonth","defaultOptions16","property","oldQuarter","_ref44","_ref45","_ref46","_options$firstWeekCon5","_options$locale19","_defaultOptions17$loc","defaultOptions17","_duration$years3","_duration$months3","_duration$weeks2","_duration$days3","_duration$hours3","_duration$minutes3","_duration$seconds3","withoutMonths","withoutDays","minutesToSub","secondsToSub","msToSub","window","dateFns"],"sources":["cdn.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, {\n get: all[name],\n enumerable: true,\n configurable: true,\n set: (newValue) => all[name] = () => newValue\n });\n};\n\n// lib/index.js\nvar exports_lib = {};\n__export(exports_lib, {\n yearsToQuarters: () => yearsToQuarters,\n yearsToMonths: () => yearsToMonths,\n yearsToDays: () => yearsToDays,\n weeksToDays: () => weeksToDays,\n transpose: () => transpose,\n toDate: () => toDate,\n subYears: () => subYears,\n subWeeks: () => subWeeks,\n subSeconds: () => subSeconds,\n subQuarters: () => subQuarters,\n subMonths: () => subMonths,\n subMinutes: () => subMinutes,\n subMilliseconds: () => subMilliseconds,\n subISOWeekYears: () => subISOWeekYears,\n subHours: () => subHours,\n subDays: () => subDays,\n subBusinessDays: () => subBusinessDays,\n sub: () => sub,\n startOfYesterday: () => startOfYesterday,\n startOfYear: () => startOfYear,\n startOfWeekYear: () => startOfWeekYear,\n startOfWeek: () => startOfWeek,\n startOfTomorrow: () => startOfTomorrow,\n startOfToday: () => startOfToday,\n startOfSecond: () => startOfSecond,\n startOfQuarter: () => startOfQuarter,\n startOfMonth: () => startOfMonth,\n startOfMinute: () => startOfMinute,\n startOfISOWeekYear: () => startOfISOWeekYear,\n startOfISOWeek: () => startOfISOWeek,\n startOfHour: () => startOfHour,\n startOfDecade: () => startOfDecade,\n startOfDay: () => startOfDay,\n setYear: () => setYear,\n setWeekYear: () => setWeekYear,\n setWeek: () => setWeek,\n setSeconds: () => setSeconds,\n setQuarter: () => setQuarter,\n setMonth: () => setMonth,\n setMinutes: () => setMinutes,\n setMilliseconds: () => setMilliseconds,\n setISOWeekYear: () => setISOWeekYear,\n setISOWeek: () => setISOWeek,\n setISODay: () => setISODay,\n setHours: () => setHours,\n setDefaultOptions: () => setDefaultOptions2,\n setDayOfYear: () => setDayOfYear,\n setDay: () => setDay,\n setDate: () => setDate,\n set: () => set,\n secondsToMinutes: () => secondsToMinutes,\n secondsToMilliseconds: () => secondsToMilliseconds,\n secondsToHours: () => secondsToHours,\n roundToNearestMinutes: () => roundToNearestMinutes,\n roundToNearestHours: () => roundToNearestHours,\n quartersToYears: () => quartersToYears,\n quartersToMonths: () => quartersToMonths,\n previousWednesday: () => previousWednesday,\n previousTuesday: () => previousTuesday,\n previousThursday: () => previousThursday,\n previousSunday: () => previousSunday,\n previousSaturday: () => previousSaturday,\n previousMonday: () => previousMonday,\n previousFriday: () => previousFriday,\n previousDay: () => previousDay,\n parsers: () => parsers,\n parseJSON: () => parseJSON,\n parseISO: () => parseISO,\n parse: () => parse,\n nextWednesday: () => nextWednesday,\n nextTuesday: () => nextTuesday,\n nextThursday: () => nextThursday,\n nextSunday: () => nextSunday,\n nextSaturday: () => nextSaturday,\n nextMonday: () => nextMonday,\n nextFriday: () => nextFriday,\n nextDay: () => nextDay,\n monthsToYears: () => monthsToYears,\n monthsToQuarters: () => monthsToQuarters,\n minutesToSeconds: () => minutesToSeconds,\n minutesToMilliseconds: () => minutesToMilliseconds,\n minutesToHours: () => minutesToHours,\n min: () => min,\n millisecondsToSeconds: () => millisecondsToSeconds,\n millisecondsToMinutes: () => millisecondsToMinutes,\n millisecondsToHours: () => millisecondsToHours,\n milliseconds: () => milliseconds,\n max: () => max,\n longFormatters: () => longFormatters,\n lightFormatters: () => lightFormatters,\n lightFormat: () => lightFormat,\n lastDayOfYear: () => lastDayOfYear,\n lastDayOfWeek: () => lastDayOfWeek,\n lastDayOfQuarter: () => lastDayOfQuarter,\n lastDayOfMonth: () => lastDayOfMonth,\n lastDayOfISOWeekYear: () => lastDayOfISOWeekYear,\n lastDayOfISOWeek: () => lastDayOfISOWeek,\n lastDayOfDecade: () => lastDayOfDecade,\n isYesterday: () => isYesterday,\n isWithinInterval: () => isWithinInterval,\n isWeekend: () => isWeekend,\n isWednesday: () => isWednesday,\n isValid: () => isValid,\n isTuesday: () => isTuesday,\n isTomorrow: () => isTomorrow,\n isToday: () => isToday,\n isThursday: () => isThursday,\n isThisYear: () => isThisYear,\n isThisWeek: () => isThisWeek,\n isThisSecond: () => isThisSecond,\n isThisQuarter: () => isThisQuarter,\n isThisMonth: () => isThisMonth,\n isThisMinute: () => isThisMinute,\n isThisISOWeek: () => isThisISOWeek,\n isThisHour: () => isThisHour,\n isSunday: () => isSunday,\n isSaturday: () => isSaturday,\n isSameYear: () => isSameYear,\n isSameWeek: () => isSameWeek,\n isSameSecond: () => isSameSecond,\n isSameQuarter: () => isSameQuarter,\n isSameMonth: () => isSameMonth,\n isSameMinute: () => isSameMinute,\n isSameISOWeekYear: () => isSameISOWeekYear,\n isSameISOWeek: () => isSameISOWeek,\n isSameHour: () => isSameHour,\n isSameDay: () => isSameDay,\n isPast: () => isPast,\n isMonday: () => isMonday,\n isMatch: () => isMatch,\n isLeapYear: () => isLeapYear,\n isLastDayOfMonth: () => isLastDayOfMonth,\n isFuture: () => isFuture,\n isFriday: () => isFriday,\n isFirstDayOfMonth: () => isFirstDayOfMonth,\n isExists: () => isExists,\n isEqual: () => isEqual,\n isDate: () => isDate,\n isBefore: () => isBefore,\n isAfter: () => isAfter,\n intlFormatDistance: () => intlFormatDistance,\n intlFormat: () => intlFormat,\n intervalToDuration: () => intervalToDuration,\n interval: () => interval,\n hoursToSeconds: () => hoursToSeconds,\n hoursToMinutes: () => hoursToMinutes,\n hoursToMilliseconds: () => hoursToMilliseconds,\n getYear: () => getYear,\n getWeeksInMonth: () => getWeeksInMonth,\n getWeekYear: () => getWeekYear,\n getWeekOfMonth: () => getWeekOfMonth,\n getWeek: () => getWeek,\n getUnixTime: () => getUnixTime,\n getTime: () => getTime,\n getSeconds: () => getSeconds,\n getQuarter: () => getQuarter,\n getOverlappingDaysInIntervals: () => getOverlappingDaysInIntervals,\n getMonth: () => getMonth,\n getMinutes: () => getMinutes,\n getMilliseconds: () => getMilliseconds,\n getISOWeeksInYear: () => getISOWeeksInYear,\n getISOWeekYear: () => getISOWeekYear,\n getISOWeek: () => getISOWeek,\n getISODay: () => getISODay,\n getHours: () => getHours,\n getDefaultOptions: () => getDefaultOptions2,\n getDecade: () => getDecade,\n getDaysInYear: () => getDaysInYear,\n getDaysInMonth: () => getDaysInMonth,\n getDayOfYear: () => getDayOfYear,\n getDay: () => getDay,\n getDate: () => getDate,\n fromUnixTime: () => fromUnixTime,\n formatters: () => formatters,\n formatRelative: () => formatRelative3,\n formatRFC7231: () => formatRFC7231,\n formatRFC3339: () => formatRFC3339,\n formatISODuration: () => formatISODuration,\n formatISO9075: () => formatISO9075,\n formatISO: () => formatISO,\n formatDuration: () => formatDuration,\n formatDistanceToNowStrict: () => formatDistanceToNowStrict,\n formatDistanceToNow: () => formatDistanceToNow,\n formatDistanceStrict: () => formatDistanceStrict,\n formatDistance: () => formatDistance3,\n formatDate: () => format,\n format: () => format,\n endOfYesterday: () => endOfYesterday,\n endOfYear: () => endOfYear,\n endOfWeek: () => endOfWeek,\n endOfTomorrow: () => endOfTomorrow,\n endOfToday: () => endOfToday,\n endOfSecond: () => endOfSecond,\n endOfQuarter: () => endOfQuarter,\n endOfMonth: () => endOfMonth,\n endOfMinute: () => endOfMinute,\n endOfISOWeekYear: () => endOfISOWeekYear,\n endOfISOWeek: () => endOfISOWeek,\n endOfHour: () => endOfHour,\n endOfDecade: () => endOfDecade,\n endOfDay: () => endOfDay,\n eachYearOfInterval: () => eachYearOfInterval,\n eachWeekendOfYear: () => eachWeekendOfYear,\n eachWeekendOfMonth: () => eachWeekendOfMonth,\n eachWeekendOfInterval: () => eachWeekendOfInterval,\n eachWeekOfInterval: () => eachWeekOfInterval,\n eachQuarterOfInterval: () => eachQuarterOfInterval,\n eachMonthOfInterval: () => eachMonthOfInterval,\n eachMinuteOfInterval: () => eachMinuteOfInterval,\n eachHourOfInterval: () => eachHourOfInterval,\n eachDayOfInterval: () => eachDayOfInterval,\n differenceInYears: () => differenceInYears,\n differenceInWeeks: () => differenceInWeeks,\n differenceInSeconds: () => differenceInSeconds,\n differenceInQuarters: () => differenceInQuarters,\n differenceInMonths: () => differenceInMonths,\n differenceInMinutes: () => differenceInMinutes,\n differenceInMilliseconds: () => differenceInMilliseconds,\n differenceInISOWeekYears: () => differenceInISOWeekYears,\n differenceInHours: () => differenceInHours,\n differenceInDays: () => differenceInDays,\n differenceInCalendarYears: () => differenceInCalendarYears,\n differenceInCalendarWeeks: () => differenceInCalendarWeeks,\n differenceInCalendarQuarters: () => differenceInCalendarQuarters,\n differenceInCalendarMonths: () => differenceInCalendarMonths,\n differenceInCalendarISOWeeks: () => differenceInCalendarISOWeeks,\n differenceInCalendarISOWeekYears: () => differenceInCalendarISOWeekYears,\n differenceInCalendarDays: () => differenceInCalendarDays,\n differenceInBusinessDays: () => differenceInBusinessDays,\n daysToWeeks: () => daysToWeeks,\n constructNow: () => constructNow,\n constructFrom: () => constructFrom,\n compareDesc: () => compareDesc,\n compareAsc: () => compareAsc,\n closestTo: () => closestTo,\n closestIndexTo: () => closestIndexTo,\n clamp: () => clamp,\n areIntervalsOverlapping: () => areIntervalsOverlapping,\n addYears: () => addYears,\n addWeeks: () => addWeeks,\n addSeconds: () => addSeconds,\n addQuarters: () => addQuarters,\n addMonths: () => addMonths,\n addMinutes: () => addMinutes,\n addMilliseconds: () => addMilliseconds,\n addISOWeekYears: () => addISOWeekYears,\n addHours: () => addHours,\n addDays: () => addDays,\n addBusinessDays: () => addBusinessDays,\n add: () => add\n});\n\n// lib/constants.js\nvar daysInWeek = 7;\nvar daysInYear = 365.2425;\nvar maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;\nvar minTime = -maxTime;\nvar millisecondsInWeek = 604800000;\nvar millisecondsInDay = 86400000;\nvar millisecondsInMinute = 60000;\nvar millisecondsInHour = 3600000;\nvar millisecondsInSecond = 1000;\nvar minutesInYear = 525600;\nvar minutesInMonth = 43200;\nvar minutesInDay = 1440;\nvar minutesInHour = 60;\nvar monthsInQuarter = 3;\nvar monthsInYear = 12;\nvar quartersInYear = 4;\nvar secondsInHour = 3600;\nvar secondsInMinute = 60;\nvar secondsInDay = secondsInHour * 24;\nvar secondsInWeek = secondsInDay * 7;\nvar secondsInYear = secondsInDay * daysInYear;\nvar secondsInMonth = secondsInYear / 12;\nvar secondsInQuarter = secondsInMonth * 3;\nvar constructFromSymbol = Symbol.for(\"constructDateFrom\");\n\n// lib/constructFrom.js\nfunction constructFrom(date, value) {\n if (typeof date === \"function\")\n return date(value);\n if (date && typeof date === \"object\" && constructFromSymbol in date)\n return date[constructFromSymbol](value);\n if (date instanceof Date)\n return new date.constructor(value);\n return new Date(value);\n}\n\n// lib/toDate.js\nfunction toDate(argument, context) {\n return constructFrom(context || argument, argument);\n}\n\n// lib/addDays.js\nfunction addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount))\n return constructFrom(options?.in || date, NaN);\n if (!amount)\n return _date;\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// lib/addMonths.js\nfunction addMonths(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount))\n return constructFrom(options?.in || date, NaN);\n if (!amount) {\n return _date;\n }\n const dayOfMonth = _date.getDate();\n const endOfDesiredMonth = constructFrom(options?.in || date, _date.getTime());\n endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);\n const daysInMonth = endOfDesiredMonth.getDate();\n if (dayOfMonth >= daysInMonth) {\n return endOfDesiredMonth;\n } else {\n _date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);\n return _date;\n }\n}\n\n// lib/add.js\nfunction add(date, duration, options) {\n const {\n years = 0,\n months = 0,\n weeks = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0\n } = duration;\n const _date = toDate(date, options?.in);\n const dateWithMonths = months || years ? addMonths(_date, months + years * 12) : _date;\n const dateWithDays = days || weeks ? addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;\n const minutesToAdd = minutes + hours * 60;\n const secondsToAdd = seconds + minutesToAdd * 60;\n const msToAdd = secondsToAdd * 1000;\n return constructFrom(options?.in || date, +dateWithDays + msToAdd);\n}\n// lib/isSaturday.js\nfunction isSaturday(date, options) {\n return toDate(date, options?.in).getDay() === 6;\n}\n\n// lib/isSunday.js\nfunction isSunday(date, options) {\n return toDate(date, options?.in).getDay() === 0;\n}\n\n// lib/isWeekend.js\nfunction isWeekend(date, options) {\n const day = toDate(date, options?.in).getDay();\n return day === 0 || day === 6;\n}\n\n// lib/addBusinessDays.js\nfunction addBusinessDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n const startedOnWeekend = isWeekend(_date, options);\n if (isNaN(amount))\n return constructFrom(options?.in, NaN);\n const hours = _date.getHours();\n const sign = amount < 0 ? -1 : 1;\n const fullWeeks = Math.trunc(amount / 5);\n _date.setDate(_date.getDate() + fullWeeks * 7);\n let restDays = Math.abs(amount % 5);\n while (restDays > 0) {\n _date.setDate(_date.getDate() + sign);\n if (!isWeekend(_date, options))\n restDays -= 1;\n }\n if (startedOnWeekend && isWeekend(_date, options) && amount !== 0) {\n if (isSaturday(_date, options))\n _date.setDate(_date.getDate() + (sign < 0 ? 2 : -1));\n if (isSunday(_date, options))\n _date.setDate(_date.getDate() + (sign < 0 ? 1 : -2));\n }\n _date.setHours(hours);\n return _date;\n}\n// lib/addMilliseconds.js\nfunction addMilliseconds(date, amount, options) {\n return constructFrom(options?.in || date, +toDate(date) + amount);\n}\n\n// lib/addHours.js\nfunction addHours(date, amount, options) {\n return addMilliseconds(date, amount * millisecondsInHour, options);\n}\n// lib/_lib/defaultOptions.js\nfunction getDefaultOptions() {\n return defaultOptions;\n}\nfunction setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}\nvar defaultOptions = {};\n\n// lib/startOfWeek.js\nfunction startOfWeek(date, options) {\n const defaultOptions3 = getDefaultOptions();\n const weekStartsOn = options?.weekStartsOn ?? options?.locale?.options?.weekStartsOn ?? defaultOptions3.weekStartsOn ?? defaultOptions3.locale?.options?.weekStartsOn ?? 0;\n const _date = toDate(date, options?.in);\n const day = _date.getDay();\n const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n _date.setDate(_date.getDate() - diff);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// lib/startOfISOWeek.js\nfunction startOfISOWeek(date, options) {\n return startOfWeek(date, { ...options, weekStartsOn: 1 });\n}\n\n// lib/getISOWeekYear.js\nfunction getISOWeekYear(date, options) {\n const _date = toDate(date, options?.in);\n const year = _date.getFullYear();\n const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);\n fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);\n const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);\n const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);\n fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);\n const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);\n if (_date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (_date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}\n\n// lib/_lib/getTimezoneOffsetInMilliseconds.js\nfunction getTimezoneOffsetInMilliseconds(date) {\n const _date = toDate(date);\n const utcDate = new Date(Date.UTC(_date.getFullYear(), _date.getMonth(), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds(), _date.getMilliseconds()));\n utcDate.setUTCFullYear(_date.getFullYear());\n return +date - +utcDate;\n}\n\n// lib/_lib/normalizeDates.js\nfunction normalizeDates(context, ...dates) {\n const normalize = constructFrom.bind(null, context || dates.find((date) => typeof date === \"object\"));\n return dates.map(normalize);\n}\n\n// lib/startOfDay.js\nfunction startOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(0, 0, 0, 0);\n return _date;\n}\n\n// lib/differenceInCalendarDays.js\nfunction differenceInCalendarDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const laterStartOfDay = startOfDay(laterDate_);\n const earlierStartOfDay = startOfDay(earlierDate_);\n const laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);\n const earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);\n}\n\n// lib/startOfISOWeekYear.js\nfunction startOfISOWeekYear(date, options) {\n const year = getISOWeekYear(date, options);\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(year, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n return startOfISOWeek(fourthOfJanuary);\n}\n\n// lib/setISOWeekYear.js\nfunction setISOWeekYear(date, weekYear, options) {\n let _date = toDate(date, options?.in);\n const diff = differenceInCalendarDays(_date, startOfISOWeekYear(_date, options));\n const fourthOfJanuary = constructFrom(options?.in || date, 0);\n fourthOfJanuary.setFullYear(weekYear, 0, 4);\n fourthOfJanuary.setHours(0, 0, 0, 0);\n _date = startOfISOWeekYear(fourthOfJanuary);\n _date.setDate(_date.getDate() + diff);\n return _date;\n}\n\n// lib/addISOWeekYears.js\nfunction addISOWeekYears(date, amount, options) {\n return setISOWeekYear(date, getISOWeekYear(date, options) + amount, options);\n}\n// lib/addMinutes.js\nfunction addMinutes(date, amount, options) {\n const _date = toDate(date, options?.in);\n _date.setTime(_date.getTime() + amount * millisecondsInMinute);\n return _date;\n}\n// lib/addQuarters.js\nfunction addQuarters(date, amount, options) {\n return addMonths(date, amount * 3, options);\n}\n// lib/addSeconds.js\nfunction addSeconds(date, amount, options) {\n return addMilliseconds(date, amount * 1000, options);\n}\n// lib/addWeeks.js\nfunction addWeeks(date, amount, options) {\n return addDays(date, amount * 7, options);\n}\n// lib/addYears.js\nfunction addYears(date, amount, options) {\n return addMonths(date, amount * 12, options);\n}\n// lib/areIntervalsOverlapping.js\nfunction areIntervalsOverlapping(intervalLeft, intervalRight, options) {\n const [leftStartTime, leftEndTime] = [\n +toDate(intervalLeft.start, options?.in),\n +toDate(intervalLeft.end, options?.in)\n ].sort((a, b) => a - b);\n const [rightStartTime, rightEndTime] = [\n +toDate(intervalRight.start, options?.in),\n +toDate(intervalRight.end, options?.in)\n ].sort((a, b) => a - b);\n if (options?.inclusive)\n return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime;\n return leftStartTime < rightEndTime && rightStartTime < leftEndTime;\n}\n// lib/max.js\nfunction max(dates, options) {\n let result;\n let context = options?.in;\n dates.forEach((date) => {\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n const date_ = toDate(date, context);\n if (!result || result < date_ || isNaN(+date_))\n result = date_;\n });\n return constructFrom(context, result || NaN);\n}\n\n// lib/min.js\nfunction min(dates, options) {\n let result;\n let context = options?.in;\n dates.forEach((date) => {\n if (!context && typeof date === \"object\")\n context = constructFrom.bind(null, date);\n const date_ = toDate(date, context);\n if (!result || result > date_ || isNaN(+date_))\n result = date_;\n });\n return constructFrom(context, result || NaN);\n}\n\n// lib/clamp.js\nfunction clamp(date, interval, options) {\n const [date_, start, end] = normalizeDates(options?.in, date, interval.start, interval.end);\n return min([max([date_, start], options), end], options);\n}\n// lib/closestIndexTo.js\nfunction closestIndexTo(dateToCompare, dates) {\n const timeToCompare = +toDate(dateToCompare);\n if (isNaN(timeToCompare))\n return NaN;\n let result;\n let minDistance;\n dates.forEach((date, index) => {\n const date_ = toDate(date);\n if (isNaN(+date_)) {\n result = NaN;\n minDistance = NaN;\n return;\n }\n const distance = Math.abs(timeToCompare - +date_);\n if (result == null || distance < minDistance) {\n result = index;\n minDistance = distance;\n }\n });\n return result;\n}\n// lib/closestTo.js\nfunction closestTo(dateToCompare, dates, options) {\n const [dateToCompare_, ...dates_] = normalizeDates(options?.in, dateToCompare, ...dates);\n const index = closestIndexTo(dateToCompare_, dates_);\n if (typeof index === \"number\" && isNaN(index))\n return constructFrom(dateToCompare_, NaN);\n if (index !== undefined)\n return dates_[index];\n}\n// lib/compareAsc.js\nfunction compareAsc(dateLeft, dateRight) {\n const diff = +toDate(dateLeft) - +toDate(dateRight);\n if (diff < 0)\n return -1;\n else if (diff > 0)\n return 1;\n return diff;\n}\n// lib/compareDesc.js\nfunction compareDesc(dateLeft, dateRight) {\n const diff = +toDate(dateLeft) - +toDate(dateRight);\n if (diff > 0)\n return -1;\n else if (diff < 0)\n return 1;\n return diff;\n}\n// lib/constructNow.js\nfunction constructNow(date) {\n return constructFrom(date, Date.now());\n}\n// lib/daysToWeeks.js\nfunction daysToWeeks(days) {\n const result = Math.trunc(days / daysInWeek);\n return result === 0 ? 0 : result;\n}\n// lib/isSameDay.js\nfunction isSameDay(laterDate, earlierDate, options) {\n const [dateLeft_, dateRight_] = normalizeDates(options?.in, laterDate, earlierDate);\n return +startOfDay(dateLeft_) === +startOfDay(dateRight_);\n}\n\n// lib/isDate.js\nfunction isDate(value) {\n return value instanceof Date || typeof value === \"object\" && Object.prototype.toString.call(value) === \"[object Date]\";\n}\n\n// lib/isValid.js\nfunction isValid(date) {\n return !(!isDate(date) && typeof date !== \"number\" || isNaN(+toDate(date)));\n}\n\n// lib/differenceInBusinessDays.js\nfunction differenceInBusinessDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n if (!isValid(laterDate_) || !isValid(earlierDate_))\n return NaN;\n const diff = differenceInCalendarDays(laterDate_, earlierDate_);\n const sign = diff < 0 ? -1 : 1;\n const weeks = Math.trunc(diff / 7);\n let result = weeks * 5;\n let movingDate = addDays(earlierDate_, weeks * 7);\n while (!isSameDay(laterDate_, movingDate)) {\n result += isWeekend(movingDate, options) ? 0 : sign;\n movingDate = addDays(movingDate, sign);\n }\n return result === 0 ? 0 : result;\n}\n// lib/differenceInCalendarISOWeekYears.js\nfunction differenceInCalendarISOWeekYears(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n return getISOWeekYear(laterDate_, options) - getISOWeekYear(earlierDate_, options);\n}\n// lib/differenceInCalendarISOWeeks.js\nfunction differenceInCalendarISOWeeks(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const startOfISOWeekLeft = startOfISOWeek(laterDate_);\n const startOfISOWeekRight = startOfISOWeek(earlierDate_);\n const timestampLeft = +startOfISOWeekLeft - getTimezoneOffsetInMilliseconds(startOfISOWeekLeft);\n const timestampRight = +startOfISOWeekRight - getTimezoneOffsetInMilliseconds(startOfISOWeekRight);\n return Math.round((timestampLeft - timestampRight) / millisecondsInWeek);\n}\n// lib/differenceInCalendarMonths.js\nfunction differenceInCalendarMonths(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();\n return yearsDiff * 12 + monthsDiff;\n}\n// lib/getQuarter.js\nfunction getQuarter(date, options) {\n const _date = toDate(date, options?.in);\n const quarter = Math.trunc(_date.getMonth() / 3) + 1;\n return quarter;\n}\n\n// lib/differenceInCalendarQuarters.js\nfunction differenceInCalendarQuarters(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const quartersDiff = getQuarter(laterDate_) - getQuarter(earlierDate_);\n return yearsDiff * 4 + quartersDiff;\n}\n// lib/differenceInCalendarWeeks.js\nfunction differenceInCalendarWeeks(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const laterStartOfWeek = startOfWeek(laterDate_, options);\n const earlierStartOfWeek = startOfWeek(earlierDate_, options);\n const laterTimestamp = +laterStartOfWeek - getTimezoneOffsetInMilliseconds(laterStartOfWeek);\n const earlierTimestamp = +earlierStartOfWeek - getTimezoneOffsetInMilliseconds(earlierStartOfWeek);\n return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInWeek);\n}\n// lib/differenceInCalendarYears.js\nfunction differenceInCalendarYears(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n return laterDate_.getFullYear() - earlierDate_.getFullYear();\n}\n// lib/differenceInDays.js\nfunction differenceInDays(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const sign = compareLocalAsc(laterDate_, earlierDate_);\n const difference = Math.abs(differenceInCalendarDays(laterDate_, earlierDate_));\n laterDate_.setDate(laterDate_.getDate() - sign * difference);\n const isLastDayNotFull = Number(compareLocalAsc(laterDate_, earlierDate_) === -sign);\n const result = sign * (difference - isLastDayNotFull);\n return result === 0 ? 0 : result;\n}\nfunction compareLocalAsc(laterDate, earlierDate) {\n const diff = laterDate.getFullYear() - earlierDate.getFullYear() || laterDate.getMonth() - earlierDate.getMonth() || laterDate.getDate() - earlierDate.getDate() || laterDate.getHours() - earlierDate.getHours() || laterDate.getMinutes() - earlierDate.getMinutes() || laterDate.getSeconds() - earlierDate.getSeconds() || laterDate.getMilliseconds() - earlierDate.getMilliseconds();\n if (diff < 0)\n return -1;\n if (diff > 0)\n return 1;\n return diff;\n}\n// lib/_lib/getRoundingMethod.js\nfunction getRoundingMethod(method) {\n return (number) => {\n const round = method ? Math[method] : Math.trunc;\n const result = round(number);\n return result === 0 ? 0 : result;\n };\n}\n\n// lib/differenceInHours.js\nfunction differenceInHours(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const diff = (+laterDate_ - +earlierDate_) / millisecondsInHour;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n// lib/subISOWeekYears.js\nfunction subISOWeekYears(date, amount, options) {\n return addISOWeekYears(date, -amount, options);\n}\n\n// lib/differenceInISOWeekYears.js\nfunction differenceInISOWeekYears(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(options?.in, laterDate, earlierDate);\n const sign = compareAsc(laterDate_, earlierDate_);\n const diff = Math.abs(differenceInCalendarISOWeekYears(laterDate_, earlierDate_, options));\n const adjustedDate = subISOWeekYears(laterDate_, sign * diff, options);\n const isLastISOWeekYearNotFull = Number(compareAsc(adjustedDate, earlierDate_) === -sign);\n const result = sign * (diff - isLastISOWeekYearNotFull);\n return result === 0 ? 0 : result;\n}\n// lib/differenceInMilliseconds.js\nfunction differenceInMilliseconds(laterDate, earlierDate) {\n return +toDate(laterDate) - +toDate(earlierDate);\n}\n// lib/differenceInMinutes.js\nfunction differenceInMinutes(dateLeft, dateRight, options) {\n const diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;\n return getRoundingMethod(options?.roundingMethod)(diff);\n}\n// lib/endOfDay.js\nfunction endOfDay(date, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// lib/endOfMonth.js\nfunction endOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n const month = _date.getMonth();\n _date.setFullYear(_date.getFullYear(), month + 1, 0);\n _date.setHours(23, 59, 59, 999);\n return _date;\n}\n\n// lib/isLastDayOfMonth.js\nfunction isLastDayOfMonth(date, options) {\n const _date = toDate(date, options?.in);\n return +endOfDay(_date, options) === +endOfMonth(_date, options);\n}\n\n// lib/differenceInMonths.js\nfunction differenceInMonths(laterDate, earlierDate, options) {\n const [laterDate_, workingLaterDate, earlierDate_] = normalizeDates(options?.in, laterDate, laterDate, earlierDate);\n const sign = compareAsc(workingLaterDate, earlierDate_);\n const difference = Math.abs(differenceInCalendarMonths(workingLaterDate, earlierDate_));\n if (difference < 1)\n return 0;\n if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27)\n workingLaterDate.setDate(30);\n workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference);\n let isLastMonthNotFull = compareAsc(workingLaterDate, earlierDate_) === -sign;\n if (isLastDayOfMonth(laterDate_) && difference === 1 && compareAsc(laterDate_, earlierDate_) === 1) {\n isLastMonthNotFull = false;\n }\n const result = sign * (difference - +isLastMonthNotFull);\n return result === 0 ? 0 : result;\n}\n// lib/differenceInQuarters.js\nfunction differenceInQuarters(laterDate, earlierDate, options) {\n const diff = differenceInMonths(laterDate, earlierDate, options) / 3;\n