@ui5/webcomponents-localization 0.0.0-4738ea0dc → 0.0.0-47cc17a26

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 (239) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1781 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +7 -9
  6. package/dist/.tsbuildinfo +1 -0
  7. package/dist/Assets-fetch.d.ts +1 -0
  8. package/dist/Assets-fetch.js +3 -0
  9. package/dist/Assets-fetch.js.map +1 -0
  10. package/dist/Assets-node.d.ts +11 -0
  11. package/dist/Assets-node.js +12 -0
  12. package/dist/Assets-node.js.map +1 -0
  13. package/dist/Assets.js.map +1 -1
  14. package/dist/CalendarUtils.d.ts +3 -0
  15. package/dist/CalendarUtils.js +6 -0
  16. package/dist/CalendarUtils.js.map +1 -0
  17. package/dist/DateFormat.d.ts +0 -1
  18. package/dist/DateFormat.js.map +1 -1
  19. package/dist/LocaleData.d.ts +0 -1
  20. package/dist/LocaleData.js.map +1 -1
  21. package/dist/dates/CalendarDate.d.ts +6 -5
  22. package/dist/dates/CalendarDate.js +8 -7
  23. package/dist/dates/CalendarDate.js.map +1 -1
  24. package/dist/dates/ExtremeDates.d.ts +3 -3
  25. package/dist/dates/ExtremeDates.js.map +1 -1
  26. package/dist/dates/UI5Date.d.ts +5 -0
  27. package/dist/dates/UI5Date.js +7 -0
  28. package/dist/dates/UI5Date.js.map +1 -0
  29. package/dist/dates/UniversalDate.d.ts +2 -1
  30. package/dist/dates/UniversalDate.js.map +1 -1
  31. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +1 -1
  32. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -1
  33. package/dist/dates/getDaysInMonth.js.map +1 -1
  34. package/dist/dates/getRoundedTimestamp.js +1 -0
  35. package/dist/dates/getRoundedTimestamp.js.map +1 -1
  36. package/dist/dates/getTodayUTCTimestamp.d.ts +1 -1
  37. package/dist/dates/getTodayUTCTimestamp.js +2 -1
  38. package/dist/dates/getTodayUTCTimestamp.js.map +1 -1
  39. package/dist/dates/modifyDateBy.d.ts +2 -1
  40. package/dist/dates/modifyDateBy.js +34 -19
  41. package/dist/dates/modifyDateBy.js.map +1 -1
  42. package/dist/dates/transformDateToSecondaryType.d.ts +1 -1
  43. package/dist/dates/transformDateToSecondaryType.js +3 -2
  44. package/dist/dates/transformDateToSecondaryType.js.map +1 -1
  45. package/dist/features/calendar/Buddhist.js.map +1 -1
  46. package/dist/features/calendar/Gregorian.js.map +1 -1
  47. package/dist/features/calendar/Islamic.js.map +1 -1
  48. package/dist/features/calendar/Japanese.js.map +1 -1
  49. package/dist/features/calendar/Persian.js.map +1 -1
  50. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  51. package/dist/generated/assets/cldr/ar.json +908 -527
  52. package/dist/generated/assets/cldr/ar_EG.json +908 -527
  53. package/dist/generated/assets/cldr/ar_SA.json +1003 -623
  54. package/dist/generated/assets/cldr/bg.json +902 -665
  55. package/dist/generated/assets/cldr/ca.json +845 -557
  56. package/dist/generated/assets/cldr/cnr.json +6169 -0
  57. package/dist/generated/assets/cldr/cs.json +823 -410
  58. package/dist/generated/assets/cldr/cy.json +964 -646
  59. package/dist/generated/assets/cldr/da.json +818 -544
  60. package/dist/generated/assets/cldr/de.json +710 -377
  61. package/dist/generated/assets/cldr/de_AT.json +700 -367
  62. package/dist/generated/assets/cldr/de_CH.json +719 -386
  63. package/dist/generated/assets/cldr/el.json +548 -297
  64. package/dist/generated/assets/cldr/el_CY.json +548 -297
  65. package/dist/generated/assets/cldr/en.json +861 -551
  66. package/dist/generated/assets/cldr/en_AU.json +1006 -648
  67. package/dist/generated/assets/cldr/en_GB.json +870 -530
  68. package/dist/generated/assets/cldr/en_HK.json +963 -620
  69. package/dist/generated/assets/cldr/en_IE.json +928 -588
  70. package/dist/generated/assets/cldr/en_IN.json +911 -567
  71. package/dist/generated/assets/cldr/en_NZ.json +947 -607
  72. package/dist/generated/assets/cldr/en_PG.json +948 -608
  73. package/dist/generated/assets/cldr/en_SG.json +937 -594
  74. package/dist/generated/assets/cldr/en_ZA.json +925 -585
  75. package/dist/generated/assets/cldr/es.json +1171 -711
  76. package/dist/generated/assets/cldr/es_AR.json +1114 -653
  77. package/dist/generated/assets/cldr/es_BO.json +1156 -695
  78. package/dist/generated/assets/cldr/es_CL.json +997 -644
  79. package/dist/generated/assets/cldr/es_CO.json +916 -562
  80. package/dist/generated/assets/cldr/es_MX.json +1325 -864
  81. package/dist/generated/assets/cldr/es_PE.json +841 -596
  82. package/dist/generated/assets/cldr/es_UY.json +869 -624
  83. package/dist/generated/assets/cldr/es_VE.json +888 -643
  84. package/dist/generated/assets/cldr/et.json +664 -368
  85. package/dist/generated/assets/cldr/fa.json +791 -490
  86. package/dist/generated/assets/cldr/fi.json +733 -344
  87. package/dist/generated/assets/cldr/fr.json +687 -433
  88. package/dist/generated/assets/cldr/fr_BE.json +684 -430
  89. package/dist/generated/assets/cldr/fr_CA.json +810 -556
  90. package/dist/generated/assets/cldr/fr_CH.json +627 -373
  91. package/dist/generated/assets/cldr/fr_LU.json +687 -433
  92. package/dist/generated/assets/cldr/he.json +909 -545
  93. package/dist/generated/assets/cldr/hi.json +493 -194
  94. package/dist/generated/assets/cldr/hr.json +1009 -496
  95. package/dist/generated/assets/cldr/hu.json +562 -305
  96. package/dist/generated/assets/cldr/id.json +880 -572
  97. package/dist/generated/assets/cldr/it.json +738 -466
  98. package/dist/generated/assets/cldr/it_CH.json +738 -466
  99. package/dist/generated/assets/cldr/ja.json +349 -88
  100. package/dist/generated/assets/cldr/kk.json +1033 -583
  101. package/dist/generated/assets/cldr/ko.json +407 -173
  102. package/dist/generated/assets/cldr/lt.json +621 -288
  103. package/dist/generated/assets/cldr/lv.json +613 -375
  104. package/dist/generated/assets/cldr/mk.json +6045 -0
  105. package/dist/generated/assets/cldr/ms.json +869 -552
  106. package/dist/generated/assets/cldr/nb.json +529 -236
  107. package/dist/generated/assets/cldr/nl.json +1019 -432
  108. package/dist/generated/assets/cldr/nl_BE.json +1019 -432
  109. package/dist/generated/assets/cldr/pl.json +1107 -492
  110. package/dist/generated/assets/cldr/pt.json +1171 -625
  111. package/dist/generated/assets/cldr/pt_PT.json +1112 -636
  112. package/dist/generated/assets/cldr/ro.json +835 -489
  113. package/dist/generated/assets/cldr/ru.json +850 -518
  114. package/dist/generated/assets/cldr/ru_UA.json +844 -512
  115. package/dist/generated/assets/cldr/sk.json +833 -569
  116. package/dist/generated/assets/cldr/sl.json +741 -435
  117. package/dist/generated/assets/cldr/sr.json +700 -349
  118. package/dist/generated/assets/cldr/sr_Latn.json +1329 -994
  119. package/dist/generated/assets/cldr/sv.json +746 -446
  120. package/dist/generated/assets/cldr/th.json +484 -238
  121. package/dist/generated/assets/cldr/tr.json +721 -438
  122. package/dist/generated/assets/cldr/uk.json +884 -547
  123. package/dist/generated/assets/cldr/vi.json +662 -430
  124. package/dist/generated/assets/cldr/zh_CN.json +631 -345
  125. package/dist/generated/assets/cldr/zh_HK.json +602 -315
  126. package/dist/generated/assets/cldr/zh_SG.json +607 -320
  127. package/dist/generated/assets/cldr/zh_TW.json +459 -193
  128. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  129. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  130. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  131. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  132. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  133. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  134. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  135. package/dist/generated/json-imports/LocaleData.js +89 -89
  136. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  137. package/dist/getCachedLocaleDataInstance.js.map +1 -1
  138. package/dist/locale/getLocaleData.js.map +1 -1
  139. package/dist/sap/base/Event.js +59 -0
  140. package/dist/sap/base/Eventing.js +146 -0
  141. package/dist/sap/base/Log.js +2 -239
  142. package/dist/sap/base/assert.js +28 -1
  143. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  144. package/dist/sap/base/config.js +17 -0
  145. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  146. package/dist/sap/base/i18n/Formatting.js +11 -0
  147. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  148. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  149. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  150. package/dist/sap/base/i18n/Localization.js +12 -0
  151. package/dist/sap/base/i18n/Localization.js.map +1 -0
  152. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  153. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  154. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  155. package/dist/sap/base/strings/camelize.js +30 -0
  156. package/dist/sap/base/strings/formatMessage.js +88 -15
  157. package/dist/sap/base/util/LoaderExtensions.js.map +1 -1
  158. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  159. package/dist/sap/base/util/ObjectPath.js +4 -33
  160. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  161. package/dist/sap/base/util/Version.js +157 -0
  162. package/dist/sap/base/util/_merge.js +83 -26
  163. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  164. package/dist/sap/base/util/deepClone.js +102 -0
  165. package/dist/sap/base/util/deepEqual.js +75 -51
  166. package/dist/sap/base/util/extend.js +58 -7
  167. package/dist/sap/base/util/isEmptyObject.js +34 -0
  168. package/dist/sap/base/util/isPlainObject.js +35 -1
  169. package/dist/sap/base/util/now.js +24 -3
  170. package/dist/sap/base/util/resolveReference.js +3 -0
  171. package/dist/sap/base/util/uid.js +27 -0
  172. package/dist/sap/ui/base/DataType.js +657 -0
  173. package/dist/sap/ui/base/Interface.js +47 -1
  174. package/dist/sap/ui/base/Metadata.js +435 -171
  175. package/dist/sap/ui/base/Object.js +284 -48
  176. package/dist/sap/ui/core/CalendarType.js +24 -8
  177. package/dist/sap/ui/core/Configuration.d.ts +2 -2
  178. package/dist/sap/ui/core/Configuration.js +4 -1
  179. package/dist/sap/ui/core/Configuration.js.map +1 -1
  180. package/dist/sap/ui/core/Core.d.ts +3 -4
  181. package/dist/sap/ui/core/Core.js.map +1 -1
  182. package/dist/sap/ui/core/FormatSettings.d.ts +1 -2
  183. package/dist/sap/ui/core/FormatSettings.js +0 -2
  184. package/dist/sap/ui/core/FormatSettings.js.map +1 -1
  185. package/dist/sap/ui/core/Locale.js +190 -155
  186. package/dist/sap/ui/core/LocaleData.js +2662 -1300
  187. package/dist/sap/ui/core/Supportability.js +5 -0
  188. package/dist/sap/ui/core/Theming.js +539 -0
  189. package/dist/sap/ui/core/date/Buddhist.js +162 -87
  190. package/dist/sap/ui/core/date/CalendarUtils.js +61 -32
  191. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -7
  192. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  193. package/dist/sap/ui/core/date/Islamic.js +298 -185
  194. package/dist/sap/ui/core/date/Japanese.js +210 -115
  195. package/dist/sap/ui/core/date/Persian.js +324 -195
  196. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  197. package/dist/sap/ui/core/date/UniversalDate.js +1238 -255
  198. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  199. package/dist/sap/ui/core/format/DateFormat.js +3167 -2093
  200. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -94
  201. package/package-scripts.cjs +35 -0
  202. package/package.json +22 -14
  203. package/tsconfig.json +20 -9
  204. package/used-modules.txt +24 -1
  205. package/dist/Assets-static.d.ts +0 -1
  206. package/dist/Assets-static.js +0 -3
  207. package/dist/Assets-static.js.map +0 -1
  208. package/dist/dates/calculateWeekNumber.d.ts +0 -4
  209. package/dist/dates/calculateWeekNumber.js +0 -45
  210. package/dist/dates/calculateWeekNumber.js.map +0 -1
  211. package/dist/generated/json-imports/LocaleData-static.js +0 -90
  212. package/dist/sap/ui/Device.js +0 -5
  213. package/package-scripts.js +0 -38
  214. package/src/Assets-static.ts +0 -2
  215. package/src/Assets.ts +0 -2
  216. package/src/DateFormat.ts +0 -8
  217. package/src/LocaleData.ts +0 -8
  218. package/src/dates/CalendarDate.ts +0 -232
  219. package/src/dates/ExtremeDates.ts +0 -40
  220. package/src/dates/UniversalDate.ts +0 -51
  221. package/src/dates/calculateWeekNumber.ts +0 -53
  222. package/src/dates/convertMonthNumbersToMonthNames.ts +0 -34
  223. package/src/dates/getDaysInMonth.ts +0 -11
  224. package/src/dates/getRoundedTimestamp.ts +0 -14
  225. package/src/dates/getTodayUTCTimestamp.ts +0 -10
  226. package/src/dates/modifyDateBy.ts +0 -42
  227. package/src/dates/transformDateToSecondaryType.ts +0 -21
  228. package/src/features/calendar/Buddhist.ts +0 -1
  229. package/src/features/calendar/Gregorian.ts +0 -1
  230. package/src/features/calendar/Islamic.ts +0 -1
  231. package/src/features/calendar/Japanese.ts +0 -1
  232. package/src/features/calendar/Persian.ts +0 -1
  233. package/src/getCachedLocaleDataInstance.ts +0 -15
  234. package/src/locale/getLocaleData.ts +0 -28
  235. package/src/sap/base/util/LoaderExtensions.ts +0 -17
  236. package/src/sap/ui/core/Configuration.ts +0 -22
  237. package/src/sap/ui/core/Core.ts +0 -15
  238. package/src/sap/ui/core/FormatSettings.ts +0 -16
  239. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1,121 +1,196 @@
