nhb-toolbox 3.3.1 → 3.4.1

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.
@@ -0,0 +1,39 @@
1
+ export declare class Chronos {
2
+ private readonly _date;
3
+ /**
4
+ * * Creates a new immutable Chronos instance.
5
+ * @param value - A date value (`timestamp`, `string`, or `Date`).
6
+ */
7
+ constructor(value?: number | string | Date | Chronos);
8
+ /**
9
+ * * Formats the date into a custom string format.
10
+ * @param format - The desired format (Default format is `DD-MM-YYYY` = `30-06-1995`).
11
+ * @returns Formatted date string in desired format.
12
+ */
13
+ format(format?: string): string;
14
+ /**
15
+ * * Adds days and returns a new immutable instance.
16
+ * @param days - Number of days to add.
17
+ * @returns A new `Chronos` instance with the updated date.
18
+ */
19
+ addDays(days: number): Chronos;
20
+ /**
21
+ * * Subtracts days and returns a new immutable instance.
22
+ * @param days - Number of days to subtract.
23
+ * @returns A new `Chronos` instance with the updated date.
24
+ */
25
+ subtractDays(days: number): Chronos;
26
+ /**
27
+ * * Determines if the given date is today, tomorrow, yesterday or any relative day.
28
+ * @param date - The date to compare (Date object).
29
+ * @returns
30
+ * - `-1` if the date is yesterday.
31
+ * - `0` if the date is today.
32
+ * - `1` if the date is tomorrow.
33
+ * - Other positive or negative numbers for other relative days (e.g., `-2` for two days ago, `2` for two days ahead).
34
+ */
35
+ getRelativeDay(): number;
36
+ /** * Gets the native `Date` instance (read-only). */
37
+ toDate(): Date;
38
+ }
39
+ //# sourceMappingURL=Chronos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chronos.d.ts","sourceRoot":"","sources":["../../src/date/Chronos.ts"],"names":[],"mappings":"AAGA,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B;;;OAGG;gBACS,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAcpD;;;;OAIG;IACH,MAAM,CAAC,MAAM,GAAE,MAAqB,GAAG,MAAM;IA2E7C;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM9B;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;;;;OAQG;IACH,cAAc,IAAI,MAAM;IAexB,qDAAqD;IACrD,MAAM,IAAI,IAAI;CAGd"}
@@ -0,0 +1,130 @@
1
+ import { DAYS, MONTHS, sortedFormats } from './constants';
2
+ export class Chronos {
3
+ _date;
4
+ /**
5
+ * * Creates a new immutable Chronos instance.
6
+ * @param value - A date value (`timestamp`, `string`, or `Date`).
7
+ */
8
+ constructor(value) {
9
+ const date = value instanceof Chronos ?
10
+ value.toDate()
11
+ : new Date(value ?? Date.now());
12
+ // Check if the date is invalid
13
+ if (isNaN(date.getTime())) {
14
+ throw new Error('Invalid date provided!');
15
+ }
16
+ this._date = date;
17
+ }
18
+ /**
19
+ * * Formats the date into a custom string format.
20
+ * @param format - The desired format (Default format is `DD-MM-YYYY` = `30-06-1995`).
21
+ * @returns Formatted date string in desired format.
22
+ */
23
+ format(format = 'DD-MM-YYYY') {
24
+ const year = this._date.getFullYear();
25
+ const month = this._date.getMonth();
26
+ const day = this._date.getDay();
27
+ const date = this._date.getDate();
28
+ const hours = this._date.getHours();
29
+ const minutes = this._date.getMinutes();
30
+ const seconds = this._date.getSeconds();
31
+ const milliseconds = this._date.getMilliseconds();
32
+ const dateComponents = {
33
+ YYYY: String(year),
34
+ YY: String(year).slice(-2),
35
+ yyyy: String(year),
36
+ yy: String(year).slice(-2),
37
+ M: String(month + 1),
38
+ MM: String(month + 1).padStart(2, '0'),
39
+ MMM: MONTHS[month].slice(0, 3),
40
+ MMMM: MONTHS[month],
41
+ mmm: MONTHS[month].slice(0, 3),
42
+ mmmm: MONTHS[month],
43
+ d: DAYS[day].slice(0, 3),
44
+ dd: DAYS[day].slice(0, 3),
45
+ ddd: DAYS[day],
46
+ dddd: DAYS[day],
47
+ D: String(date),
48
+ DD: String(date).padStart(2, '0'),
49
+ H: String(hours),
50
+ HH: String(hours).padStart(2, '0'),
51
+ h: String(hours % 12 || 12),
52
+ hh: String(hours % 12 || 12).padStart(2, '0'),
53
+ m: String(minutes),
54
+ mm: String(minutes).padStart(2, '0'),
55
+ s: String(seconds),
56
+ ss: String(seconds).padStart(2, '0'),
57
+ ms: String(milliseconds),
58
+ mss: String(milliseconds).padStart(3, '0'),
59
+ a: hours < 12 ? 'am' : 'pm',
60
+ A: hours < 12 ? 'AM' : 'PM',
61
+ };
62
+ let result = '';
63
+ let i = 0;
64
+ while (i < format.length) {
65
+ let matched = false;
66
+ for (const token of sortedFormats) {
67
+ const ahead = format.slice(i, i + token.length);
68
+ const prev = i === 0 ? '' : format[i - 1];
69
+ const next = format[i + token.length] ?? '';
70
+ // Check non-alphanumeric boundaries
71
+ const prevOk = i === 0 || /[^a-zA-Z0-9]/.test(prev);
72
+ const nextOk = i + token.length >= format.length ||
73
+ /[^a-zA-Z0-9]/.test(next);
74
+ if (ahead === token && prevOk && nextOk) {
75
+ result += dateComponents[token];
76
+ i += token.length;
77
+ matched = true;
78
+ break;
79
+ }
80
+ }
81
+ if (!matched) {
82
+ result += format[i];
83
+ i++;
84
+ }
85
+ }
86
+ return result;
87
+ }
88
+ /**
89
+ * * Adds days and returns a new immutable instance.
90
+ * @param days - Number of days to add.
91
+ * @returns A new `Chronos` instance with the updated date.
92
+ */
93
+ addDays(days) {
94
+ const newDate = new Date(this._date);
95
+ newDate.setDate(newDate.getDate() + days);
96
+ return new Chronos(newDate);
97
+ }
98
+ /**
99
+ * * Subtracts days and returns a new immutable instance.
100
+ * @param days - Number of days to subtract.
101
+ * @returns A new `Chronos` instance with the updated date.
102
+ */
103
+ subtractDays(days) {
104
+ return this.addDays(-days);
105
+ }
106
+ /**
107
+ * * Determines if the given date is today, tomorrow, yesterday or any relative day.
108
+ * @param date - The date to compare (Date object).
109
+ * @returns
110
+ * - `-1` if the date is yesterday.
111
+ * - `0` if the date is today.
112
+ * - `1` if the date is tomorrow.
113
+ * - Other positive or negative numbers for other relative days (e.g., `-2` for two days ago, `2` for two days ahead).
114
+ */
115
+ getRelativeDay() {
116
+ const today = new Date();
117
+ // Set the time of today to 00:00:00 for comparison purposes
118
+ today.setHours(0, 0, 0, 0);
119
+ // Normalize the input date to 00:00:00
120
+ const inputDate = new Date(this._date);
121
+ inputDate.setHours(0, 0, 0, 0);
122
+ const diffTime = inputDate.getTime() - today.getTime();
123
+ const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
124
+ return diffDays;
125
+ }
126
+ /** * Gets the native `Date` instance (read-only). */
127
+ toDate() {
128
+ return new Date(this._date);
129
+ }
130
+ }
@@ -0,0 +1,13 @@
1
+ export declare const DAYS: readonly ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
2
+ export declare const MONTHS: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
3
+ export declare const YEAR_FORMATS: readonly ["YYYY", "YY", "yyyy", "yy"];
4
+ export declare const MONTH_FORMATS: readonly ["M", "MM", "MMM", "MMMM", "mmm", "mmmm"];
5
+ export declare const DATE_FORMATS: readonly ["DD", "D"];
6
+ export declare const DAY_FORMATS: readonly ["d", "dd", "ddd", "dddd"];
7
+ export declare const HOUR_FORMATS: readonly ["H", "HH", "hh", "h"];
8
+ export declare const MINUTE_FORMATS: readonly ["mm", "m"];
9
+ export declare const SECOND_FORMATS: readonly ["ss", "s"];
10
+ export declare const MILLISECOND_FORMATS: readonly ["ms", "mss"];
11
+ export declare const TIME_FORMATS: readonly ["a", "A"];
12
+ export declare const sortedFormats: ("a" | "M" | "D" | "A" | "YYYY" | "YY" | "yyyy" | "yy" | "MM" | "MMM" | "MMMM" | "mmm" | "mmmm" | "DD" | "d" | "dd" | "ddd" | "dddd" | "H" | "HH" | "hh" | "h" | "mm" | "m" | "ss" | "s" | "ms" | "mss")[];
13
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/date/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,yFAQP,CAAC;AAEX,eAAO,MAAM,MAAM,qIAaT,CAAC;AAEX,eAAO,MAAM,YAAY,uCAAwC,CAAC;AAClE,eAAO,MAAM,aAAa,oDAAqD,CAAC;AAChF,eAAO,MAAM,YAAY,sBAAuB,CAAC;AACjD,eAAO,MAAM,WAAW,qCAAsC,CAAC;AAC/D,eAAO,MAAM,YAAY,iCAAkC,CAAC;AAC5D,eAAO,MAAM,cAAc,sBAAuB,CAAC;AACnD,eAAO,MAAM,cAAc,sBAAuB,CAAC;AACnD,eAAO,MAAM,mBAAmB,wBAAyB,CAAC;AAC1D,eAAO,MAAM,YAAY,qBAAsB,CAAC;AAEhD,eAAO,MAAM,aAAa,4MAUW,CAAC"}
@@ -0,0 +1,43 @@
1
+ export const DAYS = [
2
+ 'Sunday',
3
+ 'Monday',
4
+ 'Tuesday',
5
+ 'Wednesday',
6
+ 'Thursday',
7
+ 'Friday',
8
+ 'Saturday',
9
+ ];
10
+ export const MONTHS = [
11
+ 'January',
12
+ 'February',
13
+ 'March',
14
+ 'April',
15
+ 'May',
16
+ 'June',
17
+ 'July',
18
+ 'August',
19
+ 'September',
20
+ 'October',
21
+ 'November',
22
+ 'December',
23
+ ];
24
+ export const YEAR_FORMATS = ['YYYY', 'YY', 'yyyy', 'yy'];
25
+ export const MONTH_FORMATS = ['M', 'MM', 'MMM', 'MMMM', 'mmm', 'mmmm'];
26
+ export const DATE_FORMATS = ['DD', 'D'];
27
+ export const DAY_FORMATS = ['d', 'dd', 'ddd', 'dddd'];
28
+ export const HOUR_FORMATS = ['H', 'HH', 'hh', 'h'];
29
+ export const MINUTE_FORMATS = ['mm', 'm'];
30
+ export const SECOND_FORMATS = ['ss', 's'];
31
+ export const MILLISECOND_FORMATS = ['ms', 'mss'];
32
+ export const TIME_FORMATS = ['a', 'A'];
33
+ export const sortedFormats = [
34
+ ...YEAR_FORMATS,
35
+ ...MONTH_FORMATS,
36
+ ...DAY_FORMATS,
37
+ ...DATE_FORMATS,
38
+ ...HOUR_FORMATS,
39
+ ...MINUTE_FORMATS,
40
+ ...SECOND_FORMATS,
41
+ ...MILLISECOND_FORMATS,
42
+ ...TIME_FORMATS,
43
+ ].sort((a, b) => b.length - a.length);
@@ -1,9 +1,10 @@
1
+ import type { DATE_FORMATS, DAY_FORMATS, HOUR_FORMATS, MILLISECOND_FORMATS, MINUTE_FORMATS, MONTH_FORMATS, SECOND_FORMATS, TIME_FORMATS, YEAR_FORMATS } from './constants';
1
2
  /** - Minute in numeric string from `00` to `23` */
