@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,136 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { eachYearOfInterval } from './index';
3
-
4
- describe('eachYearOfInterval', () => {
5
- it('returns an array with starts of days from the day of the start date to the day of the end date', () => {
6
- const result = eachYearOfInterval({
7
- start: new Date(2012, 9 /* Oct */, 6),
8
- end: new Date(2017, 9 /* Oct */, 12),
9
- });
10
- expect(result).toEqual([
11
- new Date(2012, 0 /* Jan */, 1),
12
- new Date(2013, 0 /* Jan */, 1),
13
- new Date(2014, 0 /* Jan */, 1),
14
- new Date(2015, 0 /* Jan */, 1),
15
- new Date(2016, 0 /* Jan */, 1),
16
- new Date(2017, 0 /* Jan */, 1),
17
- ]);
18
- });
19
-
20
- it('accepts timestamps', () => {
21
- const result = eachYearOfInterval({
22
- start: new Date(2012, 9 /* Oct */, 6).getTime(),
23
- end: new Date(2017, 9 /* Oct */, 12).getTime(),
24
- });
25
- expect(result).toEqual([
26
- new Date(2012, 0 /* Jan */, 1),
27
- new Date(2013, 0 /* Jan */, 1),
28
- new Date(2014, 0 /* Jan */, 1),
29
- new Date(2015, 0 /* Jan */, 1),
30
- new Date(2016, 0 /* Jan */, 1),
31
- new Date(2017, 0 /* Jan */, 1),
32
- ]);
33
- });
34
-
35
- it('handles the dates that are not starts of days', () => {
36
- const result = eachYearOfInterval({
37
- start: new Date(2012, 9 /* Oct */, 6, 6, 35),
38
- end: new Date(2017, 9 /* Oct */, 12, 22, 15),
39
- });
40
- expect(result).toEqual([
41
- new Date(2012, 0 /* Jan */, 1),
42
- new Date(2013, 0 /* Jan */, 1),
43
- new Date(2014, 0 /* Jan */, 1),
44
- new Date(2015, 0 /* Jan */, 1),
45
- new Date(2016, 0 /* Jan */, 1),
46
- new Date(2017, 0 /* Jan */, 1),
47
- ]);
48
- });
49
-
50
- it('returns one year if the both arguments are on the same year', () => {
51
- const result = eachYearOfInterval({
52
- start: new Date(2014, 9 /* Oct */, 6, 14),
53
- end: new Date(2014, 9 /* Oct */, 6, 15),
54
- });
55
- expect(result).toEqual([new Date(2014, 0 /* Jan */, 1)]);
56
- });
57
-
58
- it('returns one year if the both arguments are the same', () => {
59
- const result = eachYearOfInterval({
60
- start: new Date(2014, 9 /* Oct */, 6, 14),
61
- end: new Date(2014, 9 /* Oct */, 6, 14),
62
- });
63
- expect(result).toEqual([new Date(2014, 0 /* Jan */, 1)]);
64
- });
65
-
66
- it('returns reversed array if the start date is after the end date', () => {
67
- const result = eachYearOfInterval({
68
- start: new Date(2017, 9 /* Oct */, 12),
69
- end: new Date(2012, 9 /* Oct */, 6),
70
- });
71
- expect(result).toEqual([
72
- new Date(2017, 0 /* Jan */, 1),
73
- new Date(2016, 0 /* Jan */, 1),
74
- new Date(2015, 0 /* Jan */, 1),
75
- new Date(2014, 0 /* Jan */, 1),
76
- new Date(2013, 0 /* Jan */, 1),
77
- new Date(2012, 0 /* Jan */, 1),
78
- ]);
79
- });
80
-
81
- it('returns an empty array if the start date is `Invalid Date`', () => {
82
- const result = eachYearOfInterval({
83
- start: new Date(NaN),
84
- end: new Date(2014, 9 /* Oct */, 6),
85
- });
86
- expect(result).toEqual([]);
87
- });
88
-
89
- it('returns an empty array if the end date is `Invalid Date`', () => {
90
- const result = eachYearOfInterval({
91
- start: new Date(2014, 9 /* Oct */, 12),
92
- end: new Date(NaN),
93
- });
94
- expect(result).toEqual([]);
95
- });
96
-
97
- it('returns an empty array if both of the properties are `Invalid Date`', () => {
98
- const result = eachYearOfInterval({
99
- start: new Date(NaN),
100
- end: new Date(NaN),
101
- });
102
- expect(result).toEqual([]);
103
- });
104
-
105
- describe('options.step', () => {
106
- const interval = {
107
- start: new Date(2012, 9 /* Oct */, 6),
108
- end: new Date(2017, 9 /* Oct */, 12),
109
- };
110
-
111
- it('returns an array with starts of days from the day of the start date to the day of the end date with the given step', () => {
112
- const result = eachYearOfInterval(interval, { step: 3 });
113
- expect(result).toEqual([new Date(2012, 0 /* Jan */, 1), new Date(2015, 0 /* Jan */, 1)]);
114
- });
115
-
116
- it('returns reversed array if `options.step` is negative', () => {
117
- const result = eachYearOfInterval(interval, { step: -3 });
118
- expect(result).toEqual([new Date(2015, 0 /* Jan */, 1), new Date(2012, 0 /* Jan */, 1)]);
119
- });
120
-
121
- it('reverses array twice if `options.step` is negative and the interval is negative too', () => {
122
- const result = eachYearOfInterval({ start: interval.end, end: interval.start }, { step: -3 });
123
- expect(result).toEqual([new Date(2012, 0 /* Jan */, 1), new Date(2015, 0 /* Jan */, 1)]);
124
- });
125
-
126
- it('returns empty array if `options.step` is less than 1', () => {
127
- const result = eachYearOfInterval(interval, { step: 0 });
128
- expect(result).toEqual([]);
129
- });
130
-
131
- it('returns empty array if `options.step` is NaN', () => {
132
- const result = eachYearOfInterval(interval, { step: NaN });
133
- expect(result).toEqual([]);
134
- });
135
- });
136
- });
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfDay } from './index';
3
-
4
- describe('endOfDay', () => {
5
- it('returns the date with the time set to 23:59:59.999', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfDay(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 2, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = endOfDay(date);
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 2, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- endOfDay(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = endOfDay(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,32 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfDecade } from './index';
3
-
4
- describe('endOfDecade', () => {
5
- it('returns the date with the time set to 23:59:59.999 and the date set to the last millisecond of a decade', () => {
6
- const date = new Date(2017, 3 /* Apr */, 10, 0, 0, 0);
7
- const result = endOfDecade(date);
8
- expect(result).toEqual(new Date(2019, 11 /* Dec */, 31, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2007, 9 /* Oct */, 10, 0, 0, 0).getTime();
13
- const result = endOfDecade(date);
14
- expect(result).toEqual(new Date(2009, 11 /* Dec */, 31, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2038, 0 /* Jan */, 19, 3, 14, 8);
19
- endOfDecade(date);
20
- expect(date).toEqual(new Date(2038, 0 /* Jan */, 19, 3, 14, 8));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = endOfDecade(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
-
28
- it('properly works with negative numbers', () => {
29
- expect(endOfDecade(new Date(2001, 0, 1))).toEqual(new Date(2009, 11, 31, 23, 59, 59, 999));
30
- expect(endOfDecade(new Date(-2009, 0, 1))).toEqual(new Date(-2001, 11, 31, 23, 59, 59, 999));
31
- });
32
- });
@@ -1,26 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfHour } from './index';
3
-
4
- describe('endOfHour', () => {
5
- it('returns the date with the time set to the last millisecond before an hour ends', () => {
6
- const date = new Date(2014, 11, 1, 22, 15);
7
- const result = endOfHour(date);
8
- expect(result).toEqual(new Date(2014, 11, 1, 22, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const result = endOfHour(new Date(2014, 11, 1, 22, 15).getTime());
13
- expect(result).toEqual(new Date(2014, 11, 1, 22, 59, 59, 999));
14
- });
15
-
16
- it('does not mutate the original date', () => {
17
- const date = new Date(2014, 11, 1, 22, 15);
18
- endOfHour(date);
19
- expect(date).toEqual(new Date(2014, 11, 1, 22, 15));
20
- });
21
-
22
- it('returns `Invalid Date` if the given date is invalid', () => {
23
- const result = endOfHour(new Date(NaN));
24
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
25
- });
26
- });
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfISOWeek } from './index';
3
-
4
- describe('endOfISOWeek', () => {
5
- it('returns the date with the time set to 23:59:59:999 and the date set to the last day of an ISO week', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfISOWeek(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 1 /* Feb */, 11, 11, 55, 0).getTime();
13
- const result = endOfISOWeek(date);
14
- expect(result).toEqual(new Date(2014, 1 /* Feb */, 16, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- endOfISOWeek(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = endOfISOWeek(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,36 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfISOWeekYear } from './index';
3
-
4
- describe('endOfISOWeekYear', () => {
5
- it('returns the date with the time set to 23:59:59.999 and the date set to the last day of an ISO year', () => {
6
- const result = endOfISOWeekYear(new Date(2009, 0 /* Jan */, 1, 16, 0));
7
- expect(result).toEqual(new Date(2010, 0 /* Jan */, 3, 23, 59, 59, 999));
8
- });
9
-
10
- it('accepts a timestamp', () => {
11
- const result = endOfISOWeekYear(new Date(2005, 0 /* Jan */, 1, 6, 0).getTime());
12
- expect(result).toEqual(new Date(2005, 0 /* Jan */, 2, 23, 59, 59, 999));
13
- });
14
-
15
- it('does not mutate the original date', () => {
16
- const date = new Date(2014, 6 /* Jul */, 2);
17
- endOfISOWeekYear(date);
18
- expect(date).toEqual(new Date(2014, 6 /* Jul */, 2));
19
- });
20
-
21
- it('handles dates before 100 AD', () => {
22
- const initialDate = new Date(0);
23
- initialDate.setFullYear(5, 0 /* Jan */, 4);
24
- initialDate.setHours(16, 0, 0, 0);
25
- const expectedResult = new Date(0);
26
- expectedResult.setFullYear(6, 0 /* Jan */, 1);
27
- expectedResult.setHours(23, 59, 59, 999);
28
- const result = endOfISOWeekYear(initialDate);
29
- expect(result).toEqual(expectedResult);
30
- });
31
-
32
- it('returns `Invalid Date` if the given date is invalid', () => {
33
- const result = endOfISOWeekYear(new Date(NaN));
34
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
35
- });
36
- });
@@ -1,26 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfMinute } from './index';
3
-
4
- describe('endOfMinute', () => {
5
- it('returns the date with the time set to the last millisecond before a minute ends', () => {
6
- const date = new Date(2014, 11, 1, 22, 15);
7
- const result = endOfMinute(date);
8
- expect(result).toEqual(new Date(2014, 11, 1, 22, 15, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const result = endOfMinute(new Date(2014, 11, 1, 22, 15).getTime());
13
- expect(result).toEqual(new Date(2014, 11, 1, 22, 15, 59, 999));
14
- });
15
-
16
- it('does not mutate the original date', () => {
17
- const date = new Date(2014, 11, 1, 22, 15);
18
- endOfMinute(date);
19
- expect(date).toEqual(new Date(2014, 11, 1, 22, 15));
20
- });
21
-
22
- it('returns `Invalid Date` if the given date is invalid', () => {
23
- const result = endOfMinute(new Date(NaN));
24
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
25
- });
26
- });
@@ -1,41 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfMonth } from './index';
3
-
4
- describe('endOfMonth', () => {
5
- it('returns the date with the time set to 23:59:59.999 and the date set to the last day of a month', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfMonth(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = endOfMonth(date);
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- endOfMonth(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- describe('edge cases', () => {
24
- it('works for last month in year', () => {
25
- const date = new Date(2014, 11 /* Dec */, 1, 0, 0, 0);
26
- const result = endOfMonth(date);
27
- expect(result).toEqual(new Date(2014, 11 /* Dec */, 31, 23, 59, 59, 999));
28
- });
29
-
30
- it('works for last day of month', () => {
31
- const date = new Date(2014, 9 /* Oct */, 31);
32
- const result = endOfMonth(date);
33
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 31, 23, 59, 59, 999));
34
- });
35
- });
36
-
37
- it('returns `Invalid Date` if the given date is invalid', () => {
38
- const result = endOfMonth(new Date(NaN));
39
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
40
- });
41
- });
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfQuarter } from './index';
3
-
4
- describe('endOfQuarter', () => {
5
- it('returns the date with the time set to 23:59:59.999 and the date set to the last day of a quarter', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfQuarter(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = endOfQuarter(date);
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- endOfQuarter(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = endOfQuarter(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,26 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfSecond } from './index';
3
-
4
- describe('endOfSecond', () => {
5
- it('returns the date with the time set to the last millisecond before a second ends', () => {
6
- const date = new Date(2014, 11, 1, 22, 15, 30);
7
- const result = endOfSecond(date);
8
- expect(result).toEqual(new Date(2014, 11, 1, 22, 15, 30, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const result = endOfSecond(new Date(2014, 11, 1, 22, 15, 45).getTime());
13
- expect(result).toEqual(new Date(2014, 11, 1, 22, 15, 45, 999));
14
- });
15
-
16
- it('does not mutate the original date', () => {
17
- const date = new Date(2014, 11, 1, 22, 15, 15, 300);
18
- endOfSecond(date);
19
- expect(date).toEqual(new Date(2014, 11, 1, 22, 15, 15, 300));
20
- });
21
-
22
- it('returns `Invalid Date` if the given date is invalid', () => {
23
- const result = endOfSecond(new Date(NaN));
24
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
25
- });
26
- });
@@ -1,19 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
2
- import sinon from 'sinon';
3
- import { endOfToday } from './index';
4
-
5
- describe('endOfToday', () => {
6
- let clock: sinon.SinonFakeTimers;
7
- beforeEach(() => {
8
- clock = sinon.useFakeTimers(new Date(2014, 8 /* Sep */, 25, 14, 30, 45, 500).getTime());
9
- });
10
-
11
- afterEach(() => {
12
- clock.restore();
13
- });
14
-
15
- it('returns the current date with the time settled to 23:59:59.999', () => {
16
- const result = endOfToday();
17
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 25, 23, 59, 59, 999));
18
- });
19
- });
@@ -1,29 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import sinon from 'sinon';
3
- import { endOfTomorrow } from './index';
4
-
5
- describe('endOfTomorrow', () => {
6
- it('returns tomorrow with the time settled to 23:59:59.999', () => {
7
- const clock = sinon.useFakeTimers(new Date(2014, 8 /* Sep */, 25, 14, 30, 45, 500).getTime());
8
-
9
- const result = endOfTomorrow();
10
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 26, 23, 59, 59, 999));
11
-
12
- clock.restore();
13
- });
14
-
15
- it('handles dates before 100 AD', () => {
16
- const now = new Date(0);
17
- now.setFullYear(14, 8 /* Sep */, 25);
18
- now.setHours(14, 30, 45, 500);
19
- const clock = sinon.useFakeTimers(now.getTime());
20
-
21
- const expectedResult = new Date(0);
22
- expectedResult.setFullYear(14, 8 /* Sep */, 26);
23
- expectedResult.setHours(23, 59, 59, 999);
24
- const result = endOfTomorrow();
25
- expect(result).toEqual(expectedResult);
26
-
27
- clock.restore();
28
- });
29
- });
@@ -1,86 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfWeek } from './index';
3
-
4
- describe('endOfWeek', () => {
5
- it('returns the date with the time set to 23:59:59:999 and the date set to the last day of a week', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfWeek(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 6, 23, 59, 59, 999));
9
- });
10
-
11
- it('allows to specify which day is the first day of the week', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
13
- const result = endOfWeek(date, { weekStartsOn: 1 });
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999));
15
- });
16
-
17
- it('allows to specify which day is the first day of the week in locale', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- const result = endOfWeek(date, {
20
- locale: {
21
- options: { weekStartsOn: 1 },
22
- },
23
- });
24
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999));
25
- });
26
-
27
- it('`options.weekStartsOn` overwrites the first day of the week specified in locale', () => {
28
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
29
- const result = endOfWeek(date, {
30
- weekStartsOn: 1,
31
- locale: {
32
- options: { weekStartsOn: 0 },
33
- },
34
- });
35
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7, 23, 59, 59, 999));
36
- });
37
-
38
- it('accepts a timestamp', () => {
39
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
40
- const result = endOfWeek(date);
41
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 6, 23, 59, 59, 999));
42
- });
43
-
44
- it('does not mutate the original date', () => {
45
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
46
- endOfWeek(date);
47
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
48
- });
49
-
50
- describe('edge cases', () => {
51
- describe('when the given day is before the start of a week', () => {
52
- it('it returns the end of a week', () => {
53
- const date = new Date(2014, 9 /* Oct */, 6);
54
- const result = endOfWeek(date, { weekStartsOn: 3 });
55
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 7, 23, 59, 59, 999));
56
- });
57
- });
58
-
59
- describe('when the given day is the start of a week', () => {
60
- it('it returns the end of a week', () => {
61
- const date = new Date(2014, 9 /* Oct */, 8);
62
- const result = endOfWeek(date, { weekStartsOn: 3 });
63
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 14, 23, 59, 59, 999));
64
- });
65
- });
66
-
67
- describe('when the given day is after the start of a week', () => {
68
- it('it returns the end of a week', () => {
69
- const date = new Date(2014, 9 /* Oct */, 10);
70
- const result = endOfWeek(date, { weekStartsOn: 3 });
71
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 14, 23, 59, 59, 999));
72
- });
73
- });
74
-
75
- it('handles the week at the end of a year', () => {
76
- const date = new Date(2014, 11 /* Dec */, 29);
77
- const result = endOfWeek(date, { weekStartsOn: 5 });
78
- expect(result).toEqual(new Date(2015, 0 /* Jan */, 1, 23, 59, 59, 999));
79
- });
80
- });
81
-
82
- it('returns `Invalid Date` if the given date is invalid', () => {
83
- const result = endOfWeek(new Date(NaN));
84
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
85
- });
86
- });
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { endOfYear } from './index';
3
-
4
- describe('endOfYear', () => {
5
- it('returns the date with the time set to 23:59:59.999 and the date set to the last day of a year', () => {
6
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
7
- const result = endOfYear(date);
8
- expect(result).toEqual(new Date(2014, 11 /* Dec */, 31, 23, 59, 59, 999));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = endOfYear(date);
14
- expect(result).toEqual(new Date(2014, 11 /* Dec */, 31, 23, 59, 59, 999));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- endOfYear(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = endOfYear(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,29 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import sinon from 'sinon';
3
- import { endOfYesterday } from './index';
4
-
5
- describe('endOfYesterday', () => {
6
- it('returns yesterday with the time settled to 23:59:59.999', () => {
7
- const clock = sinon.useFakeTimers(new Date(2014, 8 /* Sep */, 25, 14, 30, 45, 500).getTime());
8
-
9
- const result = endOfYesterday();
10
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 24, 23, 59, 59, 999));
11
-
12
- clock.restore();
13
- });
14
-
15
- it('handles dates before 100 AD', () => {
16
- const now = new Date(0);
17
- now.setFullYear(14, 8 /* Sep */, 25);
18
- now.setHours(14, 30, 45, 500);
19
- const clock = sinon.useFakeTimers(now.getTime());
20
-
21
- const expectedResult = new Date(0);
22
- expectedResult.setFullYear(14, 8 /* Sep */, 24);
23
- expectedResult.setHours(23, 59, 59, 999);
24
- const result = endOfYesterday();
25
- expect(result).toEqual(expectedResult);
26
-
27
- clock.restore();
28
- });
29
- });