@adtrackify/at-service-common 3.2.27 → 3.2.28

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const luxon_1 = require("luxon");
4
+ const libs_1 = require("../../libs");
5
+ const helpers_1 = require("../../helpers");
6
+ describe('getPreviousYear', () => {
7
+ describe('basic functionality with date strings', () => {
8
+ it('should return previous year for valid date strings', () => {
9
+ expect((0, libs_1.getPreviousYear)('2025-08-08')).toBe(2024);
10
+ expect((0, libs_1.getPreviousYear)('2024-01-01')).toBe(2023);
11
+ expect((0, libs_1.getPreviousYear)('2020-12-31')).toBe(2019);
12
+ });
13
+ it('should handle different date formats', () => {
14
+ expect((0, libs_1.getPreviousYear)('2024-06-15')).toBe(2023);
15
+ expect((0, libs_1.getPreviousYear)('2023-03-20')).toBe(2022);
16
+ expect((0, libs_1.getPreviousYear)('2022-11-30')).toBe(2021);
17
+ });
18
+ it('should handle leap year dates', () => {
19
+ expect((0, libs_1.getPreviousYear)('2024-02-29')).toBe(2023);
20
+ expect((0, libs_1.getPreviousYear)('2020-02-29')).toBe(2019);
21
+ expect((0, libs_1.getPreviousYear)('2000-02-29')).toBe(1999);
22
+ });
23
+ });
24
+ describe('DateTime object input', () => {
25
+ it('should work with DateTime objects', () => {
26
+ const dateTime1 = luxon_1.DateTime.fromISO('2024-06-15');
27
+ expect((0, libs_1.getPreviousYear)(dateTime1)).toBe(2023);
28
+ const dateTime2 = luxon_1.DateTime.fromISO('2023-12-31');
29
+ expect((0, libs_1.getPreviousYear)(dateTime2)).toBe(2022);
30
+ });
31
+ it('should handle DateTime objects with time components', () => {
32
+ const dateTimeWithTime = luxon_1.DateTime.fromISO('2024-06-15T10:30:00');
33
+ expect((0, libs_1.getPreviousYear)(dateTimeWithTime)).toBe(2023);
34
+ });
35
+ });
36
+ describe('edge cases', () => {
37
+ it('should handle year boundary dates', () => {
38
+ expect((0, libs_1.getPreviousYear)('2024-01-01')).toBe(2023);
39
+ expect((0, libs_1.getPreviousYear)('2024-12-31')).toBe(2023);
40
+ });
41
+ it('should handle century boundaries', () => {
42
+ expect((0, libs_1.getPreviousYear)('2000-01-01')).toBe(1999);
43
+ expect((0, libs_1.getPreviousYear)('2100-12-31')).toBe(2099);
44
+ });
45
+ it('should handle very early dates', () => {
46
+ expect((0, libs_1.getPreviousYear)('0001-01-01')).toBe(0);
47
+ expect((0, libs_1.getPreviousYear)('0002-06-15')).toBe(1);
48
+ });
49
+ });
50
+ describe('input validation', () => {
51
+ it('should handle ISO date strings with time', () => {
52
+ expect((0, libs_1.getPreviousYear)('2024-06-15T00:00:00')).toBe(2023);
53
+ expect((0, libs_1.getPreviousYear)('2024-06-15T23:59:59')).toBe(2023);
54
+ });
55
+ it('should handle ISO date strings with timezone', () => {
56
+ expect((0, libs_1.getPreviousYear)('2024-06-15T10:30:00Z')).toBe(2023);
57
+ expect((0, libs_1.getPreviousYear)('2024-06-15T10:30:00+05:00')).toBe(2023);
58
+ });
59
+ });
60
+ describe('error cases', () => {
61
+ it('should handle invalid date strings gracefully', () => {
62
+ expect(() => (0, libs_1.getPreviousYear)('invalid-date')).not.toThrow();
63
+ });
64
+ it('should handle empty string', () => {
65
+ expect(() => (0, libs_1.getPreviousYear)('')).not.toThrow();
66
+ });
67
+ it('should handle malformed date strings', () => {
68
+ expect(() => (0, libs_1.getPreviousYear)('2024-13-45')).not.toThrow();
69
+ expect(() => (0, libs_1.getPreviousYear)('not-a-date')).not.toThrow();
70
+ });
71
+ });
72
+ describe('real-world scenarios', () => {
73
+ it('should work for current year scenarios', () => {
74
+ const currentYear = new Date().getFullYear();
75
+ const currentDate = `${currentYear}-06-15`;
76
+ expect((0, libs_1.getPreviousYear)(currentDate)).toBe(currentYear - 1);
77
+ });
78
+ it('should work for leap year scenarios', () => {
79
+ expect((0, libs_1.getPreviousYear)('2024-02-29')).toBe(2023);
80
+ expect((0, libs_1.getPreviousYear)('2020-02-29')).toBe(2019);
81
+ expect((0, libs_1.getPreviousYear)('2000-02-29')).toBe(1999);
82
+ });
83
+ it('should work for different months and days', () => {
84
+ expect((0, libs_1.getPreviousYear)('2024-01-01')).toBe(2023);
85
+ expect((0, libs_1.getPreviousYear)('2024-06-15')).toBe(2023);
86
+ expect((0, libs_1.getPreviousYear)('2024-12-31')).toBe(2023);
87
+ });
88
+ });
89
+ });
90
+ describe('getLastTwelveMonthsRange', () => {
91
+ beforeEach(() => {
92
+ jest.restoreAllMocks();
93
+ });
94
+ it('should return correct range for a mid-month current date', () => {
95
+ const now = luxon_1.DateTime.fromISO('2025-08-08T10:00:00Z');
96
+ jest.spyOn(luxon_1.DateTime, 'utc').mockReturnValue(now);
97
+ const result = (0, libs_1.getLastTwelveMonthsRange)();
98
+ expect(result).toEqual({ start: '2024-08-01', end: '2025-07-31' });
99
+ });
100
+ it('should handle year boundary correctly (January current date)', () => {
101
+ const now = luxon_1.DateTime.fromISO('2025-01-15T00:00:00Z');
102
+ jest.spyOn(luxon_1.DateTime, 'utc').mockReturnValue(now);
103
+ const result = (0, libs_1.getLastTwelveMonthsRange)();
104
+ expect(result).toEqual({ start: '2024-01-01', end: '2024-12-31' });
105
+ });
106
+ it('should handle end-of-month correctly (March 31 current date non-leap year)', () => {
107
+ const now = luxon_1.DateTime.fromISO('2025-03-31T12:00:00Z');
108
+ jest.spyOn(luxon_1.DateTime, 'utc').mockReturnValue(now);
109
+ const result = (0, libs_1.getLastTwelveMonthsRange)();
110
+ expect(result).toEqual({ start: '2024-03-01', end: '2025-02-28' });
111
+ });
112
+ it('should return null and log error when DateTime becomes invalid', () => {
113
+ const loggerSpy = jest.spyOn(helpers_1.Logger, 'error').mockImplementation(() => undefined);
114
+ const invalidNow = luxon_1.DateTime.invalid('test');
115
+ jest.spyOn(luxon_1.DateTime, 'utc').mockReturnValue(invalidNow);
116
+ const result = (0, libs_1.getLastTwelveMonthsRange)();
117
+ expect(result).toBeNull();
118
+ expect(loggerSpy).toHaveBeenCalledWith('Invalid start or end date', expect.objectContaining({ date: expect.anything() }));
119
+ });
120
+ it('should return null and log error when toISODate returns null', () => {
121
+ const loggerSpy = jest.spyOn(helpers_1.Logger, 'error').mockImplementation(() => undefined);
122
+ const now = luxon_1.DateTime.fromISO('2025-08-08T10:00:00Z');
123
+ jest.spyOn(luxon_1.DateTime, 'utc').mockReturnValue(now);
124
+ const isoSpy = jest
125
+ .spyOn(luxon_1.DateTime.prototype, 'toISODate')
126
+ .mockReturnValue(null);
127
+ const result = (0, libs_1.getLastTwelveMonthsRange)();
128
+ expect(result).toBeNull();
129
+ expect(loggerSpy).toHaveBeenCalledWith('Invalid start or end ISO date', expect.objectContaining({ date: expect.anything() }));
130
+ isoSpy.mockRestore();
131
+ });
132
+ });
133
+ //# sourceMappingURL=dates.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dates.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/dates.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { DateTime } from 'luxon';
2
+ import { DateRange } from '@adtrackify/at-tracking-event-types';
1
3
  export declare const getUTCYear: () => number;