2
- export type Hour = '00' | '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23';
3
+ export type Hours = '00' | '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23';
3
4
  /** - Minute in numeric string from `00` to `59` */
4
- export type Minute = '00' | '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40' | '41' | '42' | '43' | '44' | '45' | '46' | '47' | '48' | '49' | '50' | '51' | '52' | '53' | '54' | '55' | '56' | '57' | '58' | '59';
5
+ export type Minutes = '00' | '01' | '02' | '03' | '04' | '05' | '06' | '07' | '08' | '09' | '10' | '11' | '12' | '13' | '14' | '15' | '16' | '17' | '18' | '19' | '20' | '21' | '22' | '23' | '24' | '25' | '26' | '27' | '28' | '29' | '30' | '31' | '32' | '33' | '34' | '35' | '36' | '37' | '38' | '39' | '40' | '41' | '42' | '43' | '44' | '45' | '46' | '47' | '48' | '49' | '50' | '51' | '52' | '53' | '54' | '55' | '56' | '57' | '58' | '59';
5
6
  /** - Time in "HH:MM" format. */
6
- export type Time = `${Hour}:${Minute}`;
7
+ export type Time = `${Hours}:${Minutes}`;
7
8
  /** - Configuration options for greeting. */
8
9
  export interface GreetingConfigs {
9
10
  /** Time when the morning period ends (HH:MM format). Defaults to `11:59` */
@@ -31,4 +32,15 @@ export interface GreetingConfigs {
31
32
  /** Default greeting message if no period matches. */
32
33
  defaultMessage?: string;
33
34
  }
35
+ export type FormatType = 'year' | 'month' | 'day' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond';
36
+ export type Year = (typeof YEAR_FORMATS)[number];
37
+ export type Month = (typeof MONTH_FORMATS)[number];
38
+ export type Day = (typeof DAY_FORMATS)[number];
39
+ export type Date = (typeof DATE_FORMATS)[number];
40
+ export type Hour = (typeof HOUR_FORMATS)[number];
41
+ export type Minute = (typeof MINUTE_FORMATS)[number];
42
+ export type Second = (typeof SECOND_FORMATS)[number];
43
+ export type Millisecond = (typeof MILLISECOND_FORMATS)[number];
44
+ export type TimeFormats = (typeof TIME_FORMATS)[number];
45
+ export type ChronosFormat = Year | Month | Day | Date | Hour | Minute | Second | Millisecond | TimeFormats;
34
46
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/date/types.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,MAAM,IAAI,GACb,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAER,mDAAmD;AACnD,MAAM,MAAM,MAAM,GACf,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAER,gCAAgC;AAChC,MAAM,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;AAEvC,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC/B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,IAAI,CAAC;IAErB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB,kGAAkG;IAClG,WAAW,CAAC,EAAE,IAAI,CAAC;IAEnB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/date/types.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare function extractHourMinute(time: Time): [number, number];
15
15
  export declare function getTotalMinutes(time: Time): number;
16
16
  /**
17
17
  * * Returns the current date and time as `Date` object.
18
- * - All the methods and properties of `new Date()` can be accessible.
18
+ * - All the methods and properties of `new Date()` are accessible.
19
19
  *
20
20
  * @returns The current date and time as a `Date` object.
21
21
  */
@@ -20,7 +20,7 @@ export function getTotalMinutes(time) {
20
20
  }
21
21
  /**
22
22
  * * Returns the current date and time as `Date` object.
23
- * - All the methods and properties of `new Date()` can be accessible.
23
+ * - All the methods and properties of `new Date()` are accessible.
24
24
  *
25
25
  * @returns The current date and time as a `Date` object.
26
26
  */
package/dist/index.d.ts CHANGED
@@ -15,7 +15,8 @@ export { convertColorCode, convertHex8ToHsla, convertHex8ToRgba, convertHexToHsl
15
15
  export { Color, Color as Colour } from './colors/Color';
16
16
  export { getGreeting as generateGreeting, getGreeting, getGreeting as greet, } from './date/greet';
17
17
  export { isValidTime, isValidTime as isValidTimeString } from './date/guards';
18
- export { extractHourMinute, getTotalMinutes, getCurrentDateTime, getCurrentDateTime as getCurrentTime, } from './date/utils';
18
+ export { Chronos, Chronos as Chronus } from './date/Chronos';
19
+ export { extractHourMinute, getCurrentDateTime, getCurrentDateTime as getCurrentTime, getTotalMinutes, } from './date/utils';
19
20
  export { filterArrayOfObjects, flattenArray, getLastArrayElement, isInvalidOrEmptyArray, isInvalidOrEmptyArray as isValidEmptyArray, shuffleArray, } from './array/basics';
20
21
  export { sortAnArray } from './array/sort';
21
22
  export { createOptionsArray, moveArrayElement, removeDuplicatesFromArray, rotateArray, splitArray, } from './array/transform';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -19,7 +19,8 @@ export { Color, Color as Colour } from './colors/Color';
19
19
  // ! Date & Time Utilities
20
20
  export { getGreeting as generateGreeting, getGreeting, getGreeting as greet, } from './date/greet';
21
21
  export { isValidTime, isValidTime as isValidTimeString } from './date/guards';
22
- export { extractHourMinute, getTotalMinutes, getCurrentDateTime, getCurrentDateTime as getCurrentTime, } from './date/utils';
22
+ export { Chronos, Chronos as Chronus } from './date/Chronos';
23
+ export { extractHourMinute, getCurrentDateTime, getCurrentDateTime as getCurrentTime, getTotalMinutes, } from './date/utils';
23
24
  // ! Array Utilities
24
25
  export { filterArrayOfObjects, flattenArray, getLastArrayElement, isInvalidOrEmptyArray, isInvalidOrEmptyArray as isValidEmptyArray, shuffleArray, } from './array/basics';
25
26
  export { sortAnArray } from './array/sort';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "3.3.1",
3
+ "version": "3.4.1",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions for everyday development needs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",