nhb-toolbox 3.6.50 → 3.7.5
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/date/Chronos.d.ts +36 -3
- package/dist/date/Chronos.d.ts.map +1 -1
- package/dist/date/Chronos.js +123 -6
- package/package.json +1 -1
package/dist/date/Chronos.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export declare class Chronos {
|
|
|
29
29
|
toDate(): Date;
|
|
30
30
|
/** * Returns a string representation of a date. The format of the string depends on the locale. */
|
|
31
31
|
toString(): string;
|
|
32
|
+
/** * Returns ISO string with local time zone offset */
|
|
33
|
+
toLocalISOString(): string;
|
|
32
34
|
/**
|
|
33
35
|
* * Wrapper over native `toLocaleString`
|
|
34
36
|
* @description Converts a date and time to a string by using the current or specified locale.
|
|
@@ -292,9 +294,40 @@ export declare class Chronos {
|
|
|
292
294
|
* @returns `true` if the current date is within the specified range based on the `inclusive` mode.
|
|
293
295
|
*/
|
|
294
296
|
isBetween(start: number | string | Date | Chronos, end: number | string | Date | Chronos, inclusive?: '[]' | '[)' | '(]' | '()'): boolean;
|
|
295
|
-
/**
|
|
296
|
-
* Returns number of days in current month
|
|
297
|
-
*/
|
|
297
|
+
/** * Returns number of days in current month */
|
|
298
298
|
daysInMonth(): number;
|
|
299
|
+
/** * Converts to object with all date unit parts */
|
|
300
|
+
toObject(): {
|
|
301
|
+
year: number;
|
|
302
|
+
month: number;
|
|
303
|
+
isoMonth: number;
|
|
304
|
+
date: number;
|
|
305
|
+
day: number;
|
|
306
|
+
isoDay: number;
|
|
307
|
+
hour: number;
|
|
308
|
+
minute: number;
|
|
309
|
+
second: number;
|
|
310
|
+
millisecond: number;
|
|
311
|
+
};
|
|
312
|
+
/** * Converts to array with all date unit parts */
|
|
313
|
+
toArray(): [number, number, number, number, number, number, number];
|
|
314
|
+
/** * Returns offset like +06:00 */
|
|
315
|
+
getUTCOffset(): string;
|
|
316
|
+
/** * Checks if currently in DST */
|
|
317
|
+
isDST(): boolean;
|
|
318
|
+
/** * Returns new Chronos instance in UTC */
|
|
319
|
+
/** * Returns new Chronos instance in local time */
|
|
320
|
+
/** @static Parses a date string with a given format (partial support) */
|
|
321
|
+
static parse(dateStr: string, format: string): Chronos;
|
|
322
|
+
/**
|
|
323
|
+
* @static Returns earliest Chronos
|
|
324
|
+
* @param dates Date inputs.
|
|
325
|
+
*/
|
|
326
|
+
static min(...dates: (number | string | Date | Chronos)[]): Chronos;
|
|
327
|
+
/**
|
|
328
|
+
* @static Returns latest Chronos
|
|
329
|
+
* @param dates Date inputs.
|
|
330
|
+
*/
|
|
331
|
+
static max(...dates: (number | string | Date | Chronos)[]): Chronos;
|
|
299
332
|
}
|
|
300
333
|
//# sourceMappingURL=Chronos.d.ts.map
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,KAAK,EAEX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,SAAS,CAAC;AAGjB,qBAAa,OAAO;;IAInB;;;;;;;;OAQG;gBACS,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAOpD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAEjC;IAED;;;;OAIG;IACH,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IAKnD,sEAAsE;IAC/D,KAAK,IAAI,OAAO;IAIvB,4EAA4E;IAC5E,MAAM,IAAI,MAAM;IAIhB,6EAA6E;IAC7E,OAAO,IAAI,MAAM;IAIjB,qDAAqD;IACrD,MAAM,IAAI,IAAI;IAId,mGAAmG;IACnG,QAAQ,IAAI,MAAM;IAIlB,uDAAuD;IACvD,gBAAgB,IAAI,MAAM;IAM1B;;;;;;OAMG;IACH,cAAc,CACb,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAChE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAClC,MAAM;IAIT,wDAAwD;IACxD,WAAW,IAAI,MAAM;IAIrB,oFAAoF;IACpF,YAAY,IAAI,MAAM;IAItB,oFAAoF;IACpF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,KAAK,IAAI,MAAM,CAElB;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,GAAG,IAAI,MAAM,CAEhB;IACD,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,MAAM,IAAI,MAAM,CAEnB;IACD,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,4CAA4C;IAC5C,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAOtC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM;IAO7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,IAAI,MAAM;IAyGpB;;;;;;OAMG;IACH,MAAM,CACL,MAAM,GAAE,MAAwC,EAChD,MAAM,UAAQ,GACZ,MAAM;IAIT;;;;;OAKG;IACH,SAAS,CAAC,MAAM,GAAE,MAAwC,GAAG,MAAM;IAInE;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMpC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAMpC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM9B;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMlC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;OAKG;IACH,UAAU,IAAI,OAAO;IAMrB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO;IAiB7C,6CAA6C;IAC7C,OAAO,IAAI,OAAO;IAIlB,gDAAgD;IAChD,UAAU,IAAI,OAAO;IAIrB,iDAAiD;IACjD,WAAW,IAAI,OAAO;IAItB;;;;;;;OAOG;IACH,OAAO,CACN,KAAK,GAAE,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAY,EAClD,gBAAgB,GAAE,OAAc,EAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GACrC,MAAM;IA8FT;;;;OAIG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAiBhE;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAgBjE;;;;;;;;;OASG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAe/D;;;;OAIG;IACH,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAKhE;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAKlE;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAKlE;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IAIvE;;;;;;OAMG;IACH,OAAO,CACN,IAAI,GAAE,QAAmB,EACzB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GACrC,MAAM;IAqBT;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO;IAsChD;;;OAGG;IACI,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAIrC;;;;OAIG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO;IA8BnD;;;OAGG;IACI,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAmBlC;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IA6BlD;;;;OAIG;IACI,IAAI,CACV,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,IAAI,EAAE,QAAQ,GACZ,MAAM;IA0BT;;;;OAIG;IACI,MAAM,CACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,IAAI,EAAE,QAAQ,GACZ,OAAO;IASV;;;;OAIG;IACI,QAAQ,CACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,IAAI,EAAE,QAAQ,GACZ,OAAO;IASV;;;;OAIG;IACI,OAAO,CACb,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,IAAI,EAAE,QAAQ,GACZ,OAAO;IASV;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM;IA0B7D,qEAAqE;IACrE,YAAY,IAAI,MAAM;IAwBtB,gCAAgC;IAChC,OAAO,IAAI,MAAM;IAcjB,8BAA8B;IAC9B,WAAW,IAAI,MAAM;IAKrB,sCAAsC;IACtC,YAAY,IAAI,MAAM;IAMtB;;;;;;;;;;;;OAYG;IACH,SAAS,CACR,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACvC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,EACrC,SAAS,GAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAW,GACzC,OAAO;IAiBV,gDAAgD;IAChD,WAAW,IAAI,MAAM;IAIrB,oDAAoD;IACpD,QAAQ;;;;;;;;;;;;IAeR,mDAAmD;IACnD,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAYnE,mCAAmC;IACnC,YAAY,IAAI,MAAM;IAUtB,mCAAmC;IACnC,KAAK,IAAI,OAAO;IAUhB,4CAA4C;IAmB5C,mDAAmD;IAOnD,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAuDtD;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO;IAMnE;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO;CAKnE"}
|
package/dist/date/Chronos.js
CHANGED
|
@@ -19,7 +19,7 @@ export class Chronos {
|
|
|
19
19
|
// this.preview = this.toISOString();
|
|
20
20
|
}
|
|
21
21
|
get [Symbol.toStringTag]() {
|
|
22
|
-
return this.
|
|
22
|
+
return this.toLocalISOString();
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* * Enables primitive coercion like `console.log`, `${chronos}`, etc.
|
|
@@ -29,7 +29,7 @@ export class Chronos {
|
|
|
29
29
|
[Symbol.toPrimitive](hint) {
|
|
30
30
|
if (hint === 'number')
|
|
31
31
|
return this.valueOf();
|
|
32
|
-
return this.
|
|
32
|
+
return this.toLocalISOString();
|
|
33
33
|
}
|
|
34
34
|
/** * Clones and returns a new Chronos instance with the same date. */
|
|
35
35
|
clone() {
|
|
@@ -37,7 +37,7 @@ export class Chronos {
|
|
|
37
37
|
}
|
|
38
38
|
/** * Enables JSON.stringify and console logging to show readable output. */
|
|
39
39
|
toJSON() {
|
|
40
|
-
return this.
|
|
40
|
+
return this.toLocalISOString();
|
|
41
41
|
}
|
|
42
42
|
/** * Enables arithmetic and comparison operations (e.g., +new Chronos()). */
|
|
43
43
|
valueOf() {
|
|
@@ -51,6 +51,11 @@ export class Chronos {
|
|
|
51
51
|
toString() {
|
|
52
52
|
return this.#date.toString();
|
|
53
53
|
}
|
|
54
|
+
/** * Returns ISO string with local time zone offset */
|
|
55
|
+
toLocalISOString() {
|
|
56
|
+
const pad = (n, p = 2) => String(n).padStart(p, '0');
|
|
57
|
+
return `${this.year}-${pad(this.month + 1)}-${pad(this.date)}T${pad(this.hour)}:${pad(this.minute)}:${pad(this.second)}.${pad(this.millisecond, 3)}${this.getUTCOffset()}`;
|
|
58
|
+
}
|
|
54
59
|
/**
|
|
55
60
|
* * Wrapper over native `toLocaleString`
|
|
56
61
|
* @description Converts a date and time to a string by using the current or specified locale.
|
|
@@ -831,10 +836,122 @@ export class Chronos {
|
|
|
831
836
|
return t > s && t < e;
|
|
832
837
|
}
|
|
833
838
|
}
|
|
834
|
-
/**
|
|
835
|
-
* Returns number of days in current month
|
|
836
|
-
*/
|
|
839
|
+
/** * Returns number of days in current month */
|
|
837
840
|
daysInMonth() {
|
|
838
841
|
return new Date(this.year, this.month + 1, 0).getDate();
|
|
839
842
|
}
|
|
843
|
+
/** * Converts to object with all date unit parts */
|
|
844
|
+
toObject() {
|
|
845
|
+
return {
|
|
846
|
+
year: this.year,
|
|
847
|
+
month: this.month,
|
|
848
|
+
isoMonth: this.month + 1,
|
|
849
|
+
date: this.date,
|
|
850
|
+
day: this.day,
|
|
851
|
+
isoDay: this.day + 1,
|
|
852
|
+
hour: this.hour,
|
|
853
|
+
minute: this.minute,
|
|
854
|
+
second: this.second,
|
|
855
|
+
millisecond: this.millisecond,
|
|
856
|
+
};
|
|
857
|
+
}
|
|
858
|
+
/** * Converts to array with all date unit parts */
|
|
859
|
+
toArray() {
|
|
860
|
+
return [
|
|
861
|
+
this.year,
|
|
862
|
+
this.month,
|
|
863
|
+
this.date,
|
|
864
|
+
this.hour,
|
|
865
|
+
this.minute,
|
|
866
|
+
this.second,
|
|
867
|
+
this.millisecond,
|
|
868
|
+
];
|
|
869
|
+
}
|
|
870
|
+
/** * Returns offset like +06:00 */
|
|
871
|
+
getUTCOffset() {
|
|
872
|
+
const offset = -this.#date.getTimezoneOffset();
|
|
873
|
+
const sign = offset >= 0 ? '+' : '-';
|
|
874
|
+
const pad = (n) => String(Math.floor(Math.abs(n))).padStart(2, '0');
|
|
875
|
+
return `${sign}${pad(offset / 60)}:${pad(offset % 60)}`;
|
|
876
|
+
}
|
|
877
|
+
/** * Checks if currently in DST */
|
|
878
|
+
isDST() {
|
|
879
|
+
const jan = new Date(this.year, 0, 1);
|
|
880
|
+
const jul = new Date(this.year, 6, 1);
|
|
881
|
+
return (Math.min(jan.getTimezoneOffset(), jul.getTimezoneOffset()) !==
|
|
882
|
+
this.#date.getTimezoneOffset());
|
|
883
|
+
}
|
|
884
|
+
/** * Returns new Chronos instance in UTC */
|
|
885
|
+
// toUTC(): Chronos {
|
|
886
|
+
// // const utcDate = new Date(
|
|
887
|
+
// // Date.UTC(
|
|
888
|
+
// // this.#date.getFullYear(),
|
|
889
|
+
// // this.#date.getMonth(),
|
|
890
|
+
// // this.#date.getDate(),
|
|
891
|
+
// // this.#date.getHours(),
|
|
892
|
+
// // this.#date.getMinutes(),
|
|
893
|
+
// // this.#date.getSeconds(),
|
|
894
|
+
// // this.#date.getMilliseconds(),
|
|
895
|
+
// // ),
|
|
896
|
+
// // );
|
|
897
|
+
// // return new Chronos(utcDate);
|
|
898
|
+
// const date = this.#date;
|
|
899
|
+
// const utc = new Date(date.getTime() + date.getTimezoneOffset() * 60000);
|
|
900
|
+
// return new Chronos(utc);
|
|
901
|
+
// }
|
|
902
|
+
/** * Returns new Chronos instance in local time */
|
|
903
|
+
// toLocal(): Chronos {
|
|
904
|
+
// const date = new Date(this.#date.getTime());
|
|
905
|
+
// date.setMinutes(date.getMinutes() + date.getTimezoneOffset());
|
|
906
|
+
// return new Chronos(date);
|
|
907
|
+
// }
|
|
908
|
+
/** @static Parses a date string with a given format (partial support) */
|
|
909
|
+
static parse(dateStr, format) {
|
|
910
|
+
const formatMap = {
|
|
911
|
+
YYYY: 'year',
|
|
912
|
+
MM: 'month',
|
|
913
|
+
DD: 'date',
|
|
914
|
+
HH: 'hour',
|
|
915
|
+
mm: 'minute',
|
|
916
|
+
ss: 'second',
|
|
917
|
+
};
|
|
918
|
+
const regex = format.replace(/YYYY|MM|DD|HH|mm|ss/g, (match) => {
|
|
919
|
+
return `(?<${match}>\\d{${match.length}})`;
|
|
920
|
+
});
|
|
921
|
+
const match = new RegExp(`^${regex}$`).exec(dateStr);
|
|
922
|
+
if (!match?.groups) {
|
|
923
|
+
throw new Error('Invalid date format');
|
|
924
|
+
}
|
|
925
|
+
const values = Object.entries(match.groups).reduce((acc, [key, val]) => {
|
|
926
|
+
const map = formatMap[key];
|
|
927
|
+
if (map) {
|
|
928
|
+
acc[map] = Number(val);
|
|
929
|
+
}
|
|
930
|
+
return acc;
|
|
931
|
+
}, {});
|
|
932
|
+
return new Chronos(new Date(values.year ?? 1970, (values.month ?? 1) - 1, values.date ?? 1, values.hour ?? 0, values.minute ?? 0, values.second ?? 0));
|
|
933
|
+
}
|
|
934
|
+
// /**
|
|
935
|
+
// * @static Creates UTC Chronos
|
|
936
|
+
// * @param dateLike Date input to create utc time.
|
|
937
|
+
// */
|
|
938
|
+
// static utc(dateLike: number | string | Date | Chronos): Chronos {
|
|
939
|
+
// const date = new Chronos(dateLike).toDate();
|
|
940
|
+
// const utc = new Date(date.getTime() + date.getTimezoneOffset() * 60000);
|
|
941
|
+
// return new Chronos(utc);
|
|
942
|
+
// }
|
|
943
|
+
/**
|
|
944
|
+
* @static Returns earliest Chronos
|
|
945
|
+
* @param dates Date inputs.
|
|
946
|
+
*/
|
|
947
|
+
static min(...dates) {
|
|
948
|
+
return new Chronos(Math.min(...dates.map((d) => new Chronos(d).valueOf())));
|
|
949
|
+
}
|
|
950
|
+
/**
|
|
951
|
+
* @static Returns latest Chronos
|
|
952
|
+
* @param dates Date inputs.
|
|
953
|
+
*/
|
|
954
|
+
static max(...dates) {
|
|
955
|
+
return new Chronos(Math.max(...dates.map((d) => new Chronos(d).valueOf())));
|
|
956
|
+
}
|
|
840
957
|
}
|
package/package.json
CHANGED