nhb-toolbox 4.13.7 → 4.13.9

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/CHANGELOG.md CHANGED
@@ -6,6 +6,11 @@ All notable changes to the package will be documented here.
6
6
 
7
7
  ---
8
8
 
9
+ ## [4.13.9] - 2025-07-31
10
+
11
+ - **Added** new `Chronos` method `getTimeZoneName()` to get full time-zone name.
12
+ - **Added** new `Chronos` `timeZonePlugin` method `getTimeZoneNameShort()` to get abbreviated time-zone name.
13
+
9
14
  ## [4.13.7] - 2025-07-23
10
15
 
11
16
  - **Updated** `isPlural` and `isSingular` methods in `Pluralizer` class to handle more cases.
@@ -1076,6 +1076,17 @@ class Chronos {
1076
1076
  getTimeZoneOffsetMinutes() {
1077
1077
  return (0, utils_1.extractMinutesFromUTC)(this.#offset);
1078
1078
  }
1079
+ /**
1080
+ * @instance Returns the current time zone name as a full descriptive string (e.g. `"Bangladesh Standard Time"`).
1081
+ * @remarks
1082
+ * - This method uses a predefined mapping of UTC offsets to time zone names.
1083
+ * - If multiple time zones share the same UTC offset, it returns the **first match** from the predefined list.
1084
+ * - If no match is found (which is rare), it falls back to returning the UTC offset (e.g. `"UTC+06:00"`).
1085
+ */
1086
+ getTimeZoneName() {
1087
+ const UTC = `UTC${this.getTimeZoneOffset()}`;
1088
+ return constants_1.TIME_ZONE_LABELS?.[UTC] ?? UTC;
1089
+ }
1079
1090
  /** @instance Returns new Chronos instance in UTC */
1080
1091
  toUTC() {
1081
1092
  if (this.#offset === 'UTC+00:00') {
@@ -206,7 +206,7 @@ exports.TIME_ZONES = Object.freeze({
206
206
  /** Israel Standard Time */
207
207
  'IST-ISRAEL': 2 * 60,
208
208
  /** Israel Daylight Time (DST) */
209
- 'IST-IL': 2 * 60,
209
+ 'IST-DST': 3 * 60,
210
210
  /** Eastern European Summer Time */
211
211
  EEST: 3 * 60,
212
212
  /** Moscow Time (Russia-West) */
@@ -14,7 +14,7 @@ const timeZonePlugin = (ChronosClass) => {
14
14
  stringOffset = zone;
15
15
  }
16
16
  else {
17
- targetOffset = constants_1.TIME_ZONES[zone] ?? constants_1.TIME_ZONES['UTC'];
17
+ targetOffset = constants_1.TIME_ZONES?.[zone] ?? constants_1.TIME_ZONES['UTC'];
18
18
  stringOffset = (0, utils_1.formatUTCOffset)(targetOffset);
19
19
  }
20
20
  const previousOffset = this.getTimeZoneOffsetMinutes();
@@ -24,5 +24,21 @@ const timeZonePlugin = (ChronosClass) => {
24
24
  const instance = new ChronosClass(adjustedTime);
25
25
  return ChronosClass[constants_1.INTERNALS].withOrigin(instance, 'timeZone', stringOffset);
26
26
  };
27
+ ChronosClass.prototype.getTimeZoneNameShort = function () {
28
+ const mins = this.getTimeZoneOffsetMinutes();
29
+ const UTC = (0, utils_1.formatUTCOffset)(mins);
30
+ const timeZone = constants_1.TIME_ZONE_LABELS?.[UTC];
31
+ let result = timeZone
32
+ ?.split(' ')
33
+ ?.filter(Boolean)
34
+ ?.map((part) => part?.charAt(0))
35
+ ?.join('')
36
+ ?.replace(/\W/g, '');
37
+ if (!result) {
38
+ const zones = Object.entries(constants_1.TIME_ZONES);
39
+ result = zones.find((zone) => zone?.[1] === mins)?.[0];
40
+ }
41
+ return result ?? (0, utils_1.formatUTCOffset)(mins);
42
+ };
27
43
  };
28
44
  exports.timeZonePlugin = timeZonePlugin;
@@ -492,6 +492,14 @@ export declare class Chronos {
492
492
  * @returns The UTC offset in minutes maintaining the current timezone regardless of system having different one.
493
493
  */
494
494
  getTimeZoneOffsetMinutes(): number;
495
+ /**
496
+ * @instance Returns the current time zone name as a full descriptive string (e.g. `"Bangladesh Standard Time"`).
497
+ * @remarks
498
+ * - This method uses a predefined mapping of UTC offsets to time zone names.
499
+ * - If multiple time zones share the same UTC offset, it returns the **first match** from the predefined list.
500
+ * - If no match is found (which is rare), it falls back to returning the UTC offset (e.g. `"UTC+06:00"`).
501
+ */
502
+ getTimeZoneName(): string;
495
503
  /** @instance Returns new Chronos instance in UTC */
496
504
  toUTC(): Chronos;
497
505
  /** @instance Returns new Chronos instance in local time */
@@ -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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"}
@@ -137,7 +137,7 @@ export declare const TIME_ZONES: Readonly<{
137
137
  /** Israel Standard Time */
138
138
  readonly 'IST-ISRAEL': number;
139
139
  /** Israel Daylight Time (DST) */
140
- readonly 'IST-IL': number;
140
+ readonly 'IST-DST': number;
141
141
  /** Eastern European Summer Time */
142
142
  readonly EEST: number;
143
143
  /** Moscow Time (Russia-West) */
@@ -10,6 +10,14 @@ declare module '../Chronos' {
10
10
  * @returns A new instance of `Chronos` with time in the given timezone. Invalid input sets time-zone to `UTC`.
11
11
  */
12
12
  timeZone(zone: TimeZone | UTCOffSet): ChronosConstructor;
13
+ /**
14
+ * @instance Returns the current time zone abbreviation (e.g. `"BST"` for `Bangladesh Standard Time`).
15
+ * @remarks
16
+ * - This method uses a predefined mapping of UTC offsets to abbreviated time zone codes.
17
+ * - If multiple time zones share the same UTC offset, it returns the **first abbreviation** from the list.
18
+ * - If no match is found (which is rare), it returns the UTC offset (e.g. `"UTC+06:00"`).
19
+ */
20
+ getTimeZoneNameShort(): TimeZone | UTCOffSet;
13
21
  }
14
22
  }
15
23
  /** * Plugin to inject `timeZone` method */
@@ -1 +1 @@
1
- {"version":3,"file":"timeZonePlugin.d.ts","sourceRoot":"","sources":["../../../../src/date/plugins/timeZonePlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpD,KAAK,kBAAkB,GAAG,OAAO,YAAY,EAAE,OAAO,CAAC;AACvD,KAAK,WAAW,GAAG,cAAc,YAAY,EAAE,OAAO,CAAC;AAEvD,OAAO,QAAQ,YAAY,CAAC;IAC3B,UAAU,OAAO;QAChB;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC;KACzD;CACD;AAED,2CAA2C;AAC3C,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,KAAG,IAgC1D,CAAC"}
1
+ {"version":3,"file":"timeZonePlugin.d.ts","sourceRoot":"","sources":["../../../../src/date/plugins/timeZonePlugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpD,KAAK,kBAAkB,GAAG,OAAO,YAAY,EAAE,OAAO,CAAC;AACvD,KAAK,WAAW,GAAG,cAAc,YAAY,EAAE,OAAO,CAAC;AAEvD,OAAO,QAAQ,YAAY,CAAC;IAC3B,UAAU,OAAO;QAChB;;;;;WAKG;QACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,kBAAkB,CAAC;QAEzD;;;;;;WAMG;QACH,oBAAoB,IAAI,QAAQ,GAAG,SAAS,CAAC;KAC7C;CACD;AAED,2CAA2C;AAC3C,eAAO,MAAM,cAAc,GAAI,cAAc,WAAW,KAAG,IA2D1D,CAAC"}
@@ -1073,6 +1073,17 @@ export class Chronos {
1073
1073
  getTimeZoneOffsetMinutes() {
1074
1074
  return extractMinutesFromUTC(this.#offset);
1075
1075
  }
1076
+ /**
1077
+ * @instance Returns the current time zone name as a full descriptive string (e.g. `"Bangladesh Standard Time"`).
1078
+ * @remarks
1079
+ * - This method uses a predefined mapping of UTC offsets to time zone names.
1080
+ * - If multiple time zones share the same UTC offset, it returns the **first match** from the predefined list.
1081
+ * - If no match is found (which is rare), it falls back to returning the UTC offset (e.g. `"UTC+06:00"`).
1082
+ */
1083
+ getTimeZoneName() {
1084
+ const UTC = `UTC${this.getTimeZoneOffset()}`;
1085
+ return TIME_ZONE_LABELS?.[UTC] ?? UTC;
1086
+ }
1076
1087
  /** @instance Returns new Chronos instance in UTC */
1077
1088
  toUTC() {
1078
1089
  if (this.#offset === 'UTC+00:00') {
@@ -203,7 +203,7 @@ export const TIME_ZONES = /* @__PURE__ */ Object.freeze({
203
203
  /** Israel Standard Time */
204
204
  'IST-ISRAEL': 2 * 60,
205
205
  /** Israel Daylight Time (DST) */
206
- 'IST-IL': 2 * 60,
206
+ 'IST-DST': 3 * 60,
207
207
  /** Eastern European Summer Time */
208
208
  EEST: 3 * 60,
209
209
  /** Moscow Time (Russia-West) */
@@ -1,4 +1,4 @@
1
- import { INTERNALS, TIME_ZONES } from '../constants.js';
1
+ import { INTERNALS, TIME_ZONE_LABELS, TIME_ZONES } from '../constants.js';
2
2
  import { isValidUTCOffSet } from '../guards.js';
3
3
  import { extractMinutesFromUTC, formatUTCOffset } from '../utils.js';
4
4
  /** * Plugin to inject `timeZone` method */
@@ -11,7 +11,7 @@ export const timeZonePlugin = (ChronosClass) => {
11
11
  stringOffset = zone;
12
12
  }
13
13
  else {
14
- targetOffset = TIME_ZONES[zone] ?? TIME_ZONES['UTC'];
14
+ targetOffset = TIME_ZONES?.[zone] ?? TIME_ZONES['UTC'];
15
15
  stringOffset = formatUTCOffset(targetOffset);
16
16
  }
17
17
  const previousOffset = this.getTimeZoneOffsetMinutes();
@@ -21,4 +21,20 @@ export const timeZonePlugin = (ChronosClass) => {
21
21
  const instance = new ChronosClass(adjustedTime);
22
22
  return ChronosClass[INTERNALS].withOrigin(instance, 'timeZone', stringOffset);
23
23
  };
24
+ ChronosClass.prototype.getTimeZoneNameShort = function () {
25
+ const mins = this.getTimeZoneOffsetMinutes();
26
+ const UTC = formatUTCOffset(mins);
27
+ const timeZone = TIME_ZONE_LABELS?.[UTC];
28
+ let result = timeZone
29
+ ?.split(' ')
30
+ ?.filter(Boolean)
31
+ ?.map((part) => part?.charAt(0))
32
+ ?.join('')
33
+ ?.replace(/\W/g, '');
34
+ if (!result) {
35
+ const zones = Object.entries(TIME_ZONES);
36
+ result = zones.find((zone) => zone?.[1] === mins)?.[0];
37
+ }
38
+ return result ?? formatUTCOffset(mins);
39
+ };
24
40
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nhb-toolbox",
3
- "version": "4.13.7",
3
+ "version": "4.13.9",
4
4
  "description": "A versatile collection of smart, efficient, and reusable utility functions and classes for everyday development needs.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -48,7 +48,7 @@
48
48
  "eslint-plugin-prettier": "^5.4.1",
49
49
  "globals": "^16.2.0",
50
50
  "jest": "^29.7.0",
51
- "nhb-scripts": "^1.8.6",
51
+ "nhb-scripts": "^1.8.23",
52
52
  "prettier": "^3.5.3",
53
53
  "ts-jest": "^29.3.4",
54
54
  "typescript": "^5.8.3",
@@ -250,6 +250,7 @@
250
250
  "build": "nhb-build",
251
251
  "commit": "nhb-commit",
252
252
  "module": "nhb-module",
253
- "count": "nhb-count"
253
+ "count": "nhb-count",
254
+ "delete": "nhb-delete"
254
255
  }
255
256
  }