@ui5/webcomponents-localization 0.0.0-1929d08ff → 0.0.0-1cc5f5e54

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.
Files changed (200) hide show
  1. package/CHANGELOG.md +240 -0
  2. package/README.md +5 -6
  3. package/dist/Assets-static.d.ts +1 -0
  4. package/dist/Assets-static.js +1 -0
  5. package/dist/Assets-static.js.map +1 -0
  6. package/dist/Assets.d.ts +1 -0
  7. package/dist/Assets.js +1 -0
  8. package/dist/Assets.js.map +1 -0
  9. package/dist/DateFormat.d.ts +6 -0
  10. package/dist/DateFormat.js +6 -2
  11. package/dist/DateFormat.js.map +1 -0
  12. package/dist/LocaleData.d.ts +6 -0
  13. package/dist/LocaleData.js +6 -2
  14. package/dist/LocaleData.js.map +1 -0
  15. package/dist/dates/CalendarDate.d.ts +41 -0
  16. package/dist/dates/CalendarDate.js +170 -201
  17. package/dist/dates/CalendarDate.js.map +1 -0
  18. package/dist/dates/ExtremeDates.d.ts +5 -0
  19. package/dist/dates/ExtremeDates.js +25 -35
  20. package/dist/dates/ExtremeDates.js.map +1 -0
  21. package/dist/dates/UniversalDate.d.ts +46 -0
  22. package/dist/dates/UniversalDate.js +5 -0
  23. package/dist/dates/UniversalDate.js.map +1 -0
  24. package/dist/dates/calculateWeekNumber.d.ts +4 -0
  25. package/dist/dates/calculateWeekNumber.js +42 -48
  26. package/dist/dates/calculateWeekNumber.js.map +1 -0
  27. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  28. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  29. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  30. package/dist/dates/getDaysInMonth.d.ts +3 -0
  31. package/dist/dates/getDaysInMonth.js +10 -0
  32. package/dist/dates/getDaysInMonth.js.map +1 -0
  33. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  34. package/dist/dates/getRoundedTimestamp.js +9 -9
  35. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  36. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  37. package/dist/dates/getTodayUTCTimestamp.js +2 -3
  38. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  39. package/dist/dates/modifyDateBy.d.ts +13 -0
  40. package/dist/dates/modifyDateBy.js +27 -29
  41. package/dist/dates/modifyDateBy.js.map +1 -0
  42. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  43. package/dist/dates/transformDateToSecondaryType.js +17 -0
  44. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  45. package/dist/features/calendar/Buddhist.js +1 -0
  46. package/dist/features/calendar/Buddhist.js.map +1 -0
  47. package/dist/features/calendar/Gregorian.js +1 -0
  48. package/dist/features/calendar/Gregorian.js.map +1 -0
  49. package/dist/features/calendar/Islamic.js +1 -0
  50. package/dist/features/calendar/Islamic.js.map +1 -0
  51. package/dist/features/calendar/Japanese.js +1 -0
  52. package/dist/features/calendar/Japanese.js.map +1 -0
  53. package/dist/features/calendar/Persian.js +1 -0
  54. package/dist/features/calendar/Persian.js.map +1 -0
  55. package/dist/generated/assets/cldr/ar.json +2804 -5906
  56. package/dist/generated/assets/cldr/ar_EG.json +2804 -5906
  57. package/dist/generated/assets/cldr/ar_SA.json +2804 -5906
  58. package/dist/generated/assets/cldr/bg.json +2727 -4979
  59. package/dist/generated/assets/cldr/ca.json +2670 -4996
  60. package/dist/generated/assets/cldr/cs.json +2710 -5498
  61. package/dist/generated/assets/cldr/cy.json +2791 -5884
  62. package/dist/generated/assets/cldr/da.json +2591 -4888
  63. package/dist/generated/assets/cldr/de.json +2608 -4916
  64. package/dist/generated/assets/cldr/de_AT.json +2608 -4917
  65. package/dist/generated/assets/cldr/de_CH.json +2608 -4915
  66. package/dist/generated/assets/cldr/el.json +2589 -4883
  67. package/dist/generated/assets/cldr/el_CY.json +2589 -4883
  68. package/dist/generated/assets/cldr/en.json +2577 -4971
  69. package/dist/generated/assets/cldr/en_AU.json +2586 -4962
  70. package/dist/generated/assets/cldr/en_GB.json +2578 -4971
  71. package/dist/generated/assets/cldr/en_HK.json +2584 -4977
  72. package/dist/generated/assets/cldr/en_IE.json +2578 -4971
  73. package/dist/generated/assets/cldr/en_IN.json +2579 -4972
  74. package/dist/generated/assets/cldr/en_NZ.json +2578 -4971
  75. package/dist/generated/assets/cldr/en_PG.json +2578 -4972
  76. package/dist/generated/assets/cldr/en_SG.json +2579 -4973
  77. package/dist/generated/assets/cldr/en_ZA.json +2578 -4972
  78. package/dist/generated/assets/cldr/es.json +2633 -4912
  79. package/dist/generated/assets/cldr/es_AR.json +2638 -4914
  80. package/dist/generated/assets/cldr/es_BO.json +2638 -4913
  81. package/dist/generated/assets/cldr/es_CL.json +2638 -4914
  82. package/dist/generated/assets/cldr/es_CO.json +2637 -4913
  83. package/dist/generated/assets/cldr/es_MX.json +2638 -4915
  84. package/dist/generated/assets/cldr/es_PE.json +2638 -4913
  85. package/dist/generated/assets/cldr/es_UY.json +2638 -4915
  86. package/dist/generated/assets/cldr/es_VE.json +2638 -4914
  87. package/dist/generated/assets/cldr/et.json +2593 -4967
  88. package/dist/generated/assets/cldr/fa.json +2606 -4883
  89. package/dist/generated/assets/cldr/fi.json +2635 -5008
  90. package/dist/generated/assets/cldr/fr.json +2583 -4979
  91. package/dist/generated/assets/cldr/fr_BE.json +2583 -4979
  92. package/dist/generated/assets/cldr/fr_CA.json +2598 -4973
  93. package/dist/generated/assets/cldr/fr_CH.json +2600 -4997
  94. package/dist/generated/assets/cldr/fr_LU.json +2583 -4979
  95. package/dist/generated/assets/cldr/he.json +2699 -5378
  96. package/dist/generated/assets/cldr/hi.json +2593 -4829
  97. package/dist/generated/assets/cldr/hr.json +2646 -4919
  98. package/dist/generated/assets/cldr/hu.json +2592 -4856
  99. package/dist/generated/assets/cldr/id.json +2538 -4658
  100. package/dist/generated/assets/cldr/it.json +2583 -4950
  101. package/dist/generated/assets/cldr/it_CH.json +2583 -4950
  102. package/dist/generated/assets/cldr/ja.json +2655 -4830
  103. package/dist/generated/assets/cldr/kk.json +2583 -4725
  104. package/dist/generated/assets/cldr/ko.json +2632 -4738
  105. package/dist/generated/assets/cldr/lt.json +2714 -5481
  106. package/dist/generated/assets/cldr/lv.json +2638 -5112
  107. package/dist/generated/assets/cldr/ms.json +2532 -4515
  108. package/dist/generated/assets/cldr/nb.json +2615 -4977
  109. package/dist/generated/assets/cldr/nl.json +2595 -4884
  110. package/dist/generated/assets/cldr/nl_BE.json +2595 -4884
  111. package/dist/generated/assets/cldr/pl.json +2717 -5176
  112. package/dist/generated/assets/cldr/pt.json +2600 -4805
  113. package/dist/generated/assets/cldr/pt_PT.json +2651 -4940
  114. package/dist/generated/assets/cldr/ro.json +2639 -5090
  115. package/dist/generated/assets/cldr/ru.json +2698 -5407
  116. package/dist/generated/assets/cldr/ru_UA.json +2698 -5407
  117. package/dist/generated/assets/cldr/sk.json +2720 -5370
  118. package/dist/generated/assets/cldr/sl.json +2682 -5340
  119. package/dist/generated/assets/cldr/sr.json +2657 -5126
  120. package/dist/generated/assets/cldr/sr_Latn.json +2658 -5127
  121. package/dist/generated/assets/cldr/sv.json +2625 -5011
  122. package/dist/generated/assets/cldr/th.json +2626 -4797
  123. package/dist/generated/assets/cldr/tr.json +2606 -4979
  124. package/dist/generated/assets/cldr/uk.json +2678 -5353
  125. package/dist/generated/assets/cldr/vi.json +2549 -4673
  126. package/dist/generated/assets/cldr/zh_CN.json +2541 -4632
  127. package/dist/generated/assets/cldr/zh_HK.json +2549 -4640
  128. package/dist/generated/assets/cldr/zh_SG.json +2548 -4640
  129. package/dist/generated/assets/cldr/zh_TW.json +2556 -4728
  130. package/dist/generated/json-imports/LocaleData-static.js +2 -1
  131. package/dist/generated/json-imports/LocaleData.js +2 -1
  132. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  133. package/dist/getCachedLocaleDataInstance.js +6 -9
  134. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  135. package/dist/locale/getLocaleData.d.ts +11 -0
  136. package/dist/locale/getLocaleData.js +13 -17
  137. package/dist/locale/getLocaleData.js.map +1 -0
  138. package/dist/sap/base/Log.js +28 -29
  139. package/dist/sap/base/assert.js +5 -6
  140. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  141. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  142. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  143. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  144. package/dist/sap/ui/core/Configuration.js +20 -0
  145. package/dist/sap/ui/core/Configuration.js.map +1 -0
  146. package/dist/sap/ui/core/Core.d.ts +26 -0
  147. package/dist/sap/ui/core/Core.js +7 -32
  148. package/dist/sap/ui/core/Core.js.map +1 -0
  149. package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
  150. package/dist/sap/ui/core/FormatSettings.js +14 -0
  151. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  152. package/dist/sap/ui/core/Locale.js +13 -0
  153. package/dist/sap/ui/core/LocaleData.js +107 -6
  154. package/dist/sap/ui/core/date/Buddhist.js +0 -6
  155. package/dist/sap/ui/core/date/CalendarUtils.js +36 -0
  156. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +7 -0
  157. package/dist/sap/ui/core/date/Islamic.js +3 -3
  158. package/dist/sap/ui/core/date/Japanese.js +4 -4
  159. package/dist/sap/ui/core/date/UniversalDate.js +79 -22
  160. package/dist/sap/ui/core/format/DateFormat.js +496 -201
  161. package/dist/sap/ui/core/format/TimezoneUtil.js +94 -0
  162. package/package-scripts.js +6 -8
  163. package/package.json +6 -5
  164. package/src/DateFormat.ts +8 -0
  165. package/src/LocaleData.ts +8 -0
  166. package/src/dates/{CalendarDate.js → CalendarDate.ts} +43 -34
  167. package/src/dates/{ExtremeDates.js → ExtremeDates.ts} +6 -5
  168. package/src/dates/UniversalDate.ts +51 -0
  169. package/src/dates/{calculateWeekNumber.js → calculateWeekNumber.ts} +5 -3
  170. package/src/dates/convertMonthNumbersToMonthNames.ts +34 -0
  171. package/src/dates/getDaysInMonth.ts +11 -0
  172. package/src/dates/{getRoundedTimestamp.js → getRoundedTimestamp.ts} +3 -3
  173. package/src/dates/getTodayUTCTimestamp.ts +10 -0
  174. package/src/dates/{modifyDateBy.js → modifyDateBy.ts} +1 -1
  175. package/src/dates/transformDateToSecondaryType.ts +21 -0
  176. package/src/features/calendar/Buddhist.ts +1 -0
  177. package/src/features/calendar/Gregorian.ts +1 -0
  178. package/src/features/calendar/Islamic.ts +1 -0
  179. package/src/features/calendar/Japanese.ts +1 -0
  180. package/src/features/calendar/Persian.ts +1 -0
  181. package/src/getCachedLocaleDataInstance.ts +15 -0
  182. package/src/locale/{getLocaleData.js → getLocaleData.ts} +9 -8
  183. package/src/sap/base/util/{LoaderExtensions.js → LoaderExtensions.ts} +1 -1
  184. package/src/sap/ui/core/{Core.js → Configuration.ts} +5 -21
  185. package/src/sap/ui/core/Core.ts +15 -0
  186. package/src/sap/ui/core/FormatSettings.ts +16 -0
  187. package/tsconfig.json +13 -0
  188. package/used-modules.txt +4 -1
  189. package/hash.txt +0 -1
  190. package/src/DateFormat.js +0 -3
  191. package/src/LocaleData.js +0 -3
  192. package/src/dates/getTodayUTCTimestamp.js +0 -9
  193. package/src/getCachedLocaleDataInstance.js +0 -13
  194. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  195. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  196. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  197. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  198. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
  199. /package/src/{Assets-static.js → Assets-static.ts} +0 -0
  200. /package/src/{Assets.js → Assets.ts} +0 -0
