nhb-toolbox 4.0.4 → 4.0.11
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/cjs/date/Chronos.js
CHANGED
|
@@ -575,6 +575,46 @@ class Chronos {
|
|
|
575
575
|
return t > s && t < e;
|
|
576
576
|
}
|
|
577
577
|
}
|
|
578
|
+
/**
|
|
579
|
+
* @instance Checks if the current date falls on a weekend.
|
|
580
|
+
*
|
|
581
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
582
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
583
|
+
* @returns Whether the date is a weekend.
|
|
584
|
+
*
|
|
585
|
+
* @description
|
|
586
|
+
* Weekend is determined based on `weekStartsOn` and `weekendLength`.
|
|
587
|
+
*
|
|
588
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
589
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
590
|
+
* If 1, only the last day of the week is treated as weekend.
|
|
591
|
+
* If 2, the last two days are treated as weekend.
|
|
592
|
+
*/
|
|
593
|
+
isWeekend(weekStartsOn = 0, weekendLength = 2) {
|
|
594
|
+
const day = this.#date.getDay();
|
|
595
|
+
const lastDayOfWeek = (weekStartsOn + 6) % 7;
|
|
596
|
+
const secondLastDay = (weekStartsOn + 5) % 7;
|
|
597
|
+
if (weekendLength === 1) {
|
|
598
|
+
return day === lastDayOfWeek;
|
|
599
|
+
}
|
|
600
|
+
return day === lastDayOfWeek || day === secondLastDay;
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* @instance Checks if the current date is a workday (non-weekend day).
|
|
604
|
+
*
|
|
605
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
606
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
607
|
+
* @returns Whether the date is a workday.
|
|
608
|
+
*
|
|
609
|
+
* @description
|
|
610
|
+
* Weekends are determined by `weekStartsOn` and `weekendLength`.
|
|
611
|
+
*
|
|
612
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
613
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
614
|
+
*/
|
|
615
|
+
isWorkday(weekStartsOn = 0, weekendLength = 2) {
|
|
616
|
+
return !this.isWeekend(weekStartsOn, weekendLength);
|
|
617
|
+
}
|
|
578
618
|
/**
|
|
579
619
|
* @instance Checks if the current date is a palindrome in either padded or non-padded format.
|
|
580
620
|
*
|
|
@@ -606,12 +646,15 @@ class Chronos {
|
|
|
606
646
|
const normal = this.formatStrict(shortYear ? 'YY-M-D' : 'YYYY-M-D');
|
|
607
647
|
return (0, guards_1.isPalindrome)(padded) || (0, guards_1.isPalindrome)(normal);
|
|
608
648
|
}
|
|
609
|
-
/**
|
|
649
|
+
/**
|
|
650
|
+
* @instance Checks if the date is within daylight saving time (DST).
|
|
651
|
+
* @returns Whether the date is in DST.
|
|
652
|
+
*/
|
|
610
653
|
isDST() {
|
|
611
|
-
const
|
|
612
|
-
const
|
|
613
|
-
|
|
614
|
-
|
|
654
|
+
const year = this.#date.getFullYear();
|
|
655
|
+
const jan = new Date(year, 0, 1).getTimezoneOffset();
|
|
656
|
+
const jul = new Date(year, 6, 1).getTimezoneOffset();
|
|
657
|
+
return this.#date.getTimezoneOffset() < Math.max(jan, jul);
|
|
615
658
|
}
|
|
616
659
|
/**
|
|
617
660
|
* @instance Returns full time difference from now (or a specified time) down to a given level.
|
|
@@ -273,6 +273,36 @@ export declare class Chronos {
|
|
|
273
273
|
* @returns `true` if the current date is within the specified range based on the `inclusive` mode.
|
|
274
274
|
*/
|
|
275
275
|
isBetween(start: ChronosInput, end: ChronosInput, inclusive?: '[]' | '[)' | '(]' | '()'): boolean;
|
|
276
|
+
/**
|
|
277
|
+
* @instance Checks if the current date falls on a weekend.
|
|
278
|
+
*
|
|
279
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
280
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
281
|
+
* @returns Whether the date is a weekend.
|
|
282
|
+
*
|
|
283
|
+
* @description
|
|
284
|
+
* Weekend is determined based on `weekStartsOn` and `weekendLength`.
|
|
285
|
+
*
|
|
286
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
287
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
288
|
+
* If 1, only the last day of the week is treated as weekend.
|
|
289
|
+
* If 2, the last two days are treated as weekend.
|
|
290
|
+
*/
|
|
291
|
+
isWeekend(weekStartsOn?: number, weekendLength?: 1 | 2): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* @instance Checks if the current date is a workday (non-weekend day).
|
|
294
|
+
*
|
|
295
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
296
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
297
|
+
* @returns Whether the date is a workday.
|
|
298
|
+
*
|
|
299
|
+
* @description
|
|
300
|
+
* Weekends are determined by `weekStartsOn` and `weekendLength`.
|
|
301
|
+
*
|
|
302
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
303
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
304
|
+
*/
|
|
305
|
+
isWorkday(weekStartsOn?: number, weekendLength?: 1 | 2): boolean;
|
|
276
306
|
/**
|
|
277
307
|
* @instance Checks if the current date is a palindrome in either padded or non-padded format.
|
|
278
308
|
*
|
|
@@ -300,7 +330,10 @@ export declare class Chronos {
|
|
|
300
330
|
* new Chronos('2024-04-11').isPalindromeDate(); // false
|
|
301
331
|
*/
|
|
302
332
|
isPalindromeDate(shortYear?: boolean): boolean;
|
|
303
|
-
/**
|
|
333
|
+
/**
|
|
334
|
+
* @instance Checks if the date is within daylight saving time (DST).
|
|
335
|
+
* @returns Whether the date is in DST.
|
|
336
|
+
*/
|
|
304
337
|
isDST(): boolean;
|
|
305
338
|
/**
|
|
306
339
|
* @instance Returns full time difference from now (or a specified time) down to a given level.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chronos.d.ts","sourceRoot":"","sources":["../../../src/date/Chronos.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Chronos.d.ts","sourceRoot":"","sources":["../../../src/date/Chronos.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/date/Chronos.js
CHANGED
|
@@ -572,6 +572,46 @@ export class Chronos {
|
|
|
572
572
|
return t > s && t < e;
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
|
+
/**
|
|
576
|
+
* @instance Checks if the current date falls on a weekend.
|
|
577
|
+
*
|
|
578
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
579
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
580
|
+
* @returns Whether the date is a weekend.
|
|
581
|
+
*
|
|
582
|
+
* @description
|
|
583
|
+
* Weekend is determined based on `weekStartsOn` and `weekendLength`.
|
|
584
|
+
*
|
|
585
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
586
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
587
|
+
* If 1, only the last day of the week is treated as weekend.
|
|
588
|
+
* If 2, the last two days are treated as weekend.
|
|
589
|
+
*/
|
|
590
|
+
isWeekend(weekStartsOn = 0, weekendLength = 2) {
|
|
591
|
+
const day = this.#date.getDay();
|
|
592
|
+
const lastDayOfWeek = (weekStartsOn + 6) % 7;
|
|
593
|
+
const secondLastDay = (weekStartsOn + 5) % 7;
|
|
594
|
+
if (weekendLength === 1) {
|
|
595
|
+
return day === lastDayOfWeek;
|
|
596
|
+
}
|
|
597
|
+
return day === lastDayOfWeek || day === secondLastDay;
|
|
598
|
+
}
|
|
599
|
+
/**
|
|
600
|
+
* @instance Checks if the current date is a workday (non-weekend day).
|
|
601
|
+
*
|
|
602
|
+
* @param weekStartsOn Optional day the week starts on (0–6). Default is `0` (Sunday).
|
|
603
|
+
* @param weekendLength Optional length of the weekend (1 or 2). Default is `2`.
|
|
604
|
+
* @returns Whether the date is a workday.
|
|
605
|
+
*
|
|
606
|
+
* @description
|
|
607
|
+
* Weekends are determined by `weekStartsOn` and `weekendLength`.
|
|
608
|
+
*
|
|
609
|
+
* - `weekStartsOn` is a 0-based index (0 = Sunday, 1 = Monday, ..., 6 = Saturday).
|
|
610
|
+
* - `weekendLength` defines how many days are considered weekend (1 or 2). Default is 2.
|
|
611
|
+
*/
|
|
612
|
+
isWorkday(weekStartsOn = 0, weekendLength = 2) {
|
|
613
|
+
return !this.isWeekend(weekStartsOn, weekendLength);
|
|
614
|
+
}
|
|
575
615
|
/**
|
|
576
616
|
* @instance Checks if the current date is a palindrome in either padded or non-padded format.
|
|
577
617
|
*
|
|
@@ -603,12 +643,15 @@ export class Chronos {
|
|
|
603
643
|
const normal = this.formatStrict(shortYear ? 'YY-M-D' : 'YYYY-M-D');
|
|
604
644
|
return isPalindrome(padded) || isPalindrome(normal);
|
|
605
645
|
}
|
|
606
|
-
/**
|
|
646
|
+
/**
|
|
647
|
+
* @instance Checks if the date is within daylight saving time (DST).
|
|
648
|
+
* @returns Whether the date is in DST.
|
|
649
|
+
*/
|
|
607
650
|
isDST() {
|
|
608
|
-
const
|
|
609
|
-
const
|
|
610
|
-
|
|
611
|
-
|
|
651
|
+
const year = this.#date.getFullYear();
|
|
652
|
+
const jan = new Date(year, 0, 1).getTimezoneOffset();
|
|
653
|
+
const jul = new Date(year, 6, 1).getTimezoneOffset();
|
|
654
|
+
return this.#date.getTimezoneOffset() < Math.max(jan, jul);
|
|
612
655
|
}
|
|
613
656
|
/**
|
|
614
657
|
* @instance Returns full time difference from now (or a specified time) down to a given level.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nhb-toolbox",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.11",
|
|
4
4
|
"description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -71,6 +71,10 @@
|
|
|
71
71
|
"require": "./dist/cjs/index.js",
|
|
72
72
|
"types": "./dist/dts/index.d.ts"
|
|
73
73
|
},
|
|
74
|
+
"./types": {
|
|
75
|
+
"types": "./dist/dts/types/index.d.ts",
|
|
76
|
+
"default": "./dist/dts/types/index.d.ts"
|
|
77
|
+
},
|
|
74
78
|
"./array/types": {
|
|
75
79
|
"types": "./dist/dts/array/types.d.ts",
|
|
76
80
|
"default": "./dist/dts/array/types.d.ts"
|
|
@@ -102,6 +106,9 @@
|
|
|
102
106
|
},
|
|
103
107
|
"typesVersions": {
|
|
104
108
|
"*": {
|
|
109
|
+
"types": [
|
|
110
|
+
"dist/dts/types/index.d.ts"
|
|
111
|
+
],
|
|
105
112
|
"array/types": [
|
|
106
113
|
"dist/dts/array/types.d.ts"
|
|
107
114
|
],
|