1
- import UniversalDate from './UniversalDate.js';
2
- import CalendarType from '../CalendarType.js';
3
- import _Calendars from './_Calendars.js';
4
- var Buddhist = UniversalDate.extend('sap.ui.core.date.Buddhist', {
5
- constructor: function () {
6
- var aArgs = arguments;
7
- if (aArgs.length > 1) {
8
- aArgs = toGregorianArguments(aArgs);
9
- }
10
- this.oDate = this.createDate(Date, aArgs);
11
- this.sCalendarType = CalendarType.Buddhist;
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides class sap.ui.core.date.Buddhist
7
+ import UniversalDate from "./UniversalDate.js";
8
+ import CalendarType from "../CalendarType.js";
9
+ import _Calendars from "./_Calendars.js";
10
+ /**
11
+ * The Buddhist date class
12
+ *
13
+ * @class
14
+ * The Buddhist date implements the Thai solar calendar (BE - Buddhist Era). In this calendar
15
+ * the year is offset by 543 compared to the Gregorian calendar.
16
+ * e.g. Year 2022 CE corresponds to 2565 BE
17
+ *
18
+ *
19
+ * Before 1941 CE the year start was 1st of April, so Januar to March belong to the previous year.
20
+ * <pre>
21
+ * Month | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 | 1-3 | 4-6 | 7-9 | 10-12 |
22
+ * CE | 1939 | 1940 | 1941 | 1942 |
23
+ * BE 2481 | 2482 | 2483 | 2484 | 2485 |
24
+ * </pre>
25
+ *
26
+ * @private
27
+ * @alias sap.ui.core.date.Buddhist
28
+ * @extends sap.ui.core.date.UniversalDate
29
+ */
30
+ var Buddhist = UniversalDate.extend("sap.ui.core.date.Buddhist", /** @lends sap.ui.core.date.Buddhist.prototype */{
31
+ constructor: function () {
32
+ var aArgs = arguments;
33
+ if (aArgs.length > 1) {
34
+ aArgs = toGregorianArguments(aArgs);
12
35
  }
36
+ this.oDate = this.createDate(Date, aArgs);
37
+ this.sCalendarType = CalendarType.Buddhist;
38
+ }
13
39
  });
14
40
  Buddhist.UTC = function () {
15
- var aArgs = toGregorianArguments(arguments);
16
- return Date.UTC.apply(Date, aArgs);
41
+ var aArgs = toGregorianArguments(arguments);
42
+ return Date.UTC.apply(Date, aArgs);
17
43
  };
18
44
  Buddhist.now = function () {
19
- return Date.now();
45
+ return Date.now();
20
46
  };
47
+
48
+ /**
49
+ * Find the matching Buddhist date for the given gregorian date
50
+ *
51
+ * @param {{year: int, month: int, day: int}} oGregorian Gregorian date
52
+ * @return {{year: int, month: int, day: int}} the resulting Buddhist date
53
+ */
21
54
  function toBuddhist(oGregorian) {
22
- var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year, iYear = oGregorian.year - iEraStartYear + 1;
23
- if (oGregorian.year < 1941 && oGregorian.month < 3) {
24
- iYear -= 1;
25
- }
26
- if (oGregorian.year === null) {
27
- iYear = undefined;
28
- }
29
- return {
30
- year: iYear,
31
- month: oGregorian.month,
32
- day: oGregorian.day
33
- };
55
+ var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
56
+ iYear = oGregorian.year - iEraStartYear + 1;
57
+ // Before 1941 new year started on 1st of April
58
+ if (oGregorian.year < 1941 && oGregorian.month < 3) {
59
+ iYear -= 1;
60
+ }
61
+ if (oGregorian.year === null) {
62
+ iYear = undefined;
63
+ }
64
+ return {
65
+ year: iYear,
66
+ month: oGregorian.month,
67
+ day: oGregorian.day
68
+ };
34
69
  }
70
+
71
+ /**
72
+ * Calculate gregorian year from Buddhist year and month
73
+ *
74
+ * @param {{year: int, month: int, day: int}} oBuddhist Buddhist date
75
+ * @return {{year: int, month: int, day: int}} the resulting Gregorian date
76
+ */
35
77
  function toGregorian(oBuddhist) {
36
- var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year, iYear = oBuddhist.year + iEraStartYear - 1;
37
- if (iYear < 1941 && oBuddhist.month < 3) {
38
- iYear += 1;
39
- }
40
- if (oBuddhist.year === null) {
41
- iYear = undefined;
42
- }
43
- return {
44
- year: iYear,
45
- month: oBuddhist.month,
46
- day: oBuddhist.day
47
- };
78
+ var iEraStartYear = UniversalDate.getEraStartDate(CalendarType.Buddhist, 0).year,
79
+ iYear = oBuddhist.year + iEraStartYear - 1;
80
+ // Before 1941 new year started on 1st of April
81
+ if (iYear < 1941 && oBuddhist.month < 3) {
82
+ iYear += 1;
83
+ }
84
+ if (oBuddhist.year === null) {
85
+ iYear = undefined;
86
+ }
87
+ return {
88
+ year: iYear,
89
+ month: oBuddhist.month,
90
+ day: oBuddhist.day
91
+ };
48
92
  }
93
+
94
+ /**
95
+ * Convert arguments array from Buddhist date to Gregorian data.
96
+ *
97
+ * @param {int[]} aArgs Array with year, month, day (optional) according to Buddhist calendar
98
+ * @returns {int[]} Array with year, month, day according to Gregorian calendar
99
+ */
49
100
  function toGregorianArguments(aArgs) {
50
- var oBuddhist, oGregorian;
51
- oBuddhist = {
52
- year: aArgs[0],
53
- month: aArgs[1],
54
- day: aArgs[2] !== undefined ? aArgs[2] : 1
55
- };
56
- oGregorian = toGregorian(oBuddhist);
57
- aArgs[0] = oGregorian.year;
58
- return aArgs;
101
+ var oBuddhist, oGregorian;
102
+ oBuddhist = {
103
+ year: aArgs[0],
104
+ month: aArgs[1],
105
+ day: aArgs[2] !== undefined ? aArgs[2] : 1
106
+ };
107
+ oGregorian = toGregorian(oBuddhist);
108
+ aArgs[0] = oGregorian.year;
109
+ return aArgs;
59
110
  }
111
+
112
+ /**
113
+ * Get the Buddhist year from this.oDate
114
+ *
115
+ * @return {object}
116
+ */
60
117
  Buddhist.prototype._getBuddhist = function () {
61
- var oGregorian = {
62
- year: this.oDate.getFullYear(),
63
- month: this.oDate.getMonth(),
64
- day: this.oDate.getDate()
65
- };
66
- return toBuddhist(oGregorian);
118
+ var oGregorian = {
119
+ year: this.oDate.getFullYear(),
120
+ month: this.oDate.getMonth(),
121
+ day: this.oDate.getDate()
122
+ };
123
+ return toBuddhist(oGregorian);
67
124
  };
125
+
126
+ /**
127
+ * Set the Buddhist year to this.oDate
128
+ */
68
129
  Buddhist.prototype._setBuddhist = function (oBuddhist) {
69
- var oGregorian = toGregorian(oBuddhist);
70
- return this.oDate.setFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
130
+ var oGregorian = toGregorian(oBuddhist);
131
+ return this.oDate.setFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
71
132
  };
133
+
134
+ /**
135
+ * Get the Buddhist year from this.oDate in UTC
136
+ *
137
+ * @return {object}
138
+ */
72
139
  Buddhist.prototype._getUTCBuddhist = function () {
73
- var oGregorian = {
74
- year: this.oDate.getUTCFullYear(),
75
- month: this.oDate.getUTCMonth(),
76
- day: this.oDate.getUTCDate()
77
- };
78
- return toBuddhist(oGregorian);
140
+ var oGregorian = {
141
+ year: this.oDate.getUTCFullYear(),
142
+ month: this.oDate.getUTCMonth(),
143
+ day: this.oDate.getUTCDate()
144
+ };
145
+ return toBuddhist(oGregorian);
79
146
  };
147
+
148
+ /**
149
+ * Set the Buddhist year to this.oDate in UTC
150
+ */
80
151
  Buddhist.prototype._setUTCBuddhist = function (oBuddhist) {
81
- var oGregorian = toGregorian(oBuddhist);
82
- return this.oDate.setUTCFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
152
+ var oGregorian = toGregorian(oBuddhist);
153
+ return this.oDate.setUTCFullYear(oGregorian.year, oGregorian.month, oGregorian.day);
83
154
  };
155
+
156
+ /*
157
+ * Override relevant getters/setters
158
+ */
84
159
  Buddhist.prototype.getYear = function () {
85
- return this._getBuddhist().year;
160
+ return this._getBuddhist().year;
86
161
  };
87
162
  Buddhist.prototype.getFullYear = function () {
88
- return this._getBuddhist().year;
163
+ return this._getBuddhist().year;
89
164
  };
90
165
  Buddhist.prototype.getUTCFullYear = function () {
91
- return this._getUTCBuddhist().year;
166
+ return this._getUTCBuddhist().year;
92
167
  };
93
168
  Buddhist.prototype.setYear = function (iYear) {
94
- var oBuddhist = this._getBuddhist();
95
- oBuddhist.year = iYear;
96
- return this._setBuddhist(oBuddhist);
169
+ var oBuddhist = this._getBuddhist();
170
+ oBuddhist.year = iYear;
171
+ return this._setBuddhist(oBuddhist);
97
172
  };
98
173
  Buddhist.prototype.setFullYear = function (iYear, iMonth, iDay) {
99
- var oBuddhist = this._getBuddhist();
100
- oBuddhist.year = iYear;
101
- if (iMonth !== undefined) {
102
- oBuddhist.month = iMonth;
103
- }
104
- if (iDay !== undefined) {
105
- oBuddhist.day = iDay;
106
- }
107
- return this._setBuddhist(oBuddhist);
174
+ var oBuddhist = this._getBuddhist();
175
+ oBuddhist.year = iYear;
176
+ if (iMonth !== undefined) {
177
+ oBuddhist.month = iMonth;
178
+ }
179
+ if (iDay !== undefined) {
180
+ oBuddhist.day = iDay;
181
+ }
182
+ return this._setBuddhist(oBuddhist);
108
183
  };
109
184
  Buddhist.prototype.setUTCFullYear = function (iYear, iMonth, iDay) {
110
- var oBuddhist = this._getUTCBuddhist();
111
- oBuddhist.year = iYear;
112
- if (iMonth !== undefined) {
113
- oBuddhist.month = iMonth;
114
- }
115
- if (iDay !== undefined) {
116
- oBuddhist.day = iDay;
117
- }
118
- return this._setUTCBuddhist(oBuddhist);
185
+ var oBuddhist = this._getUTCBuddhist();
186
+ oBuddhist.year = iYear;
187
+ if (iMonth !== undefined) {
188
+ oBuddhist.month = iMonth;
189
+ }
190
+ if (iDay !== undefined) {
191
+ oBuddhist.day = iDay;
192
+ }
193
+ return this._setUTCBuddhist(oBuddhist);
119
194
  };
120
195
  _Calendars.set(CalendarType.Buddhist, Buddhist);
121
196
  export default Buddhist;
@@ -1,36 +1,65 @@
1
- import CalendarWeekNumbering from './CalendarWeekNumbering.js';
2
- import Configuration from '../Configuration.js';
3
- import LocaleData from '../LocaleData.js';
4
- var mWeekNumberingConfiguration = {
5
- ISO_8601: {
6
- firstDayOfWeek: 1,
7
- minimalDaysInFirstWeek: 4
8
- },
9
- MiddleEastern: {
10
- firstDayOfWeek: 6,
11
- minimalDaysInFirstWeek: 1
12
- },
13
- WesternTraditional: {
14
- firstDayOfWeek: 0,
15
- minimalDaysInFirstWeek: 1
16
- }
17
- };
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides type sap.ui.core.date.CalendarUtils.
7
+ import CalendarWeekNumbering from "./CalendarWeekNumbering.js";
8
+ import Configuration from "../Configuration.js";
9
+ import LocaleData from "../LocaleData.js";
10
+ /**
11
+ * Provides calendar-related utilities.
12
+ *
13
+ * @namespace
14
+ * @alias module:sap/ui/core/date/CalendarUtils
15
+ * @public
16
+ * @since 1.108.0
17
+ */
18
18
  var CalendarUtils = {
19
- getWeekConfigurationValues: function (sCalendarWeekNumbering, oLocale) {
20
- var oLocaleData;
21
- if (mWeekNumberingConfiguration.hasOwnProperty(sCalendarWeekNumbering)) {
22
- return mWeekNumberingConfiguration[sCalendarWeekNumbering];
23
- }
24
- sCalendarWeekNumbering = sCalendarWeekNumbering || CalendarWeekNumbering.Default;
25
- if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
26
- oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
27
- oLocaleData = LocaleData.getInstance(oLocale);
28
- return {
29
- firstDayOfWeek: oLocaleData.getFirstDayOfWeek(),
30
- minimalDaysInFirstWeek: oLocaleData.getMinimalDaysInFirstWeek()
31
- };
32
- }
33
- return undefined;
19
+ /**
20
+ * Resolves calendar week configuration.
21
+ *
22
+ * Returns an object with the following fields:
23
+ * <ul>
24
+ * <li><code>firstDayOfWeek</code>: specifies the first day of the week starting with
25
+ * <code>0</code> (which is Sunday)</li>
26
+ * <li><code>minimalDaysInFirstWeek</code>: minimal days at the beginning of the year
27
+ * which define the first calendar week</li>
28
+ * </ul>
29
+ *
30
+ * @param {sap.ui.core.date.CalendarWeekNumbering} [sCalendarWeekNumbering]
31
+ * The calendar week numbering; if omitted, the calendar week numbering of the Configuration
32
+ * is used; see {@link sap.ui.core.Configuration#getCalendarWeekNumbering}. If this value is
33
+ * <code>Default</code> the returned calendar week configuration is derived from the given
34
+ * <code>oLocale</code>.
35
+ * @param {sap.ui.core.Locale} [oLocale]
36
+ * The locale to use; if not provided, this falls back to the format locale from the
37
+ * Configuration; see {@link sap.ui.core.Configuration.FormatSettings#getFormatLocale}.
38
+ * Is only used when <code>sCalendarWeekNumbering</code> is set to <code>Default</code>.
39
+ * @returns {{firstDayOfWeek: int, minimalDaysInFirstWeek: int}|undefined}
40
+ * The calendar week configuration, or <code>undefined<code> for an invalid value of
41
+ * <code>sap.ui.core.date.CalendarWeekNumbering</code>.
42
+ * @public
43
+ * @since 1.108.0
44
+ */
45
+ getWeekConfigurationValues: function (sCalendarWeekNumbering, oLocale) {
46
+ var oLocaleData, oWeekConfigurationValues;
47
+ if (!sCalendarWeekNumbering) {
48
+ return CalendarUtils.getWeekConfigurationValues(Configuration.getCalendarWeekNumbering(), oLocale);
49
+ }
50
+ oWeekConfigurationValues = CalendarWeekNumbering.getWeekConfigurationValues(sCalendarWeekNumbering);
51
+ if (oWeekConfigurationValues) {
52
+ return oWeekConfigurationValues;
53
+ }
54
+ if (sCalendarWeekNumbering === CalendarWeekNumbering.Default) {
55
+ oLocale = oLocale || Configuration.getFormatSettings().getFormatLocale();
56
+ oLocaleData = LocaleData.getInstance(oLocale);
57
+ return {
58
+ firstDayOfWeek: oLocaleData.getFirstDayOfWeek(),
59
+ minimalDaysInFirstWeek: oLocaleData.getMinimalDaysInFirstWeek()
60
+ };
34
61
  }
62
+ return undefined;
63
+ }
35
64
  };
36
65
  export default CalendarUtils;
@@ -1,7 +1,30 @@
1
- var CalendarWeekNumbering = {
2
- Default: "Default",
3
- ISO_8601: "ISO_8601",
4
- MiddleEastern: "MiddleEastern",
5
- WesternTraditional: "WesternTraditional"
6
- };
7
- export default CalendarWeekNumbering;
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides type sap.ui.core.date.CalendarWeekNumbering.
7
+ import DataType from "../../base/DataType.js";
8
+ import CalendarWeekNumbering from "../../../base/i18n/date/CalendarWeekNumbering.js";
9
+ /**
10
+ * The <code>CalendarWeekNumbering</code> enum defines how to calculate calendar weeks. Each
11
+ * value defines:
12
+ * <ul>
13
+ * <li>The first day of the week,</li>
14
+ * <li>the first week of the year.</li>
15
+ * </ul>
16
+ *
17
+ * @enum {string}
18
+ * @public
19
+ * @since 1.108.0
20
+ * @deprecated As of Version 1.120. Please use {@link module:sap/base/18n/date/CalendarWeekNumbering} instead.
21
+ * @name sap.ui.core.date.CalendarWeekNumbering
22
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.Default as Default
23
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.ISO_8601 as ISO_8601
24
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.MiddleEastern as MiddleEastern
25
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.WesternTraditional as WesternTraditional
26
+ * @borrows module:sap/base/i18n/date/CalendarWeekNumbering.getWeekConfigurationValues as getWeekConfigurationValues
27
+ */
28
+
29
+ DataType.registerEnum("sap.ui.core.date.CalendarWeekNumbering", CalendarWeekNumbering);
30
+ export default CalendarWeekNumbering;
@@ -1,17 +1,32 @@
1
- import UniversalDate from './UniversalDate.js';
2
- import CalendarType from '../CalendarType.js';
3
- import _Calendars from './_Calendars.js';
4
- var Gregorian = UniversalDate.extend('sap.ui.core.date.Gregorian', {
5
- constructor: function () {
6
- this.oDate = this.createDate(Date, arguments);
7
- this.sCalendarType = CalendarType.Gregorian;
8
- }
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ // Provides class sap.ui.core.date.Gregorian
7
+ import UniversalDate from "./UniversalDate.js";
8
+ import CalendarType from "../CalendarType.js";
9
+ import _Calendars from "./_Calendars.js";
10
+ /**
11
+ * The Gregorian date class
12
+ *
13
+ * @class
14
+ *
15
+ * @private
16
+ * @alias sap.ui.core.date.Gregorian
17
+ * @extends sap.ui.core.date.UniversalDate
18
+ */
19
+ var Gregorian = UniversalDate.extend("sap.ui.core.date.Gregorian", /** @lends sap.ui.core.date.Gregorian.prototype */{
20
+ constructor: function () {
21
+ this.oDate = this.createDate(Date, arguments);
22
+ this.sCalendarType = CalendarType.Gregorian;
23
+ }
9
24
  });
10
25
  Gregorian.UTC = function () {
11
- return Date.UTC.apply(Date, arguments);
26
+ return Date.UTC.apply(Date, arguments);
12
27
  };
13
28
  Gregorian.now = function () {
14
- return Date.now();
29
+ return Date.now();
15
30
  };
16
31
  _Calendars.set(CalendarType.Gregorian, Gregorian);
17
32
  export default Gregorian;