@naturalcycles/js-lib 14.233.1 → 14.235.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.
- package/dist/datetime/localDate.d.ts +8 -0
- package/dist/datetime/localDate.js +24 -0
- package/dist/datetime/localTime.d.ts +14 -0
- package/dist/datetime/localTime.js +42 -0
- package/dist/number/number.util.d.ts +4 -1
- package/dist/number/number.util.js +3 -1
- package/dist-esm/datetime/localDate.js +24 -0
- package/dist-esm/datetime/localTime.js +42 -0
- package/dist-esm/number/number.util.js +3 -1
- package/package.json +1 -1
- package/src/datetime/localDate.ts +25 -0
- package/src/datetime/localTime.ts +43 -0
- package/src/number/number.util.ts +7 -5
|
@@ -73,6 +73,14 @@ export declare class LocalDate {
|
|
|
73
73
|
* a.diff(b) means "a minus b"
|
|
74
74
|
*/
|
|
75
75
|
diff(d: LocalDateInput, unit: LocalDateUnit): number;
|
|
76
|
+
plusDays(num: number): LocalDate;
|
|
77
|
+
plusWeeks(num: number): LocalDate;
|
|
78
|
+
plusMonths(num: number): LocalDate;
|
|
79
|
+
plusYears(num: number): LocalDate;
|
|
80
|
+
minusDays(num: number): LocalDate;
|
|
81
|
+
minusWeeks(num: number): LocalDate;
|
|
82
|
+
minusMonths(num: number): LocalDate;
|
|
83
|
+
minusYears(num: number): LocalDate;
|
|
76
84
|
plus(num: number, unit: LocalDateUnit, mutate?: boolean): LocalDate;
|
|
77
85
|
minus(num: number, unit: LocalDateUnit, mutate?: boolean): LocalDate;
|
|
78
86
|
startOf(unit: LocalDateUnitStrict): LocalDate;
|
|
@@ -190,6 +190,30 @@ class LocalDate {
|
|
|
190
190
|
}
|
|
191
191
|
return days * sign || 0;
|
|
192
192
|
}
|
|
193
|
+
plusDays(num) {
|
|
194
|
+
return this.plus(num, 'day');
|
|
195
|
+
}
|
|
196
|
+
plusWeeks(num) {
|
|
197
|
+
return this.plus(num, 'week');
|
|
198
|
+
}
|
|
199
|
+
plusMonths(num) {
|
|
200
|
+
return this.plus(num, 'month');
|
|
201
|
+
}
|
|
202
|
+
plusYears(num) {
|
|
203
|
+
return this.plus(num, 'year');
|
|
204
|
+
}
|
|
205
|
+
minusDays(num) {
|
|
206
|
+
return this.plus(-num, 'day');
|
|
207
|
+
}
|
|
208
|
+
minusWeeks(num) {
|
|
209
|
+
return this.plus(-num, 'week');
|
|
210
|
+
}
|
|
211
|
+
minusMonths(num) {
|
|
212
|
+
return this.plus(-num, 'month');
|
|
213
|
+
}
|
|
214
|
+
minusYears(num) {
|
|
215
|
+
return this.plus(-num, 'year');
|
|
216
|
+
}
|
|
193
217
|
plus(num, unit, mutate = false) {
|
|
194
218
|
let { $day, $month, $year } = this;
|
|
195
219
|
if (unit === 'week') {
|
|
@@ -58,6 +58,20 @@ export declare class LocalTime {
|
|
|
58
58
|
second(): number;
|
|
59
59
|
second(v: number): LocalTime;
|
|
60
60
|
setComponents(c: Partial<LocalTimeComponents>, mutate?: boolean): LocalTime;
|
|
61
|
+
plusSeconds(num: number): LocalTime;
|
|
62
|
+
plusMinutes(num: number): LocalTime;
|
|
63
|
+
plusHours(num: number): LocalTime;
|
|
64
|
+
plusDays(num: number): LocalTime;
|
|
65
|
+
plusWeeks(num: number): LocalTime;
|
|
66
|
+
plusMonths(num: number): LocalTime;
|
|
67
|
+
plusYears(num: number): LocalTime;
|
|
68
|
+
minusSeconds(num: number): LocalTime;
|
|
69
|
+
minusMinutes(num: number): LocalTime;
|
|
70
|
+
minusHours(num: number): LocalTime;
|
|
71
|
+
minusDays(num: number): LocalTime;
|
|
72
|
+
minusWeeks(num: number): LocalTime;
|
|
73
|
+
minusMonths(num: number): LocalTime;
|
|
74
|
+
minusYears(num: number): LocalTime;
|
|
61
75
|
plus(num: number, unit: LocalTimeUnit, mutate?: boolean): LocalTime;
|
|
62
76
|
minus(num: number, unit: LocalTimeUnit, mutate?: boolean): LocalTime;
|
|
63
77
|
absDiff(other: LocalTimeInput, unit: LocalTimeUnit): number;
|
|
@@ -131,6 +131,48 @@ class LocalTime {
|
|
|
131
131
|
}
|
|
132
132
|
return mutate ? this : new LocalTime(d);
|
|
133
133
|
}
|
|
134
|
+
plusSeconds(num) {
|
|
135
|
+
return this.plus(num, 'second');
|
|
136
|
+
}
|
|
137
|
+
plusMinutes(num) {
|
|
138
|
+
return this.plus(num, 'minute');
|
|
139
|
+
}
|
|
140
|
+
plusHours(num) {
|
|
141
|
+
return this.plus(num, 'hour');
|
|
142
|
+
}
|
|
143
|
+
plusDays(num) {
|
|
144
|
+
return this.plus(num, 'day');
|
|
145
|
+
}
|
|
146
|
+
plusWeeks(num) {
|
|
147
|
+
return this.plus(num, 'week');
|
|
148
|
+
}
|
|
149
|
+
plusMonths(num) {
|
|
150
|
+
return this.plus(num, 'month');
|
|
151
|
+
}
|
|
152
|
+
plusYears(num) {
|
|
153
|
+
return this.plus(num, 'year');
|
|
154
|
+
}
|
|
155
|
+
minusSeconds(num) {
|
|
156
|
+
return this.plus(-num, 'second');
|
|
157
|
+
}
|
|
158
|
+
minusMinutes(num) {
|
|
159
|
+
return this.plus(-num, 'minute');
|
|
160
|
+
}
|
|
161
|
+
minusHours(num) {
|
|
162
|
+
return this.plus(-num, 'hour');
|
|
163
|
+
}
|
|
164
|
+
minusDays(num) {
|
|
165
|
+
return this.plus(-num, 'day');
|
|
166
|
+
}
|
|
167
|
+
minusWeeks(num) {
|
|
168
|
+
return this.plus(-num, 'week');
|
|
169
|
+
}
|
|
170
|
+
minusMonths(num) {
|
|
171
|
+
return this.plus(-num, 'month');
|
|
172
|
+
}
|
|
173
|
+
minusYears(num) {
|
|
174
|
+
return this.plus(-num, 'year');
|
|
175
|
+
}
|
|
134
176
|
plus(num, unit, mutate = false) {
|
|
135
177
|
if (unit === 'week') {
|
|
136
178
|
num *= 7;
|
|
@@ -22,8 +22,11 @@ export declare function _runLessOften(percent: number): boolean;
|
|
|
22
22
|
* _isBetween(3, 1, 5) // true
|
|
23
23
|
* _isBetween(5, 1, 5) // false
|
|
24
24
|
* _isBetween(7, 1, 5) // false
|
|
25
|
+
*
|
|
26
|
+
* Also works with strings:
|
|
27
|
+
* _isBetween('2020-01-03', '2020-01-01', '2020-01-05') // true
|
|
25
28
|
*/
|
|
26
|
-
export declare function _isBetween(x:
|
|
29
|
+
export declare function _isBetween<T extends number | string>(x: T, min: T, max: T, incl?: Inclusiveness): boolean;
|
|
27
30
|
export declare function _clamp(x: number, minIncl: number, maxIncl: number): number;
|
|
28
31
|
/**
|
|
29
32
|
* This function exists, because in JS you cannot just .sort() numbers,
|
|
@@ -34,6 +34,9 @@ exports._runLessOften = _runLessOften;
|
|
|
34
34
|
* _isBetween(3, 1, 5) // true
|
|
35
35
|
* _isBetween(5, 1, 5) // false
|
|
36
36
|
* _isBetween(7, 1, 5) // false
|
|
37
|
+
*
|
|
38
|
+
* Also works with strings:
|
|
39
|
+
* _isBetween('2020-01-03', '2020-01-01', '2020-01-05') // true
|
|
37
40
|
*/
|
|
38
41
|
function _isBetween(x, min, max, incl = '[)') {
|
|
39
42
|
if (incl === '[)') {
|
|
@@ -45,7 +48,6 @@ function _isBetween(x, min, max, incl = '[)') {
|
|
|
45
48
|
else if (incl === '(]') {
|
|
46
49
|
return x > min && x <= max;
|
|
47
50
|
}
|
|
48
|
-
// ()
|
|
49
51
|
return x > min && x < max;
|
|
50
52
|
}
|
|
51
53
|
exports._isBetween = _isBetween;
|
|
@@ -187,6 +187,30 @@ export class LocalDate {
|
|
|
187
187
|
}
|
|
188
188
|
return days * sign || 0;
|
|
189
189
|
}
|
|
190
|
+
plusDays(num) {
|
|
191
|
+
return this.plus(num, 'day');
|
|
192
|
+
}
|
|
193
|
+
plusWeeks(num) {
|
|
194
|
+
return this.plus(num, 'week');
|
|
195
|
+
}
|
|
196
|
+
plusMonths(num) {
|
|
197
|
+
return this.plus(num, 'month');
|
|
198
|
+
}
|
|
199
|
+
plusYears(num) {
|
|
200
|
+
return this.plus(num, 'year');
|
|
201
|
+
}
|
|
202
|
+
minusDays(num) {
|
|
203
|
+
return this.plus(-num, 'day');
|
|
204
|
+
}
|
|
205
|
+
minusWeeks(num) {
|
|
206
|
+
return this.plus(-num, 'week');
|
|
207
|
+
}
|
|
208
|
+
minusMonths(num) {
|
|
209
|
+
return this.plus(-num, 'month');
|
|
210
|
+
}
|
|
211
|
+
minusYears(num) {
|
|
212
|
+
return this.plus(-num, 'year');
|
|
213
|
+
}
|
|
190
214
|
plus(num, unit, mutate = false) {
|
|
191
215
|
let { $day, $month, $year } = this;
|
|
192
216
|
if (unit === 'week') {
|
|
@@ -129,6 +129,48 @@ export class LocalTime {
|
|
|
129
129
|
}
|
|
130
130
|
return mutate ? this : new LocalTime(d);
|
|
131
131
|
}
|
|
132
|
+
plusSeconds(num) {
|
|
133
|
+
return this.plus(num, 'second');
|
|
134
|
+
}
|
|
135
|
+
plusMinutes(num) {
|
|
136
|
+
return this.plus(num, 'minute');
|
|
137
|
+
}
|
|
138
|
+
plusHours(num) {
|
|
139
|
+
return this.plus(num, 'hour');
|
|
140
|
+
}
|
|
141
|
+
plusDays(num) {
|
|
142
|
+
return this.plus(num, 'day');
|
|
143
|
+
}
|
|
144
|
+
plusWeeks(num) {
|
|
145
|
+
return this.plus(num, 'week');
|
|
146
|
+
}
|
|
147
|
+
plusMonths(num) {
|
|
148
|
+
return this.plus(num, 'month');
|
|
149
|
+
}
|
|
150
|
+
plusYears(num) {
|
|
151
|
+
return this.plus(num, 'year');
|
|
152
|
+
}
|
|
153
|
+
minusSeconds(num) {
|
|
154
|
+
return this.plus(-num, 'second');
|
|
155
|
+
}
|
|
156
|
+
minusMinutes(num) {
|
|
157
|
+
return this.plus(-num, 'minute');
|
|
158
|
+
}
|
|
159
|
+
minusHours(num) {
|
|
160
|
+
return this.plus(-num, 'hour');
|
|
161
|
+
}
|
|
162
|
+
minusDays(num) {
|
|
163
|
+
return this.plus(-num, 'day');
|
|
164
|
+
}
|
|
165
|
+
minusWeeks(num) {
|
|
166
|
+
return this.plus(-num, 'week');
|
|
167
|
+
}
|
|
168
|
+
minusMonths(num) {
|
|
169
|
+
return this.plus(-num, 'month');
|
|
170
|
+
}
|
|
171
|
+
minusYears(num) {
|
|
172
|
+
return this.plus(-num, 'year');
|
|
173
|
+
}
|
|
132
174
|
plus(num, unit, mutate = false) {
|
|
133
175
|
if (unit === 'week') {
|
|
134
176
|
num *= 7;
|
|
@@ -28,6 +28,9 @@ export function _runLessOften(percent) {
|
|
|
28
28
|
* _isBetween(3, 1, 5) // true
|
|
29
29
|
* _isBetween(5, 1, 5) // false
|
|
30
30
|
* _isBetween(7, 1, 5) // false
|
|
31
|
+
*
|
|
32
|
+
* Also works with strings:
|
|
33
|
+
* _isBetween('2020-01-03', '2020-01-01', '2020-01-05') // true
|
|
31
34
|
*/
|
|
32
35
|
export function _isBetween(x, min, max, incl = '[)') {
|
|
33
36
|
if (incl === '[)') {
|
|
@@ -39,7 +42,6 @@ export function _isBetween(x, min, max, incl = '[)') {
|
|
|
39
42
|
else if (incl === '(]') {
|
|
40
43
|
return x > min && x <= max;
|
|
41
44
|
}
|
|
42
|
-
// ()
|
|
43
45
|
return x > min && x < max;
|
|
44
46
|
}
|
|
45
47
|
export function _clamp(x, minIncl, maxIncl) {
|
package/package.json
CHANGED
|
@@ -233,6 +233,31 @@ export class LocalDate {
|
|
|
233
233
|
return days * sign || 0
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
+
plusDays(num: number): LocalDate {
|
|
237
|
+
return this.plus(num, 'day')
|
|
238
|
+
}
|
|
239
|
+
plusWeeks(num: number): LocalDate {
|
|
240
|
+
return this.plus(num, 'week')
|
|
241
|
+
}
|
|
242
|
+
plusMonths(num: number): LocalDate {
|
|
243
|
+
return this.plus(num, 'month')
|
|
244
|
+
}
|
|
245
|
+
plusYears(num: number): LocalDate {
|
|
246
|
+
return this.plus(num, 'year')
|
|
247
|
+
}
|
|
248
|
+
minusDays(num: number): LocalDate {
|
|
249
|
+
return this.plus(-num, 'day')
|
|
250
|
+
}
|
|
251
|
+
minusWeeks(num: number): LocalDate {
|
|
252
|
+
return this.plus(-num, 'week')
|
|
253
|
+
}
|
|
254
|
+
minusMonths(num: number): LocalDate {
|
|
255
|
+
return this.plus(-num, 'month')
|
|
256
|
+
}
|
|
257
|
+
minusYears(num: number): LocalDate {
|
|
258
|
+
return this.plus(-num, 'year')
|
|
259
|
+
}
|
|
260
|
+
|
|
236
261
|
plus(num: number, unit: LocalDateUnit, mutate = false): LocalDate {
|
|
237
262
|
let { $day, $month, $year } = this
|
|
238
263
|
|
|
@@ -191,6 +191,49 @@ export class LocalTime {
|
|
|
191
191
|
return mutate ? this : new LocalTime(d)
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
+
plusSeconds(num: number): LocalTime {
|
|
195
|
+
return this.plus(num, 'second')
|
|
196
|
+
}
|
|
197
|
+
plusMinutes(num: number): LocalTime {
|
|
198
|
+
return this.plus(num, 'minute')
|
|
199
|
+
}
|
|
200
|
+
plusHours(num: number): LocalTime {
|
|
201
|
+
return this.plus(num, 'hour')
|
|
202
|
+
}
|
|
203
|
+
plusDays(num: number): LocalTime {
|
|
204
|
+
return this.plus(num, 'day')
|
|
205
|
+
}
|
|
206
|
+
plusWeeks(num: number): LocalTime {
|
|
207
|
+
return this.plus(num, 'week')
|
|
208
|
+
}
|
|
209
|
+
plusMonths(num: number): LocalTime {
|
|
210
|
+
return this.plus(num, 'month')
|
|
211
|
+
}
|
|
212
|
+
plusYears(num: number): LocalTime {
|
|
213
|
+
return this.plus(num, 'year')
|
|
214
|
+
}
|
|
215
|
+
minusSeconds(num: number): LocalTime {
|
|
216
|
+
return this.plus(-num, 'second')
|
|
217
|
+
}
|
|
218
|
+
minusMinutes(num: number): LocalTime {
|
|
219
|
+
return this.plus(-num, 'minute')
|
|
220
|
+
}
|
|
221
|
+
minusHours(num: number): LocalTime {
|
|
222
|
+
return this.plus(-num, 'hour')
|
|
223
|
+
}
|
|
224
|
+
minusDays(num: number): LocalTime {
|
|
225
|
+
return this.plus(-num, 'day')
|
|
226
|
+
}
|
|
227
|
+
minusWeeks(num: number): LocalTime {
|
|
228
|
+
return this.plus(-num, 'week')
|
|
229
|
+
}
|
|
230
|
+
minusMonths(num: number): LocalTime {
|
|
231
|
+
return this.plus(-num, 'month')
|
|
232
|
+
}
|
|
233
|
+
minusYears(num: number): LocalTime {
|
|
234
|
+
return this.plus(-num, 'year')
|
|
235
|
+
}
|
|
236
|
+
|
|
194
237
|
plus(num: number, unit: LocalTimeUnit, mutate = false): LocalTime {
|
|
195
238
|
if (unit === 'week') {
|
|
196
239
|
num *= 7
|
|
@@ -34,11 +34,14 @@ export function _runLessOften(percent: number): boolean {
|
|
|
34
34
|
* _isBetween(3, 1, 5) // true
|
|
35
35
|
* _isBetween(5, 1, 5) // false
|
|
36
36
|
* _isBetween(7, 1, 5) // false
|
|
37
|
+
*
|
|
38
|
+
* Also works with strings:
|
|
39
|
+
* _isBetween('2020-01-03', '2020-01-01', '2020-01-05') // true
|
|
37
40
|
*/
|
|
38
|
-
export function _isBetween(
|
|
39
|
-
x:
|
|
40
|
-
min:
|
|
41
|
-
max:
|
|
41
|
+
export function _isBetween<T extends number | string>(
|
|
42
|
+
x: T,
|
|
43
|
+
min: T,
|
|
44
|
+
max: T,
|
|
42
45
|
incl: Inclusiveness = '[)',
|
|
43
46
|
): boolean {
|
|
44
47
|
if (incl === '[)') {
|
|
@@ -48,7 +51,6 @@ export function _isBetween(
|
|
|
48
51
|
} else if (incl === '(]') {
|
|
49
52
|
return x > min && x <= max
|
|
50
53
|
}
|
|
51
|
-
// ()
|
|
52
54
|
return x > min && x < max
|
|
53
55
|
}
|
|
54
56
|
|