2
4
  export declare const getUTCMonth: () => number;
3
5
  export declare const getUTCDay: () => number;
@@ -6,3 +8,5 @@ export declare const getDateFromTimestamp: (timestamp: string) => string;
6
8
  export declare const getCurrentDate: () => string;
7
9
  export declare const convertDateTimeToUTC: (inputDateTime: string, inputTimezone?: string) => string | null;
8
10
  export declare const safeConvertSQLTime: (dateTime?: string) => string | undefined;
11
+ export declare const getPreviousYear: (dateTime: string | DateTime) => number;
12
+ export declare const getLastTwelveMonthsRange: () => DateRange | null;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.safeConvertSQLTime = exports.convertDateTimeToUTC = exports.getCurrentDate = exports.getDateFromTimestamp = exports.getCurrentTimestamp = exports.getUTCDay = exports.getUTCMonth = exports.getUTCYear = void 0;
3
+ exports.getLastTwelveMonthsRange = exports.getPreviousYear = exports.safeConvertSQLTime = exports.convertDateTimeToUTC = exports.getCurrentDate = exports.getDateFromTimestamp = exports.getCurrentTimestamp = exports.getUTCDay = exports.getUTCMonth = exports.getUTCYear = void 0;
4
4
  const luxon_1 = require("luxon");
