@hyper.software/common-helpers 1.0.15 → 1.0.16

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.
@@ -1,3 +1,6 @@
1
+ import baseMoment from 'moment';
2
+ import 'moment/locale/de';
3
+ import 'moment/locale/ro';
1
4
  export declare const DATE_FORMATS: {
2
5
  SHORT_DATE: string;
3
6
  LONG_DATE: string;
@@ -28,21 +31,10 @@ export interface IFormatDate {
28
31
  offset?: number;
29
32
  tz?: string;
30
33
  }
31
- export declare function formatDate({ date, locale, format, // equivalent to 'DAY_DATE' in luxon
32
- offset, tz, }: {
33
- date: any;
34
- locale?: string;
35
- format?: string;
36
- offset?: number;
37
- tz?: string;
38
- }): any;
34
+ export declare function formatDate({ date, locale, format, offset, tz, }: IFormatDate): string;
39
35
  export interface IGetDateWithTimezone {
40
36
  date: any;
41
37
  locale?: string;
42
38
  tz?: string;
43
39
  }
44
- export declare function getDateWithTimezone({ date, locale, tz }: {
45
- date: any;
46
- locale?: string;
47
- tz?: string;
48
- }): any;
40
+ export declare function getDateWithTimezone({ date, locale, tz }: IGetDateWithTimezone): baseMoment.Moment;
@@ -1,4 +1,8 @@
1
- import { DateTime } from 'luxon';
1
+ import baseMoment from 'moment';
2
+ import mtz from 'moment-timezone';
3
+ import 'moment/locale/de';
4
+ import 'moment/locale/ro';
5
+ import { LANGUAGE } from '../interfaces';
2
6
  export var DATE_FORMATS = {
3
7
  SHORT_DATE: 'L',
4
8
  LONG_DATE: 'LL',
@@ -22,20 +26,54 @@ export var DATE_FORMATS = {
22
26
  YYYY_MM_DD: 'YYYY-MM-DD',
23
27
  CALENDAR_ICS: 'YYYY-MM-DD HH:mm:ss',
24
28
  };
25
- export function formatDate(_a) {
26
- var date = _a.date, _b = _a.locale, locale = _b === void 0 ? 'en-US' : _b, _c = _a.format, format = _c === void 0 ? 'DDDD' : _c, // equivalent to 'DAY_DATE' in luxon
27
- _d = _a.offset, // equivalent to 'DAY_DATE' in luxon
28
- offset = _d === void 0 ? 0 : _d, _e = _a.tz, tz = _e === void 0 ? '' : _e;
29
- var actualTimezone = tz || DateTime.local().zoneName;
30
- var dateTime = DateTime.fromJSDate(date, { zone: actualTimezone, locale: locale });
31
- if (offset !== 0) {
32
- dateTime = dateTime.setZone('utc+0').plus({ hours: offset });
29
+ var getCustomDateFormat = function (dateFormat, locale) {
30
+ if (locale === LANGUAGE.EN_US && dateFormat === DATE_FORMATS.DAY_MON_YEAR) {
31
+ return DATE_FORMATS.DAY_MON_YEAR;
32
+ }
33
+ if (locale === LANGUAGE.DE_DE && dateFormat === DATE_FORMATS.DAY_MON_YEAR) {
34
+ return 'DD. MMM YYYY';
35
+ }
36
+ if (locale === LANGUAGE.EN_US && dateFormat === DATE_FORMATS.DD_DAY_MON_YEAR) {
37
+ return DATE_FORMATS.DD_DAY_MON_YEAR;
38
+ }
39
+ if (locale === LANGUAGE.DE_DE && dateFormat === DATE_FORMATS.DD_DAY_MON_YEAR) {
40
+ return 'dd DD. MMM YYYY';
41
+ }
42
+ return null;
43
+ };
44
+ function getDate(date) {
45
+ if (Object.prototype.toString.call(date) === '[object Date]') {
46
+ return date;
33
47
  }
34
- return dateTime.toFormat(format);
48
+ return new Date(date);
49
+ }
50
+ export function formatDate(_a) {
51
+ var date = _a.date, _b = _a.locale, locale = _b === void 0 ? LANGUAGE.EN_US : _b, _c = _a.format, format = _c === void 0 ? DATE_FORMATS.DAY_DATE : _c, _d = _a.offset, offset = _d === void 0 ? 0 : _d, _e = _a.tz, tz = _e === void 0 ? '' : _e;
52
+ mtz.locale(locale);
53
+ var actualTimezone = tz || Intl.DateTimeFormat().resolvedOptions().timeZone;
54
+ var dt = getDate(date);
55
+ var momentDate = mtz(dt);
56
+ var actualOffset = offset || momentDate.tz(actualTimezone).utcOffset() / 60;
57
+ return momentDate.utcOffset(actualOffset).format(getCustomDateFormat(format, locale) || format);
35
58
  }
36
59
  export function getDateWithTimezone(_a) {
37
60
  var date = _a.date, _b = _a.locale, locale = _b === void 0 ? 'en' : _b, _c = _a.tz, tz = _c === void 0 ? '' : _c;
38
- var actualTimezone = tz || DateTime.local().zoneName;
39
- return DateTime.fromJSDate(new Date(date), { zone: actualTimezone }).setLocale(locale);
61
+ mtz.locale(locale);
62
+ var actualTimezone = tz || Intl.DateTimeFormat().resolvedOptions().timeZone;
63
+ var dt = getDate(date);
64
+ var momentDate = mtz(dt);
65
+ return momentDate.tz(actualTimezone);
40
66
  }
67
+ var copyLocaleData = function (source, dest) {
68
+ var installedLocales = dest.locales();
69
+ for (var _i = 0, _a = source.locales(); _i < _a.length; _i++) {
70
+ var locale = _a[_i];
71
+ if (!installedLocales.includes(locale)) {
72
+ var localeData = source.localeData(locale);
73
+ var localeSpec = localeData._config;
74
+ dest.defineLocale(locale, localeSpec);
75
+ }
76
+ }
77
+ };
78
+ copyLocaleData(baseMoment, mtz);
41
79
  //# sourceMappingURL=moment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"moment.js","sourceRoot":"","sources":["../../src/helpers/moment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhC,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,IAAI;IACf,oBAAoB,EAAE,KAAK;IAC3B,uBAAuB,EAAE,MAAM;IAC/B,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,QAAQ;IACxB,SAAS,EAAE,QAAQ;IACnB,mBAAmB,EAAE,WAAW;IAChC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,WAAW;IACvB,eAAe,EAAE,gBAAgB;IACjC,UAAU,EAAE,YAAY;IACxB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,qBAAqB;CACpC,CAAA;AASD,MAAM,UAAU,UAAU,CAAC,EAM1B;QALC,IAAI,UAAA,EACJ,cAAgB,EAAhB,MAAM,mBAAG,OAAO,KAAA,EAChB,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EAAE,oCAAoC;IACrD,cAAU,EADO,oCAAoC;IACrD,MAAM,mBAAG,CAAC,KAAA,EACV,UAAO,EAAP,EAAE,mBAAG,EAAE,KAAA;IAEP,IAAM,cAAc,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAA;IACtD,IAAI,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAA,EAAE,CAAC,CAAA;IAE1E,IAAI,MAAM,KAAK,CAAC,EAAE;QAChB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;KAC7D;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAClC,CAAC;AAOD,MAAM,UAAU,mBAAmB,CAAC,EAAgC;QAA9B,IAAI,UAAA,EAAE,cAAa,EAAb,MAAM,mBAAG,IAAI,KAAA,EAAE,UAAO,EAAP,EAAE,mBAAG,EAAE,KAAA;IAChE,IAAM,cAAc,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAA;IACtD,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AACxF,CAAC"}
1
+ {"version":3,"file":"moment.js","sourceRoot":"","sources":["../../src/helpers/moment.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "1.0.15",
3
+ "version": "1.0.16",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",
@@ -53,6 +53,8 @@
53
53
  "glob": "^10.3.10",
54
54
  "lodash.isequal": "^4.5.0",
55
55
  "luxon": "^3.4.3",
56
+ "moment": "2.29.4",
57
+ "moment-timezone": "0.5.43",
56
58
  "node-cache": "^5.1.2",
57
59
  "numeral": "^2.0.6",
58
60
  "prettier-eslint-cli": "^8.0.1",