@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,92 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { isWithinInterval } from './index';
3
-
4
- describe('isWithinInterval', () => {
5
- it('returns true if the given date in within the given interval', () => {
6
- const result = isWithinInterval(new Date(2014, 9 /* Oct */, 31), {
7
- start: new Date(2014, 8 /* Sep */, 1),
8
- end: new Date(2014, 11 /* Dec */, 31),
9
- });
10
- expect(result).toBe(true);
11
- });
12
-
13
- it('returns true if the given date has same time as the left boundary of the interval', () => {
14
- const result = isWithinInterval(new Date(2014, 8 /* Sep */, 1), {
15
- start: new Date(2014, 8 /* Sep */, 1),
16
- end: new Date(2014, 11 /* Dec */, 31),
17
- });
18
- expect(result).toBe(true);
19
- });
20
-
21
- it('returns true if the given date has same time as the right boundary of the interval', () => {
22
- const result = isWithinInterval(new Date(2014, 11 /* Dec */, 31), {
23
- start: new Date(2014, 8 /* Sep */, 1),
24
- end: new Date(2014, 11 /* Dec */, 31),
25
- });
26
- expect(result).toBe(true);
27
- });
28
-
29
- it('returns true if the given date and the both boundaries are the same', () => {
30
- const result = isWithinInterval(new Date(2014, 11 /* Dec */, 31), {
31
- start: new Date(2014, 11 /* Dec */, 31),
32
- end: new Date(2014, 11 /* Dec */, 31),
33
- });
34
- expect(result).toBe(true);
35
- });
36
-
37
- it('returns false if the given date is outside of the interval', () => {
38
- const result = isWithinInterval(new Date(2014, 1 /* Feb */, 11), {
39
- start: new Date(2014, 8 /* Sep */, 1),
40
- end: new Date(2014, 11 /* Dec */, 31),
41
- });
42
- expect(result).toBe(false);
43
- });
44
-
45
- it('accepts a timestamp', () => {
46
- const result = isWithinInterval(new Date(2014, 9 /* Oct */, 31).getTime(), {
47
- start: new Date(2014, 8 /* Sep */, 1).getTime(),
48
- end: new Date(2014, 11 /* Dec */, 31).getTime(),
49
- });
50
- expect(result).toBe(true);
51
- });
52
-
53
- it('normalizes the interval if the start date is after the end date', () => {
54
- const result = isWithinInterval(new Date(2014, 9 /* Oct */, 31), {
55
- start: new Date(2014, 11 /* Dec */, 31),
56
- end: new Date(2014, 8 /* Sep */, 1),
57
- });
58
- expect(result).toBe(true);
59
- });
60
-
61
- it('returns false if the given date is `Invalid Date`', () => {
62
- const result = isWithinInterval(new Date(NaN), {
63
- start: new Date(2014, 8 /* Sep */, 1),
64
- end: new Date(2014, 11 /* Dec */, 31),
65
- });
66
- expect(!result).toBe(true);
67
- });
68
-
69
- it('returns false if the start date is `Invalid Date`', () => {
70
- const result = isWithinInterval(new Date(2014, 9 /* Oct */, 31), {
71
- start: new Date(NaN),
72
- end: new Date(2014, 8 /* Sep */, 1),
73
- });
74
- expect(!result).toBe(true);
75
- });
76
-
77
- it('returns false if the end date is `Invalid Date`', () => {
78
- const result = isWithinInterval(new Date(2014, 9 /* Oct */, 31), {
79
- start: new Date(2014, 11 /* Dec */, 31),
80
- end: new Date(NaN),
81
- });
82
- expect(!result).toBe(true);
83
- });
84
-
85
- it('properly sorts the dates', () => {
86
- const result = isWithinInterval(new Date(2023, 11 /* Dec */, 19), {
87
- start: new Date(2001, 8 /* Sep */, 1),
88
- end: new Date(2023, 11 /* Dec */, 20),
89
- });
90
- expect(result).toBe(true);
91
- });
92
- });
@@ -1,34 +0,0 @@
1
- import { UTCDate } from '@date-fns/utc';
2
- import sinon from 'sinon';
3
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
- import { isYesterday } from './index';
5
-
6
- describe('isYesterday', () => {
7
- let clock: sinon.SinonFakeTimers;
8
- beforeEach(() => {
9
- clock = sinon.useFakeTimers(new Date(2014, 8 /* Aug */, 25).getTime());
10
- });
11
-
12
- afterEach(() => {
13
- clock.restore();
14
- });
15
-
16
- it('returns true if the given date is yesterday', () => {
17
- const result = isYesterday(new Date(2014, 8 /* Sep */, 24));
18
- expect(result).toBe(true);
19
- });
20
-
21
- it('returns false if the given date is not yesterday', () => {
22
- const result = isYesterday(new Date(2014, 8 /* Sep */, 25));
23
- expect(result).toBe(false);
24
- });
25
-
26
- it('accepts a timestamp', () => {
27
- const result = isYesterday(new Date(2014, 8 /* Sep */, 24).getTime());
28
- expect(result).toBe(true);
29
- });
30
-
31
- it('respects date extensions', () => {
32
- expect(isYesterday(new UTCDate(+new Date(2014, 8 /* Aug */, 24)))).toBe(true);
33
- });
34
- });
@@ -1,32 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { lastDayOfDecade } from './index';
3
-
4
- describe('lastDayOfDecade', () => {
5
- it('returns the date with the time set to 00:00:00 and the date set to the last day of a decade', () => {
6
- const date = new Date(1985, 9 /* Oct */, 20);
7
- const result = lastDayOfDecade(date);
8
- expect(result).toEqual(new Date(1989, 11 /* Dec */, 31));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(1975, 0 /* Jan */, 19).getTime();
13
- const result = lastDayOfDecade(date);
14
- expect(result).toEqual(new Date(1979, 11 /* Dec */, 31));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2013, 3 /* Apr */, 23);
19
- lastDayOfDecade(date);
20
- expect(date).toEqual(new Date(2013, 3 /* Apr */, 23));
21
- });
22
-
23
- it('returns `Invalid Date` if the given date is invalid', () => {
24
- const result = lastDayOfDecade(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
-
28
- it('properly works with negative numbers', () => {
29
- expect(lastDayOfDecade(new Date(2001, 0, 1))).toEqual(new Date(2009, 11, 31));
30
- expect(lastDayOfDecade(new Date(-2009, 0, 1))).toEqual(new Date(-2001, 11, 31));
31
- });
32
- });
@@ -1,27 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { lastDayOfISOWeek } from './index';
3
-
4
- describe('lastDayOfISOWeek', () => {
5
- it('returns the date with the time set to 00:00:00 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 = lastDayOfISOWeek(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 1 /* Feb */, 11, 11, 55, 0).getTime();
13
- const result = lastDayOfISOWeek(date);
14
- expect(result).toEqual(new Date(2014, 1 /* Feb */, 16));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- lastDayOfISOWeek(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 = lastDayOfISOWeek(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 { lastDayOfISOWeekYear } from './index';
3
-
4
- describe('lastDayOfISOWeekYear', () => {
5
- it('returns the date with the time set to 00:00:00 and the date set to the last day of an ISO year', () => {
6
- const result = lastDayOfISOWeekYear(new Date(2009, 0 /* Jan */, 1, 16, 0));
7
- expect(result).toEqual(new Date(2010, 0 /* Jan */, 3));
8
- });
9
-
10
- it('accepts a timestamp', () => {
11
- const result = lastDayOfISOWeekYear(new Date(2005, 0 /* Jan */, 1, 6, 0).getTime());
12
- expect(result).toEqual(new Date(2005, 0 /* Jan */, 2));
13
- });
14
-
15
- it('does not mutate the original date', () => {
16
- const date = new Date(2014, 6 /* Jul */, 2);
17
- lastDayOfISOWeekYear(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(0, 0, 0, 0);
25
- const expectedResult = new Date(0);
26
- expectedResult.setFullYear(6, 0 /* Jan */, 1);
27
- expectedResult.setHours(0, 0, 0, 0);
28
- const result = lastDayOfISOWeekYear(initialDate);
29
- expect(result).toEqual(expectedResult);
30
- });
31
-
32
- it('returns `Invalid Date` if the given date is invalid', () => {
33
- const result = lastDayOfISOWeekYear(new Date(NaN));
34
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
35
- });
36
- });
@@ -1,41 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { lastDayOfMonth } from './index';
3
-
4
- describe('lastDayOfMonth', () => {
5
- it('returns the date with the time set to 00:00:00 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 = lastDayOfMonth(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 7 /* Aug */, 2, 11, 55, 0).getTime();
13
- const result = lastDayOfMonth(date);
14
- expect(result).toEqual(new Date(2014, 7 /* Aug */, 31));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- lastDayOfMonth(date);
20
- expect(date).toEqual(new Date(2014, 8 /* Sep */, 2, 11, 55, 0));
21
- });
22
-
23
- describe('edge cases', () => {
24
- it('works for the February of a leap year', () => {
25
- const date = new Date(2012, 1 /* Feb */, 11, 11, 55, 0);
26
- const result = lastDayOfMonth(date);
27
- expect(result).toEqual(new Date(2012, 1 /* Feb */, 29));
28
- });
29
-
30
- it('works for the February of a non-leap year', () => {
31
- const date = new Date(2014, 1 /* Feb */, 11, 11, 55, 0);
32
- const result = lastDayOfMonth(date);
33
- expect(result).toEqual(new Date(2014, 1 /* Feb */, 28));
34
- });
35
- });
36
-
37
- it('returns `Invalid Date` if the given date is invalid', () => {
38
- const result = lastDayOfMonth(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 { lastDayOfQuarter } from './index';
3
-
4
- describe('lastDayOfQuarter', () => {
5
- it('returns the date with the time set to 00:00:00 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 = lastDayOfQuarter(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = lastDayOfQuarter(date);
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 30));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- lastDayOfQuarter(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 = lastDayOfQuarter(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,86 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { lastDayOfWeek } from './index';
3
-
4
- describe('lastDayOfWeek', () => {
5
- it('returns the date with the time set to 00:00:00 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 = lastDayOfWeek(date);
8
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 6));
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 = lastDayOfWeek(date, { weekStartsOn: 1 });
14
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
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 = lastDayOfWeek(date, {
20
- locale: {
21
- options: { weekStartsOn: 1 },
22
- },
23
- });
24
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
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 = lastDayOfWeek(date, {
30
- weekStartsOn: 1,
31
- locale: {
32
- options: { weekStartsOn: 0 },
33
- },
34
- });
35
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 7));
36
- });
37
-
38
- it('accepts a timestamp', () => {
39
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
40
- const result = lastDayOfWeek(date);
41
- expect(result).toEqual(new Date(2014, 8 /* Sep */, 6));
42
- });
43
-
44
- it('does not mutate the original date', () => {
45
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
46
- lastDayOfWeek(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 last day of a week', () => {
53
- const date = new Date(2014, 9 /* Oct */, 6);
54
- const result = lastDayOfWeek(date, { weekStartsOn: 3 });
55
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 7));
56
- });
57
- });
58
-
59
- describe('when the given day is the start of a week', () => {
60
- it('it returns the last day of a week', () => {
61
- const date = new Date(2014, 9 /* Oct */, 8);
62
- const result = lastDayOfWeek(date, { weekStartsOn: 3 });
63
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 14));
64
- });
65
- });
66
-
67
- describe('when the given day is after the start of a week', () => {
68
- it('it returns the last day of a week', () => {
69
- const date = new Date(2014, 9 /* Oct */, 10);
70
- const result = lastDayOfWeek(date, { weekStartsOn: 3 });
71
- expect(result).toEqual(new Date(2014, 9 /* Oct */, 14));
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 = lastDayOfWeek(date, { weekStartsOn: 5 });
78
- expect(result).toEqual(new Date(2015, 0 /* Jan */, 1));
79
- });
80
- });
81
-
82
- it('returns `Invalid Date` if the given date is invalid', () => {
83
- const result = lastDayOfWeek(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 { lastDayOfYear } from './index';
3
-
4
- describe('lastDayOfYear', () => {
5
- it('returns the date with the time set to 00:00:00 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 = lastDayOfYear(date);
8
- expect(result).toEqual(new Date(2014, 11 /* Dec */, 31));
9
- });
10
-
11
- it('accepts a timestamp', () => {
12
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0).getTime();
13
- const result = lastDayOfYear(date);
14
- expect(result).toEqual(new Date(2014, 11 /* Dec */, 31));
15
- });
16
-
17
- it('does not mutate the original date', () => {
18
- const date = new Date(2014, 8 /* Sep */, 2, 11, 55, 0);
19
- lastDayOfYear(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 = lastDayOfYear(new Date(NaN));
25
- expect(result instanceof Date && isNaN(result.getTime())).toBe(true);
26
- });
27
- });
@@ -1,126 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { lightFormat } from './index';
3
-
4
- describe('lightFormat', () => {
5
- const date = new Date(1986, 3 /* Apr */, 4, 10, 32, 55, 123);
6
-
7
- it('accepts a timestamp', () => {
8
- const date = new Date(2014, 3, 4).getTime();
9
- expect(lightFormat(date, 'yyyy-MM-dd')).toBe('2014-04-04');
10
- });
11
-
12
- it('escapes characters between the single quote characters', () => {
13
- const result = lightFormat(date, "'yyyy-'MM-dd'D yyyy-'MM-dd'");
14
- expect(result).toBe('yyyy-04-04D yyyy-04-04');
15
- });
16
-
17
- it('two single quote characters are transformed into a "real" single quote', () => {
18
- const date = new Date(2014, 3, 4, 5);
19
- expect(lightFormat(date, "''h 'o''clock'''")).toBe("'5 o'clock'");
20
- });
21
-
22
- it('accepts new line charactor', () => {
23
- const date = new Date(2014, 3, 4, 5);
24
- expect(lightFormat(date, "yyyy-MM-dd'\n'HH:mm:ss")).toBe('2014-04-04\n05:00:00');
25
- });
26
-
27
- describe('year', () => {
28
- describe('regular year', () => {
29
- it('works as expected', () => {
30
- const result = lightFormat(date, 'y yy yyy yyyy yyyyy');
31
- expect(result).toBe('1986 86 1986 1986 01986');
32
- });
33
-
34
- it('1 BC formats as 1', () => {
35
- const date = new Date(0);
36
- date.setFullYear(0 /* Jan */, 1);
37
- date.setHours(0, 0, 0, 0);
38
- const result = lightFormat(date, 'y');
39
- expect(result).toBe('1');
40
- });
41
-
42
- it('2 BC formats as 2', () => {
43
- const date = new Date(0);
44
- date.setFullYear(-1, 0 /* Jan */, 1);
45
- date.setHours(0, 0, 0, 0);
46
- const result = lightFormat(date, 'y');
47
- expect(result).toBe('2');
48
- });
49
- });
50
- });
51
-
52
- describe('month', () => {
53
- it('formatting month', () => {
54
- const result = lightFormat(date, 'M MM');
55
- expect(result).toBe('4 04');
56
- });
57
- });
58
-
59
- describe('day', () => {
60
- it('date', () => {
61
- const result = lightFormat(date, 'd dd');
62
- expect(result).toBe('4 04');
63
- });
64
- });
65
-
66
- describe('hour', () => {
67
- it('hour [1-12]', () => {
68
- const result = lightFormat(new Date(2018, 0 /* Jan */, 1, 0, 0, 0, 0), 'h hh');
69
- expect(result).toBe('12 12');
70
- });
71
-
72
- it('hour [0-23]', () => {
73
- const result = lightFormat(new Date(2018, 0 /* Jan */, 1, 0, 0, 0, 0), 'H HH');
74
- expect(result).toBe('0 00');
75
- });
76
-
77
- describe('AM, PM', () => {
78
- it('works as expected', () => {
79
- const result = lightFormat(new Date(2018, 0 /* Jan */, 1, 0, 0, 0, 0), 'a aa aaa aaaa aaaaa');
80
- expect(result).toBe('AM AM am a.m. a');
81
-
82
- const pmResult = lightFormat(new Date(2018, 0 /* Jan */, 1, 13, 0, 0, 0), 'a aa aaa aaaa aaaaa');
83
- expect(pmResult).toBe('PM PM pm p.m. p');
84
- });
85
-
86
- it('12 PM', () => {
87
- const date = new Date(1986, 3 /* Apr */, 4, 12, 0, 0, 900);
88
- expect(lightFormat(date, 'h H a')).toBe('12 12 PM');
89
- });
90
-
91
- it('12 AM', () => {
92
- const date = new Date(1986, 3 /* Apr */, 6, 0, 0, 0, 900);
93
- expect(lightFormat(date, 'h H a')).toBe('12 0 AM');
94
- });
95
- });
96
- });
97
-
98
- it('minute', () => {
99
- const result = lightFormat(date, 'm mm');
100
- expect(result).toBe('32 32');
101
- });
102
-
103
- describe('second', () => {
104
- it('second', () => {
105
- const result = lightFormat(date, 's ss');
106
- expect(result).toBe('55 55');
107
- });
108
- });
109
-
110
- it('fractional seconds', () => {
111
- const result = lightFormat(date, 'S SS SSS SSSS');
112
- expect(result).toBe('1 12 123 1230');
113
- });
114
-
115
- it('returns empty string when the format is an empty string', () => {
116
- expect(lightFormat(Date.now(), '')).toBe('');
117
- });
118
-
119
- it("throws RangeError if the date isn't valid", () => {
120
- expect(lightFormat.bind(null, new Date(NaN), 'MMMM d, yyyy')).toThrow(RangeError);
121
- });
122
-
123
- it('throws RangeError exception if the format string contains an unescaped latin alphabet character', () => {
124
- expect(lightFormat.bind(null, date, 'yyyy-MM-dd-nnnn')).toThrow(RangeError);
125
- });
126
- });
@@ -1,34 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { max } from './index';
3
-
4
- describe('max', () => {
5
- it('returns the latest date', () => {
6
- const result = max([new Date(1989, 6 /* Jul */, 10), new Date(1987, 1 /* Feb */, 11)]);
7
- expect(result).toEqual(new Date(1989, 6 /* Jul */, 10));
8
- });
9
-
10
- it('accepts array with more than 2 entries', () => {
11
- const result = max([
12
- new Date(1987, 1 /* Feb */, 11),
13
- new Date(1989, 6 /* Jul */, 10),
14
- new Date(1995, 6 /* Jul */, 2),
15
- new Date(1990, 0 /* Jan */, 1),
16
- ]);
17
- expect(result).toEqual(new Date(1995, 6 /* Jul */, 2));
18
- });
19
-
20
- it('accepts timestamps', () => {
21
- const result = max([new Date(1989, 6 /* Jul */, 10).getTime(), new Date(1987, 1 /* Feb */, 11).getTime()]);
22
- expect(result).toEqual(new Date(1989, 6 /* Jul */, 10));
23
- });
24
-
25
- it('returns `Invalid Date` if any given date is invalid', () => {
26
- const result = max([new Date(1989, 6 /* Jul */, 10), new Date(NaN), new Date(1987, 1 /* Feb */, 11)]);
27
- expect(isNaN(+result)).toBe(true);
28
- });
29
-
30
- it('returns `Invalid Date` for empty array', () => {
31
- const result = max([]);
32
- expect(isNaN(+result)).toBe(true);
33
- });
34
- });
@@ -1,62 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { milliseconds } from './index';
3
-
4
- describe('milliseconds', () => {
5
- it('converts years to milliseconds', () => {
6
- const result = milliseconds({ years: 2 });
7
- expect(result).toBe(63113903999);
8
- });
9
-
10
- it('converts months to milliseconds', () => {
11
- const result = milliseconds({ months: 3 });
12
- expect(result).toBe(7889237999);
13
- });
14
-
15
- it('converts weeks to milliseconds', () => {
16
- const result = milliseconds({ weeks: 2 });
17
- expect(result).toBe(1209600000);
18
- });
19
-
20
- it('converts days to milliseconds', () => {
21
- const result = milliseconds({ days: 5 });
22
- expect(result).toBe(432000000);
23
- });
24
-
25
- it('converts hours to milliseconds', () => {
26
- const result = milliseconds({ hours: 2 });
27
- expect(result).toBe(7200000);
28
- });
29
-
30
- it('converts minutes to milliseconds', () => {
31
- const result = milliseconds({ minutes: 5 });
32
- expect(result).toBe(300000);
33
- });
34
-
35
- it('converts seconds to milliseconds', () => {
36
- const result = milliseconds({ seconds: 10 });
37
- expect(result).toBe(10000);
38
- });
39
-
40
- it('sums all the duration values', () => {
41
- const result = milliseconds({
42
- years: 2,
43
- months: 3,
44
- weeks: 2,
45
- days: 5,
46
- hours: 2,
47
- minutes: 5,
48
- seconds: 10,
49
- });
50
- expect(result).toBe(72652252000);
51
- });
52
-
53
- it('returns 0 for an empty duration', () => {
54
- const result = milliseconds({});
55
- expect(result).toBe(0);
56
- });
57
-
58
- it('properly works with negative numbers', () => {
59
- expect(milliseconds({ seconds: 1.2345 })).toBe(1234);
60
- expect(milliseconds({ seconds: -1.2345 })).toBe(-1234);
61
- });
62
- });
@@ -1,24 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { millisecondsToHours } from './index';
3
-
4
- describe('millisecondsToHours', () => {
5
- it('converts milliseconds to hours', () => {
6
- expect(millisecondsToHours(3600000)).toBe(1);
7
- expect(millisecondsToHours(7200000)).toBe(2);
8
- });
9
-
10
- it('uses floor rounding', () => {
11
- expect(millisecondsToHours(3600001)).toBe(1);
12
- expect(millisecondsToHours(3599999)).toBe(0);
13
- });
14
-
15
- it('handles border values', () => {
16
- expect(millisecondsToHours(3600000.5)).toBe(1);
17
- expect(millisecondsToHours(0)).toBe(0);
18
- });
19
-
20
- it('properly works with negative numbers', () => {
21
- expect(millisecondsToHours(123456789)).toBe(34);
22
- expect(millisecondsToHours(-123456789)).toBe(-34);
23
- });
24
- });