5
5
  const helpers_1 = require("../helpers");
6
6
  const at_shared_utils_1 = require("@adtrackify/at-shared-utils");
@@ -69,4 +69,29 @@ const safeConvertSQLTime = (dateTime) => {
69
69
  }
70
70
  };
71
71
  exports.safeConvertSQLTime = safeConvertSQLTime;
72
+ const getPreviousYear = (dateTime) => {
73
+ const date = typeof dateTime === 'string' ? luxon_1.DateTime.fromISO(dateTime) : dateTime;
74
+ return date.minus({ years: 1 }).year;
75
+ };
76
+ exports.getPreviousYear = getPreviousYear;
77
+ const getLastTwelveMonthsRange = () => {
78
+ const date = luxon_1.DateTime.utc();
79
+ const startDate = date.minus({ months: 12 }).startOf('month');
80
+ const endDate = date.minus({ months: 1 }).endOf('month');
81
+ if (!startDate.isValid || !endDate.isValid) {
82
+ helpers_1.Logger.error('Invalid start or end date', { date, startDate, endDate });
83
+ return null;
84
+ }
85
+ const startISO = startDate.toISODate();
86
+ const endISO = endDate.toISODate();
87
+ if (!startISO || !endISO) {
88
+ helpers_1.Logger.error('Invalid start or end ISO date', { date, startDate, endDate });
89
+ return null;
90
+ }
91
+ return {
92
+ start: startISO,
93
+ end: endISO,
94
+ };
95
+ };
96
+ exports.getLastTwelveMonthsRange = getLastTwelveMonthsRange;
72
97
  //# sourceMappingURL=dates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/libs/dates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/libs/dates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,131 @@