@@ -1,213 +1,182 @@
1
- import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
2
-
1
+ import UniversalDate from "./UniversalDate.js";
3
2
  class CalendarDate {
4
- constructor() {
5
- let aArgs = arguments, // eslint-disable-line
6
- oJSDate,
7
- oNow,
8
- sCalendarType;
9
-
10
- switch (aArgs.length) {
11
- case 0: // defaults to the current date
12
- oNow = new Date();
13
- return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
14
-
15
- case 1: // CalendarDate
16
- case 2: // CalendarDate, sCalendarType
17
- if (!(aArgs[0] instanceof CalendarDate)) {
18
- throw new Error("Invalid arguments: the first argument must be of type sap.ui.unified.calendar.CalendarDate.");
19
- }
20
- sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
21
- // Use source.valueOf() (returns the same point of time regardless calendar type) instead of
22
- // source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
23
- oJSDate = new Date(aArgs[0].valueOf());
24
-
25
- // Make this date really local. Now getters are safe.
26
- oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
27
- oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
28
-
29
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
30
- break;
31
-
32
- case 3: // year, month, date
33
- case 4: // year, month, date, sCalendarType
34
- checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
35
- checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
36
- checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
37
-
38
- oJSDate = new Date(0, 0, 1);
39
- oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
40
-
41
- if (aArgs[3]) {
42
- sCalendarType = aArgs[3];
43
- }
44
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
45
- break;
46
-
47
- default:
48
- throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
49
- + "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
50
- }
51
- }
52
-
53
- getYear() {
54
- return this._oUDate.getUTCFullYear();
55
- }
56
-
57
- setYear(year) {
58
- checkNumericLike(year, `Invalid year: ${year}`);
59
- this._oUDate.setUTCFullYear(year);
60
- return this;
61
- }
62
-
63
- getMonth() {
64
- return this._oUDate.getUTCMonth();
65
- }
66
-
67
- /**
68
- * Sets the given month as ordinal month of the year.
69
- * @param {int} month An integer between 0 and 11, representing the months January through December( or their
70
- * equivalent month names for the given calendar).
71
- * If the specified value is is outside of the expected range, this method attempts to update the date information
72
- * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
73
- * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
74
- * 0 will result in the previous month's last day.
75
- * -1 will result in the day before the previous month's last day.
76
- * 32 will result in:
77
- * - first day of the next month if the current month has 31 days.
78
- * - second day of the next month if the current month has 30 days.
79
- * Other value will result in adding or subtracting days according to the given value.
80
- * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
81
- */
82
- setMonth(month, date) {
83
- checkNumericLike(month, `Invalid month: ${month}`);
84
- if (date || date === 0) {
85
- checkNumericLike(date, `Invalid date: ${date}`);
86
- this._oUDate.setUTCMonth(month, date);
87
- } else {
88
- this._oUDate.setUTCMonth(month);
89
- }
90
- return this;
91
- }
92
-
93
- getDate() {
94
- return this._oUDate.getUTCDate();
95
- }
96
-
97
- setDate(date) {
98
- checkNumericLike(date, `Invalid date: ${date}`);
99
- this._oUDate.setUTCDate(date);
100
- return this;
101
- }
102
-
103
- getDay() {
104
- return this._oUDate.getUTCDay();
105
- }
106
-
107
- getCalendarType() {
108
- return this._oUDate.sCalendarType;
109
- }
110
-
111
- isBefore(oCalendarDate) {
112
- checkCalendarDate(oCalendarDate);
113
- return this.valueOf() < oCalendarDate.valueOf();
114
- }
115
-
116
- isAfter(oCalendarDate) {
117
- checkCalendarDate(oCalendarDate);
118
- return this.valueOf() > oCalendarDate.valueOf();
119
- }
120
-
121
- isSameOrBefore(oCalendarDate) {
122
- checkCalendarDate(oCalendarDate);
123
- return this.valueOf() <= oCalendarDate.valueOf();
124
- }
125
-
126
- isSameOrAfter(oCalendarDate) {
127
- checkCalendarDate(oCalendarDate);
128
- return this.valueOf() >= oCalendarDate.valueOf();
129
- }
130
-
131
- isSame(oCalendarDate) {
132
- checkCalendarDate(oCalendarDate);
133
- return this.valueOf() === oCalendarDate.valueOf();
134
- }
135
-
136
- toLocalJSDate() {
137
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
138
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
139
- const oLocalDate = new Date(this._oUDate.getTime());
140
-
141
- // Make this date really local. Now getters are safe.
142
- oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
143
- oLocalDate.setHours(0, 0, 0, 0);
144
-
145
- return oLocalDate;
146
- }
147
-
148
- toUTCJSDate() {
149
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
150
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
151
- const oUTCDate = new Date(this._oUDate.getTime());
152
- oUTCDate.setUTCHours(0, 0, 0, 0);
153
-
154
- return oUTCDate;
155
- }
156
-
157
- toString() {
158
- return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
159
- }
160
-
161
- valueOf() {
162
- return this._oUDate.getTime();
163
- }
164
-
165
- static fromLocalJSDate(oJSDate, sCalendarType) {
166
- // Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
167
- // because Date object in the test is different than the Date object in the application (due to the iframe).
168
- // We can use jQuery.type or this method:
169
- function isValidDate(date) {
170
- return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
171
- }
172
- if (!isValidDate(oJSDate)) {
173
- throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
174
- }
175
- return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
176
- }
177
-
178
- static fromTimestamp(iTimestamp, sCalendarType) {
179
- const oCalDate = new CalendarDate(0, 0, 1);
180
- oCalDate._oUDate = UniversalDate.getInstance(new Date(iTimestamp), sCalendarType);
181
- return oCalDate;
182
- }
3
+ constructor(year, month, date, calendarType) {
4
+ let aArgs = arguments, // eslint-disable-line
5
+ oJSDate, oNow, sCalendarType;
6
+ switch (aArgs.length) {
7
+ case 0: // defaults to the current date
8
+ oNow = new Date();
9
+ return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
10
+ case 1: // CalendarDate
11
+ case 2: // CalendarDate, sCalendarType
12
+ if (!(aArgs[0] instanceof CalendarDate)) {
13
+ throw new Error("Invalid arguments: the first argument must be of type CalendarDate.");
14
+ }
15
+ sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
16
+ // Use source.valueOf() (returns the same point of time regardless calendar type) instead of
17
+ // source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
18
+ oJSDate = new Date(aArgs[0].valueOf());
19
+ // Make this date really local. Now getters are safe.
20
+ oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
21
+ oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
22
+ this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
23
+ break;
24
+ case 3: // year, month, date
25
+ case 4: // year, month, date, sCalendarType
26
+ checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
27
+ checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
28
+ checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
29
+ oJSDate = new Date(0, 0, 1);
30
+ oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
31
+ if (aArgs[3]) {
32
+ sCalendarType = aArgs[3];
33
+ }
34
+ this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
35
+ break;
36
+ default:
37
+ throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
38
+ + "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
39
+ }
40
+ }
41
+ getYear() {
42
+ return this._oUDate.getUTCFullYear();
43
+ }
44
+ setYear(year) {
45
+ checkNumericLike(year, `Invalid year: ${year}`);
46
+ this._oUDate.setUTCFullYear(year);
47
+ return this;
48
+ }
49
+ getMonth() {
50
+ return this._oUDate.getUTCMonth();
51
+ }
52
+ /**
53
+ * Sets the given month as ordinal month of the year.
54
+ * @param {int} month An integer between 0 and 11, representing the months January through December( or their
55
+ * equivalent month names for the given calendar).
56
+ * If the specified value is is outside of the expected range, this method attempts to update the date information
57
+ * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
58
+ * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
59
+ * 0 will result in the previous month's last day.
60
+ * -1 will result in the day before the previous month's last day.
61
+ * 32 will result in:
62
+ * - first day of the next month if the current month has 31 days.
63
+ * - second day of the next month if the current month has 30 days.
64
+ * Other value will result in adding or subtracting days according to the given value.
65
+ * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
66
+ */
67
+ setMonth(month, date) {
68
+ checkNumericLike(month, `Invalid month: ${month}`);
69
+ if (date || date === 0) {
70
+ checkNumericLike(date, `Invalid date: ${date}`);
71
+ this._oUDate.setUTCMonth(month, date);
72
+ }
73
+ else {
74
+ this._oUDate.setUTCMonth(month);
75
+ }
76
+ return this;
77
+ }
78
+ getDate() {
79
+ return this._oUDate.getUTCDate();
80
+ }
81
+ setDate(date) {
82
+ checkNumericLike(date, `Invalid date: ${date}`);
83
+ this._oUDate.setUTCDate(date);
84
+ return this;
85
+ }
86
+ getDay() {
87
+ return this._oUDate.getUTCDay();
88
+ }
89
+ getCalendarType() {
90
+ return this._oUDate.sCalendarType;
91
+ }
92
+ isBefore(oCalendarDate) {
93
+ checkCalendarDate(oCalendarDate);
94
+ return this.valueOf() < oCalendarDate.valueOf();
95
+ }
96
+ isAfter(oCalendarDate) {
97
+ checkCalendarDate(oCalendarDate);
98
+ return this.valueOf() > oCalendarDate.valueOf();
99
+ }
100
+ isSameOrBefore(oCalendarDate) {
101
+ checkCalendarDate(oCalendarDate);
102
+ return this.valueOf() <= oCalendarDate.valueOf();
103
+ }
104
+ isSameOrAfter(oCalendarDate) {
105
+ checkCalendarDate(oCalendarDate);
106
+ return this.valueOf() >= oCalendarDate.valueOf();
107
+ }
108
+ isSame(oCalendarDate) {
109
+ checkCalendarDate(oCalendarDate);
110
+ return this.valueOf() === oCalendarDate.valueOf();
111
+ }
112
+ toLocalJSDate() {
113
+ // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
114
+ // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
115
+ const oLocalDate = new Date(this._oUDate.getTime());
116
+ // Make this date really local. Now getters are safe.
117
+ oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
118
+ oLocalDate.setHours(0, 0, 0, 0);
119
+ return oLocalDate;
120
+ }
121
+ toUTCJSDate() {
122
+ // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
123
+ // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
124
+ const oUTCDate = new Date(this._oUDate.getTime());
125
+ oUTCDate.setUTCHours(0, 0, 0, 0);
126
+ return oUTCDate;
127
+ }
128
+ toString() {
129
+ return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
130
+ }
131
+ valueOf() {
132
+ return this._oUDate.getTime();
133
+ }
134
+ static fromLocalJSDate(oJSDate, sCalendarType) {
135
+ // Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
136
+ // because Date object in the test is different than the Date object in the application (due to the iframe).
137
+ // We can use jQuery.type or this method:
138
+ function isValidDate(date) {
139
+ return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
140
+ }
141
+ if (!isValidDate(oJSDate)) {
142
+ throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
143
+ }
144
+ return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
145
+ }
146
+ static fromTimestamp(iTimestamp, sCalendarType) {
147
+ const oCalDate = new CalendarDate(0, 0, 1);
148
+ let oUDate;
149
+ try {
150
+ oUDate = UniversalDate.getInstance(new Date(iTimestamp), sCalendarType);
151
+ }
152
+ catch (e) {
153
+ oUDate = new Date(NaN); // UniversalDate.getInstance may now throw an Exception - keep the old behavior
154
+ }
155
+ oCalDate._oUDate = oUDate;
156
+ return oCalDate;
157
+ }
183
158
  }
