@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.
Files changed (250) hide show
  1. package/README.md +0 -2
  2. package/package.json +1 -1
  3. package/src/date-fns/_lib/addLeadingZeros/test.mts +0 -12
  4. package/src/date-fns/_lib/getRoundingMethod/test.mts +0 -50
  5. package/src/date-fns/_lib/getTimezoneOffsetInMilliseconds/test.mts +0 -25
  6. package/src/date-fns/add/test.mts +0 -95
  7. package/src/date-fns/addBusinessDays/test.mts +0 -78
  8. package/src/date-fns/addDays/test.mts +0 -90
  9. package/src/date-fns/addHours/test.mts +0 -30
  10. package/src/date-fns/addISOWeekYears/test.mts +0 -41
  11. package/src/date-fns/addMilliseconds/test.mts +0 -30
  12. package/src/date-fns/addMinutes/test.mts +0 -30
  13. package/src/date-fns/addMonths/test.mts +0 -123
  14. package/src/date-fns/addQuarters/test.mts +0 -47
  15. package/src/date-fns/addSeconds/test.mts +0 -30
  16. package/src/date-fns/addWeeks/test.mts +0 -30
  17. package/src/date-fns/addYears/test.mts +0 -46
  18. package/src/date-fns/areIntervalsOverlapping/test.mts +0 -231
  19. package/src/date-fns/clamp/test.mts +0 -36
  20. package/src/date-fns/closestIndexTo/test.mts +0 -51
  21. package/src/date-fns/closestTo/test.mts +0 -49
  22. package/src/date-fns/compareAsc/test.mts +0 -58
  23. package/src/date-fns/compareDesc/test.mts +0 -58
  24. package/src/date-fns/constructFrom/test.mts +0 -47
  25. package/src/date-fns/constructNow/test.mts +0 -37
  26. package/src/date-fns/daysToWeeks/test.mts +0 -36
  27. package/src/date-fns/differenceInBusinessDays/test.mts +0 -102
  28. package/src/date-fns/differenceInCalendarDays/test.mts +0 -206
  29. package/src/date-fns/differenceInCalendarISOWeekYears/test.mts +0 -93
  30. package/src/date-fns/differenceInCalendarISOWeeks/test.mts +0 -89
  31. package/src/date-fns/differenceInCalendarMonths/test.mts +0 -82
  32. package/src/date-fns/differenceInCalendarQuarters/test.mts +0 -82
  33. package/src/date-fns/differenceInCalendarWeeks/test.mts +0 -136
  34. package/src/date-fns/differenceInCalendarYears/test.mts +0 -82
  35. package/src/date-fns/differenceInDays/test.mts +0 -175
  36. package/src/date-fns/differenceInHours/test.mts +0 -122
  37. package/src/date-fns/differenceInISOWeekYears/test.mts +0 -93
  38. package/src/date-fns/differenceInMilliseconds/test.mts +0 -53
  39. package/src/date-fns/differenceInMinutes/test.mts +0 -123
  40. package/src/date-fns/differenceInMonths/test.mts +0 -121
  41. package/src/date-fns/differenceInQuarters/test.mts +0 -109
  42. package/src/date-fns/differenceInSeconds/test.mts +0 -144
  43. package/src/date-fns/differenceInWeeks/test.mts +0 -111
  44. package/src/date-fns/differenceInYears/test.mts +0 -97
  45. package/src/date-fns/eachDayOfInterval/test.mts +0 -164
  46. package/src/date-fns/eachHourOfInterval/test.mts +0 -154
  47. package/src/date-fns/eachMinuteOfInterval/test.mts +0 -159
  48. package/src/date-fns/eachMonthOfInterval/test.mts +0 -151
  49. package/src/date-fns/eachQuarterOfInterval/test.mts +0 -136
  50. package/src/date-fns/eachWeekOfInterval/test.mts +0 -177
  51. package/src/date-fns/eachWeekendOfInterval/test.mts +0 -67
  52. package/src/date-fns/eachWeekendOfMonth/test.mts +0 -23
  53. package/src/date-fns/eachWeekendOfYear/test.mts +0 -18
  54. package/src/date-fns/eachYearOfInterval/test.mts +0 -136
  55. package/src/date-fns/endOfDay/test.mts +0 -27
  56. package/src/date-fns/endOfDecade/test.mts +0 -32
  57. package/src/date-fns/endOfHour/test.mts +0 -26
  58. package/src/date-fns/endOfISOWeek/test.mts +0 -27
  59. package/src/date-fns/endOfISOWeekYear/test.mts +0 -36
  60. package/src/date-fns/endOfMinute/test.mts +0 -26
  61. package/src/date-fns/endOfMonth/test.mts +0 -41
  62. package/src/date-fns/endOfQuarter/test.mts +0 -27
  63. package/src/date-fns/endOfSecond/test.mts +0 -26
  64. package/src/date-fns/endOfToday/test.mts +0 -19
  65. package/src/date-fns/endOfTomorrow/test.mts +0 -29
  66. package/src/date-fns/endOfWeek/test.mts +0 -86
  67. package/src/date-fns/endOfYear/test.mts +0 -27
  68. package/src/date-fns/endOfYesterday/test.mts +0 -29
  69. package/src/date-fns/format/test.mts +0 -909
  70. package/src/date-fns/formatDistance/test.mts +0 -189
  71. package/src/date-fns/formatDistanceStrict/test.mts +0 -329
  72. package/src/date-fns/formatDistanceToNow/test.mts +0 -196
  73. package/src/date-fns/formatDistanceToNowStrict/test.mts +0 -293
  74. package/src/date-fns/formatDuration/test.mts +0 -74
  75. package/src/date-fns/formatISO/test.mts +0 -55
  76. package/src/date-fns/formatISO9075/test.mts +0 -35
  77. package/src/date-fns/formatISODuration/test.mts +0 -75
  78. package/src/date-fns/formatRFC3339/test.mts +0 -41
  79. package/src/date-fns/formatRFC7231/test.mts +0 -18
  80. package/src/date-fns/formatRelative/test.mts +0 -92
  81. package/src/date-fns/fp/_lib/convertToFP/test.mts +0 -114
  82. package/src/date-fns/fromUnixTime/test.mts +0 -14
  83. package/src/date-fns/getDate/test.mts +0 -19
  84. package/src/date-fns/getDay/test.mts +0 -19
  85. package/src/date-fns/getDayOfYear/test.mts +0 -27
  86. package/src/date-fns/getDaysInMonth/test.mts +0 -33
  87. package/src/date-fns/getDaysInYear/test.mts +0 -35
  88. package/src/date-fns/getDecade/test.mts +0 -24
  89. package/src/date-fns/getDefaultOptions/test.mts +0 -58
  90. package/src/date-fns/getHours/test.mts +0 -19
  91. package/src/date-fns/getISODay/test.mts +0 -24
  92. package/src/date-fns/getISOWeek/test.mts +0 -54
  93. package/src/date-fns/getISOWeekYear/test.mts +0 -27
  94. package/src/date-fns/getISOWeeksInYear/test.mts +0 -37
  95. package/src/date-fns/getMilliseconds/test.mts +0 -19
  96. package/src/date-fns/getMinutes/test.mts +0 -19
  97. package/src/date-fns/getMonth/test.mts +0 -19
  98. package/src/date-fns/getOverlappingDaysInIntervals/test.mts +0 -243
  99. package/src/date-fns/getQuarter/test.mts +0 -19
  100. package/src/date-fns/getSeconds/test.mts +0 -19
  101. package/src/date-fns/getTime/test.mts +0 -21
  102. package/src/date-fns/getUnixTime/test.mts +0 -26
  103. package/src/date-fns/getWeek/test.mts +0 -56
  104. package/src/date-fns/getWeekOfMonth/test.mts +0 -75
  105. package/src/date-fns/getWeekYear/test.mts +0 -49
  106. package/src/date-fns/getWeeksInMonth/test.mts +0 -51
  107. package/src/date-fns/getYear/test.mts +0 -19
  108. package/src/date-fns/hoursToMilliseconds/test.mts +0 -23
  109. package/src/date-fns/hoursToMinutes/test.mts +0 -25
  110. package/src/date-fns/hoursToSeconds/test.mts +0 -25
  111. package/src/date-fns/interval/test.mts +0 -42
  112. package/src/date-fns/intervalToDuration/test.mts +0 -235
  113. package/src/date-fns/intlFormat/test.mts +0 -88
  114. package/src/date-fns/intlFormatDistance/test.mts +0 -588
  115. package/src/date-fns/isAfter/test.mts +0 -39
  116. package/src/date-fns/isBefore/test.mts +0 -39
  117. package/src/date-fns/isDate/test.mts +0 -72
  118. package/src/date-fns/isEqual/test.mts +0 -34
  119. package/src/date-fns/isExists/test.mts +0 -14
  120. package/src/date-fns/isFirstDayOfMonth/test.mts +0 -25
  121. package/src/date-fns/isFriday/test.mts +0 -24
  122. package/src/date-fns/isFuture/test.mts +0 -34
  123. package/src/date-fns/isLastDayOfMonth/test.mts +0 -25
  124. package/src/date-fns/isLeapYear/test.mts +0 -35
  125. package/src/date-fns/isMatch/test.mts +0 -27
  126. package/src/date-fns/isMonday/test.mts +0 -24
  127. package/src/date-fns/isPast/test.mts +0 -34
  128. package/src/date-fns/isSameDay/test.mts +0 -37
  129. package/src/date-fns/isSameHour/test.mts +0 -37
  130. package/src/date-fns/isSameISOWeek/test.mts +0 -34
  131. package/src/date-fns/isSameISOWeekYear/test.mts +0 -48
  132. package/src/date-fns/isSameMinute/test.mts +0 -37
  133. package/src/date-fns/isSameMonth/test.mts +0 -34
  134. package/src/date-fns/isSameQuarter/test.mts +0 -34
  135. package/src/date-fns/isSameSecond/test.mts +0 -43
  136. package/src/date-fns/isSameWeek/test.mts +0 -58
  137. package/src/date-fns/isSameYear/test.mts +0 -34
  138. package/src/date-fns/isSaturday/test.mts +0 -24
  139. package/src/date-fns/isSunday/test.mts +0 -24
  140. package/src/date-fns/isThisHour/test.mts +0 -34
  141. package/src/date-fns/isThisISOWeek/test.mts +0 -34
  142. package/src/date-fns/isThisMinute/test.mts +0 -34
  143. package/src/date-fns/isThisMonth/test.mts +0 -34
  144. package/src/date-fns/isThisQuarter/test.mts +0 -34
  145. package/src/date-fns/isThisSecond/test.mts +0 -34
  146. package/src/date-fns/isThisWeek/test.mts +0 -39
  147. package/src/date-fns/isThisYear/test.mts +0 -34
  148. package/src/date-fns/isThursday/test.mts +0 -24
  149. package/src/date-fns/isToday/test.mts +0 -34
  150. package/src/date-fns/isTomorrow/test.mts +0 -34
  151. package/src/date-fns/isTuesday/test.mts +0 -24
  152. package/src/date-fns/isValid/test.mts +0 -24
  153. package/src/date-fns/isWednesday/test.mts +0 -24
  154. package/src/date-fns/isWeekend/test.mts +0 -24
  155. package/src/date-fns/isWithinInterval/test.mts +0 -92
  156. package/src/date-fns/isYesterday/test.mts +0 -34
  157. package/src/date-fns/lastDayOfDecade/test.mts +0 -32
  158. package/src/date-fns/lastDayOfISOWeek/test.mts +0 -27
  159. package/src/date-fns/lastDayOfISOWeekYear/test.mts +0 -36
  160. package/src/date-fns/lastDayOfMonth/test.mts +0 -41
  161. package/src/date-fns/lastDayOfQuarter/test.mts +0 -27
  162. package/src/date-fns/lastDayOfWeek/test.mts +0 -86
  163. package/src/date-fns/lastDayOfYear/test.mts +0 -27
  164. package/src/date-fns/lightFormat/test.mts +0 -126
  165. package/src/date-fns/max/test.mts +0 -34
  166. package/src/date-fns/milliseconds/test.mts +0 -62
  167. package/src/date-fns/millisecondsToHours/test.mts +0 -24
  168. package/src/date-fns/millisecondsToMinutes/test.mts +0 -24
  169. package/src/date-fns/millisecondsToSeconds/test.mts +0 -24
  170. package/src/date-fns/min/test.mts +0 -34
  171. package/src/date-fns/minutesToHours/test.mts +0 -24
  172. package/src/date-fns/minutesToMilliseconds/test.mts +0 -23
  173. package/src/date-fns/minutesToSeconds/test.mts +0 -23
  174. package/src/date-fns/monthsToQuarters/test.mts +0 -24
  175. package/src/date-fns/monthsToYears/test.mts +0 -24
  176. package/src/date-fns/nextDay/test.mts +0 -44
  177. package/src/date-fns/nextFriday/test.mts +0 -24
  178. package/src/date-fns/nextMonday/test.mts +0 -24
  179. package/src/date-fns/nextSaturday/test.mts +0 -24
  180. package/src/date-fns/nextSunday/test.mts +0 -24
  181. package/src/date-fns/nextThursday/test.mts +0 -24
  182. package/src/date-fns/nextTuesday/test.mts +0 -23
  183. package/src/date-fns/nextWednesday/test.mts +0 -24
  184. package/src/date-fns/parse/test.mts +0 -2202
  185. package/src/date-fns/parseISO/test.mts +0 -362
  186. package/src/date-fns/parseJSON/test.mts +0 -129
  187. package/src/date-fns/previousDay/test.mts +0 -42
  188. package/src/date-fns/previousFriday/test.mts +0 -22
  189. package/src/date-fns/previousMonday/test.mts +0 -22
  190. package/src/date-fns/previousSaturday/test.mts +0 -22
  191. package/src/date-fns/previousSunday/test.mts +0 -22
  192. package/src/date-fns/previousThursday/test.mts +0 -22
  193. package/src/date-fns/previousTuesday/test.mts +0 -22
  194. package/src/date-fns/previousWednesday/test.mts +0 -22
  195. package/src/date-fns/quartersToMonths/test.mts +0 -24
  196. package/src/date-fns/quartersToYears/test.mts +0 -24
  197. package/src/date-fns/roundToNearestHours/test.mts +0 -200
  198. package/src/date-fns/roundToNearestMinutes/test.mts +0 -208
  199. package/src/date-fns/secondsToHours/test.mts +0 -24
  200. package/src/date-fns/secondsToMilliseconds/test.mts +0 -14
  201. package/src/date-fns/secondsToMinutes/test.mts +0 -24
  202. package/src/date-fns/set/test.mts +0 -121
  203. package/src/date-fns/setDate/test.mts +0 -30
  204. package/src/date-fns/setDay/test.mts +0 -112
  205. package/src/date-fns/setDayOfYear/test.mts +0 -30
  206. package/src/date-fns/setDefaultOptions/test.mts +0 -498
  207. package/src/date-fns/setHours/test.mts +0 -30
  208. package/src/date-fns/setISODay/test.mts +0 -59
  209. package/src/date-fns/setISOWeek/test.mts +0 -41
  210. package/src/date-fns/setISOWeekYear/test.mts +0 -50
  211. package/src/date-fns/setMilliseconds/test.mts +0 -30
  212. package/src/date-fns/setMinutes/test.mts +0 -30
  213. package/src/date-fns/setMonth/test.mts +0 -46
  214. package/src/date-fns/setQuarter/test.mts +0 -46
  215. package/src/date-fns/setSeconds/test.mts +0 -30
  216. package/src/date-fns/setWeek/test.mts +0 -63
  217. package/src/date-fns/setWeekYear/test.mts +0 -72
  218. package/src/date-fns/setYear/test.mts +0 -30
  219. package/src/date-fns/startOfDay/test.mts +0 -27
  220. package/src/date-fns/startOfDecade/test.mts +0 -32
  221. package/src/date-fns/startOfHour/test.mts +0 -27
  222. package/src/date-fns/startOfISOWeek/test.mts +0 -27
  223. package/src/date-fns/startOfISOWeekYear/test.mts +0 -41
  224. package/src/date-fns/startOfMinute/test.mts +0 -27
  225. package/src/date-fns/startOfMonth/test.mts +0 -27
  226. package/src/date-fns/startOfQuarter/test.mts +0 -27
  227. package/src/date-fns/startOfSecond/test.mts +0 -27
  228. package/src/date-fns/startOfToday/test.mts +0 -19
  229. package/src/date-fns/startOfTomorrow/test.mts +0 -29
  230. package/src/date-fns/startOfWeek/test.mts +0 -86
  231. package/src/date-fns/startOfWeekYear/test.mts +0 -58
  232. package/src/date-fns/startOfYear/test.mts +0 -38
  233. package/src/date-fns/startOfYesterday/test.mts +0 -29
  234. package/src/date-fns/sub/test.mts +0 -83
  235. package/src/date-fns/subBusinessDays/test.mts +0 -40
  236. package/src/date-fns/subDays/test.mts +0 -30
  237. package/src/date-fns/subHours/test.mts +0 -30
  238. package/src/date-fns/subISOWeekYears/test.mts +0 -41
  239. package/src/date-fns/subMilliseconds/test.mts +0 -30
  240. package/src/date-fns/subMinutes/test.mts +0 -30
  241. package/src/date-fns/subMonths/test.mts +0 -47
  242. package/src/date-fns/subQuarters/test.mts +0 -47
  243. package/src/date-fns/subSeconds/test.mts +0 -30
  244. package/src/date-fns/subWeeks/test.mts +0 -30
  245. package/src/date-fns/subYears/test.mts +0 -46
  246. package/src/date-fns/toDate/test.mts +0 -35
  247. package/src/date-fns/weeksToDays/test.mts +0 -24
  248. package/src/date-fns/yearsToDays/test.mts +0 -24
  249. package/src/date-fns/yearsToMonths/test.mts +0 -24
  250. 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
- });