1
+ import { DateTime } from 'luxon';
2
+ import { getPreviousYear, getLastTwelveMonthsRange } from '../../libs';
3
+ import { Logger } from '../../helpers';
4
+ describe('getPreviousYear', () => {
5
+ describe('basic functionality with date strings', () => {
6
+ it('should return previous year for valid date strings', () => {
7
+ expect(getPreviousYear('2025-08-08')).toBe(2024);
8
+ expect(getPreviousYear('2024-01-01')).toBe(2023);
9
+ expect(getPreviousYear('2020-12-31')).toBe(2019);
10
+ });
11
+ it('should handle different date formats', () => {
12
+ expect(getPreviousYear('2024-06-15')).toBe(2023);
13
+ expect(getPreviousYear('2023-03-20')).toBe(2022);
14
+ expect(getPreviousYear('2022-11-30')).toBe(2021);
15
+ });
16
+ it('should handle leap year dates', () => {
17
+ expect(getPreviousYear('2024-02-29')).toBe(2023);
18
+ expect(getPreviousYear('2020-02-29')).toBe(2019);
19
+ expect(getPreviousYear('2000-02-29')).toBe(1999);
20
+ });
21
+ });
22
+ describe('DateTime object input', () => {
23
+ it('should work with DateTime objects', () => {
24
+ const dateTime1 = DateTime.fromISO('2024-06-15');
25
+ expect(getPreviousYear(dateTime1)).toBe(2023);
26
+ const dateTime2 = DateTime.fromISO('2023-12-31');
27
+ expect(getPreviousYear(dateTime2)).toBe(2022);
28
+ });
29
+ it('should handle DateTime objects with time components', () => {
30
+ const dateTimeWithTime = DateTime.fromISO('2024-06-15T10:30:00');
31
+ expect(getPreviousYear(dateTimeWithTime)).toBe(2023);
32
+ });
33
+ });
34
+ describe('edge cases', () => {
35
+ it('should handle year boundary dates', () => {
36
+ expect(getPreviousYear('2024-01-01')).toBe(2023);
37
+ expect(getPreviousYear('2024-12-31')).toBe(2023);
38
+ });
39
+ it('should handle century boundaries', () => {
40
+ expect(getPreviousYear('2000-01-01')).toBe(1999);
41
+ expect(getPreviousYear('2100-12-31')).toBe(2099);
42
+ });
43
+ it('should handle very early dates', () => {
44
+ expect(getPreviousYear('0001-01-01')).toBe(0);
45
+ expect(getPreviousYear('0002-06-15')).toBe(1);
46
+ });
47
+ });
48
+ describe('input validation', () => {
49
+ it('should handle ISO date strings with time', () => {
50
+ expect(getPreviousYear('2024-06-15T00:00:00')).toBe(2023);
51
+ expect(getPreviousYear('2024-06-15T23:59:59')).toBe(2023);
52
+ });
53
+ it('should handle ISO date strings with timezone', () => {
54
+ expect(getPreviousYear('2024-06-15T10:30:00Z')).toBe(2023);
55
+ expect(getPreviousYear('2024-06-15T10:30:00+05:00')).toBe(2023);
56
+ });
57
+ });
58
+ describe('error cases', () => {
59
+ it('should handle invalid date strings gracefully', () => {
60
+ expect(() => getPreviousYear('invalid-date')).not.toThrow();
61
+ });
62
+ it('should handle empty string', () => {
63
+ expect(() => getPreviousYear('')).not.toThrow();
64
+ });
65
+ it('should handle malformed date strings', () => {
66
+ expect(() => getPreviousYear('2024-13-45')).not.toThrow();
67
+ expect(() => getPreviousYear('not-a-date')).not.toThrow();
68
+ });
69
+ });
70
+ describe('real-world scenarios', () => {
71
+ it('should work for current year scenarios', () => {
72
+ const currentYear = new Date().getFullYear();
73
+ const currentDate = `${currentYear}-06-15`;
74
+ expect(getPreviousYear(currentDate)).toBe(currentYear - 1);
75
+ });
76
+ it('should work for leap year scenarios', () => {
77
+ expect(getPreviousYear('2024-02-29')).toBe(2023);
78
+ expect(getPreviousYear('2020-02-29')).toBe(2019);
79
+ expect(getPreviousYear('2000-02-29')).toBe(1999);
80
+ });
81
+ it('should work for different months and days', () => {
82
+ expect(getPreviousYear('2024-01-01')).toBe(2023);
83
+ expect(getPreviousYear('2024-06-15')).toBe(2023);
84
+ expect(getPreviousYear('2024-12-31')).toBe(2023);
85
+ });
86
+ });
87
+ });
88
+ describe('getLastTwelveMonthsRange', () => {
89
+ beforeEach(() => {
90
+ jest.restoreAllMocks();
91
+ });
92
+ it('should return correct range for a mid-month current date', () => {
93
+ const now = DateTime.fromISO('2025-08-08T10:00:00Z');
94
+ jest.spyOn(DateTime, 'utc').mockReturnValue(now);
95
+ const result = getLastTwelveMonthsRange();
96
+ expect(result).toEqual({ start: '2024-08-01', end: '2025-07-31' });
97
+ });
98
+ it('should handle year boundary correctly (January current date)', () => {
99
+ const now = DateTime.fromISO('2025-01-15T00:00:00Z');
100
+ jest.spyOn(DateTime, 'utc').mockReturnValue(now);
101
+ const result = getLastTwelveMonthsRange();
102
+ expect(result).toEqual({ start: '2024-01-01', end: '2024-12-31' });
103
+ });
104
+ it('should handle end-of-month correctly (March 31 current date non-leap year)', () => {
105
+ const now = DateTime.fromISO('2025-03-31T12:00:00Z');
106
+ jest.spyOn(DateTime, 'utc').mockReturnValue(now);
107
+ const result = getLastTwelveMonthsRange();
108
+ expect(result).toEqual({ start: '2024-03-01', end: '2025-02-28' });
109
+ });
110
+ it('should return null and log error when DateTime becomes invalid', () => {
111
+ const loggerSpy = jest.spyOn(Logger, 'error').mockImplementation(() => undefined);
112
+ const invalidNow = DateTime.invalid('test');
113
+ jest.spyOn(DateTime, 'utc').mockReturnValue(invalidNow);
114
+ const result = getLastTwelveMonthsRange();
115
+ expect(result).toBeNull();
116
+ expect(loggerSpy).toHaveBeenCalledWith('Invalid start or end date', expect.objectContaining({ date: expect.anything() }));
117
+ });
118
+ it('should return null and log error when toISODate returns null', () => {
119
+ const loggerSpy = jest.spyOn(Logger, 'error').mockImplementation(() => undefined);
120
+ const now = DateTime.fromISO('2025-08-08T10:00:00Z');
121
+ jest.spyOn(DateTime, 'utc').mockReturnValue(now);
122
+ const isoSpy = jest
123
+ .spyOn(DateTime.prototype, 'toISODate')
124
+ .mockReturnValue(null);
125
+ const result = getLastTwelveMonthsRange();
126
+ expect(result).toBeNull();
127
+ expect(loggerSpy).toHaveBeenCalledWith('Invalid start or end ISO date', expect.objectContaining({ date: expect.anything() }));
128
+ isoSpy.mockRestore();
129
+ });
130
+ });
131
+ //# sourceMappingURL=dates.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dates.spec.js","sourceRoot":"","sources":["../../../../src/__tests__/libs/dates.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { DateTime } from 'luxon';
2
+ import { DateRange } from '@adtrackify/at-tracking-event-types';
1
3
  export declare const getUTCYear: () => number;
