nhb-toolbox 3.9.25 → 3.9.39

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.
@@ -10,19 +10,6 @@ import type { AlphaColors, ColorType, Hex6, Hex8, HSL, HSLA, OpacityValue, RGB,
10
10
  * @property {RGBA} rgba - The color in `RGBA` format.
11
11
  * @property {HSL} hsl - The color in `HSL` format.
12
12
  * @property {HSLA} hsla - The color in `HSLA` format.
13
- *
14
- * @example
15
- * const color = new Color("#ff5733"); // Accepts a color in `Hex`, `Hex8` `RGB`, `RGBA`, `HSL` or `HSLA` format.
16
- * console.log(color.hex); // Get Hex equivalent
17
- * console.log(color.hex8); // Get Hex8 equivalent
18
- * console.log(color.rgb); // Get RGB equivalent
19
- * console.log(color.rgba); // Get RGBA equivalent
20
- * console.log(color.hsl); // Get HSL equivalent
21
- * console.log(color.hsla); // Get HSLA equivalent
22
- *
23
- * @example
24
- * const randomColor = new Color(); // Generate a random color
25
- * console.log(randomColor.hex, randomColor.rgb, randomColor.hsl, randomColor.hex8, randomColor.rgba, randomColor.hsla); // Get RGBA and HSLA equivalent
26
13
  */
27
14
  export declare class Color {
28
15
  hex: Hex6;
@@ -34,9 +21,45 @@ export declare class Color {
34
21
  /** - Iterates over the color representations (Hex, RGB, HSL). */
35
22
  [Symbol.iterator](): Generator<Hex6 | RGB | HSL | Hex8 | RGBA | HSLA, void, unknown>;
36
23
  /**
37
- * * Creates a new `Color` instance, optionally converts an input color to other 5 different color formats.
24
+ * * Creates a new `Color` instance and automatically converts the input color to all other supported formats: `Hex`, `Hex8`, `RGB`, `RGBA`, `HSL`, and `HSLA`.
25
+ *
26
+ * @description
27
+ * The `Color` class allows seamless transformation between six common color representations:
28
+ * - `Hex` (e.g., `#ff5733`)
29
+ * - `Hex8` (Hex with opacity, e.g., `#ff573380`)
30
+ * - `RGB` (e.g., `rgb(255, 87, 51)`)
31
+ * - `RGBA` (e.g., `rgba(255, 87, 51, 1)`)
32
+ * - `HSL` (e.g., `hsl(14, 100%, 60%)`)
33
+ * - `HSLA` (e.g., `hsla(14, 100%, 60%, 1)`)
34
+ *
35
+ * You can create a color from any of these formats, and the class will populate the rest.
36
+ * If no color is passed, a random color will be generated.
37
+ *
38
+ * Additionally:
39
+ * - Use `.applyOpacity(opacity)` to modify or add opacity to the color.
40
+ * - Use static methods like `Color.isHex6(color)` to validate color strings.
41
+ *
42
+ * @param toConvert - An optional input color string in any supported format (`Hex`, `Hex8`, `RGB`, `RGBA`, `HSL`, or `HSLA`) to convert in all other (includes the current format) formats.
38
43
  *
39
- * @param toConvert - The color to convert. If not provided, a random color is generated.
44
+ * @example
45
+ * // Convert an existing Hex color to all other formats
46
+ * const color = new Color("#ff5733");
47
+ * console.log(color.rgb); // 'rgb(255, 87, 51)'
48
+ * console.log(color.hsl); // 'hsl(14, 100%, 60%)'
49
+ * console.log(color.rgba); // 'rgba(255, 87, 51, 1)'
50
+ * console.log(color.hsla); // 'hsla(14, 100%, 60%, 1)'
51
+ * console.log(color.hex8); // '#FF5733FF'
52
+ *
53
+ * @example
54
+ * // Handle a color with alpha
55
+ * const alphaColor = new Color("rgba(255, 0, 0, 0.5)");
56
+ * console.log(alphaColor.hex8); // '#FF000080'
57
+ * console.log(alphaColor.hsla); // 'hsla(0, 100%, 50%, 0.5)'
58
+ *
59
+ * @example
60
+ * // Generate a random color
61
+ * const randomColor = new Color();
62
+ * console.log(randomColor.hex, randomColor.rgb, randomColor.hsl);
40
63
  */
41
64
  constructor(toConvert?: ColorType);
42
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../src/colors/Color.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,WAAW,EACX,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,WAAW,EACX,MAAM,SAAS,CAAC;AAKjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,KAAK;IACV,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IAElB,iEAAiE;IAChE,CAAC,MAAM,CAAC,QAAQ,CAAC;IASlB;;;;OAIG;gBACS,SAAS,CAAC,EAAE,SAAS;IA2CjC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW;IAkB9D;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAIlD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAIlD;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG;IAIhD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAMlD;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG;IAIhD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAMlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CAuB7B"}
1
+ {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../src/colors/Color.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,WAAW,EACX,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,GAAG,EACH,IAAI,EACJ,WAAW,EACX,MAAM,SAAS,CAAC;AAKjB;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IACV,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,IAAI,CAAC;IAElB,iEAAiE;IAChE,CAAC,MAAM,CAAC,QAAQ,CAAC;IASlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;gBAES,SAAS,CAAC,EAAE,SAAS;IA2CjC;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,WAAW;IAkB9D;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAIlD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAIlD;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG;IAIhD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAMlD;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,GAAG;IAIhD;;;;;OAKG;WACW,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,IAAI;IAMlD;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;CAuB7B"}
@@ -14,19 +14,6 @@ const { hex, rgb } = convertColorCode(hsl);
14
14
  * @property {RGBA} rgba - The color in `RGBA` format.
15
15
  * @property {HSL} hsl - The color in `HSL` format.
16
16
  * @property {HSLA} hsla - The color in `HSLA` format.
17
- *
18
- * @example
19
- * const color = new Color("#ff5733"); // Accepts a color in `Hex`, `Hex8` `RGB`, `RGBA`, `HSL` or `HSLA` format.
20
- * console.log(color.hex); // Get Hex equivalent
21
- * console.log(color.hex8); // Get Hex8 equivalent
22
- * console.log(color.rgb); // Get RGB equivalent
23
- * console.log(color.rgba); // Get RGBA equivalent
24
- * console.log(color.hsl); // Get HSL equivalent
25
- * console.log(color.hsla); // Get HSLA equivalent
26
- *
27
- * @example
28
- * const randomColor = new Color(); // Generate a random color
29
- * console.log(randomColor.hex, randomColor.rgb, randomColor.hsl, randomColor.hex8, randomColor.rgba, randomColor.hsla); // Get RGBA and HSLA equivalent
30
17
  */
31
18
  export class Color {
32
19
  hex;
@@ -45,9 +32,45 @@ export class Color {
45
32
  yield this.hsla;
46
33
  }
47
34
  /**
48
- * * Creates a new `Color` instance, optionally converts an input color to other 5 different color formats.
35
+ * * Creates a new `Color` instance and automatically converts the input color to all other supported formats: `Hex`, `Hex8`, `RGB`, `RGBA`, `HSL`, and `HSLA`.
36
+ *
37
+ * @description
38
+ * The `Color` class allows seamless transformation between six common color representations:
39
+ * - `Hex` (e.g., `#ff5733`)
40
+ * - `Hex8` (Hex with opacity, e.g., `#ff573380`)
41
+ * - `RGB` (e.g., `rgb(255, 87, 51)`)
42
+ * - `RGBA` (e.g., `rgba(255, 87, 51, 1)`)
43
+ * - `HSL` (e.g., `hsl(14, 100%, 60%)`)
44
+ * - `HSLA` (e.g., `hsla(14, 100%, 60%, 1)`)
45
+ *
46
+ * You can create a color from any of these formats, and the class will populate the rest.
47
+ * If no color is passed, a random color will be generated.
48
+ *
49
+ * Additionally:
50
+ * - Use `.applyOpacity(opacity)` to modify or add opacity to the color.
51
+ * - Use static methods like `Color.isHex6(color)` to validate color strings.
52
+ *
53
+ * @param toConvert - An optional input color string in any supported format (`Hex`, `Hex8`, `RGB`, `RGBA`, `HSL`, or `HSLA`) to convert in all other (includes the current format) formats.
49
54
  *
50
- * @param toConvert - The color to convert. If not provided, a random color is generated.
55
+ * @example
56
+ * // Convert an existing Hex color to all other formats
57
+ * const color = new Color("#ff5733");
58
+ * console.log(color.rgb); // 'rgb(255, 87, 51)'
59
+ * console.log(color.hsl); // 'hsl(14, 100%, 60%)'
60
+ * console.log(color.rgba); // 'rgba(255, 87, 51, 1)'
61
+ * console.log(color.hsla); // 'hsla(14, 100%, 60%, 1)'
62
+ * console.log(color.hex8); // '#FF5733FF'
63
+ *
64
+ * @example
65
+ * // Handle a color with alpha
66
+ * const alphaColor = new Color("rgba(255, 0, 0, 0.5)");
67
+ * console.log(alphaColor.hex8); // '#FF000080'
68
+ * console.log(alphaColor.hsla); // 'hsla(0, 100%, 50%, 0.5)'
69
+ *
70
+ * @example
71
+ * // Generate a random color
72
+ * const randomColor = new Color();
73
+ * console.log(randomColor.hex, randomColor.rgb, randomColor.hsl);
51
74
  */
52
75
  constructor(toConvert) {
53
76
  if (toConvert) {
@@ -207,6 +230,6 @@ export class Color {
207
230
  const { hex8, rgba } = convertColorCode(color);
208
231
  return { hex8, rgba, hsla: color };
209
232
  }
210
- throw new Error(`Unrecognized Color Format! ${color}`);
233
+ throw new Error(`Unrecognized color format: ${color}`);
211
234
  }
212
235
  }
@@ -129,6 +129,12 @@ export declare class Chronos {
129
129
  * @returns A new `Chronos` instance with the updated date.
130
130
  */
131
131
  addDays(days: number): Chronos;
132
+ /**
133
+ * @public @instance Adds weeks and returns a new immutable instance.
134
+ * @param weeks - Number of weeks to add.
135
+ * @returns A new `Chronos` instance with the updated date.
136
+ */
137
+ addWeeks(weeks: number): Chronos;
132
138
  /**
133
139
  * @public @instance Adds months and returns a new immutable instance.
134
140
  * @param months - Number of months to add.
@@ -227,6 +233,12 @@ export declare class Chronos {
227
233
  * - Other positive or negative numbers for other relative days (e.g., `-2` for two days ago, `2` for two days ahead).
228
234
  */
229
235
  getRelativeDay(time?: number | string | Date | Chronos): number;
236
+ /**
237
+ * @public @instance Determines how many full weeks apart the input date is from the `Chronos` instance.
238
+ * @param time Optional time to compare with the `Chronos` date/time.
239
+ * @returns Difference in weeks; negative if past, positive if future.
240
+ */
241
+ getRelativeWeek(time?: number | string | Date | Chronos): number;
230
242
  /**
231
243
  * @public @instance Returns the number of full hours between the input date and now.
232
244
  * @param time Optional time to compare with the `Chronos` date/time.
@@ -263,7 +275,7 @@ export declare class Chronos {
263
275
  * @public @instance Returns a new Chronos instance at the start of a given unit.
264
276
  * @param unit The unit to reset (e.g., year, month, day).
265
277
  */
266
- startOf(unit: TimeUnit | 'week'): Chronos;
278
+ startOf(unit: TimeUnit): Chronos;
267
279
  /**
268
280
  * @public @instance Returns a new Chronos instance at the end of a given unit.
269
281
  * @param unit The unit to adjust (e.g., year, month, day).
@@ -305,7 +317,18 @@ export declare class Chronos {
305
317
  calendar(baseDate?: number | string | Date | Chronos): string;
306
318
  /** @public @instance Returns a short human-readable string like "2h ago", "in 5m" */
307
319
  fromNowShort(): string;
308
- /** @public @instance Returns ISO week number */
320
+ /**
321
+ * @public @instance Sets the date to the Monday of the specified ISO week number within the current year.
322
+ * This method assumes ISO week logic, where week 1 is the week containing January 4th.
323
+ *
324
+ * @param week The ISO week number (1–53) to set the date to.
325
+ * @returns A new Chronos instance set to the start (Monday) of the specified week.
326
+ */
327
+ setWeek(week: number): Chronos;
328
+ /**
329
+ * @public @instance Calculates the ISO week number of the year.
330
+ * @returns Week number (1-53).
331
+ */
309
332
  getWeek(): number;
310
333
  /** @public @instance Returns ISO week year */
311
334
  getWeekYear(): number;
@@ -376,9 +399,18 @@ export declare class Chronos {
376
399
  */
377
400
  static max(...dates: (number | string | Date | Chronos)[]): Chronos;
378
401
  /**
379
- * @public @static Checks if the year in the date string is a leap year.
402
+ * @public @static Checks if the year in the date string or year (from 0 - 9999) is a leap year.
380
403
  * - A year is a leap year if it is divisible by 4, but not divisible by 100, unless it is also divisible by 400.
381
404
  * - For example, 2000 and 2400 are leap years, but 1900 and 2100 are not.
405
+ *
406
+ * @description
407
+ * This method accepts different types of date inputs and extracts the year to check if it's a leap year.
408
+ * If the provided date is a `number`, it will be treated as a year (must be a valid year from 0 to 9999).
409
+ * If the year is out of this range (negative or larger than 9999), it will be treated as a Unix timestamp.
410
+ * If the provided date is a string or a `Date` object, it will be parsed and the year will be extracted.
411
+ * If a `Chronos` instance is passed, the year will be directly accessed from the instance.
412
+ *
413
+ * @param date - A `number` (year or Unix timestamp), `string`, `Date`, or `Chronos` instance representing a date.
382
414
  * @returns `true` if the year is a leap year, `false` otherwise.
383
415
  */
384
416
  static isLeapYear(date: number | string | Date | Chronos): boolean;
@@ -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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"}
@@ -1,7 +1,8 @@
1
1
  import { isString } from '../guards/primitives';
2
2
  import { getOrdinal } from '../number/utilities';
3
+ import { formatUnitWithPlural } from '../string/convert';
3
4
  import { DAYS, MONTHS, ORIGIN, sortedFormats, TIME_ZONE_LABELS, TIME_ZONES, } from './constants';
4
- import { isValidUTCOffSet } from './guards';
5
+ import { isLeapYear, isValidUTCOffSet } from './guards';
5
6
  import { extractMinutesFromUTC, formatUTCOffset } from './utils';
6
7
  export class Chronos {
7
8
  #date;
@@ -413,6 +414,16 @@ export class Chronos {
413
414
  newDate.setDate(newDate.getDate() + days);
414
415
  return new Chronos(newDate).#withOrigin('addDays');
415
416
  }
417
+ /**
418
+ * @public @instance Adds weeks and returns a new immutable instance.
419
+ * @param weeks - Number of weeks to add.
420
+ * @returns A new `Chronos` instance with the updated date.
421
+ */
422
+ addWeeks(weeks) {
423
+ const newDate = new Date(this.#date);
424
+ newDate.setDate(newDate.getDate() + weeks * 7);
425
+ return new Chronos(newDate).#withOrigin('addWeeks');
426
+ }
416
427
  /**
417
428
  * @public @instance Adds months and returns a new immutable instance.
418
429
  * @param months - Number of months to add.
@@ -462,7 +473,7 @@ export class Chronos {
462
473
  */
463
474
  isLeapYear() {
464
475
  const year = this.#date.getFullYear();
465
- return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
476
+ return isLeapYear(year);
466
477
  }
467
478
  /** @public @instance Checks if the current date is today. */
468
479
  isToday() {
@@ -558,6 +569,7 @@ export class Chronos {
558
569
  let years = to.getFullYear() - from.getFullYear();
559
570
  let months = to.getMonth() - from.getMonth();
560
571
  let days = to.getDate() - from.getDate();
572
+ let weeks = 0;
561
573
  let hours = to.getHours() - from.getHours();
562
574
  let minutes = to.getMinutes() - from.getMinutes();
563
575
  let seconds = to.getSeconds() - from.getSeconds();
@@ -574,6 +586,10 @@ export class Chronos {
574
586
  hours += 24;
575
587
  days--;
576
588
  }
589
+ if (level === 'week' || level === 'day') {
590
+ weeks = Math.floor(days / 7);
591
+ days = days % 7;
592
+ }
577
593
  if (days < 0) {
578
594
  const prevMonth = new Date(to.getFullYear(), to.getMonth(), 0);
579
595
  days += prevMonth.getDate();
@@ -586,6 +602,7 @@ export class Chronos {
586
602
  const unitOrder = [
587
603
  'year',
588
604
  'month',
605
+ 'week',
589
606
  'day',
590
607
  'hour',
591
608
  'minute',
@@ -594,23 +611,26 @@ export class Chronos {
594
611
  const lvlIdx = unitOrder.indexOf(level);
595
612
  const parts = [];
596
613
  if (lvlIdx >= 0 && years > 0 && lvlIdx >= unitOrder.indexOf('year')) {
597
- parts.push(`${years} year${years > 1 ? 's' : ''}`);
614
+ parts.push(formatUnitWithPlural(years, 'year'));
598
615
  }
599
616
  if (lvlIdx >= unitOrder.indexOf('month') && months > 0) {
600
- parts.push(`${months} month${months > 1 ? 's' : ''}`);
617
+ parts.push(formatUnitWithPlural(months, 'month'));
618
+ }
619
+ if (lvlIdx >= unitOrder.indexOf('week') && weeks > 0) {
620
+ parts.push(formatUnitWithPlural(weeks, 'week'));
601
621
  }
602
622
  if (lvlIdx >= unitOrder.indexOf('day') && days > 0) {
603
- parts.push(`${days} day${days > 1 ? 's' : ''}`);
623
+ parts.push(formatUnitWithPlural(days, 'day'));
604
624
  }
605
625
  if (lvlIdx >= unitOrder.indexOf('hour') && hours > 0) {
606
- parts.push(`${hours} hour${hours > 1 ? 's' : ''}`);
626
+ parts.push(formatUnitWithPlural(hours, 'hour'));
607
627
  }
608
628
  if (lvlIdx >= unitOrder.indexOf('minute') && minutes > 0) {
609
- parts.push(`${minutes} minute${minutes > 1 ? 's' : ''}`);
629
+ parts.push(formatUnitWithPlural(minutes, 'minute'));
610
630
  }
611
631
  if (lvlIdx >= unitOrder.indexOf('second') &&
612
632
  (seconds > 0 || parts.length === 0)) {
613
- parts.push(`${seconds} second${seconds !== 1 ? 's' : ''}`);
633
+ parts.push(formatUnitWithPlural(seconds, 'second'));
614
634
  }
615
635
  let prefix = '';
616
636
  let suffix = '';
@@ -676,6 +696,15 @@ export class Chronos {
676
696
  const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
677
697
  return diffDays;
678
698
  }
699
+ /**
700
+ * @public @instance Determines how many full weeks apart the input date is from the `Chronos` instance.
701
+ * @param time Optional time to compare with the `Chronos` date/time.
702
+ * @returns Difference in weeks; negative if past, positive if future.
703
+ */
704
+ getRelativeWeek(time) {
705
+ const relativeDays = this.getRelativeDay(time);
706
+ return Math.floor(relativeDays / 7);
707
+ }
679
708
  /**
680
709
  * @public @instance Returns the number of full hours between the input date and now.
681
710
  * @param time Optional time to compare with the `Chronos` date/time.
@@ -726,6 +755,8 @@ export class Chronos {
726
755
  return this.getRelativeMonth(time);
727
756
  case 'day':
728
757
  return this.getRelativeDay(time);
758
+ case 'week':
759
+ return this.getRelativeWeek(time);
729
760
  case 'hour':
730
761
  return this.getRelativeHour(time);
731
762
  case 'minute':
@@ -810,6 +841,9 @@ export class Chronos {
810
841
  case 'day':
811
842
  d.setDate(d.getDate() + amount);
812
843
  break;
844
+ case 'week':
845
+ d.setDate(d.getDate() + amount * 7);
846
+ break;
813
847
  case 'month':
814
848
  d.setMonth(d.getMonth() + amount);
815
849
  break;
@@ -839,6 +873,8 @@ export class Chronos {
839
873
  return this.#date.getMonth();
840
874
  case 'day':
841
875
  return this.#date.getDate();
876
+ case 'week':
877
+ return this.getWeek();
842
878
  case 'hour':
843
879
  return this.#date.getHours();
844
880
  case 'minute':
@@ -866,6 +902,8 @@ export class Chronos {
866
902
  case 'day':
867
903
  d.setDate(value);
868
904
  break;
905
+ case 'week':
906
+ return this.setWeek(value);
869
907
  case 'hour':
870
908
  d.setHours(value);
871
909
  break;
@@ -900,6 +938,8 @@ export class Chronos {
900
938
  return msDiff / 3.6e6;
901
939
  case 'day':
902
940
  return msDiff / 8.64e7;
941
+ case 'week':
942
+ return msDiff / 6.048e8;
903
943
  case 'month':
904
944
  return ((this.get('year') - time.get('year')) * 12 +
905
945
  (this.get('month') - time.get('month')));
@@ -961,15 +1001,56 @@ export class Chronos {
961
1001
  return `${suffix}${Math.floor(abs / 31536000)}y${postfix}`;
962
1002
  }
963
1003
  }
964
- /** @public @instance Returns ISO week number */
1004
+ /**
1005
+ * @public @instance Sets the date to the Monday of the specified ISO week number within the current year.
1006
+ * This method assumes ISO week logic, where week 1 is the week containing January 4th.
1007
+ *
1008
+ * @param week The ISO week number (1–53) to set the date to.
1009
+ * @returns A new Chronos instance set to the start (Monday) of the specified week.
1010
+ */
1011
+ setWeek(week) {
1012
+ const d = new Date(this.#date);
1013
+ const year = d.getFullYear();
1014
+ const jan4 = new Date(year, 0, 4);
1015
+ const dayOfWeek = jan4.getDay() || 7; // Make Sunday (0) into 7
1016
+ const weekStart = new Date(jan4);
1017
+ weekStart.setDate(jan4.getDate() - (dayOfWeek - 1)); // Move to Monday
1018
+ weekStart.setDate(weekStart.getDate() + (week - 1) * 7); // Move to target week
1019
+ d.setFullYear(weekStart.getFullYear());
1020
+ d.setMonth(weekStart.getMonth());
1021
+ d.setDate(weekStart.getDate());
1022
+ return new Chronos(d).#withOrigin('setWeek');
1023
+ }
1024
+ // /**
1025
+ // * @public @instance Sets the date to the Monday of the specified ISO week number and year.
1026
+ // * @param week ISO week number (1–53)
1027
+ // * @param isoYear Optional ISO week year. Defaults to the current ISO week year.
1028
+ // * @returns New Chronos instance set to the start of the specified ISO week.
1029
+ // */
1030
+ // setISOWeek(week: number, isoYear?: number): Chronos {
1031
+ // // ❗ Use calendar year instead of ISO week year unless explicitly provided
1032
+ // const targetISOYear = isoYear ?? this.#date.getFullYear();
1033
+ // const jan4 = new Date(Date.UTC(targetISOYear, 0, 4));
1034
+ // const dayOfWeek = jan4.getUTCDay();
1035
+ // const offset = (dayOfWeek + 6) % 7;
1036
+ // const firstISOWeekStart = new Date(jan4);
1037
+ // firstISOWeekStart.setUTCDate(jan4.getUTCDate() - offset);
1038
+ // firstISOWeekStart.setUTCDate(
1039
+ // firstISOWeekStart.getUTCDate() + (week - 1) * 7,
1040
+ // );
1041
+ // return new Chronos(firstISOWeekStart).#withOrigin('setISOWeek');
1042
+ // }
1043
+ /**
1044
+ * @public @instance Calculates the ISO week number of the year.
1045
+ * @returns Week number (1-53).
1046
+ */
965
1047
  getWeek() {
966
1048
  // ISO week starts on Monday
967
1049
  const target = this.startOf('week').add(3, 'day');
968
1050
  const firstThursday = new Chronos(new Date(target.year, 0, 4))
969
1051
  .startOf('week')
970
1052
  .add(3, 'day');
971
- const daysDiff = target.diff(firstThursday, 'day');
972
- const week = Math.floor(daysDiff / 7) + 1;
1053
+ const week = target.diff(firstThursday, 'week');
973
1054
  return week;
974
1055
  }
975
1056
  /** @public @instance Returns ISO week year */
@@ -977,6 +1058,15 @@ export class Chronos {
977
1058
  const d = this.startOf('week').add(3, 'day'); // Thursday of current ISO week
978
1059
  return d.year;
979
1060
  }
1061
+ // /**
1062
+ // * @private @instance Gets the ISO week-numbering year.
1063
+ // * @returns The ISO year (can differ from calendar year).
1064
+ // */
1065
+ // getISOWeekYear(): number {
1066
+ // const date = new Date(this.#date);
1067
+ // date.setDate(date.getDate() + 4 - (date.getDay() || 7)); // Thursday of the week
1068
+ // return date.getFullYear();
1069
+ // }
980
1070
  /** @public @instance Returns day of year (1 - 366) */
981
1071
  getDayOfYear() {
982
1072
  const start = new Date(this.year, 0, 1);
@@ -1111,14 +1201,34 @@ export class Chronos {
1111
1201
  return new Chronos(Math.max(...dates.map((d) => new Chronos(d).valueOf()))).#withOrigin('max');
1112
1202
  }
1113
1203
  /**
1114
- * @public @static Checks if the year in the date string is a leap year.
1204
+ * @public @static Checks if the year in the date string or year (from 0 - 9999) is a leap year.
1115
1205
  * - A year is a leap year if it is divisible by 4, but not divisible by 100, unless it is also divisible by 400.
1116
1206
  * - For example, 2000 and 2400 are leap years, but 1900 and 2100 are not.
1207
+ *
1208
+ * @description
1209
+ * This method accepts different types of date inputs and extracts the year to check if it's a leap year.
1210
+ * If the provided date is a `number`, it will be treated as a year (must be a valid year from 0 to 9999).
1211
+ * If the year is out of this range (negative or larger than 9999), it will be treated as a Unix timestamp.
1212
+ * If the provided date is a string or a `Date` object, it will be parsed and the year will be extracted.
1213
+ * If a `Chronos` instance is passed, the year will be directly accessed from the instance.
1214
+ *
1215
+ * @param date - A `number` (year or Unix timestamp), `string`, `Date`, or `Chronos` instance representing a date.
1117
1216
  * @returns `true` if the year is a leap year, `false` otherwise.
1118
1217
  */
1119
1218
  static isLeapYear(date) {
1120
- const year = new Chronos(date).year;
1121
- return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
1219
+ let year;
1220
+ if (typeof date === 'number') {
1221
+ if (date > 0 && date <= 9999) {
1222
+ year = date;
1223
+ }
1224
+ else {
1225
+ year = new Chronos(date).year;
1226
+ }
1227
+ }
1228
+ else {
1229
+ year = date instanceof Chronos ? date.year : new Chronos(date).year;
1230
+ }
1231
+ return isLeapYear(year);
1122
1232
  }
1123
1233
  /**
1124
1234
  * @public @static Checks if the given value is a valid `Date` object.
@@ -1,6 +1,7 @@
1
1
  import type { ChronosStatics } from './types';
2
2
  /**
3
- * * Converts a date into a Chronos object.
3
+ * * Converts a date into a Chronos object and access to all `Chronos` methods.
4
+ *
4
5
  * @description
5
6
  * This function serves as a wrapper around the `Chronos` class constructor and allows you to create a new `Chronos` instance from various types of date representations.
6
7
  * The following types of input are supported:
@@ -1 +1 @@
1
- {"version":3,"file":"chronos-fn.d.ts","sourceRoot":"","sources":["../../src/date/chronos-fn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,QAAA,MAAM,OAAO,EAEP,cAAc,CAAC;AAsBrB,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"chronos-fn.d.ts","sourceRoot":"","sources":["../../src/date/chronos-fn.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,QAAA,MAAM,OAAO,EAEP,cAAc,CAAC;AAsBrB,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Chronos } from '..';
2
2
  /**
3
- * * Converts a date into a Chronos object.
3
+ * * Converts a date into a Chronos object and access to all `Chronos` methods.
4
+ *
4
5
  * @description
5
6
  * This function serves as a wrapper around the `Chronos` class constructor and allows you to create a new `Chronos` instance from various types of date representations.
6
7
  * The following types of input are supported:
@@ -41,14 +42,14 @@ import { Chronos } from '..';
41
42
  const chronos = ((date) => {
42
43
  return new Chronos(date);
43
44
  });
44
- // Add static methods from Chronos class to the chronos function
45
+ // ? Add static methods from Chronos class to the chronos function
45
46
  Object.getOwnPropertyNames(Chronos).forEach((method) => {
46
47
  // Exclude non-method properties like `length`, `name`, `prototype`
47
48
  if (method !== 'prototype' && method !== 'name' && method !== 'length') {
48
49
  chronos[method] = Chronos[method];
49
50
  }
50
51
  });
51
- // Add instance methods from Chronos prototype to chronos function
52
+ // ? Add instance methods from Chronos prototype to chronos function
52
53
  // Object.getOwnPropertyNames(Chronos.prototype).forEach((method) => {
53
54
  // // Skip the constructor method
54
55
  // if (method !== 'constructor') {
@@ -37,19 +37,19 @@ export interface GreetingConfigs {
37
37
  /** Default greeting message if no period matches. */
38
38
  defaultMessage?: string;
39
39
  }
40
- export type TimeUnit = 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second' | 'millisecond';
40
+ export type TimeUnit = 'year' | 'month' | 'day' | 'week' | 'hour' | 'minute' | 'second' | 'millisecond';
41
41
  export type Year = (typeof YEAR_FORMATS)[number];
42
42
  export type Month = (typeof MONTH_FORMATS)[number];
43
43
  export type Day = (typeof DAY_FORMATS)[number];
44
- export type Date = (typeof DATE_FORMATS)[number];
44
+ export type MonthDate = (typeof DATE_FORMATS)[number];
45
45
  export type Hour = (typeof HOUR_FORMATS)[number];
46
46
  export type Minute = (typeof MINUTE_FORMATS)[number];
47
47
  export type Second = (typeof SECOND_FORMATS)[number];
48
48
  export type Millisecond = (typeof MILLISECOND_FORMATS)[number];
49
49
  export type TimeFormats = (typeof TIME_FORMATS)[number];
50
- export type ChronosFormat = Year | Month | Day | Date | Hour | Minute | Second | Millisecond | TimeFormats;
50
+ export type ChronosFormat = Year | Month | Day | MonthDate | Hour | Minute | Second | Millisecond | TimeFormats;
51
51
  /** Standard date formats. */
52
- export type DateParts = `${Date} ${Exclude<Month, 'M' | 'MM'>}` | `${Exclude<Month, 'M' | 'MM'>} ${Date}` | `${Day}, ${Date} ${Exclude<Month, 'M' | 'MM'>}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${Date}` | `${Exclude<Month, 'M' | 'MM'>} ${Date}, ${Year}` | `${Date} ${Exclude<Month, 'M' | 'MM'>}, ${Year}` | `${Exclude<Month, 'M' | 'MM'>} ${Date} ${Year}` | `${Date} ${Exclude<Month, 'M' | 'MM'>} ${Year}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${Date}, ${Year}` | `${Day}, ${Date} ${Exclude<Month, 'M' | 'MM'>}, ${Year}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${Date} ${Year}` | `${Day}, ${Date} ${Exclude<Month, 'M' | 'MM'>} ${Year}` | `${Exclude<Date, 'Do'>}.${Exclude<Month, 'mmm' | 'mmmm'>}.${Year}` | `${Year}.${Exclude<Month, 'mmm' | 'mmmm'>}.${Exclude<Date, 'Do'>}` | `${Exclude<Date, 'Do'>}/${Exclude<Month, 'mmm' | 'mmmm'>}/${Year}` | `${Exclude<Date, 'Do'>}-${Exclude<Month, 'mmm' | 'mmmm'>}-${Year}` | `${Exclude<Month, 'mmm' | 'mmmm'>}/${Exclude<Date, 'Do'>}/${Year}` | `${Exclude<Month, 'mmm' | 'mmmm'>}-${Exclude<Date, 'Do'>}-${Year}` | `${Year}-${Exclude<Month, 'mmm' | 'mmmm'>}-${Exclude<Date, 'Do'>}` | `${Year}/${Exclude<Month, 'mmm' | 'mmmm'>}/${Exclude<Date, 'Do'>}` | `${Year}-${Exclude<Date, 'Do'>}-${Exclude<Month, 'mmm' | 'mmmm'>}` | `${Year}/${Exclude<Date, 'Do'>}/${Exclude<Month, 'mmm' | 'mmmm'>}`;
52
+ export type DateParts = `${MonthDate} ${Exclude<Month, 'M' | 'MM'>}` | `${Exclude<Month, 'M' | 'MM'>} ${MonthDate}` | `${Day}, ${MonthDate} ${Exclude<Month, 'M' | 'MM'>}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${MonthDate}` | `${Exclude<Month, 'M' | 'MM'>} ${MonthDate}, ${Year}` | `${MonthDate} ${Exclude<Month, 'M' | 'MM'>}, ${Year}` | `${Exclude<Month, 'M' | 'MM'>} ${MonthDate} ${Year}` | `${MonthDate} ${Exclude<Month, 'M' | 'MM'>} ${Year}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${MonthDate}, ${Year}` | `${Day}, ${MonthDate} ${Exclude<Month, 'M' | 'MM'>}, ${Year}` | `${Day}, ${Exclude<Month, 'M' | 'MM'>} ${MonthDate} ${Year}` | `${Day}, ${MonthDate} ${Exclude<Month, 'M' | 'MM'>} ${Year}` | `${Exclude<MonthDate, 'Do'>}.${Exclude<Month, 'mmm' | 'mmmm'>}.${Year}` | `${Year}.${Exclude<Month, 'mmm' | 'mmmm'>}.${Exclude<MonthDate, 'Do'>}` | `${Exclude<MonthDate, 'Do'>}/${Exclude<Month, 'mmm' | 'mmmm'>}/${Year}` | `${Exclude<MonthDate, 'Do'>}-${Exclude<Month, 'mmm' | 'mmmm'>}-${Year}` | `${Exclude<Month, 'mmm' | 'mmmm'>}/${Exclude<MonthDate, 'Do'>}/${Year}` | `${Exclude<Month, 'mmm' | 'mmmm'>}-${Exclude<MonthDate, 'Do'>}-${Year}` | `${Year}-${Exclude<Month, 'mmm' | 'mmmm'>}-${Exclude<MonthDate, 'Do'>}` | `${Year}/${Exclude<Month, 'mmm' | 'mmmm'>}/${Exclude<MonthDate, 'Do'>}` | `${Year}-${Exclude<MonthDate, 'Do'>}-${Exclude<Month, 'mmm' | 'mmmm'>}` | `${Year}/${Exclude<MonthDate, 'Do'>}/${Exclude<Month, 'mmm' | 'mmmm'>}`;
53
53
  /** Standard Time Formats */
54
54
  export type TimeParts = `${Exclude<Hour, 'h' | 'hh' | 'H'>}:${Exclude<Minute, 'm'>}` | `${Exclude<Hour, 'H' | 'HH' | 'h'>}:${Exclude<Minute, 'm'>} ${TimeFormats}` | `${Exclude<Hour, 'h' | 'hh' | 'H'>}:${Exclude<Minute, 'm'>}:${Exclude<Second, 's'>}` | `${Exclude<Hour, 'H' | 'HH' | 'h'>}:${Exclude<Minute, 'm'>}:${Exclude<Second, 's'>} ${TimeFormats}` | `${Exclude<Hour, 'h' | 'hh' | 'H'>}:${Exclude<Minute, 'm'>}:${Exclude<Second, 's'>}:${Exclude<Millisecond, 'ms'>}` | `${Exclude<Hour, 'H' | 'HH' | 'h'>}:${Exclude<Minute, 'm'>}:${Exclude<Second, 's'>}:${Exclude<Millisecond, 'ms'>} ${TimeFormats}`;
55
55
  type DateTimeConnector = ' ' | ', ' | '; ' | ' - ';
@@ -78,6 +78,7 @@ export type ChronosMethods = {
78
78
  [key in K]: (...args: any[]) => Chronos;
79
79
  } ? K : never;
80
80
  }[keyof typeof Chronos];
81
+ /** All the statics methods in `Chronos` class */
81
82
  export interface ChronosStatics {
82
83
  (date?: number | string | Date | Chronos): Chronos;
83
84
  /**
@@ -121,24 +122,33 @@ export interface ChronosStatics {
121
122
  * * Creates UTC Chronos
122
123
  * @param dateLike Date input to create utc time.
123
124
  */
124
- utc(dateLike: number | string | Date | Chronos): Chronos;
125
+ utc(dateLike: number | string | MonthDate | Chronos): Chronos;
125
126
  /**
126
127
  * * Returns earliest Chronos
127
128
  * @param dates Date inputs.
128
129
  */
129
- min(...dates: (number | string | Date | Chronos)[]): Chronos;
130
+ min(...dates: (number | string | MonthDate | Chronos)[]): Chronos;
130
131
  /**
131
132
  * * Returns latest Chronos
132
133
  * @param dates Date inputs.
133
134
  */
134
- max(...dates: (number | string | Date | Chronos)[]): Chronos;
135
+ max(...dates: (number | string | MonthDate | Chronos)[]): Chronos;
135
136
  /**
136
- * * Checks if the year in the date string is a leap year.
137
+ * * Checks if the year in the date string or year (from 0 - 9999) is a leap year.
137
138
  * - A year is a leap year if it is divisible by 4, but not divisible by 100, unless it is also divisible by 400.
138
139
  * - For example, 2000 and 2400 are leap years, but 1900 and 2100 are not.
140
+ *
141
+ * @description
142
+ * This method accepts different types of date inputs and extracts the year to check if it's a leap year.
143
+ * If the provided date is a `number`, it will be treated as a year (must be a valid year from 0 to 9999).
144
+ * If the year is out of this range (negative or larger than 9999), it will be treated as a Unix timestamp.
145
+ * If the provided date is a string or a `Date` object, it will be parsed and the year will be extracted.
146
+ * If a `Chronos` instance is passed, the year will be directly accessed from the instance.
147
+ *
148
+ * @param date - A `number` (year or Unix timestamp), `string`, `Date`, or `Chronos` instance representing a date.
139
149
  * @returns `true` if the year is a leap year, `false` otherwise.
140
150
  */
141
- isLeapYear(date: number | string | Date | Chronos): boolean;
151
+ isLeapYear(date: number | string | MonthDate | Chronos): boolean;
142
152
  /**
143
153
  * * Checks if the given value is a valid `Date` object.
144
154
  * - A value is considered valid if it is an instance of the built-in `Date` class.
@@ -146,7 +156,7 @@ export interface ChronosStatics {
146
156
  * @param value - The value to test.
147
157
  * @returns `true` if the value is a valid Date object, otherwise `false`.
148
158
  */
149
- isValidDate(value: unknown): value is Date;
159
+ isValidDate(value: unknown): value is MonthDate;
150
160
  /**
151
161
  * * Checks if the given value is a valid date string.
152
162
  * - A value is considered a valid date string if it is a string and can be parsed by `Date.parse()`.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/date/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/date/types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
2
2
  export { generateAnagrams } from './string/anagram';
3
3
  export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
4
- export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
4
+ export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, formatUnitWithPlural as formatNumberWithPluralUnit, } from './string/convert';
5
5
  export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
6
6
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
7
7
  export { isEven, isEven as isEvenNumber, isFibonacci, isMultiple, isOdd, isOdd as isOddNumber, isFibonacci as isParOfFibonacci, isFibonacci as isParOfFibonacciSeries, isPerfectSquare, } from './number/guards';
@@ -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
@@ -2,7 +2,7 @@
2
2
  export { capitalizeString, generateRandomID, trimString, truncateString, } from './string/basics';
3
3
  export { generateAnagrams } from './string/anagram';
4
4
  export { isCamelCase, isEmojiOnly, isKebabCase, isPalindrome, isPascalCase, isSnakeCase, } from './string/guards';
5
- export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, } from './string/convert';
5
+ export { convertStringCase, extractEmails, extractURLs, maskString, normalizeString, replaceAllInString, reverseString, slugifyString, formatUnitWithPlural, formatUnitWithPlural as formatWithPlural, formatUnitWithPlural as formatNumberWithPluralUnit, } from './string/convert';
6
6
  export { extractNumbersFromString, getLevenshteinDistance, getLevenshteinDistance as levenshteinDistance, } from './string/utilities';
7
7
  // ! Number Utilities
8
8
  export { calculateHCF as calculateGCD, calculateHCF, calculateLCM as calculateLCD, calculateLCM, convertToDecimal, getFibonacciSeries as getFibonacci, getFibonacciSeries as getFibonacciNumbers, getFibonacciSeries, getRandomNumber, sumNumbers as getSumOfNumbers, reverseNumber, sumDigits, sumNumbers, sumNumbers as sumOfNumbers, } from './number/basics';
@@ -74,4 +74,13 @@ export declare function extractEmails(str: string): string[];
74
74
  * @returns An array of extracted URLs.
75
75
  */
76
76
  export declare function extractURLs(str: string): string[];
77
+ /**
78
+ * * Returns a grammatically correct unit string, optionally prefixed with the number.
79
+ *
80
+ * @param count The numeric value to determine singular or plural.
81
+ * @param unit The unit name (e.g., "day", "hour").
82
+ * @param withNumber Whether to prefix the count before the unit. Defaults to `true`.
83
+ * @returns Formatted unit string like `"1 day"`, `"2 months"`, or `"hour"`.
84
+ */
85
+ export declare function formatUnitWithPlural(count: number, unit: string, withNumber?: boolean): string;
77
86
  //# sourceMappingURL=convert.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/string/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAqF5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,UACvB,MAAM,QACP,MAAM,GAAG,MAAM,WACZ,MAAM,KACb,MAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,SAAS,CAAC,MAAM,CAK7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,YAAY,WAAW,KAAG,MAcjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAI7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjD"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/string/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAqF5E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,UACvB,MAAM,QACP,MAAM,GAAG,MAAM,WACZ,MAAM,KACb,MAYF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,SAAS,CAAC,MAAM,CAK7D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,UAAW,MAAM,YAAY,WAAW,KAAG,MAcjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAI7C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,UAAU,UAAO,GACf,MAAM,CAKR"}
@@ -162,3 +162,16 @@ export function extractEmails(str) {
162
162
  export function extractURLs(str) {
163
163
  return str.match(/https?:\/\/[^\s/$.?#].[^\s]*/g) || [];
164
164
  }
165
+ /**
166
+ * * Returns a grammatically correct unit string, optionally prefixed with the number.
167
+ *
168
+ * @param count The numeric value to determine singular or plural.
169
+ * @param unit The unit name (e.g., "day", "hour").
170
+ * @param withNumber Whether to prefix the count before the unit. Defaults to `true`.
171
+ * @returns Formatted unit string like `"1 day"`, `"2 months"`, or `"hour"`.
172
+ */
173
+ export function formatUnitWithPlural(count, unit, withNumber = true) {
174
+ const abs = Math.abs(count);
175
+ const pluralized = abs === 1 ? unit : `${unit}s`;
176
+ return withNumber ? `${count} ${pluralized}` : pluralized;
177
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "3.9.25",
3
+ "version": "3.9.39",
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",