@ama-sdk/core 12.2.0-prerelease.43 → 12.2.0-prerelease.44

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/cjs/fwk/date.js CHANGED
@@ -16,6 +16,9 @@ _export(exports, {
16
16
  _NativeDateClass: function() {
17
17
  return _NativeDateClass;
18
18
  },
19
+ compareDates: function() {
20
+ return compareDates;
21
+ },
19
22
  pad: function() {
20
23
  return pad;
21
24
  },
@@ -190,6 +193,9 @@ function pad(val) {
190
193
  newDateArgs[0] += "".concat(timezoneOffset < 0 ? '+' : '-').concat(pad(Math.floor(Math.abs(timezoneOffset / 60))), ":").concat(pad(Math.abs(timezoneOffset % 60)));
191
194
  return newDateArgs;
192
195
  }
196
+ function compareDates(date1, date2) {
197
+ return date1.getFullYear() - date2.getFullYear() || date1.getMonth() - date2.getMonth() || date1.getDate() - date2.getDate();
198
+ }
193
199
  var CommonDate = /*#__PURE__*/ function(Date1) {
194
200
  "use strict";
195
201
  _inherits(CommonDate, Date1);
@@ -270,6 +276,7 @@ var CommonDate = /*#__PURE__*/ function(Date1) {
270
276
  key: "equals",
271
277
  value: /**
272
278
  * Compare if two dates are equals.
279
+ * @deprecated this will be removed in v14, please use {@link compareDates} instead
273
280
  * @param {Date} date the date to compare
274
281
  * @returns {boolean} true if the dates are equals.
275
282
  */ function equals(date) {
@@ -102,3 +102,18 @@ describe('Date', function() {
102
102
  expect(dateUtils.getDate()).toBe(28);
103
103
  });
104
104
  });
105
+ describe('Compare utils.Date', function() {
106
+ it('should return 0 for same date', function() {
107
+ expect((0, _date.compareDates)(new _date.utils.Date(2020, 2, 2), new _date.utils.Date(2020, 2, 2))).toBe(0);
108
+ });
109
+ it('should return negative when date1 is sooner', function() {
110
+ expect((0, _date.compareDates)(new _date.utils.Date(2019, 3, 3), new _date.utils.Date(2020, 2, 2))).toBeLessThan(0);
111
+ expect((0, _date.compareDates)(new _date.utils.Date(2020, 1, 3), new _date.utils.Date(2020, 2, 2))).toBeLessThan(0);
112
+ expect((0, _date.compareDates)(new _date.utils.Date(2020, 2, 1), new _date.utils.Date(2020, 2, 2))).toBeLessThan(0);
113
+ });
114
+ it('should return positive when date1 is later', function() {
115
+ expect((0, _date.compareDates)(new _date.utils.Date(2021, 1, 1), new _date.utils.Date(2020, 2, 2))).toBeGreaterThan(0);
116
+ expect((0, _date.compareDates)(new _date.utils.Date(2020, 3, 1), new _date.utils.Date(2020, 2, 2))).toBeGreaterThan(0);
117
+ expect((0, _date.compareDates)(new _date.utils.Date(2020, 2, 3), new _date.utils.Date(2020, 2, 2))).toBeGreaterThan(0);
118
+ });
119
+ });
@@ -171,6 +171,14 @@ export var _NativeDateClass = Date;
171
171
  newDateArgs[0] += "".concat(timezoneOffset < 0 ? '+' : '-').concat(pad(Math.floor(Math.abs(timezoneOffset / 60))), ":").concat(pad(Math.abs(timezoneOffset % 60)));
172
172
  return newDateArgs;
173
173
  }
174
+ /**
175
+ * Compare 2 utils.Date, return negative if date1 is sooner, 0 if dates are equals, positive if date1 is later
176
+ * This function is meant to be used with utils.Date and only compares Year, Month and Date, the time part is fully ignored.
177
+ * @param date1
178
+ * @param date2
179
+ */ export function compareDates(date1, date2) {
180
+ return date1.getFullYear() - date2.getFullYear() || date1.getMonth() - date2.getMonth() || date1.getDate() - date2.getDate();
181
+ }
174
182
  /**
175
183
  * Removes timezone information from ISO8601 strings
176
184
  */ export var CommonDate = /*#__PURE__*/ function(Date1) {
@@ -253,6 +261,7 @@ export var _NativeDateClass = Date;
253
261
  key: "equals",
254
262
  value: /**
255
263
  * Compare if two dates are equals.
264
+ * @deprecated this will be removed in v14, please use {@link compareDates} instead
256
265
  * @param {Date} date the date to compare
257
266
  * @returns {boolean} true if the dates are equals.
258
267
  */ function equals(date) {
@@ -1,4 +1,4 @@
1
- import { utils } from './date';
1
+ import { compareDates, utils } from './date';
2
2
  describe('DateTime', function() {
3
3
  it('should support timestamp', function() {
4
4
  var ts = Date.now();
@@ -98,3 +98,18 @@ describe('Date', function() {
98
98
  expect(dateUtils.getDate()).toBe(28);
99
99
  });
100
100
  });
101
+ describe('Compare utils.Date', function() {
102
+ it('should return 0 for same date', function() {
103
+ expect(compareDates(new utils.Date(2020, 2, 2), new utils.Date(2020, 2, 2))).toBe(0);
104
+ });
105
+ it('should return negative when date1 is sooner', function() {
106
+ expect(compareDates(new utils.Date(2019, 3, 3), new utils.Date(2020, 2, 2))).toBeLessThan(0);
107
+ expect(compareDates(new utils.Date(2020, 1, 3), new utils.Date(2020, 2, 2))).toBeLessThan(0);
108
+ expect(compareDates(new utils.Date(2020, 2, 1), new utils.Date(2020, 2, 2))).toBeLessThan(0);
109
+ });
110
+ it('should return positive when date1 is later', function() {
111
+ expect(compareDates(new utils.Date(2021, 1, 1), new utils.Date(2020, 2, 2))).toBeGreaterThan(0);
112
+ expect(compareDates(new utils.Date(2020, 3, 1), new utils.Date(2020, 2, 2))).toBeGreaterThan(0);
113
+ expect(compareDates(new utils.Date(2020, 2, 3), new utils.Date(2020, 2, 2))).toBeGreaterThan(0);
114
+ });
115
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ama-sdk/core",
3
- "version": "12.2.0-prerelease.43",
3
+ "version": "12.2.0-prerelease.44",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -90,7 +90,7 @@
90
90
  "@angular-devkit/schematics": "^19.0.0",
91
91
  "@angular/cli": "^19.0.0",
92
92
  "@angular/common": "^19.0.0",
93
- "@o3r/schematics": "^12.2.0-prerelease.43",
93
+ "@o3r/schematics": "^12.2.0-prerelease.44",
94
94
  "@schematics/angular": "^19.0.0",
95
95
  "isomorphic-fetch": "^3.0.0",
96
96
  "rxjs": "^7.8.1",
@@ -130,10 +130,10 @@
130
130
  "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0",
131
131
  "@nx/eslint-plugin": "~20.6.0",
132
132
  "@nx/jest": "~20.6.0",
133
- "@o3r/build-helpers": "^12.2.0-prerelease.43",
134
- "@o3r/eslint-plugin": "^12.2.0-prerelease.43",
135
- "@o3r/schematics": "^12.2.0-prerelease.43",
136
- "@o3r/test-helpers": "^12.2.0-prerelease.43",
133
+ "@o3r/build-helpers": "^12.2.0-prerelease.44",
134
+ "@o3r/eslint-plugin": "^12.2.0-prerelease.44",
135
+ "@o3r/schematics": "^12.2.0-prerelease.44",
136
+ "@o3r/test-helpers": "^12.2.0-prerelease.44",
137
137
  "@schematics/angular": "~19.2.0",
138
138
  "@stylistic/eslint-plugin": "~3.1.0",
139
139
  "@swc/cli": "~0.6.0",
package/src/fwk/date.d.ts CHANGED
@@ -6,6 +6,13 @@ export declare const _NativeDateClass: DateConstructor;
6
6
  * @param digits minimal number of digits to display
7
7
  */
8
8
  export declare function pad(val: number, digits?: number): string;
9
+ /**
10
+ * Compare 2 utils.Date, return negative if date1 is sooner, 0 if dates are equals, positive if date1 is later
11
+ * This function is meant to be used with utils.Date and only compares Year, Month and Date, the time part is fully ignored.
12
+ * @param date1
13
+ * @param date2
14
+ */
15
+ export declare function compareDates(date1: utils.Date, date2: utils.Date): number;
9
16
  /**
10
17
  * Removes timezone information from ISO8601 strings
11
18
  */
@@ -36,6 +43,7 @@ export declare namespace utils {
36
43
  toJSON(): string;
37
44
  /**
38
45
  * Compare if two dates are equals.
46
+ * @deprecated this will be removed in v14, please use {@link compareDates} instead
39
47
  * @param {Date} date the date to compare
40
48
  * @returns {boolean} true if the dates are equals.
41
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/fwk/date.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC;AAE/B,eAAO,MAAM,gBAAgB,iBAAO,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAGnD;AAcD;;GAEG;AACH,qBAAa,UAAW,SAAQ,IAAI;gBACtB,GAAG,IAAI,EAAE,GAAG,EAAE;IA8B1B;;OAEG;IACI,MAAM,IAAI,MAAM;CAGxB;AAED;;GAEG;AACH,yBAAiB,KAAK,CAAC;IAGrB,MAAa,IAAK,SAAQ,UAAU;QAClC;;WAEG;oBACS,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;oBAC5C,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;QAWtD;;WAEG;QAEH,SAAS,CAAC,KAAK,IAAI,IAAI;QAEvB;;WAEG;QACI,MAAM,IAAI,MAAM;QAIvB;;;;WAIG;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;KAMpC;IAED,MAAa,QAAS,SAAQ,UAAU;oBAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI;oBACvD,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;QAMvH;;WAEG;QAEH,SAAS,CAAC,SAAS,IAAI,IAAI;KAC5B;CACF"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/fwk/date.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC;AAE/B,eAAO,MAAM,gBAAgB,iBAAO,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,MAAM,CAGnD;AAcD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,UAEhE;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,IAAI;gBACtB,GAAG,IAAI,EAAE,GAAG,EAAE;IA8B1B;;OAEG;IACa,MAAM,IAAI,MAAM;CAGjC;AAED;;GAEG;AACH,yBAAiB,KAAK,CAAC;IAGrB,MAAa,IAAK,SAAQ,UAAU;QAClC;;WAEG;oBACS,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;oBAC5C,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;QAWtD;;WAEG;QAEH,SAAS,CAAC,KAAK,IAAI,IAAI;QAEvB;;WAEG;QACa,MAAM,IAAI,MAAM;QAIhC;;;;;WAKG;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO;KAMpC;IAED,MAAa,QAAS,SAAQ,UAAU;oBAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,IAAI;oBACvD,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;QAMvH;;WAEG;QAEH,SAAS,CAAC,SAAS,IAAI,IAAI;KAC5B;CACF"}
package/src/fwk/date.js CHANGED
@@ -20,6 +20,15 @@ function getNewTimeZoneWithOffset(dateArgs, timezoneOffset) {
20
20
  newDateArgs[0] += `${timezoneOffset < 0 ? '+' : '-'}${pad(Math.floor(Math.abs(timezoneOffset / 60)))}:${pad(Math.abs(timezoneOffset % 60))}`;
21
21
  return newDateArgs;
22
22
  }
23
+ /**
24
+ * Compare 2 utils.Date, return negative if date1 is sooner, 0 if dates are equals, positive if date1 is later
25
+ * This function is meant to be used with utils.Date and only compares Year, Month and Date, the time part is fully ignored.
26
+ * @param date1
27
+ * @param date2
28
+ */
29
+ export function compareDates(date1, date2) {
30
+ return date1.getFullYear() - date2.getFullYear() || date1.getMonth() - date2.getMonth() || date1.getDate() - date2.getDate();
31
+ }
23
32
  /**
24
33
  * Removes timezone information from ISO8601 strings
25
34
  */
@@ -85,6 +94,7 @@ export var utils;
85
94
  }
86
95
  /**
87
96
  * Compare if two dates are equals.
97
+ * @deprecated this will be removed in v14, please use {@link compareDates} instead
88
98
  * @param {Date} date the date to compare
89
99
  * @returns {boolean} true if the dates are equals.
90
100
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/fwk/date.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/fwk/date.ts"],"names":[],"mappings":"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"}