2
4
  export declare const getUTCMonth: () => number;
3
5
  export declare const getUTCDay: () => number;
@@ -6,3 +8,5 @@ export declare const getDateFromTimestamp: (timestamp: string) => string;
6
8
  export declare const getCurrentDate: () => string;
7
9
  export declare const convertDateTimeToUTC: (inputDateTime: string, inputTimezone?: string) => string | null;
8
10
  export declare const safeConvertSQLTime: (dateTime?: string) => string | undefined;
11
+ export declare const getPreviousYear: (dateTime: string | DateTime) => number;
12
+ export declare const getLastTwelveMonthsRange: () => DateRange | null;
@@ -58,4 +58,27 @@ export const safeConvertSQLTime = (dateTime) => {
58
58
  return undefined;
59
59
  }
60
60
  };
61
+ export const getPreviousYear = (dateTime) => {
62
+ const date = typeof dateTime === 'string' ? DateTime.fromISO(dateTime) : dateTime;
63
+ return date.minus({ years: 1 }).year;
64
+ };
65
+ export const getLastTwelveMonthsRange = () => {
66
+ const date = DateTime.utc();
67
+ const startDate = date.minus({ months: 12 }).startOf('month');
68
+ const endDate = date.minus({ months: 1 }).endOf('month');
69
+ if (!startDate.isValid || !endDate.isValid) {
70
+ Logger.error('Invalid start or end date', { date, startDate, endDate });
71
+ return null;
72
+ }
73
+ const startISO = startDate.toISODate();
74
+ const endISO = endDate.toISODate();
75
+ if (!startISO || !endISO) {
76
+ Logger.error('Invalid start or end ISO date', { date, startDate, endDate });
77
+ return null;
78
+ }
79
+ return {
80
+ start: startISO,
81
+ end: endISO,
82
+ };
83
+ };
61
84
  //# sourceMappingURL=dates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/libs/dates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;AACjD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,EAAE;IACxD,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAW,EAAE;IACzC,OAAO,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACrD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAqB,EAAE,aAAsB,EAAiB,EAAE;IACnG,IAAI;QACF,IAAI,aAAa,KAAK,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC;SACb;QACD,IAAI,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,aAAa,EAAE;YACjB,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;SAChF;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE;YAC3C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;SACb;QACD,OAAO,cAAc,CAAC;KACvB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;KACb;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAsB,EAAE;IAC1E,IAAI;QACF,MAAM,MAAM,GAAG,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/H,IAAI,MAAM,IAAI,kBAAkB,EAAE;YAChC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjE,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../src/libs/dates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adtrackify/at-service-common",
3
- "version": "3.2.27",
3
+ "version": "3.2.28",
4
4
  "description": "",
5
5
  "files": [
6
6
  "dist/*"
@@ -36,7 +36,7 @@
36
36
  "shopify:graphql:codegen": "graphql-codegen"
37
37
  },
38
38
  "dependencies": {
39
- "@adtrackify/at-shared-utils": "^3.0.34",
39
+ "@adtrackify/at-shared-utils": "^3.1.2",
40
40
  "@aws-sdk/util-utf8": "^3.374.0",
41
41
  "@shopify/admin-api-client": "^1.0.4",
42
42
  "@shopify/shopify-api": "^11.6.1",
@@ -60,7 +60,7 @@
60
60
  "uuid": "^9.0.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@adtrackify/at-tracking-event-types": "^3.3.2",
63
+ "@adtrackify/at-tracking-event-types": "^3.3.8",
64
64
  "@aws-sdk/client-cognito-identity-provider": "^3.345.0",
65
65
  "@aws-sdk/client-dynamodb": "^3.345.0",
66
66
  "@aws-sdk/client-eventbridge": "^3.345.0",