@superdispatch/dates 0.45.0 → 0.47.0

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.
@@ -1,270 +0,0 @@
1
- import { DateTime } from 'luxon';
2
- import { useMemo } from 'react';
3
-
4
- /** @deprecated */
5
-
6
- /** @deprecated */
7
-
8
- /** @deprecated */
9
-
10
- /** @deprecated */
11
-
12
- /** @deprecated */
13
-
14
- /** @deprecated */
15
-
16
- /** @deprecated */
17
-
18
- /** @deprecated */
19
-
20
- /** @deprecated */
21
-
22
- /** @deprecated */
23
-
24
- /** @deprecated */
25
- function toDateTime(value) {
26
- return typeof value === 'number' ? DateTime.fromMillis(value) : DateTime.fromJSDate(value);
27
- }
28
-
29
- /** @deprecated */
30
- export function isDate(value) {
31
- return value != null && value instanceof Date;
32
- }
33
-
34
- /** @deprecated */
35
- export function isDateLike(value) {
36
- return isDate(value) || typeof value === 'number' && Number.isInteger(value);
37
- }
38
-
39
- /** @deprecated */
40
- export function isValidDate(value) {
41
- return isDate(value) && Number.isFinite(value.getTime());
42
- }
43
-
44
- /** @deprecated */
45
- function checkRange(range, validator) {
46
- if (!Array.isArray(range) || range.length > 2) {
47
- return false;
48
- }
49
- var [start, finish] = range;
50
- return (start == null || validator(start)) && (finish == null || validator(finish));
51
- }
52
-
53
- /** @deprecated */
54
- export function isDateRange(range) {
55
- return checkRange(range, isDate);
56
- }
57
-
58
- /** @deprecated */
59
- export function isDateRangeLike(range) {
60
- return checkRange(range, isDateLike);
61
- }
62
-
63
- /** @deprecated */
64
- export function isValidDateRange(range) {
65
- return checkRange(range, isValidDate);
66
- }
67
-
68
- /** @deprecated */
69
- export function toDate(value) {
70
- return !isDateLike(value) ? new Date(NaN) : new Date(value);
71
- }
72
-
73
- /** @deprecated */
74
- export function toDateRange(range) {
75
- if (range == null || !isDateRangeLike(range)) {
76
- return [];
77
- }
78
- return range.filter(x => x != null).map(x => x == null ? undefined : toDate(x)).sort((a, b) => !isValidDate(a) ? -1 : !isValidDate(b) ? 1 : a.valueOf() - b.valueOf());
79
- }
80
-
81
- /** @deprecated */
82
-
83
- /** @deprecated */
84
-
85
- /** @deprecated */
86
-
87
- /** @deprecated */
88
-
89
- /** @deprecated */
90
- export class DateUtils {
91
- /** @deprecated */
92
- toObject(value) {
93
- var {
94
- year = NaN,
95
- month = NaN,
96
- day = NaN,
97
- hour = NaN,
98
- minute = NaN,
99
- second = NaN,
100
- millisecond = NaN
101
- } = toDateTime(value).toObject({
102
- includeConfig: false
103
- });
104
- return {
105
- year,
106
- month,
107
- day,
108
- hour,
109
- minute,
110
- second,
111
- millisecond
112
- };
113
- }
114
-
115
- /** @deprecated */
116
- fromObject(_ref) {
117
- var {
118
- year = 0,
119
- month = 1,
120
- day = 1,
121
- hour = 0,
122
- minute = 0,
123
- second = 0,
124
- millisecond = 0
125
- } = _ref;
126
- if (Number.isNaN(year) || Number.isNaN(month) || Number.isNaN(day) || Number.isNaN(hour) || Number.isNaN(minute) || Number.isNaN(second) || Number.isNaN(millisecond)) {
127
- return new Date(NaN);
128
- }
129
- return DateTime.fromObject({
130
- year,
131
- month,
132
- day,
133
- hour,
134
- minute,
135
- second,
136
- millisecond
137
- }).toJSDate();
138
- }
139
-
140
- /** @deprecated */
141
- update(value, values) {
142
- return toDateTime(value).set(values).toJSDate();
143
- }
144
-
145
- /** @deprecated */
146
- mergeDateAndTime(date, time) {
147
- var {
148
- hour,
149
- minute,
150
- second,
151
- millisecond
152
- } = this.toObject(time);
153
- if (Number.isNaN(hour) || Number.isNaN(minute) || Number.isNaN(second) || Number.isNaN(millisecond)) {
154
- return new Date(NaN);
155
- }
156
- return this.update(date, {
157
- hour,
158
- minute,
159
- second,
160
- millisecond
161
- });
162
- }
163
-
164
- /** @deprecated */
165
- startOf(value, unit) {
166
- return toDateTime(value).startOf(unit).toJSDate();
167
- }
168
-
169
- /** @deprecated */
170
- endOf(value, unit) {
171
- return toDateTime(value).endOf(unit).toJSDate();
172
- }
173
-
174
- /** @deprecated */
175
- plus(value, values) {
176
- return toDateTime(value).plus(values).toJSDate();
177
- }
178
-
179
- /** @deprecated */
180
- minus(value, values) {
181
- return toDateTime(value).minus(values).toJSDate();
182
- }
183
-
184
- /** @deprecated */
185
- isSameDate(value, compare) {
186
- var unit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'millisecond';
187
- if (value == null && compare == null) {
188
- return true;
189
- }
190
- if (value == null || compare == null) {
191
- return false;
192
- }
193
- var dateTimeValue = toDateTime(value);
194
- var dateTimeCompare = toDateTime(compare);
195
- return dateTimeValue.isValid && dateTimeCompare.isValid && dateTimeValue.startOf(unit).equals(dateTimeCompare.startOf(unit));
196
- }
197
-
198
- /** @deprecated */
199
- isSameDateRange(value, compare, unit) {
200
- var range1 = toDateRange(value);
201
- var range2 = toDateRange(compare);
202
- return !range1.some((date, idx) => !this.isSameDate(date, range2[idx], unit));
203
- }
204
-
205
- /** @deprecated */
206
- diff(value, compare, unit) {
207
- var valueDateTime = toDateTime(value);
208
- var compareDateTime = toDateTime(compare);
209
- return valueDateTime.diff(compareDateTime, unit).as(unit);
210
- }
211
-
212
- /** @deprecated */
213
- toLocaleString(value, options) {
214
- return toDateTime(value).toLocaleString(options);
215
- }
216
-
217
- /** @deprecated */
218
- format(value, variant) {
219
- return this.toLocaleString(value, variant === 'date' ? {
220
- day: '2-digit',
221
- month: 'short',
222
- year: 'numeric'
223
- } : variant === 'shortDate' ? {
224
- day: '2-digit',
225
- month: 'short'
226
- } : variant === 'time' ? {
227
- hour: 'numeric',
228
- minute: 'numeric'
229
- } : {
230
- day: '2-digit',
231
- month: 'short',
232
- year: 'numeric',
233
- hour: 'numeric',
234
- minute: 'numeric'
235
- });
236
- }
237
-
238
- /** @deprecated */
239
- formatRange(value) {
240
- var emptyText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
241
- var range = toDateRange(value);
242
- if (!isValidDateRange(range)) {
243
- return 'Invalid Date Range';
244
- }
245
- var [start, finish] = range;
246
- if (!start) {
247
- return emptyText;
248
- }
249
- var startText = this.format(start, !this.isSameDate(start, finish, 'year') ? 'date' : 'shortDate');
250
- var finishText = !finish ? '…' : this.format(finish, 'date');
251
- return "".concat(startText, " - ").concat(finishText);
252
- }
253
-
254
- /** @deprecated */
255
- formatRelativeTime(value) {
256
- var {
257
- style = 'long',
258
- compare = Date.now()
259
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
260
- var valueDateTime = toDateTime(value);
261
- var compareDateTime = toDateTime(compare);
262
- return valueDateTime.toRelative({
263
- style,
264
- base: compareDateTime
265
- });
266
- }
267
- }
268
- export function useDateUtils() {
269
- return useMemo(() => new DateUtils(), []);
270
- }