@ui5/webcomponents-localization 0.0.0-e818f286e → 0.0.0-ebd9a4db3

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 (247) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1613 -0
  4. package/README.md +3 -5
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/Assets-fetch.d.ts +1 -0
  7. package/dist/Assets-fetch.js +3 -0
  8. package/dist/Assets-fetch.js.map +1 -0
  9. package/dist/Assets.d.ts +1 -0
  10. package/dist/Assets.js +1 -0
  11. package/dist/Assets.js.map +1 -0
  12. package/dist/CalendarUtils.d.ts +3 -0
  13. package/dist/CalendarUtils.js +6 -0
  14. package/dist/CalendarUtils.js.map +1 -0
  15. package/dist/DateFormat.d.ts +5 -0
  16. package/dist/DateFormat.js +6 -2
  17. package/dist/DateFormat.js.map +1 -0
  18. package/dist/LocaleData.d.ts +5 -0
  19. package/dist/LocaleData.js +6 -2
  20. package/dist/LocaleData.js.map +1 -0
  21. package/dist/dates/CalendarDate.d.ts +42 -0
  22. package/dist/dates/CalendarDate.js +171 -207
  23. package/dist/dates/CalendarDate.js.map +1 -0
  24. package/dist/dates/ExtremeDates.d.ts +5 -0
  25. package/dist/dates/ExtremeDates.js +25 -35
  26. package/dist/dates/ExtremeDates.js.map +1 -0
  27. package/dist/dates/UI5Date.d.ts +5 -0
  28. package/dist/dates/UI5Date.js +7 -0
  29. package/dist/dates/UI5Date.js.map +1 -0
  30. package/dist/dates/UniversalDate.d.ts +47 -0
  31. package/dist/dates/UniversalDate.js +5 -0
  32. package/dist/dates/UniversalDate.js.map +1 -0
  33. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  34. package/dist/dates/convertMonthNumbersToMonthNames.js +15 -18
  35. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  36. package/dist/dates/getDaysInMonth.d.ts +3 -0
  37. package/dist/dates/getDaysInMonth.js +7 -8
  38. package/dist/dates/getDaysInMonth.js.map +1 -0
  39. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  40. package/dist/dates/getRoundedTimestamp.js +10 -9
  41. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  42. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  43. package/dist/dates/getTodayUTCTimestamp.js +3 -3
  44. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  45. package/dist/dates/modifyDateBy.d.ts +14 -0
  46. package/dist/dates/modifyDateBy.js +42 -29
  47. package/dist/dates/modifyDateBy.js.map +1 -0
  48. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  49. package/dist/dates/transformDateToSecondaryType.js +13 -15
  50. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  51. package/dist/features/calendar/Buddhist.js +1 -0
  52. package/dist/features/calendar/Buddhist.js.map +1 -0
  53. package/dist/features/calendar/Gregorian.js +1 -0
  54. package/dist/features/calendar/Gregorian.js.map +1 -0
  55. package/dist/features/calendar/Islamic.js +1 -0
  56. package/dist/features/calendar/Islamic.js.map +1 -0
  57. package/dist/features/calendar/Japanese.js +1 -0
  58. package/dist/features/calendar/Japanese.js.map +1 -0
  59. package/dist/features/calendar/Persian.js +1 -0
  60. package/dist/features/calendar/Persian.js.map +1 -0
  61. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  62. package/dist/generated/assets/cldr/ar.json +1690 -511
  63. package/dist/generated/assets/cldr/ar_EG.json +1690 -511
  64. package/dist/generated/assets/cldr/ar_SA.json +1785 -607
  65. package/dist/generated/assets/cldr/bg.json +1663 -663
  66. package/dist/generated/assets/cldr/ca.json +1635 -550
  67. package/dist/generated/assets/cldr/cnr.json +6169 -0
  68. package/dist/generated/assets/cldr/cs.json +1618 -409
  69. package/dist/generated/assets/cldr/cy.json +1686 -640
  70. package/dist/generated/assets/cldr/da.json +1579 -542
  71. package/dist/generated/assets/cldr/de.json +1504 -374
  72. package/dist/generated/assets/cldr/de_AT.json +1494 -364
  73. package/dist/generated/assets/cldr/de_CH.json +1513 -383
  74. package/dist/generated/assets/cldr/el.json +1220 -273
  75. package/dist/generated/assets/cldr/el_CY.json +1220 -273
  76. package/dist/generated/assets/cldr/en.json +1619 -548
  77. package/dist/generated/assets/cldr/en_AU.json +1756 -636
  78. package/dist/generated/assets/cldr/en_GB.json +1630 -528
  79. package/dist/generated/assets/cldr/en_HK.json +1713 -608
  80. package/dist/generated/assets/cldr/en_IE.json +1678 -576
  81. package/dist/generated/assets/cldr/en_IN.json +1661 -555
  82. package/dist/generated/assets/cldr/en_NZ.json +1697 -595
  83. package/dist/generated/assets/cldr/en_PG.json +1698 -596
  84. package/dist/generated/assets/cldr/en_SG.json +1687 -582
  85. package/dist/generated/assets/cldr/en_ZA.json +1675 -573
  86. package/dist/generated/assets/cldr/es.json +1893 -704
  87. package/dist/generated/assets/cldr/es_AR.json +1835 -645
  88. package/dist/generated/assets/cldr/es_BO.json +1880 -690
  89. package/dist/generated/assets/cldr/es_CL.json +1721 -639
  90. package/dist/generated/assets/cldr/es_CO.json +1637 -554
  91. package/dist/generated/assets/cldr/es_MX.json +2050 -860
  92. package/dist/generated/assets/cldr/es_PE.json +1565 -591
  93. package/dist/generated/assets/cldr/es_UY.json +1593 -619
  94. package/dist/generated/assets/cldr/es_VE.json +1611 -637
  95. package/dist/generated/assets/cldr/et.json +1426 -368
  96. package/dist/generated/assets/cldr/fa.json +1548 -483
  97. package/dist/generated/assets/cldr/fi.json +1528 -343
  98. package/dist/generated/assets/cldr/fr.json +1435 -419
  99. package/dist/generated/assets/cldr/fr_BE.json +1432 -416
  100. package/dist/generated/assets/cldr/fr_CA.json +1571 -555
  101. package/dist/generated/assets/cldr/fr_CH.json +1385 -369
  102. package/dist/generated/assets/cldr/fr_LU.json +1435 -419
  103. package/dist/generated/assets/cldr/he.json +1697 -536
  104. package/dist/generated/assets/cldr/hi.json +1221 -193
  105. package/dist/generated/assets/cldr/hr.json +1760 -485
  106. package/dist/generated/assets/cldr/hu.json +1390 -303
  107. package/dist/generated/assets/cldr/id.json +1640 -570
  108. package/dist/generated/assets/cldr/it.json +1489 -455
  109. package/dist/generated/assets/cldr/it_CH.json +1489 -455
  110. package/dist/generated/assets/cldr/ja.json +1143 -86
  111. package/dist/generated/assets/cldr/kk.json +1782 -570
  112. package/dist/generated/assets/cldr/ko.json +1192 -162
  113. package/dist/generated/assets/cldr/lt.json +1383 -288
  114. package/dist/generated/assets/cldr/lv.json +1369 -369
  115. package/dist/generated/assets/cldr/mk.json +6045 -0
  116. package/dist/generated/assets/cldr/ms.json +1598 -551
  117. package/dist/generated/assets/cldr/nb.json +1265 -209
  118. package/dist/generated/assets/cldr/nl.json +1741 -425
  119. package/dist/generated/assets/cldr/nl_BE.json +1741 -425
  120. package/dist/generated/assets/cldr/pl.json +1903 -492
  121. package/dist/generated/assets/cldr/pt.json +1913 -605
  122. package/dist/generated/assets/cldr/pt_PT.json +1871 -633
  123. package/dist/generated/assets/cldr/ro.json +1590 -482
  124. package/dist/generated/assets/cldr/ru.json +1608 -514
  125. package/dist/generated/assets/cldr/ru_UA.json +1602 -508
  126. package/dist/generated/assets/cldr/sk.json +1629 -569
  127. package/dist/generated/assets/cldr/sl.json +1532 -430
  128. package/dist/generated/assets/cldr/sr.json +1459 -346
  129. package/dist/generated/assets/cldr/sr_Latn.json +2088 -991
  130. package/dist/generated/assets/cldr/sv.json +1508 -445
  131. package/dist/generated/assets/cldr/th.json +1313 -237
  132. package/dist/generated/assets/cldr/tr.json +1549 -436
  133. package/dist/generated/assets/cldr/uk.json +1619 -520
  134. package/dist/generated/assets/cldr/vi.json +1423 -429
  135. package/dist/generated/assets/cldr/zh_CN.json +1425 -342
  136. package/dist/generated/assets/cldr/zh_HK.json +1396 -312
  137. package/dist/generated/assets/cldr/zh_SG.json +1401 -317
  138. package/dist/generated/assets/cldr/zh_TW.json +1256 -193
  139. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  140. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  141. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  142. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  143. package/dist/generated/json-imports/LocaleData.js +89 -89
  144. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  145. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  146. package/dist/getCachedLocaleDataInstance.js +6 -9
  147. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  148. package/dist/locale/getLocaleData.d.ts +11 -0
  149. package/dist/locale/getLocaleData.js +13 -17
  150. package/dist/locale/getLocaleData.js.map +1 -0
  151. package/dist/sap/base/Event.js +59 -0
  152. package/dist/sap/base/Eventing.js +146 -0
  153. package/dist/sap/base/Log.js +2 -240
  154. package/dist/sap/base/assert.js +31 -5
  155. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  156. package/dist/sap/base/config.js +17 -0
  157. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  158. package/dist/sap/base/i18n/Formatting.js +11 -0
  159. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  160. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  161. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  162. package/dist/sap/base/i18n/Localization.js +12 -0
  163. package/dist/sap/base/i18n/Localization.js.map +1 -0
  164. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  165. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  166. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  167. package/dist/sap/base/strings/camelize.js +30 -0
  168. package/dist/sap/base/strings/formatMessage.js +88 -15
  169. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  170. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  171. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  172. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  173. package/dist/sap/base/util/ObjectPath.js +4 -33
  174. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  175. package/dist/sap/base/util/Version.js +157 -0
  176. package/dist/sap/base/util/_merge.js +83 -26
  177. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  178. package/dist/sap/base/util/deepClone.js +102 -0
  179. package/dist/sap/base/util/deepEqual.js +75 -51
  180. package/dist/sap/base/util/extend.js +58 -7
  181. package/dist/sap/base/util/isEmptyObject.js +34 -0
  182. package/dist/sap/base/util/isPlainObject.js +35 -1
  183. package/dist/sap/base/util/now.js +24 -3
  184. package/dist/sap/base/util/resolveReference.js +3 -0
  185. package/dist/sap/base/util/uid.js +27 -0
  186. package/dist/sap/ui/base/DataType.js +657 -0
  187. package/dist/sap/ui/base/Interface.js +47 -1
  188. package/dist/sap/ui/base/Metadata.js +435 -171
  189. package/dist/sap/ui/base/Object.js +284 -48
  190. package/dist/sap/ui/core/CalendarType.js +24 -8
  191. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  192. package/dist/sap/ui/core/Configuration.js +23 -0
  193. package/dist/sap/ui/core/Configuration.js.map +1 -0
  194. package/dist/sap/ui/core/Core.d.ts +25 -0
  195. package/dist/sap/ui/core/Core.js +7 -34
  196. package/dist/sap/ui/core/Core.js.map +1 -0
  197. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  198. package/dist/sap/ui/core/FormatSettings.js +12 -0
  199. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  200. package/dist/sap/ui/core/Locale.js +190 -152
  201. package/dist/sap/ui/core/LocaleData.js +2665 -1228
  202. package/dist/sap/ui/core/Supportability.js +5 -0
  203. package/dist/sap/ui/core/Theming.js +539 -0
  204. package/dist/sap/ui/core/date/Buddhist.js +162 -93
  205. package/dist/sap/ui/core/date/CalendarUtils.js +65 -0
  206. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  207. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  208. package/dist/sap/ui/core/date/Islamic.js +298 -185
  209. package/dist/sap/ui/core/date/Japanese.js +212 -117
  210. package/dist/sap/ui/core/date/Persian.js +324 -195
  211. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  212. package/dist/sap/ui/core/date/UniversalDate.js +1251 -217
  213. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  214. package/dist/sap/ui/core/format/DateFormat.js +3139 -1965
  215. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -83
  216. package/package-scripts.cjs +28 -0
  217. package/package.json +14 -6
  218. package/tsconfig.json +24 -0
  219. package/used-modules.txt +27 -2
  220. package/dist/Assets-static.js +0 -2
  221. package/dist/dates/calculateWeekNumber.js +0 -51
  222. package/dist/generated/json-imports/LocaleData-static.js +0 -90
  223. package/dist/sap/ui/Device.js +0 -5
  224. package/package-scripts.js +0 -35
  225. package/src/Assets-static.js +0 -2
  226. package/src/Assets.js +0 -2
  227. package/src/DateFormat.js +0 -3
  228. package/src/LocaleData.js +0 -3
  229. package/src/dates/CalendarDate.js +0 -229
  230. package/src/dates/ExtremeDates.js +0 -39
  231. package/src/dates/calculateWeekNumber.js +0 -51
  232. package/src/dates/convertMonthNumbersToMonthNames.js +0 -33
  233. package/src/dates/getDaysInMonth.js +0 -11
  234. package/src/dates/getRoundedTimestamp.js +0 -14
  235. package/src/dates/getTodayUTCTimestamp.js +0 -9
  236. package/src/dates/modifyDateBy.js +0 -42
  237. package/src/dates/transformDateToSecondaryType.js +0 -20
  238. package/src/getCachedLocaleDataInstance.js +0 -13
  239. package/src/locale/getLocaleData.js +0 -27
  240. package/src/sap/base/util/LoaderExtensions.js +0 -17
  241. package/src/sap/ui/core/Core.js +0 -40
  242. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  243. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  244. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  245. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  246. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  247. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,146 @@
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 mixin sap/base/Eventing
7
+ import assert from "./assert.js";
8
+ import Event from "./Event.js";
9
+ /**
10
+ * Eventing
11
+ *
12
+ * @author SAP SE
13
+ * @version 1.120.17
14
+ *
15
+ * @since 1.120.0
16
+ * @private
17
+ * @ui5-restricted sap.ui.core sap/base/i18n
18
+ */
19
+ class Eventing {
20
+ #mEventRegistry = {};
21
+ /**
22
+ * Attaches an event handler to the event with the given identifier.
23
+ *
24
+ * @param {string}
25
+ * sType The type of the event to listen for
26
+ * @param {function}
27
+ * fnFunction The handler function to call when the event occurs. The event
28
+ * object ({@link module:sap/base/Event}) is provided as first argument of the handler. Handlers must not change
29
+ * the content of the event.
30
+ * @param {object}
31
+ * [oData] An object that will be passed to the handler along with the event object when the event is fired
32
+ * @since 1.120.0
33
+ * @private
34
+ * @ui5-restricted sap.ui.core sap/base/i18n
35
+ */
36
+ attachEvent(sType, fnFunction, oData) {
37
+ assert(typeof sType === "string" && sType, "Eventing.attachEvent: sType must be a non-empty string");
38
+ assert(typeof fnFunction === "function", "Eventing.attachEvent: fnFunction must be a function");
39
+ let aEventListeners = this.#mEventRegistry[sType];
40
+ if (!Array.isArray(aEventListeners)) {
41
+ aEventListeners = this.#mEventRegistry[sType] = [];
42
+ }
43
+ aEventListeners.push({
44
+ fnFunction: fnFunction,
45
+ oData: oData
46
+ });
47
+ }
48
+
49
+ /**
50
+ * Attaches an event handler, called one time only, to the event with the given identifier.
51
+ *
52
+ * When the event occurs, the handler function is called and the handler registration is automatically removed afterwards.
53
+ *
54
+ * @param {string}
55
+ * sType The type of the event to listen for
56
+ * @param {function}
57
+ * fnFunction The handler function to call when the event occurs. The event
58
+ * object ({@link module:sap/base/Event}) is provided as first argument of the handler. Handlers must not change
59
+ * the content of the event.
60
+ * @param {object}
61
+ * [oData] An object that will be passed to the handler along with the event object when the event is fired
62
+ * @since 1.120.0
63
+ * @private
64
+ * @ui5-restricted sap.ui.core sap/base/i18n
65
+ */
66
+ attachEventOnce(sType, fnFunction, oData) {
67
+ const fnOnce = oEvent => {
68
+ this.detachEvent(sType, fnOnce);
69
+ fnFunction.call(null, oEvent); // needs to do the same resolution as in fireEvent
70
+ };
71
+ fnOnce.oOriginal = {
72
+ fnFunction: fnFunction
73
+ };
74
+ this.attachEvent(sType, fnOnce, oData);
75
+ }
76
+
77
+ /**
78
+ * Removes a previously attached event handler from the event with the given identifier.
79
+ *
80
+ * The passed parameters must match those used for registration with {@link #attachEvent} beforehand.
81
+ *
82
+ * @param {string}
83
+ * sType The type of the event to detach from
84
+ * @param {function}
85
+ * fnFunction The handler function to detach from the event
86
+ * @since 1.120.0
87
+ * @private
88
+ * @ui5-restricted sap.ui.core sap/base/i18n
89
+ */
90
+ detachEvent(sType, fnFunction) {
91
+ assert(typeof sType === "string" && sType, "Eventing.detachEvent: sType must be a non-empty string");
92
+ assert(typeof fnFunction === "function", "Eventing.detachEvent: fnFunction must be a function");
93
+ const aEventListeners = this.#mEventRegistry[sType];
94
+ if (!Array.isArray(aEventListeners)) {
95
+ return;
96
+ }
97
+ let oFound;
98
+ for (let i = 0, iL = aEventListeners.length; i < iL; i++) {
99
+ if (aEventListeners[i].fnFunction === fnFunction) {
100
+ oFound = aEventListeners[i];
101
+ aEventListeners.splice(i, 1);
102
+ break;
103
+ }
104
+ }
105
+ // If no listener was found, look for original listeners of attachEventOnce
106
+ if (!oFound) {
107
+ for (let i = 0, iL = aEventListeners.length; i < iL; i++) {
108
+ const oOriginal = aEventListeners[i].fnFunction.oOriginal;
109
+ if (oOriginal && oOriginal.fnFunction === fnFunction) {
110
+ aEventListeners.splice(i, 1);
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ // If we just deleted the last registered EventHandler, remove the whole entry from our map.
116
+ if (aEventListeners.length == 0) {
117
+ delete this.#mEventRegistry[sType];
118
+ }
119
+ }
120
+
121
+ /**
122
+ * Fires an {@link module:sap/base/Event event} with the given settings and notifies all attached event handlers.
123
+ *
124
+ * @param {string}
125
+ * sType The type of the event to fire
126
+ * @param {object}
127
+ * [oParameters] Parameters which should be carried by the event
128
+ * @since 1.120.0
129
+ * @private
130
+ * @ui5-restricted sap.ui.core sap/base/i18n
131
+ */
132
+ fireEvent(sType, oParameters) {
133
+ let aEventListeners, oEvent, i, iL, oInfo;
134
+ aEventListeners = this.#mEventRegistry[sType];
135
+ if (Array.isArray(aEventListeners)) {
136
+ // avoid issues with 'concurrent modification' (e.g. if an event listener unregisters itself).
137
+ aEventListeners = aEventListeners.slice();
138
+ oEvent = new Event(sType, oParameters);
139
+ for (i = 0, iL = aEventListeners.length; i < iL; i++) {
140
+ oInfo = aEventListeners[i];
141
+ oInfo.fnFunction.call(null, oEvent);
142
+ }
143
+ }
144
+ }
145
+ }
146
+ export default Eventing;
@@ -1,241 +1,3 @@
1
- import now from './util/now.js';
2
- var Log = {};
3
- Log.Level = {
4
- NONE: -1,
5
- FATAL: 0,
6
- ERROR: 1,
7
- WARNING: 2,
8
- INFO: 3,
9
- DEBUG: 4,
10
- TRACE: 5,
11
- ALL: 5 + 1
12
- };
13
- var sDefaultComponent, aLog = [], mMaxLevel = { '': Log.Level.ERROR }, iLogEntriesLimit = 3000, oListener = null, bLogSupportInfo = false;
14
- function pad0(i, w) {
15
- return ('000' + String(i)).slice(-w);
16
- }
17
- function level(sComponent) {
18
- return !sComponent || isNaN(mMaxLevel[sComponent]) ? mMaxLevel[''] : mMaxLevel[sComponent];
19
- }
20
- function discardLogEntries() {
21
- var iLogLength = aLog.length;
22
- if (iLogLength) {
23
- var iEntriesToKeep = Math.min(iLogLength, Math.floor(iLogEntriesLimit * 0.7));
24
- if (oListener) {
25
- oListener.onDiscardLogEntries(aLog.slice(0, iLogLength - iEntriesToKeep));
26
- }
27
- if (iEntriesToKeep) {
28
- aLog = aLog.slice(-iEntriesToKeep, iLogLength);
29
- } else {
30
- aLog = [];
31
- }
32
- }
33
- }
34
- function getLogEntryListenerInstance() {
35
- if (!oListener) {
36
- oListener = {
37
- listeners: [],
38
- onLogEntry: function (oLogEntry) {
39
- for (var i = 0; i < oListener.listeners.length; i++) {
40
- if (oListener.listeners[i].onLogEntry) {
41
- oListener.listeners[i].onLogEntry(oLogEntry);
42
- }
43
- }
44
- },
45
- onDiscardLogEntries: function (aDiscardedLogEntries) {
46
- for (var i = 0; i < oListener.listeners.length; i++) {
47
- if (oListener.listeners[i].onDiscardLogEntries) {
48
- oListener.listeners[i].onDiscardLogEntries(aDiscardedLogEntries);
49
- }
50
- }
51
- },
52
- attach: function (oLog, oLstnr) {
53
- if (oLstnr) {
54
- oListener.listeners.push(oLstnr);
55
- if (oLstnr.onAttachToLog) {
56
- oLstnr.onAttachToLog(oLog);
57
- }
58
- }
59
- },
60
- detach: function (oLog, oLstnr) {
61
- for (var i = 0; i < oListener.listeners.length; i++) {
62
- if (oListener.listeners[i] === oLstnr) {
63
- if (oLstnr.onDetachFromLog) {
64
- oLstnr.onDetachFromLog(oLog);
65
- }
66
- oListener.listeners.splice(i, 1);
67
- return;
68
- }
69
- }
70
- }
71
- };
72
- }
73
- return oListener;
74
- }
75
- Log.fatal = function (sMessage, sDetails, sComponent, fnSupportInfo) {
76
- log(Log.Level.FATAL, sMessage, sDetails, sComponent, fnSupportInfo);
77
- };
78
- Log.error = function (sMessage, sDetails, sComponent, fnSupportInfo) {
79
- log(Log.Level.ERROR, sMessage, sDetails, sComponent, fnSupportInfo);
80
- };
81
- Log.warning = function (sMessage, sDetails, sComponent, fnSupportInfo) {
82
- log(Log.Level.WARNING, sMessage, sDetails, sComponent, fnSupportInfo);
83
- };
84
- Log.info = function (sMessage, sDetails, sComponent, fnSupportInfo) {
85
- log(Log.Level.INFO, sMessage, sDetails, sComponent, fnSupportInfo);
86
- };
87
- Log.debug = function (sMessage, sDetails, sComponent, fnSupportInfo) {
88
- log(Log.Level.DEBUG, sMessage, sDetails, sComponent, fnSupportInfo);
89
- };
90
- Log.trace = function (sMessage, sDetails, sComponent, fnSupportInfo) {
91
- log(Log.Level.TRACE, sMessage, sDetails, sComponent, fnSupportInfo);
92
- };
93
- Log.setLevel = function (iLogLevel, sComponent, _bDefault) {
94
- sComponent = sComponent || sDefaultComponent || '';
95
- if (!_bDefault || mMaxLevel[sComponent] == null) {
96
- mMaxLevel[sComponent] = iLogLevel;
97
- var sLogLevel;
98
- Object.keys(Log.Level).forEach(function (sLevel) {
99
- if (Log.Level[sLevel] === iLogLevel) {
100
- sLogLevel = sLevel;
101
- }
102
- });
103
- log(Log.Level.INFO, 'Changing log level ' + (sComponent ? 'for \'' + sComponent + '\' ' : '') + 'to ' + sLogLevel, '', 'sap.base.log');
104
- }
105
- };
106
- Log.getLevel = function (sComponent) {
107
- return level(sComponent || sDefaultComponent);
108
- };
109
- Log.isLoggable = function (iLevel, sComponent) {
110
- return (iLevel == null ? Log.Level.DEBUG : iLevel) <= level(sComponent || sDefaultComponent);
111
- };
112
- Log.logSupportInfo = function (bEnabled) {
113
- bLogSupportInfo = bEnabled;
114
- };
115
- function log(iLevel, sMessage, sDetails, sComponent, fnSupportInfo) {
116
- if (!fnSupportInfo && !sComponent && typeof sDetails === 'function') {
117
- fnSupportInfo = sDetails;
118
- sDetails = '';
119
- }
120
- if (!fnSupportInfo && typeof sComponent === 'function') {
121
- fnSupportInfo = sComponent;
122
- sComponent = '';
123
- }
124
- sComponent = sComponent || sDefaultComponent;
125
- if (iLevel <= level(sComponent)) {
126
- var fNow = now(), oNow = new Date(fNow), iMicroSeconds = Math.floor((fNow - Math.floor(fNow)) * 1000), oLogEntry = {
127
- time: pad0(oNow.getHours(), 2) + ':' + pad0(oNow.getMinutes(), 2) + ':' + pad0(oNow.getSeconds(), 2) + '.' + pad0(oNow.getMilliseconds(), 3) + pad0(iMicroSeconds, 3),
128
- date: pad0(oNow.getFullYear(), 4) + '-' + pad0(oNow.getMonth() + 1, 2) + '-' + pad0(oNow.getDate(), 2),
129
- timestamp: fNow,
130
- level: iLevel,
131
- message: String(sMessage || ''),
132
- details: String(sDetails || ''),
133
- component: String(sComponent || '')
134
- };
135
- if (bLogSupportInfo && typeof fnSupportInfo === 'function') {
136
- oLogEntry.supportInfo = fnSupportInfo();
137
- }
138
- if (iLogEntriesLimit) {
139
- if (aLog.length >= iLogEntriesLimit) {
140
- discardLogEntries();
141
- }
142
- aLog.push(oLogEntry);
143
- }
144
- if (oListener) {
145
- oListener.onLogEntry(oLogEntry);
146
- }
147
- if (console) {
148
- var isDetailsError = sDetails instanceof Error, logText = oLogEntry.date + ' ' + oLogEntry.time + ' ' + oLogEntry.message + ' - ' + oLogEntry.details + ' ' + oLogEntry.component;
149
- switch (iLevel) {
150
- case Log.Level.FATAL:
151
- case Log.Level.ERROR:
152
- isDetailsError ? console.error(logText, '\n', sDetails) : console.error(logText);
153
- break;
154
- case Log.Level.WARNING:
155
- isDetailsError ? console.warn(logText, '\n', sDetails) : console.warn(logText);
156
- break;
157
- case Log.Level.INFO:
158
- if (console.info) {
159
- isDetailsError ? console.info(logText, '\n', sDetails) : console.info(logText);
160
- } else {
161
- isDetailsError ? console.log(logText, '\n', sDetails) : console.log(logText);
162
- }
163
- break;
164
- case Log.Level.DEBUG:
165
- isDetailsError ? console.debug(logText, '\n', sDetails) : console.debug(logText);
166
- break;
167
- case Log.Level.TRACE:
168
- isDetailsError ? console.trace(logText, '\n', sDetails) : console.trace(logText);
169
- break;
170
- }
171
- if (console.info && oLogEntry.supportInfo) {
172
- console.info(oLogEntry.supportInfo);
173
- }
174
- }
175
- return oLogEntry;
176
- }
177
- }
178
- Log.getLogEntries = function () {
179
- return aLog.slice();
180
- };
181
- Log.getLogEntriesLimit = function () {
182
- return iLogEntriesLimit;
183
- };
184
- Log.setLogEntriesLimit = function (iLimit) {
185
- if (iLimit < 0) {
186
- throw new Error('The log entries limit needs to be greater than or equal to 0!');
187
- }
188
- iLogEntriesLimit = iLimit;
189
- if (aLog.length >= iLogEntriesLimit) {
190
- discardLogEntries();
191
- }
192
- };
193
- Log.addLogListener = function (oListener) {
194
- getLogEntryListenerInstance().attach(this, oListener);
195
- };
196
- Log.removeLogListener = function (oListener) {
197
- getLogEntryListenerInstance().detach(this, oListener);
198
- };
199
- function Logger(sComponent) {
200
- this.fatal = function (msg, detail, comp, support) {
201
- Log.fatal(msg, detail, comp || sComponent, support);
202
- return this;
203
- };
204
- this.error = function (msg, detail, comp, support) {
205
- Log.error(msg, detail, comp || sComponent, support);
206
- return this;
207
- };
208
- this.warning = function (msg, detail, comp, support) {
209
- Log.warning(msg, detail, comp || sComponent, support);
210
- return this;
211
- };
212
- this.info = function (msg, detail, comp, support) {
213
- Log.info(msg, detail, comp || sComponent, support);
214
- return this;
215
- };
216
- this.debug = function (msg, detail, comp, support) {
217
- Log.debug(msg, detail, comp || sComponent, support);
218
- return this;
219
- };
220
- this.trace = function (msg, detail, comp, support) {
221
- Log.trace(msg, detail, comp || sComponent, support);
222
- return this;
223
- };
224
- this.setLevel = function (level, comp) {
225
- Log.setLevel(level, comp || sComponent);
226
- return this;
227
- };
228
- this.getLevel = function (comp) {
229
- return Log.getLevel(comp || sComponent);
230
- };
231
- this.isLoggable = function (level, comp) {
232
- return Log.isLoggable(level, comp || sComponent);
233
- };
234
- }
235
- Log.getLogger = function (sComponent, iDefaultLogLevel) {
236
- if (!isNaN(iDefaultLogLevel) && mMaxLevel[sComponent] == null) {
237
- mMaxLevel[sComponent] = iDefaultLogLevel;
238
- }
239
- return new Logger(sComponent);
240
- };
1
+ const Log = console;
2
+ Log.warning = console.warn;
241
3
  export default Log;
@@ -1,8 +1,34 @@
1
- import Log from './Log.js';
1
+ // TODO-evo:assert on node throws an error if the assertion is violated
2
+
3
+ /**
4
+ * A simple assertion mechanism that logs a message when a given condition is not met.
5
+ *
6
+ * <b>Note:</b> Calls to this method might be removed when the JavaScript code
7
+ * is optimized during build. Therefore, callers should not rely on any side effects
8
+ * of this method.
9
+ *
10
+ * @function
11
+ * @since 1.58
12
+ * @alias module:sap/base/assert
13
+ * @param {boolean} bResult Result of the checked assertion
14
+ * @param {string|function():any} vMessage Message that will be logged when the result is <code>false</code>.
15
+ * In case this is a function, the return value of the function will be displayed. This can be used to execute
16
+ * complex code only if the assertion fails.
17
+ * @public
18
+ * @SecSink {1|SECRET} Could expose secret data in logs
19
+ *
20
+ */ /*!
21
+ * OpenUI5
22
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
23
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
24
+ */
25
+
2
26
  var fnAssert = function (bResult, vMessage) {
3
- if (!bResult) {
4
- var sMessage = typeof vMessage === 'function' ? vMessage() : vMessage;
5
- console.assert(bResult, sMessage);
6
- }
27
+ if (!bResult) {
28
+ var sMessage = typeof vMessage === "function" ? vMessage() : vMessage;
29
+ /*eslint-disable no-console */
30
+ console.assert(bResult, sMessage);
31
+ /*eslint-enable no-console */
32
+ }
7
33
  };
8
34
  export default fnAssert;
@@ -0,0 +1,20 @@
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
+ import uid from "../util/uid.js";
7
+ var MemoryConfigurationProvider = function () {
8
+ this.oConfig = Object.create(null);
9
+ this.id = uid();
10
+ };
11
+ MemoryConfigurationProvider.prototype.getId = function () {
12
+ return this.id;
13
+ };
14
+ MemoryConfigurationProvider.prototype.get = function (sName) {
15
+ return this.oConfig[sName];
16
+ };
17
+ MemoryConfigurationProvider.prototype.set = function (sName, vValue) {
18
+ this.oConfig[sName] = vValue;
19
+ };
20
+ export default MemoryConfigurationProvider;
@@ -0,0 +1,17 @@
1
+ // called from sapui5, but not supported by us
2
+ const legacyFormats = ["sapUiLegacyTimeFormat", "sapUiABAPTimeFormat", "sapUiLegacyDateFormat", "sapUiABAPDateFormat", "sapUiLegacyNumberFormat", "sapUiABAPNumberFormat"];
3
+ export default {
4
+ getWritableInstance() {
5
+ return {
6
+ get({
7
+ name
8
+ }) {
9
+ if (legacyFormats.includes(name)) {
10
+ return undefined;
11
+ }
12
+ throw new Error("Localization :: missing configuration requested.");
13
+ }
14
+ };
15
+ },
16
+ Type: {}
17
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * OpenUI5 Formatting Shim
3
+ */
4
+ declare const Formatting: {
5
+ getABAPDateFormat: () => void;
6
+ getCustomIslamicCalendarData: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats.js").default.getLegacyDateCalendarCustomizing;
7
+ };
8
+ export default Formatting;
@@ -0,0 +1,11 @@
1
+ import { getLegacyDateCalendarCustomizing } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
2
+ const emptyFn = () => { };
3
+ /**
4
+ * OpenUI5 Formatting Shim
5
+ */
6
+ const Formatting = {
7
+ getABAPDateFormat: emptyFn,
8
+ getCustomIslamicCalendarData: getLegacyDateCalendarCustomizing,
9
+ };
10
+ export default Formatting;
11
+ //# sourceMappingURL=Formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Formatting.js","sourceRoot":"","sources":["../../../../src/sap/base/i18n/Formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AAEzG,MAAM,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,UAAU,GAAG;IAClB,iBAAiB,EAAE,OAAO;IAC1B,4BAA4B,EAAE,gCAAgC;CAC9D,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["import { getLegacyDateCalendarCustomizing } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\n\nconst emptyFn = () => {};\n\n/**\n * OpenUI5 Formatting Shim\n */\nconst Formatting = {\n\tgetABAPDateFormat: emptyFn,\n\tgetCustomIslamicCalendarData: getLegacyDateCalendarCustomizing,\n};\n\nexport default Formatting;\n"]}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * A regular expression that describes language tags according to BCP-47.
3
+ * @see BCP47 "Tags for Identifying Languages" (http://www.ietf.org/rfc/bcp/bcp47.txt)
4
+ *
5
+ * The matching groups are
6
+ * 0=all
7
+ * 1=language (shortest ISO639 code + ext. language sub tags | 4digits (reserved) | registered language sub tags)
8
+ * 2=script (4 letters)
9
+ * 3=region (2 letter language or 3 digits)
10
+ * 4=variants (separated by '-', Note: capturing group contains leading '-' to shorten the regex!)
11
+ * 5=extensions (including leading singleton, multiple extensions separated by '-'.Note: capturing group contains leading '-' to shorten the regex!)
12
+ * 6=private use section (including leading 'x', multiple sections separated by '-')
13
+ *
14
+ * [-------------------- language ----------------------][--- script ---][------- region --------][------------- variants --------------][----------- extensions ------------][------ private use -------]
15
+ */ /*!
16
+ * OpenUI5
17
+ * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
18
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
19
+ */
20
+
21
+ //Provides the LanguageTag object module:sap/base/i18n/LanguageTag
22
+
23
+ var rLanguageTag = /^((?:[A-Z]{2,3}(?:-[A-Z]{3}){0,3})|[A-Z]{4}|[A-Z]{5,8})(?:-([A-Z]{4}))?(?:-([A-Z]{2}|[0-9]{3}))?((?:-[0-9A-Z]{5,8}|-[0-9][0-9A-Z]{3})*)((?:-[0-9A-WYZ](?:-[0-9A-Z]{2,8})+)*)(?:-(X(?:-[0-9A-Z]{1,8})+))?$/i;
24
+
25
+ /**
26
+ * Creates an LanguageTag instance.
27
+ * LanguageTag represents a BCP-47 language tag, consisting of a language, script, region, variants, extensions and private use section.
28
+ *
29
+ * @class
30
+ *
31
+ * @param {string} sLanguageTag the language tag identifier, in format en-US or en_US.
32
+ *
33
+ * @author SAP SE
34
+ * @version 1.120.17
35
+ * @public
36
+ * @alias module:sap/base/i18n/LanguageTag
37
+ */
38
+ class LanguageTag {
39
+ /**
40
+ * Get the language.
41
+ *
42
+ * Note that the case might differ from the original script tag
43
+ * (Lower case is enforced as recommended by BCP47/ISO639).
44
+ *
45
+ * @type {string}
46
+ * @public
47
+ */
48
+ language;
49
+
50
+ /**
51
+ * Get the script or <code>null</code> if none was specified.
52
+ *
53
+ * Note that the case might differ from the original language tag
54
+ * (Upper case first letter and lower case reminder enforced as
55
+ * recommended by BCP47/ISO15924)
56
+ *
57
+ * @type {string|null}
58
+ * @public
59
+ */
60
+ script;
61
+
62
+ /**
63
+ * Get the region or <code>null</code> if none was specified.
64
+ *
65
+ * Note that the case might differ from the original script tag
66
+ * (Upper case is enforced as recommended by BCP47/ISO3166-1).
67
+ *
68
+ * @type {string}
69
+ * @public
70
+ */
71
+ region;
72
+
73
+ /**
74
+ * Get the variants as a single string or <code>null</code>.
75
+ *
76
+ * Multiple variants are separated by a dash '-'.
77
+ *
78
+ * @type {string|null}
79
+ * @public
80
+ */
81
+ variant;
82
+
83
+ /**
84
+ * Get the variants as an array of individual variants.
85
+ *
86
+ * The separating dashes are not part of the result.
87
+ * If there is no variant section in the language tag, an empty array is returned.
88
+ *
89
+ * @type {string[]}
90
+ * @public
91
+ */
92
+ variantSubtags;
93
+
94
+ /**
95
+ * Get the extension as a single string or <code>null</code>.
96
+ *
97
+ * The extension always consists of a singleton character (not 'x'),
98
+ * a dash '-' and one or more extension token, each separated
99
+ * again with a dash.
100
+ *
101
+ * @type {string|null}
102
+ * @public
103
+ */
104
+ extension;
105
+
106
+ /**
107
+ * Get the extensions as an array of tokens.
108
+ *
109
+ * The leading singleton and the separating dashes are not part of the result.
110
+ * If there is no extensions section in the language tag, an empty array is returned.
111
+ *
112
+ * @type {string[]}
113
+ * @public
114
+ */
115
+ extensionSubtags;
116
+
117
+ /**
118
+ * Get the private use section or <code>null</code>.
119
+ *
120
+ * @type {string}
121
+ */
122
+ privateUse;
123
+
124
+ /**
125
+ * Get the private use section as an array of tokens.
126
+ *
127
+ * The leading singleton and the separating dashes are not part of the result.
128
+ * If there is no private use section in the language tag, an empty array is returned.
129
+ *
130
+ * @type {string[]}
131
+ */
132
+ privateUseSubtags;
133
+ constructor(sLanguageTag) {
134
+ var aResult = rLanguageTag.exec(sLanguageTag.replace(/_/g, "-"));
135
+ // If the given language tag string cannot be parsed by the regular expression above,
136
+ // we should at least tell the developer why the Core fails to load.
137
+ if (aResult === null) {
138
+ throw new TypeError("The given language tag'" + sLanguageTag + "' does not adhere to BCP-47.");
139
+ }
140
+ this.language = aResult[1] || null;
141
+ this.script = aResult[2] || null;
142
+ this.region = aResult[3] || null;
143
+ this.variant = aResult[4] && aResult[4].slice(1) || null; // remove leading dash from capturing group
144
+ this.variantSubtags = this.variant ? this.variant.split('-') : [];
145
+ this.extension = aResult[5] && aResult[5].slice(1) || null; // remove leading dash from capturing group
146
+ this.extensionSubtags = this.variant ? this.variant.split('-') : [];
147
+ this.privateUse = aResult[6] || null;
148
+ this.privateUseSubtags = this.privateUse ? this.privateUse.slice(2).split('-') : [];
149
+ // convert subtags according to the BCP47 recommendations
150
+ // - language: all lower case
151
+ // - script: lower case with the first letter capitalized
152
+ // - region: all upper case
153
+ if (this.language) {
154
+ this.language = this.language.toLowerCase();
155
+ }
156
+ if (this.script) {
157
+ this.script = this.script.toLowerCase().replace(/^[a-z]/, function ($) {
158
+ return $.toUpperCase();
159
+ });
160
+ }
161
+ if (this.region) {
162
+ this.region = this.region.toUpperCase();
163
+ }
164
+ Object.freeze(this);
165
+ }
166
+ toString() {
167
+ return this.#join(this.language, this.script, this.region, this.variant, this.extension, this.privateUse);
168
+ }
169
+ #join() {
170
+ return Array.prototype.filter.call(arguments, Boolean).join("-");
171
+ }
172
+ }
173
+ export default LanguageTag;
@@ -0,0 +1,4 @@
1
+ declare const Localization: {
2
+ getModernLanguage: (sLanguage: string) => string;
3
+ };
4
+ export default Localization;
@@ -0,0 +1,12 @@
1
+ const M_ISO639_OLD_TO_NEW = {
2
+ "iw": "he",
3
+ "ji": "yi",
4
+ };
5
+ const getModernLanguage = (sLanguage) => {
6
+ return M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
7
+ };
8
+ const Localization = {
9
+ getModernLanguage,
10
+ };
11
+ export default Localization;
12
+ //# sourceMappingURL=Localization.js.map