184
-
185
159
  function createUniversalUTCDate(oDate, sCalendarType) {
186
- if (sCalendarType) {
187
- return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
188
- }
189
- return new UniversalDate(createUTCDate(oDate).getTime());
160
+ if (sCalendarType) {
161
+ return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
162
+ }
163
+ return new UniversalDate(createUTCDate(oDate).getTime());
190
164
  }
191
-
192
165
  /**
193
166
  * Creates a JavaScript UTC Date corresponding to the given JavaScript Date.
194
167
  * @param {Date} oDate JavaScript date object. Time related information is cut.
195
168
  * @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.
196
169
  */
197
170
  function createUTCDate(oDate) {
198
- const oUTCDate = new Date(Date.UTC(0, 0, 1));
199
-
200
- oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
201
-
202
- return oUTCDate;
171
+ const oUTCDate = new Date(Date.UTC(0, 0, 1));
172
+ oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
173
+ return oUTCDate;
203
174
  }
204
-
205
175
  function checkCalendarDate(oCalendarDate) {
206
- if (!(oCalendarDate instanceof CalendarDate)) {
207
- throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: sap.ui.unified.calendar.CalendarDate`);
208
- }
176
+ if (!(oCalendarDate instanceof CalendarDate)) {
177
+ throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: CalendarDate`);
178
+ }
209
179
  }
