@checkdigit/time 4.0.0-PR.18-81a3 → 4.0.0-PR.18-e0fa
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/package.json +1 -1
- package/src/date-fns/_lib/addLeadingZeros/test.mts +0 -12
- package/src/date-fns/_lib/getRoundingMethod/test.mts +0 -50
- package/src/date-fns/_lib/getTimezoneOffsetInMilliseconds/test.mts +0 -25
- package/src/date-fns/add/test.mts +0 -95
- package/src/date-fns/addBusinessDays/test.mts +0 -78
- package/src/date-fns/addDays/test.mts +0 -90
- package/src/date-fns/addHours/test.mts +0 -30
- package/src/date-fns/addISOWeekYears/test.mts +0 -41
- package/src/date-fns/addMilliseconds/test.mts +0 -30
- package/src/date-fns/addMinutes/test.mts +0 -30
- package/src/date-fns/addMonths/test.mts +0 -123
- package/src/date-fns/addQuarters/test.mts +0 -47
- package/src/date-fns/addSeconds/test.mts +0 -30
- package/src/date-fns/addWeeks/test.mts +0 -30
- package/src/date-fns/addYears/test.mts +0 -46
- package/src/date-fns/areIntervalsOverlapping/test.mts +0 -231
- package/src/date-fns/clamp/test.mts +0 -36
- package/src/date-fns/closestIndexTo/test.mts +0 -51
- package/src/date-fns/closestTo/test.mts +0 -49
- package/src/date-fns/compareAsc/test.mts +0 -58
- package/src/date-fns/compareDesc/test.mts +0 -58
- package/src/date-fns/constructFrom/test.mts +0 -47
- package/src/date-fns/constructNow/test.mts +0 -37
- package/src/date-fns/daysToWeeks/test.mts +0 -36
- package/src/date-fns/differenceInBusinessDays/test.mts +0 -102
- package/src/date-fns/differenceInCalendarDays/test.mts +0 -206
- package/src/date-fns/differenceInCalendarISOWeekYears/test.mts +0 -93
- package/src/date-fns/differenceInCalendarISOWeeks/test.mts +0 -89
- package/src/date-fns/differenceInCalendarMonths/test.mts +0 -82
- package/src/date-fns/differenceInCalendarQuarters/test.mts +0 -82
- package/src/date-fns/differenceInCalendarWeeks/test.mts +0 -136
- package/src/date-fns/differenceInCalendarYears/test.mts +0 -82
- package/src/date-fns/differenceInDays/test.mts +0 -175
- package/src/date-fns/differenceInHours/test.mts +0 -122
- package/src/date-fns/differenceInISOWeekYears/test.mts +0 -93
- package/src/date-fns/differenceInMilliseconds/test.mts +0 -53
- package/src/date-fns/differenceInMinutes/test.mts +0 -123
- package/src/date-fns/differenceInMonths/test.mts +0 -121
- package/src/date-fns/differenceInQuarters/test.mts +0 -109
- package/src/date-fns/differenceInSeconds/test.mts +0 -144
- package/src/date-fns/differenceInWeeks/test.mts +0 -111
- package/src/date-fns/differenceInYears/test.mts +0 -97
- package/src/date-fns/eachDayOfInterval/test.mts +0 -164
- package/src/date-fns/eachHourOfInterval/test.mts +0 -154
- package/src/date-fns/eachMinuteOfInterval/test.mts +0 -159
- package/src/date-fns/eachMonthOfInterval/test.mts +0 -151
- package/src/date-fns/eachQuarterOfInterval/test.mts +0 -136
- package/src/date-fns/eachWeekOfInterval/test.mts +0 -177
- package/src/date-fns/eachWeekendOfInterval/test.mts +0 -67
- package/src/date-fns/eachWeekendOfMonth/test.mts +0 -23
- package/src/date-fns/eachWeekendOfYear/test.mts +0 -18
- package/src/date-fns/eachYearOfInterval/test.mts +0 -136
- package/src/date-fns/endOfDay/test.mts +0 -27
- package/src/date-fns/endOfDecade/test.mts +0 -32
- package/src/date-fns/endOfHour/test.mts +0 -26
- package/src/date-fns/endOfISOWeek/test.mts +0 -27
- package/src/date-fns/endOfISOWeekYear/test.mts +0 -36
- package/src/date-fns/endOfMinute/test.mts +0 -26
- package/src/date-fns/endOfMonth/test.mts +0 -41
- package/src/date-fns/endOfQuarter/test.mts +0 -27
- package/src/date-fns/endOfSecond/test.mts +0 -26
- package/src/date-fns/endOfToday/test.mts +0 -19
- package/src/date-fns/endOfTomorrow/test.mts +0 -29
- package/src/date-fns/endOfWeek/test.mts +0 -86
- package/src/date-fns/endOfYear/test.mts +0 -27
- package/src/date-fns/endOfYesterday/test.mts +0 -29
- package/src/date-fns/format/test.mts +0 -909
- package/src/date-fns/formatDistance/test.mts +0 -189
- package/src/date-fns/formatDistanceStrict/test.mts +0 -329
- package/src/date-fns/formatDistanceToNow/test.mts +0 -196
- package/src/date-fns/formatDistanceToNowStrict/test.mts +0 -293
- package/src/date-fns/formatDuration/test.mts +0 -74
- package/src/date-fns/formatISO/test.mts +0 -55
- package/src/date-fns/formatISO9075/test.mts +0 -35
- package/src/date-fns/formatISODuration/test.mts +0 -75
- package/src/date-fns/formatRFC3339/test.mts +0 -41
- package/src/date-fns/formatRFC7231/test.mts +0 -18
- package/src/date-fns/formatRelative/test.mts +0 -92
- package/src/date-fns/fp/_lib/convertToFP/test.mts +0 -114
- package/src/date-fns/fromUnixTime/test.mts +0 -14
- package/src/date-fns/getDate/test.mts +0 -19
- package/src/date-fns/getDay/test.mts +0 -19
- package/src/date-fns/getDayOfYear/test.mts +0 -27
- package/src/date-fns/getDaysInMonth/test.mts +0 -33
- package/src/date-fns/getDaysInYear/test.mts +0 -35
- package/src/date-fns/getDecade/test.mts +0 -24
- package/src/date-fns/getDefaultOptions/test.mts +0 -58
- package/src/date-fns/getHours/test.mts +0 -19
- package/src/date-fns/getISODay/test.mts +0 -24
- package/src/date-fns/getISOWeek/test.mts +0 -54
- package/src/date-fns/getISOWeekYear/test.mts +0 -27
- package/src/date-fns/getISOWeeksInYear/test.mts +0 -37
- package/src/date-fns/getMilliseconds/test.mts +0 -19
- package/src/date-fns/getMinutes/test.mts +0 -19
- package/src/date-fns/getMonth/test.mts +0 -19
- package/src/date-fns/getOverlappingDaysInIntervals/test.mts +0 -243
- package/src/date-fns/getQuarter/test.mts +0 -19
- package/src/date-fns/getSeconds/test.mts +0 -19
- package/src/date-fns/getTime/test.mts +0 -21
- package/src/date-fns/getUnixTime/test.mts +0 -26
- package/src/date-fns/getWeek/test.mts +0 -56
- package/src/date-fns/getWeekOfMonth/test.mts +0 -75
- package/src/date-fns/getWeekYear/test.mts +0 -49
- package/src/date-fns/getWeeksInMonth/test.mts +0 -51
- package/src/date-fns/getYear/test.mts +0 -19
- package/src/date-fns/hoursToMilliseconds/test.mts +0 -23
- package/src/date-fns/hoursToMinutes/test.mts +0 -25
- package/src/date-fns/hoursToSeconds/test.mts +0 -25
- package/src/date-fns/interval/test.mts +0 -42
- package/src/date-fns/intervalToDuration/test.mts +0 -235
- package/src/date-fns/intlFormat/test.mts +0 -88
- package/src/date-fns/intlFormatDistance/test.mts +0 -588
- package/src/date-fns/isAfter/test.mts +0 -39
- package/src/date-fns/isBefore/test.mts +0 -39
- package/src/date-fns/isDate/test.mts +0 -72
- package/src/date-fns/isEqual/test.mts +0 -34
- package/src/date-fns/isExists/test.mts +0 -14
- package/src/date-fns/isFirstDayOfMonth/test.mts +0 -25
- package/src/date-fns/isFriday/test.mts +0 -24
- package/src/date-fns/isFuture/test.mts +0 -34
- package/src/date-fns/isLastDayOfMonth/test.mts +0 -25
- package/src/date-fns/isLeapYear/test.mts +0 -35
- package/src/date-fns/isMatch/test.mts +0 -27
- package/src/date-fns/isMonday/test.mts +0 -24
- package/src/date-fns/isPast/test.mts +0 -34
- package/src/date-fns/isSameDay/test.mts +0 -37
- package/src/date-fns/isSameHour/test.mts +0 -37
- package/src/date-fns/isSameISOWeek/test.mts +0 -34
- package/src/date-fns/isSameISOWeekYear/test.mts +0 -48
- package/src/date-fns/isSameMinute/test.mts +0 -37
- package/src/date-fns/isSameMonth/test.mts +0 -34
- package/src/date-fns/isSameQuarter/test.mts +0 -34
- package/src/date-fns/isSameSecond/test.mts +0 -43
- package/src/date-fns/isSameWeek/test.mts +0 -58
- package/src/date-fns/isSameYear/test.mts +0 -34
- package/src/date-fns/isSaturday/test.mts +0 -24
- package/src/date-fns/isSunday/test.mts +0 -24
- package/src/date-fns/isThisHour/test.mts +0 -34
- package/src/date-fns/isThisISOWeek/test.mts +0 -34
- package/src/date-fns/isThisMinute/test.mts +0 -34
- package/src/date-fns/isThisMonth/test.mts +0 -34
- package/src/date-fns/isThisQuarter/test.mts +0 -34
- package/src/date-fns/isThisSecond/test.mts +0 -34
- package/src/date-fns/isThisWeek/test.mts +0 -39
- package/src/date-fns/isThisYear/test.mts +0 -34
- package/src/date-fns/isThursday/test.mts +0 -24
- package/src/date-fns/isToday/test.mts +0 -34
- package/src/date-fns/isTomorrow/test.mts +0 -34
- package/src/date-fns/isTuesday/test.mts +0 -24
- package/src/date-fns/isValid/test.mts +0 -24
- package/src/date-fns/isWednesday/test.mts +0 -24
- package/src/date-fns/isWeekend/test.mts +0 -24
- package/src/date-fns/isWithinInterval/test.mts +0 -92
- package/src/date-fns/isYesterday/test.mts +0 -34
- package/src/date-fns/lastDayOfDecade/test.mts +0 -32
- package/src/date-fns/lastDayOfISOWeek/test.mts +0 -27
- package/src/date-fns/lastDayOfISOWeekYear/test.mts +0 -36
- package/src/date-fns/lastDayOfMonth/test.mts +0 -41
- package/src/date-fns/lastDayOfQuarter/test.mts +0 -27
- package/src/date-fns/lastDayOfWeek/test.mts +0 -86
- package/src/date-fns/lastDayOfYear/test.mts +0 -27
- package/src/date-fns/lightFormat/test.mts +0 -126
- package/src/date-fns/max/test.mts +0 -34
- package/src/date-fns/milliseconds/test.mts +0 -62
- package/src/date-fns/millisecondsToHours/test.mts +0 -24
- package/src/date-fns/millisecondsToMinutes/test.mts +0 -24
- package/src/date-fns/millisecondsToSeconds/test.mts +0 -24
- package/src/date-fns/min/test.mts +0 -34
- package/src/date-fns/minutesToHours/test.mts +0 -24
- package/src/date-fns/minutesToMilliseconds/test.mts +0 -23
- package/src/date-fns/minutesToSeconds/test.mts +0 -23
- package/src/date-fns/monthsToQuarters/test.mts +0 -24
- package/src/date-fns/monthsToYears/test.mts +0 -24
- package/src/date-fns/nextDay/test.mts +0 -44
- package/src/date-fns/nextFriday/test.mts +0 -24
- package/src/date-fns/nextMonday/test.mts +0 -24
- package/src/date-fns/nextSaturday/test.mts +0 -24
- package/src/date-fns/nextSunday/test.mts +0 -24
- package/src/date-fns/nextThursday/test.mts +0 -24
- package/src/date-fns/nextTuesday/test.mts +0 -23
- package/src/date-fns/nextWednesday/test.mts +0 -24
- package/src/date-fns/parse/test.mts +0 -2202
- package/src/date-fns/parseISO/test.mts +0 -362
- package/src/date-fns/parseJSON/test.mts +0 -129
- package/src/date-fns/previousDay/test.mts +0 -42
- package/src/date-fns/previousFriday/test.mts +0 -22
- package/src/date-fns/previousMonday/test.mts +0 -22
- package/src/date-fns/previousSaturday/test.mts +0 -22
- package/src/date-fns/previousSunday/test.mts +0 -22
- package/src/date-fns/previousThursday/test.mts +0 -22
- package/src/date-fns/previousTuesday/test.mts +0 -22
- package/src/date-fns/previousWednesday/test.mts +0 -22
- package/src/date-fns/quartersToMonths/test.mts +0 -24
- package/src/date-fns/quartersToYears/test.mts +0 -24
- package/src/date-fns/roundToNearestHours/test.mts +0 -200
- package/src/date-fns/roundToNearestMinutes/test.mts +0 -208
- package/src/date-fns/secondsToHours/test.mts +0 -24
- package/src/date-fns/secondsToMilliseconds/test.mts +0 -14
- package/src/date-fns/secondsToMinutes/test.mts +0 -24
- package/src/date-fns/set/test.mts +0 -121
- package/src/date-fns/setDate/test.mts +0 -30
- package/src/date-fns/setDay/test.mts +0 -112
- package/src/date-fns/setDayOfYear/test.mts +0 -30
- package/src/date-fns/setDefaultOptions/test.mts +0 -498
- package/src/date-fns/setHours/test.mts +0 -30
- package/src/date-fns/setISODay/test.mts +0 -59
- package/src/date-fns/setISOWeek/test.mts +0 -41
- package/src/date-fns/setISOWeekYear/test.mts +0 -50
- package/src/date-fns/setMilliseconds/test.mts +0 -30
- package/src/date-fns/setMinutes/test.mts +0 -30
- package/src/date-fns/setMonth/test.mts +0 -46
- package/src/date-fns/setQuarter/test.mts +0 -46
- package/src/date-fns/setSeconds/test.mts +0 -30
- package/src/date-fns/setWeek/test.mts +0 -63
- package/src/date-fns/setWeekYear/test.mts +0 -72
- package/src/date-fns/setYear/test.mts +0 -30
- package/src/date-fns/startOfDay/test.mts +0 -27
- package/src/date-fns/startOfDecade/test.mts +0 -32
- package/src/date-fns/startOfHour/test.mts +0 -27
- package/src/date-fns/startOfISOWeek/test.mts +0 -27
- package/src/date-fns/startOfISOWeekYear/test.mts +0 -41
- package/src/date-fns/startOfMinute/test.mts +0 -27
- package/src/date-fns/startOfMonth/test.mts +0 -27
- package/src/date-fns/startOfQuarter/test.mts +0 -27
- package/src/date-fns/startOfSecond/test.mts +0 -27
- package/src/date-fns/startOfToday/test.mts +0 -19
- package/src/date-fns/startOfTomorrow/test.mts +0 -29
- package/src/date-fns/startOfWeek/test.mts +0 -86
- package/src/date-fns/startOfWeekYear/test.mts +0 -58
- package/src/date-fns/startOfYear/test.mts +0 -38
- package/src/date-fns/startOfYesterday/test.mts +0 -29
- package/src/date-fns/sub/test.mts +0 -83
- package/src/date-fns/subBusinessDays/test.mts +0 -40
- package/src/date-fns/subDays/test.mts +0 -30
- package/src/date-fns/subHours/test.mts +0 -30
- package/src/date-fns/subISOWeekYears/test.mts +0 -41
- package/src/date-fns/subMilliseconds/test.mts +0 -30
- package/src/date-fns/subMinutes/test.mts +0 -30
- package/src/date-fns/subMonths/test.mts +0 -47
- package/src/date-fns/subQuarters/test.mts +0 -47
- package/src/date-fns/subSeconds/test.mts +0 -30
- package/src/date-fns/subWeeks/test.mts +0 -30
- package/src/date-fns/subYears/test.mts +0 -46
- package/src/date-fns/toDate/test.mts +0 -35
- package/src/date-fns/weeksToDays/test.mts +0 -24
- package/src/date-fns/yearsToDays/test.mts +0 -24
- package/src/date-fns/yearsToMonths/test.mts +0 -24
- package/src/date-fns/yearsToQuarters/test.mts +0 -24
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subMilliseconds } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subMilliseconds', () => {
|
|
5
|
-
it('subtracts the given number of milliseconds', () => {
|
|
6
|
-
const result = subMilliseconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0), 750);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 45, 29, 250));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subMilliseconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0).getTime(), 500);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 45, 29, 500));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0);
|
|
17
|
-
subMilliseconds(date, 250);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = subMilliseconds(new Date(NaN), 750);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = subMilliseconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 30, 0), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subMinutes } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subMinutes', () => {
|
|
5
|
-
it('subtracts the given number of minutes', () => {
|
|
6
|
-
const result = subMinutes(new Date(2014, 6 /* Jul */, 10, 12, 0), 30);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 11, 30));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subMinutes(new Date(2014, 6 /* Jul */, 10, 12, 0).getTime(), 20);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 11, 40));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 6 /* Jul */, 10, 12, 0);
|
|
17
|
-
subMinutes(date, 25);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 0));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = subMinutes(new Date(NaN), 30);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = subMinutes(new Date(2014, 6 /* Jul */, 10, 12, 0), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subMonths } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subMonths', () => {
|
|
5
|
-
it('subtracts the given number of months', () => {
|
|
6
|
-
const result = subMonths(new Date(2015, 1 /* Feb */, 1), 5);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subMonths(new Date(2015, 8 /* Sep */, 1).getTime(), 12);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
17
|
-
subMonths(date, 12);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('works well if the desired month has fewer days and the provided date is in the last day of a month', () => {
|
|
22
|
-
const date = new Date(2014, 11 /* Dec */, 31);
|
|
23
|
-
const result = subMonths(date, 3);
|
|
24
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('handles dates before 100 AD', () => {
|
|
28
|
-
const initialDate = new Date(0);
|
|
29
|
-
initialDate.setFullYear(1, 2 /* Mar */, 31);
|
|
30
|
-
initialDate.setHours(0, 0, 0, 0);
|
|
31
|
-
const expectedResult = new Date(0);
|
|
32
|
-
expectedResult.setFullYear(1, 1 /* Feb */, 28);
|
|
33
|
-
expectedResult.setHours(0, 0, 0, 0);
|
|
34
|
-
const result = subMonths(initialDate, 1);
|
|
35
|
-
expect(result).toEqual(expectedResult);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
39
|
-
const result = subMonths(new Date(NaN), 5);
|
|
40
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
44
|
-
const result = subMonths(new Date(2015, 1 /* Feb */, 1), NaN);
|
|
45
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subQuarters } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subQuarters', () => {
|
|
5
|
-
it('subtracts the given number of quarters', () => {
|
|
6
|
-
const result = subQuarters(new Date(2014, 8 /* Sep */, 1), 3);
|
|
7
|
-
expect(result).toEqual(new Date(2013, 11 /* Dec */, 1));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subQuarters(new Date(2014, 8 /* Sep */, 1).getTime(), 4);
|
|
12
|
-
expect(result).toEqual(new Date(2013, 8 /* Sep */, 1));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
17
|
-
subQuarters(date, 3);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('works well if the desired month has fewer days and the provided date is in the last day of a month', () => {
|
|
22
|
-
const date = new Date(2014, 11 /* Dec */, 31);
|
|
23
|
-
const result = subQuarters(date, 1);
|
|
24
|
-
expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('handles dates before 100 AD', () => {
|
|
28
|
-
const initialDate = new Date(0);
|
|
29
|
-
initialDate.setFullYear(0, 10 /* Nov */, 30);
|
|
30
|
-
initialDate.setHours(0, 0, 0, 0);
|
|
31
|
-
const expectedResult = new Date(0);
|
|
32
|
-
expectedResult.setFullYear(0, 1 /* Feb */, 29);
|
|
33
|
-
expectedResult.setHours(0, 0, 0, 0);
|
|
34
|
-
const result = subQuarters(initialDate, 3);
|
|
35
|
-
expect(result).toEqual(expectedResult);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
39
|
-
const result = subQuarters(new Date(NaN), 3);
|
|
40
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
44
|
-
const result = subQuarters(new Date(2014, 8 /* Sep */, 1), NaN);
|
|
45
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subSeconds } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subSeconds', () => {
|
|
5
|
-
it('subtracts the given number of seconds', () => {
|
|
6
|
-
const result = subSeconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 0), 30);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 44, 30));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subSeconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 0).getTime(), 20);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 44, 40));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 6 /* Jul */, 10, 12, 45, 0);
|
|
17
|
-
subSeconds(date, 15);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 6 /* Jul */, 10, 12, 45, 0));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = subSeconds(new Date(NaN), 30);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = subSeconds(new Date(2014, 6 /* Jul */, 10, 12, 45, 0), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subWeeks } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subWeeks', () => {
|
|
5
|
-
it('subtracts the given number of weeks', () => {
|
|
6
|
-
const result = subWeeks(new Date(2014, 8 /* Sep */, 1), 4);
|
|
7
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 4));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subWeeks(new Date(2014, 8 /* Sep */, 1).getTime(), 1);
|
|
12
|
-
expect(result).toEqual(new Date(2014, 7 /* Aug */, 25));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
17
|
-
subWeeks(date, 2);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
22
|
-
const result = subWeeks(new Date(NaN), 4);
|
|
23
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
27
|
-
const result = subWeeks(new Date(2014, 8 /* Sep */, 1), NaN);
|
|
28
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { subYears } from './index';
|
|
3
|
-
|
|
4
|
-
describe('subYears', () => {
|
|
5
|
-
it('subtracts the given number of years', () => {
|
|
6
|
-
const result = subYears(new Date(2014, 8 /* Sep */, 1), 5);
|
|
7
|
-
expect(result).toEqual(new Date(2009, 8 /* Sep */, 1));
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('accepts a timestamp', () => {
|
|
11
|
-
const result = subYears(new Date(2014, 8 /* Sep */, 1).getTime(), 12);
|
|
12
|
-
expect(result).toEqual(new Date(2002, 8 /* Sep */, 1));
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('does not mutate the original date', () => {
|
|
16
|
-
const date = new Date(2014, 8 /* Sep */, 1);
|
|
17
|
-
subYears(date, 12);
|
|
18
|
-
expect(date).toEqual(new Date(2014, 8 /* Sep */, 1));
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('handles the leap years properly', () => {
|
|
22
|
-
const result = subYears(new Date(2016, 1 /* Feb */, 29), 1);
|
|
23
|
-
expect(result).toEqual(new Date(2015, 1 /* Feb */, 28));
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('handles dates before 100 AD', () => {
|
|
27
|
-
const initialDate = new Date(0);
|
|
28
|
-
initialDate.setFullYear(0, 1 /* Feb */, 29);
|
|
29
|
-
initialDate.setHours(0, 0, 0, 0);
|
|
30
|
-
const expectedResult = new Date(0);
|
|
31
|
-
expectedResult.setFullYear(-1, 1 /* Feb */, 28);
|
|
32
|
-
expectedResult.setHours(0, 0, 0, 0);
|
|
33
|
-
const result = subYears(initialDate, 1);
|
|
34
|
-
expect(result).toEqual(expectedResult);
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it('returns `Invalid Date` if the given date is invalid', () => {
|
|
38
|
-
const result = subYears(new Date(NaN), 5);
|
|
39
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('returns `Invalid Date` if the given amount is NaN', () => {
|
|
43
|
-
const result = subYears(new Date(2014, 8 /* Sep */, 1), NaN);
|
|
44
|
-
expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { toDate } from './index';
|
|
3
|
-
|
|
4
|
-
describe('toDate', () => {
|
|
5
|
-
describe('date argument', () => {
|
|
6
|
-
it('returns a clone of the given date', () => {
|
|
7
|
-
const date = new Date(2016, 0, 1);
|
|
8
|
-
const dateClone = toDate(date);
|
|
9
|
-
dateClone.setFullYear(2015);
|
|
10
|
-
expect(date).toEqual(new Date(2016, 0, 1));
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
describe('timestamp argument', () => {
|
|
15
|
-
it('creates a date from the timestamp', () => {
|
|
16
|
-
const timestamp = new Date(2016, 0, 1, 23, 30, 45, 123).getTime();
|
|
17
|
-
const result = toDate(timestamp);
|
|
18
|
-
expect(result).toEqual(new Date(2016, 0, 1, 23, 30, 45, 123));
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
describe('invalid argument', () => {
|
|
23
|
-
it('returns Invalid Date if argument is NaN', () => {
|
|
24
|
-
const result = toDate(NaN);
|
|
25
|
-
expect(result instanceof Date).toBe(true);
|
|
26
|
-
expect(isNaN(result.getTime())).toBe(true);
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
it('returns Invalid Date if argument is Invalid Date', () => {
|
|
30
|
-
const result = toDate(new Date(NaN));
|
|
31
|
-
expect(result instanceof Date).toBe(true);
|
|
32
|
-
expect(isNaN(result.getTime())).toBe(true);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { weeksToDays } from './index';
|
|
3
|
-
|
|
4
|
-
describe('weeksToDays', () => {
|
|
5
|
-
it('converts weeks to days', () => {
|
|
6
|
-
expect(weeksToDays(1)).toBe(7);
|
|
7
|
-
expect(weeksToDays(2)).toBe(14);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('uses floor rounding', () => {
|
|
11
|
-
expect(weeksToDays(1.5)).toBe(10);
|
|
12
|
-
expect(weeksToDays(0.1)).toBe(0);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('handles border values', () => {
|
|
16
|
-
expect(weeksToDays(1.5)).toBe(10);
|
|
17
|
-
expect(weeksToDays(0)).toBe(0);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('properly works with negative numbers', () => {
|
|
21
|
-
expect(weeksToDays(1.23)).toBe(8);
|
|
22
|
-
expect(weeksToDays(-1.23)).toBe(-8);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { yearsToDays } from './index';
|
|
3
|
-
|
|
4
|
-
describe('yearsToDays', () => {
|
|
5
|
-
it('converts years to days', () => {
|
|
6
|
-
expect(yearsToDays(1)).toBe(365);
|
|
7
|
-
expect(yearsToDays(2)).toBe(730);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('uses floor rounding', () => {
|
|
11
|
-
expect(yearsToDays(1.7)).toBe(620);
|
|
12
|
-
expect(yearsToDays(0.1)).toBe(36);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('handles border values', () => {
|
|
16
|
-
expect(yearsToDays(1.5)).toBe(547);
|
|
17
|
-
expect(yearsToDays(0)).toBe(0);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('properly works with negative numbers', () => {
|
|
21
|
-
expect(yearsToDays(1.23)).toBe(449);
|
|
22
|
-
expect(yearsToDays(-1.23)).toBe(-449);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { yearsToMonths } from './index';
|
|
3
|
-
|
|
4
|
-
describe('yearsToMonths', () => {
|
|
5
|
-
it('converts years to months', () => {
|
|
6
|
-
expect(yearsToMonths(1)).toBe(12);
|
|
7
|
-
expect(yearsToMonths(2)).toBe(24);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('uses floor rounding', () => {
|
|
11
|
-
expect(yearsToMonths(1.7)).toBe(20);
|
|
12
|
-
expect(yearsToMonths(0.1)).toBe(1);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('handles border values', () => {
|
|
16
|
-
expect(yearsToMonths(1.5)).toBe(18);
|
|
17
|
-
expect(yearsToMonths(0)).toBe(0);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('properly works with negative numbers', () => {
|
|
21
|
-
expect(yearsToMonths(1.23)).toBe(14);
|
|
22
|
-
expect(yearsToMonths(-1.23)).toBe(-14);
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { yearsToQuarters } from './index';
|
|
3
|
-
|
|
4
|
-
describe('yearsToQuarters', () => {
|
|
5
|
-
it('converts years to quarters', () => {
|
|
6
|
-
expect(yearsToQuarters(1)).toBe(4);
|
|
7
|
-
expect(yearsToQuarters(2)).toBe(8);
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('uses floor rounding', () => {
|
|
11
|
-
expect(yearsToQuarters(1.3)).toBe(5);
|
|
12
|
-
expect(yearsToQuarters(0.2)).toBe(0);
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
it('handles border values', () => {
|
|
16
|
-
expect(yearsToQuarters(1.5)).toBe(6);
|
|
17
|
-
expect(yearsToQuarters(0)).toBe(0);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('properly works with negative numbers', () => {
|
|
21
|
-
expect(yearsToQuarters(1.23)).toBe(4);
|
|
22
|
-
expect(yearsToQuarters(-1.23)).toBe(-4);
|
|
23
|
-
});
|
|
24
|
-
});
|