@rh-support/utils 2.1.41 → 2.1.43

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.
@@ -9,7 +9,7 @@ export interface ICSVHeader {
9
9
  export declare const isSafari: () => boolean;
10
10
  export declare const escapeDoubleQuotes: (data: any) => any;
11
11
  export declare const isJsons: (array: any) => boolean;
12
- export declare const isArrays: (array: any) => boolean;
12
+ export declare const isArrays: (array: any) => array is any[][];
13
13
  export declare const jsonsHeaders: (array: any) => unknown[];
14
14
  export declare const jsons2arrays: (jsons: any, headers: any) => any[];
15
15
  export declare const getHeaderValue: (property: any, obj: any, transformFn?: (data: any) => any) => any;
@@ -1 +1 @@
1
- {"version":3,"file":"csvUtils.d.ts","sourceRoot":"","sources":["../../src/csvUtils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,MAAM,GAAG,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAmE,CAAC;AAEzF,eAAO,MAAM,kBAAkB,oBAAiF,CAAC;AAGjH,eAAO,MAAM,OAAO,yBACgF,CAAC;AAErG,eAAO,MAAM,QAAQ,yBAA8E,CAAC;AAEpG,eAAO,MAAM,YAAY,2BACyE,CAAC;AAEnG,eAAO,MAAM,YAAY,qCAexB,CAAC;AAEF,eAAO,MAAM,cAAc,oEAkB1B,CAAC;AAEF,eAAO,MAAM,cAAc,uBAAyD,CAAC;AAErF,eAAO,MAAM,MAAM,qEAUlB,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,EAAE,+DACsC,CAAC;AAE/E,eAAO,MAAM,SAAS,SAAU,GAAG,EAAE,+DACiC,CAAC;AAEvE,eAAO,MAAM,UAAU,SAAU,MAAM,0EACmB,CAAC;AAE3D,eAAO,MAAM,KAAK,SAAU,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,uEAKnD,CAAC;AAEF,eAAO,MAAM,QAAQ,SACX,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,2FAcjC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,WAAW,UAAU,EAAE,4BAShF,CAAC"}
1
+ {"version":3,"file":"csvUtils.d.ts","sourceRoot":"","sources":["../../src/csvUtils.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,IAAI,KAAA,KAAK,MAAM,GAAG,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAmE,CAAC;AAEzF,eAAO,MAAM,kBAAkB,oBAAiF,CAAC;AAGjH,eAAO,MAAM,OAAO,yBACgF,CAAC;AAErG,eAAO,MAAM,QAAQ,kCAA8E,CAAC;AAEpG,eAAO,MAAM,YAAY,2BACyE,CAAC;AAEnG,eAAO,MAAM,YAAY,qCAexB,CAAC;AAEF,eAAO,MAAM,cAAc,oEAkB1B,CAAC;AAEF,eAAO,MAAM,cAAc,uBAAyD,CAAC;AAErF,eAAO,MAAM,MAAM,qEAUlB,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,GAAG,EAAE,EAAE,+DACsC,CAAC;AAE/E,eAAO,MAAM,SAAS,SAAU,GAAG,EAAE,+DACiC,CAAC;AAEvE,eAAO,MAAM,UAAU,SAAU,MAAM,0EACmB,CAAC;AAE3D,eAAO,MAAM,KAAK,SAAU,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,uEAKnD,CAAC;AAEF,eAAO,MAAM,QAAQ,SACX,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,2FAcjC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,WAAW,UAAU,EAAE,4BAShF,CAAC"}
@@ -1,16 +1,15 @@
1
- import moment from 'moment-timezone';
1
+ type Granularity = 'day' | 'week' | 'month' | 'year';
2
2
  export declare const formatDate: (date: any, locale?: string, format?: Intl.DateTimeFormatOptions) => string;
3
3
  export declare const formatDateTime: (date: any, locale?: string, format?: Intl.DateTimeFormatOptions) => string;
4
- export declare const isoDate: (date: string) => string;
4
+ export declare const isCurrentDateAfterDate: (date: string, granularity?: Granularity) => boolean;
5
5
  export declare const getTimezoneOffsetFromTZName: (tzName: string) => string;
6
6
  export declare const getPastUTCDateFromNow: (pastDays: number) => string;
7
- export declare const isCurrentDateSameAsOrBeforeDate: (date: string, granularity?: moment.unitOfTime.StartOf) => boolean;
8
- export declare const isFutureDate: (date: string, granularity?: moment.unitOfTime.StartOf) => boolean;
9
- type AddToDate = {
7
+ export declare const isFutureDate: (date: string, granularity?: Granularity) => boolean;
8
+ export interface AddToDate {
10
9
  days: number;
11
- date?: string;
12
- };
13
- export declare const addDaysToDate: (params: AddToDate) => moment.Moment;
10
+ date?: Date | string | number;
11
+ }
12
+ export declare const addDaysToDate: (params: AddToDate) => Date;
14
13
  export declare const isValidDate: (dateString: string) => boolean;
15
14
  export declare const trafficSplit: (testVariationWeight: number, dateString: string) => "A" | "B";
16
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../src/dateUtils.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAO,MAAM,UAAU,wCAGX,KAAK,qBAAqB,WASrC,CAAC;AAEF,eAAO,MAAM,cAAc,wCAGf,KAAK,qBAAqB,WAerC,CAAC;AAEF,eAAO,MAAM,OAAO,SAAU,MAAM,KAAG,MAAmC,CAAC;AAE3E,eAAO,MAAM,2BAA2B,WAAY,MAAM,WAEzD,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAExD,CAAC;AAEF,eAAO,MAAM,+BAA+B,SAClC,MAAM,gBACC,OAAO,UAAU,CAAC,OAAO,KACvC,OAEF,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,gBAAe,OAAO,UAAU,CAAC,OAAO,YAEhF,CAAC;AAEF,KAAK,SAAS,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,aAAa,WAAY,SAAS,kBAG9C,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAI7C,CAAC;AAQF,eAAO,MAAM,YAAY,wBAAyB,MAAM,cAAc,MAAM,cAe3E,CAAC"}
1
+ {"version":3,"file":"dateUtils.d.ts","sourceRoot":"","sources":["../../src/dateUtils.ts"],"names":[],"mappings":"AAaA,KAAK,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAErD,eAAO,MAAM,UAAU,wCAGX,IAAI,CAAC,qBAAqB,WASrC,CAAC;AAEF,eAAO,MAAM,cAAc,wCAGf,IAAI,CAAC,qBAAqB,WAerC,CAAC;AAEF,eAAO,MAAM,sBAAsB,SAAU,MAAM,gBAAe,WAAW,KAAW,OA4BvF,CAAC;AAEF,eAAO,MAAM,2BAA2B,WAAY,MAAM,KAAG,MAI5D,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,MAGxD,CAAC;AAEF,eAAO,MAAM,YAAY,SAAU,MAAM,gBAAe,WAAW,KAAW,OA6B7E,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;CACjC;AAED,eAAO,MAAM,aAAa,WAAY,SAAS,KAAG,IAGjD,CAAC;AAEF,eAAO,MAAM,WAAW,eAAgB,MAAM,YAI7C,CAAC;AAOF,eAAO,MAAM,YAAY,wBAAyB,MAAM,cAAc,MAAM,cAe3E,CAAC"}
@@ -1,5 +1,5 @@
1
- import { isValid, parseISO } from 'date-fns';
2
- import moment from 'moment-timezone';
1
+ import { addDays, isAfter, isValid, parseISO, startOfDay, startOfMonth, startOfWeek, startOfYear, subDays, } from 'date-fns';
2
+ import { format, formatInTimeZone, fromZonedTime } from 'date-fns-tz';
3
3
  export const formatDate = (date, locale = 'en-us', format = { month: 'short', day: 'numeric', year: 'numeric' }) => {
4
4
  if (!date) {
5
5
  return '';
@@ -24,22 +24,72 @@ export const formatDateTime = (date, locale = 'en-us', format = {
24
24
  }
25
25
  return formatDate(date, locale, format);
26
26
  };
27
- export const isoDate = (date) => new Date(date).toString();
27
+ export const isCurrentDateAfterDate = (date, granularity = 'day') => {
28
+ const parsedDate = parseISO(date);
29
+ const now = new Date();
30
+ let comparisonDate;
31
+ let comparisonNow;
32
+ switch (granularity) {
33
+ case 'day':
34
+ comparisonDate = startOfDay(parsedDate);
35
+ comparisonNow = startOfDay(now);
36
+ break;
37
+ case 'week':
38
+ comparisonDate = startOfWeek(parsedDate);
39
+ comparisonNow = startOfWeek(now);
40
+ break;
41
+ case 'month':
42
+ comparisonDate = startOfMonth(parsedDate);
43
+ comparisonNow = startOfMonth(now);
44
+ break;
45
+ case 'year':
46
+ comparisonDate = startOfYear(parsedDate);
47
+ comparisonNow = startOfYear(now);
48
+ break;
49
+ default:
50
+ throw new Error('Invalid granularity');
51
+ }
52
+ return isAfter(comparisonNow, comparisonDate);
53
+ };
28
54
  export const getTimezoneOffsetFromTZName = (tzName) => {
29
- return moment().tz(tzName).format('Z');
55
+ const date = new Date();
56
+ const zonedDate = fromZonedTime(date, tzName);
57
+ return format(zonedDate, 'xxx', { timeZone: tzName });
30
58
  };
31
59
  export const getPastUTCDateFromNow = (pastDays) => {
32
- return moment().subtract(pastDays, 'days').utc().format();
33
- };
34
- export const isCurrentDateSameAsOrBeforeDate = (date, granularity = 'day') => {
35
- return moment(moment.now()).isSameOrBefore(date, granularity);
60
+ const date = subDays(new Date(), pastDays);
61
+ return formatInTimeZone(date, 'UTC', "yyyy-MM-dd'T'HH:mm:ss'Z'");
36
62
  };
37
63
  export const isFutureDate = (date, granularity = 'day') => {
38
- return moment(date).isAfter(moment(), granularity);
64
+ const parsedDate = parseISO(date);
65
+ const now = new Date();
66
+ let comparisonDate;
67
+ let comparisonNow;
68
+ switch (granularity) {
69
+ case 'day':
70
+ comparisonDate = startOfDay(parsedDate);
71
+ comparisonNow = startOfDay(now);
72
+ break;
73
+ case 'week':
74
+ comparisonDate = startOfWeek(parsedDate);
75
+ comparisonNow = startOfWeek(now);
76
+ break;
77
+ case 'month':
78
+ comparisonDate = startOfMonth(parsedDate);
79
+ comparisonNow = startOfMonth(now);
80
+ break;
81
+ case 'year':
82
+ comparisonDate = startOfYear(parsedDate);
83
+ comparisonNow = startOfYear(now);
84
+ break;
85
+ default:
86
+ throw new Error('Invalid granularity');
87
+ }
88
+ return isAfter(comparisonDate, comparisonNow);
39
89
  };
40
90
  export const addDaysToDate = (params) => {
41
91
  const { days, date = new Date() } = params;
42
- return moment(date).add(days, 'days');
92
+ return addDays(new Date(date), days);
43
93
  };
44
94
  export const isValidDate = (dateString) => {
45
95
  const parsedDate = parseISO(dateString);
@@ -1 +1 @@
1
- {"version":3,"file":"outlier.d.ts","sourceRoot":"","sources":["../../src/outlier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,UAAW,MAAM,MAAM,CAAC,KAAG,MAAM,MAAM,CAkC1D,CAAC"}
1
+ {"version":3,"file":"outlier.d.ts","sourceRoot":"","sources":["../../src/outlier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,UAAW,KAAK,CAAC,MAAM,CAAC,KAAG,KAAK,CAAC,MAAM,CAkC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"promiseUtils.d.ts","sourceRoot":"","sources":["../../src/promiseUtils.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,CAAC,CAAC,EAAE,KAAK,CAAC;CACb;AAGD,QAAA,MAAM,iBAAiB,sDAOtB,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"promiseUtils.d.ts","sourceRoot":"","sources":["../../src/promiseUtils.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB,CAAC,CAAC;IAC1B,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;IACjC,CAAC,CAAC,EAAE,KAAK,CAAC;CACb;AAGD,QAAA,MAAM,iBAAiB,GAAU,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAOhF,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rh-support/utils",
3
- "version": "2.1.41",
3
+ "version": "2.1.43",
4
4
  "description": "> TODO: description",
5
5
  "author": "Vikas Rathee <vrathee@redhat.com>",
6
6
  "license": "ISC",
@@ -41,21 +41,21 @@
41
41
  "prepublishOnly": "npm run build"
42
42
  },
43
43
  "peerDependencies": {
44
- "@cee-eng/hydrajs": "4.17.26",
44
+ "@cee-eng/hydrajs": "4.17.27",
45
45
  "localforage": "^1.10.0",
46
46
  "lodash": "^4.17.21",
47
47
  "qs": "^6.7.0",
48
48
  "solr-query-builder": "1.0.1"
49
49
  },
50
50
  "dependencies": {
51
- "@cee-eng/hydrajs": "4.17.26",
51
+ "@cee-eng/hydrajs": "4.17.27",
52
52
  "@rh-support/types": "2.0.4",
53
53
  "date-fns": "3.6.0",
54
+ "date-fns-tz": "^3.1.3",
54
55
  "dompurify": "^2.2.6",
55
56
  "localforage": "^1.10.0",
56
57
  "lodash": "^4.17.21",
57
58
  "lucene": "^2.1.1",
58
- "marked": "^1.2.4",
59
59
  "qs": "^6.7.0",
60
60
  "solr-query-builder": "1.0.1"
61
61
  },
@@ -68,12 +68,11 @@
68
68
  "@types/qs": "^6.9.1",
69
69
  "i18next": "^23.15.0",
70
70
  "jest": "^29.7.0",
71
- "jest-environment-jsdom": "^29.7.0",
72
- "moment-timezone": "^0.5.45"
71
+ "jest-environment-jsdom": "^29.7.0"
73
72
  },
74
73
  "browserslist": [
75
74
  "defaults and supports es6-module",
76
75
  "maintained node versions"
77
76
  ],
78
- "gitHead": "ad90558bba194b3dbb01ce3d6bd3cbb797621c8c"
77
+ "gitHead": "4e0f1c9e7374499fb86580de1165f97eab93c7f3"
79
78
  }