210
-
211
180
  /**
212
181
  * Verifies the given value is numeric like, i.e. 3, "3" and throws an error if it is not.
213
182
  * @param {any} value The value of any type to check. If null or undefined, this method throws an error.
@@ -215,9 +184,9 @@ function checkCalendarDate(oCalendarDate) {
215
184
  * @throws will throw an error if the value is null or undefined or is not like a number
216
185
  */
217
186
  function checkNumericLike(value, message) {
218
- if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
219
- throw message;
220
- }
187
+ if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
188
+ throw message;
189
+ }
221
190
  }
222
-
223
191
  export default CalendarDate;
192
+ //# sourceMappingURL=CalendarDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarDate.js","sourceRoot":"","sources":["../../src/dates/CalendarDate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ import CalendarDate from "./CalendarDate.js";
3
+ declare const getMinCalendarDate: (primaryCalendarType: CalendarType) => CalendarDate;
4
+ declare const getMaxCalendarDate: (primaryCalendarType: CalendarType) => CalendarDate;
5
+ export { getMinCalendarDate, getMaxCalendarDate, };
@@ -1,39 +1,29 @@
1
1
  import CalendarDate from "./CalendarDate.js";
2
-
3
2
  const cache = new Map();
4
-
5
- const getMinCalendarDate = primaryCalendarType => {
6
- const key = `min ${primaryCalendarType}`;
7
-
8
- if (!cache.has(key)) {
9
- const minDate = new CalendarDate(1, 0, 1, primaryCalendarType);
10
- minDate.setYear(1);
11
- minDate.setMonth(0);
12
- minDate.setDate(1);
13
- cache.set(key, minDate);
14
- }
15
-
16
- return cache.get(key);
3
+ const getMinCalendarDate = (primaryCalendarType) => {
4
+ const key = `min ${primaryCalendarType}`;
5
+ if (!cache.has(key)) {
6
+ const minDate = new CalendarDate(1, 0, 1, primaryCalendarType);
7
+ minDate.setYear(1);
8
+ minDate.setMonth(0);
9
+ minDate.setDate(1);
10
+ cache.set(key, minDate);
11
+ }
12
+ return cache.get(key);
17
13
  };
18
-
19
- const getMaxCalendarDate = primaryCalendarType => {
20
- const key = `max ${primaryCalendarType}`;
21
-
22
- if (!cache.has(key)) {
23
- const maxDate = new CalendarDate(1, 0, 1, primaryCalendarType);
24
- maxDate.setYear(9999);
25
- maxDate.setMonth(11);
26
- const tempDate = new CalendarDate(maxDate, primaryCalendarType);
27
- tempDate.setDate(1);
28
- tempDate.setMonth(tempDate.getMonth() + 1, 0);
29
- maxDate.setDate(tempDate.getDate());// 31st for Gregorian Calendar
30
- cache.set(key, maxDate);
31
- }
32
-
33
- return cache.get(key);
34
- };
35
-
36
- export {
37
- getMinCalendarDate,
38
- getMaxCalendarDate,
14
+ const getMaxCalendarDate = (primaryCalendarType) => {
15
+ const key = `max ${primaryCalendarType}`;
16
+ if (!cache.has(key)) {
17
+ const maxDate = new CalendarDate(1, 0, 1, primaryCalendarType);
18
+ maxDate.setYear(9999);
19
+ maxDate.setMonth(11);
20
+ const tempDate = new CalendarDate(maxDate, primaryCalendarType);
21
+ tempDate.setDate(1);
22
+ tempDate.setMonth(tempDate.getMonth() + 1, 0);
23
+ maxDate.setDate(tempDate.getDate()); // 31st for Gregorian Calendar
24
+ cache.set(key, maxDate);
25
+ }
26
+ return cache.get(key);
39
27
  };
28
+ export { getMinCalendarDate, getMaxCalendarDate, };
29
+ //# sourceMappingURL=ExtremeDates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtremeDates.js","sourceRoot":"","sources":["../../src/dates/ExtremeDates.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,mBAAiC,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,OAAO,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACxB;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,mBAAiC,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,OAAO,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA,8BAA8B;QAClE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;KACxB;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,GAClB,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ type UniversalDate = {
3
+ new (time: number): UniversalDate;
4
+ oDate: Date;
5
+ sCalendarType: string;
6
+ getInstance: (oDate: Date, sCalendarType?: CalendarType) => UniversalDate;
7
+ getDate: () => number;
8
+ getMonth: () => number;
9
+ getFullYear: () => number;
10
+ getYear: () => number;
11
+ getDay: () => number;
12
+ getHours: () => number;
13
+ getMinutes: () => number;
14
+ getSeconds: () => number;
15
+ getMilliseconds: () => number;
16
+ getUTCDate: () => number;
17
+ getUTCMonth: () => number;
18
+ getUTCFullYear: () => number;
19
+ getUTCDay: () => number;
20
+ getUTCHours: () => number;
21
+ getUTCMinutes: () => number;
22
+ getUTCSeconds: () => number;
23
+ getUTCMilliseconds: () => number;
24
+ getTime: () => number;
25
+ valueOf: () => number;
26
+ getTimezoneOffset: () => number;
27
+ toString: () => string;
28
+ toDateString: () => string;
29
+ setDate: (dayValue: number) => number;
30
+ setFullYear: (yearValue: number, monthValue?: number, dateValue?: number) => number;
31
+ setYear: (yearValue: number) => number;
32
+ setMonth: (monthValue: number, dayValue?: number) => number;
33
+ setHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number;
34
+ setMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number;
35
+ setSeconds: (secondsValue: number, msValue?: number) => number;
36
+ setMilliseconds: (setMilliseconds: number) => number;
37
+ setUTCDate: (dayValue: number) => number;
38
+ setUTCFullYear: (yearValue: number, monthValue?: number, dayValue?: number) => number;
39
+ setUTCMonth: (monthValue: number, dayValue?: number) => number;
40
+ setUTCHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number;
41
+ setUTCMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number;
42
+ setUTCSeconds: (secondsValue: number, msValue?: number) => number;
43
+ setUTCMilliseconds: (setMilliseconds: number) => number;
44
+ };
45
+ declare const UniversalDate: UniversalDate;
46
+ export default UniversalDate;
@@ -0,0 +1,5 @@
1
+ // @ts-ignore
2
+ import UniversalDateNative from "../sap/ui/core/date/UniversalDate.js";
3
+ const UniversalDate = UniversalDateNative;
4
+ export default UniversalDate;
5
+ //# sourceMappingURL=UniversalDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalDate.js","sourceRoot":"","sources":["../../src/dates/UniversalDate.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,mBAAmB,MAAM,sCAAsC,CAAC;AA8CvE,MAAM,aAAa,GAAkB,mBAAmB,CAAC;AAEzD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type Locale from "@ui5/webcomponents-base/dist/locale/Locale.js";
2
+ import type LocaleData from "../LocaleData.js";
3
+ declare const calculateWeekNumber: (confFirstDayOfWeek: number | undefined, oDate: Date, iYear: number, oLocale: Locale, oLocaleData: LocaleData) => number;
4
+ export default calculateWeekNumber;