@ui5/webcomponents-localization 0.0.0-c6d8872f3 → 0.0.0-c8721b8d2

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 (282) hide show
  1. package/.eslintignore +2 -0
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +831 -0
  4. package/README.md +37 -6
  5. package/dist/.tsbuildinfo +1 -0
  6. package/dist/Assets-static.d.ts +1 -0
  7. package/dist/Assets-static.js +3 -0
  8. package/dist/Assets-static.js.map +1 -0
  9. package/dist/Assets.d.ts +1 -0
  10. package/dist/Assets.js +2 -1
  11. package/dist/Assets.js.map +1 -0
  12. package/dist/DateFormat.d.ts +6 -0
  13. package/dist/DateFormat.js +6 -2
  14. package/dist/DateFormat.js.map +1 -0
  15. package/dist/LocaleData.d.ts +6 -0
  16. package/dist/LocaleData.js +6 -2
  17. package/dist/LocaleData.js.map +1 -0
  18. package/dist/dates/CalendarDate.d.ts +43 -0
  19. package/dist/dates/CalendarDate.js +171 -181
  20. package/dist/dates/CalendarDate.js.map +1 -0
  21. package/dist/dates/ExtremeDates.d.ts +5 -0
  22. package/dist/dates/ExtremeDates.js +29 -0
  23. package/dist/dates/ExtremeDates.js.map +1 -0
  24. package/dist/dates/UI5Date.d.ts +6 -0
  25. package/dist/dates/UI5Date.js +7 -0
  26. package/dist/dates/UI5Date.js.map +1 -0
  27. package/dist/dates/UniversalDate.d.ts +47 -0
  28. package/dist/dates/UniversalDate.js +5 -0
  29. package/dist/dates/UniversalDate.js.map +1 -0
  30. package/dist/dates/calculateWeekNumber.d.ts +5 -0
  31. package/dist/dates/calculateWeekNumber.js +42 -48
  32. package/dist/dates/calculateWeekNumber.js.map +1 -0
  33. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  34. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  35. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  36. package/dist/dates/getDaysInMonth.d.ts +3 -0
  37. package/dist/dates/getDaysInMonth.js +10 -0
  38. package/dist/dates/getDaysInMonth.js.map +1 -0
  39. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  40. package/dist/dates/getRoundedTimestamp.js +15 -0
  41. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  42. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  43. package/dist/dates/getTodayUTCTimestamp.js +9 -0
  44. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  45. package/dist/dates/modifyDateBy.d.ts +14 -0
  46. package/dist/dates/modifyDateBy.js +55 -0
  47. package/dist/dates/modifyDateBy.js.map +1 -0
  48. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  49. package/dist/dates/transformDateToSecondaryType.js +18 -0
  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/ar.json +5531 -5904
  62. package/dist/generated/assets/cldr/ar_EG.json +5531 -5904
  63. package/dist/generated/assets/cldr/ar_SA.json +5530 -5904
  64. package/dist/generated/assets/cldr/bg.json +4452 -4977
  65. package/dist/generated/assets/cldr/ca.json +4440 -4994
  66. package/dist/generated/assets/cldr/cs.json +4960 -5496
  67. package/dist/generated/assets/cldr/cy.json +5213 -0
  68. package/dist/generated/assets/cldr/da.json +4308 -4886
  69. package/dist/generated/assets/cldr/de.json +4313 -4914
  70. package/dist/generated/assets/cldr/de_AT.json +4314 -4915
  71. package/dist/generated/assets/cldr/de_CH.json +4312 -4913
  72. package/dist/generated/assets/cldr/el.json +4281 -4881
  73. package/dist/generated/assets/cldr/el_CY.json +4281 -4881
  74. package/dist/generated/assets/cldr/en.json +4316 -4968
  75. package/dist/generated/assets/cldr/en_AU.json +4319 -4960
  76. package/dist/generated/assets/cldr/en_GB.json +4329 -4969
  77. package/dist/generated/assets/cldr/en_HK.json +4337 -4975
  78. package/dist/generated/assets/cldr/en_IE.json +4328 -4969
  79. package/dist/generated/assets/cldr/en_IN.json +4333 -4970
  80. package/dist/generated/assets/cldr/en_NZ.json +4328 -4969
  81. package/dist/generated/assets/cldr/en_PG.json +4329 -4970
  82. package/dist/generated/assets/cldr/en_SG.json +4333 -4971
  83. package/dist/generated/assets/cldr/en_ZA.json +4329 -4970
  84. package/dist/generated/assets/cldr/es.json +4331 -4910
  85. package/dist/generated/assets/cldr/es_AR.json +4334 -4912
  86. package/dist/generated/assets/cldr/es_BO.json +4333 -4911
  87. package/dist/generated/assets/cldr/es_CL.json +4334 -4912
  88. package/dist/generated/assets/cldr/es_CO.json +4333 -4911
  89. package/dist/generated/assets/cldr/es_MX.json +4335 -4913
  90. package/dist/generated/assets/cldr/es_PE.json +4333 -4911
  91. package/dist/generated/assets/cldr/es_UY.json +4335 -4913
  92. package/dist/generated/assets/cldr/es_VE.json +4334 -4912
  93. package/dist/generated/assets/cldr/et.json +4340 -4965
  94. package/dist/generated/assets/cldr/fa.json +4367 -4881
  95. package/dist/generated/assets/cldr/fi.json +4463 -5006
  96. package/dist/generated/assets/cldr/fr.json +4357 -4977
  97. package/dist/generated/assets/cldr/fr_BE.json +4357 -4977
  98. package/dist/generated/assets/cldr/fr_CA.json +4351 -4971
  99. package/dist/generated/assets/cldr/fr_CH.json +4375 -4995
  100. package/dist/generated/assets/cldr/fr_LU.json +4357 -4977
  101. package/dist/generated/assets/cldr/he.json +4869 -5376
  102. package/dist/generated/assets/cldr/hi.json +4295 -4827
  103. package/dist/generated/assets/cldr/hr.json +4583 -4917
  104. package/dist/generated/assets/cldr/hu.json +4364 -4854
  105. package/dist/generated/assets/cldr/id.json +4060 -4656
  106. package/dist/generated/assets/cldr/it.json +4299 -4948
  107. package/dist/generated/assets/cldr/it_CH.json +4299 -4948
  108. package/dist/generated/assets/cldr/ja.json +4211 -4828
  109. package/dist/generated/assets/cldr/kk.json +4339 -4723
  110. package/dist/generated/assets/cldr/ko.json +4189 -4736
  111. package/dist/generated/assets/cldr/lt.json +4850 -5479
  112. package/dist/generated/assets/cldr/lv.json +4587 -5110
  113. package/dist/generated/assets/cldr/ms.json +4021 -4513
  114. package/dist/generated/assets/cldr/nb.json +4335 -4975
  115. package/dist/generated/assets/cldr/nl.json +4294 -4882
  116. package/dist/generated/assets/cldr/nl_BE.json +4294 -4882
  117. package/dist/generated/assets/cldr/pl.json +4667 -5174
  118. package/dist/generated/assets/cldr/pt.json +4235 -4803
  119. package/dist/generated/assets/cldr/pt_PT.json +4372 -4938
  120. package/dist/generated/assets/cldr/ro.json +4563 -5088
  121. package/dist/generated/assets/cldr/ru.json +4909 -5405
  122. package/dist/generated/assets/cldr/ru_UA.json +4909 -5405
  123. package/dist/generated/assets/cldr/sk.json +4939 -5368
  124. package/dist/generated/assets/cldr/sl.json +4910 -5338
  125. package/dist/generated/assets/cldr/sr.json +4585 -5124
  126. package/dist/generated/assets/cldr/sr_Latn.json +4576 -0
  127. package/dist/generated/assets/cldr/sv.json +4362 -5009
  128. package/dist/generated/assets/cldr/th.json +4214 -4795
  129. package/dist/generated/assets/cldr/tr.json +4400 -4977
  130. package/dist/generated/assets/cldr/uk.json +4858 -5351
  131. package/dist/generated/assets/cldr/vi.json +4070 -4671
  132. package/dist/generated/assets/cldr/zh_CN.json +4100 -4630
  133. package/dist/generated/assets/cldr/zh_HK.json +4108 -4638
  134. package/dist/generated/assets/cldr/zh_SG.json +4108 -4638
  135. package/dist/generated/assets/cldr/zh_TW.json +4131 -4726
  136. package/dist/generated/json-imports/LocaleData-static.d.ts +1 -0
  137. package/dist/generated/json-imports/LocaleData-static.js +88 -0
  138. package/dist/generated/json-imports/LocaleData-static.js.map +1 -0
  139. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  140. package/dist/generated/json-imports/LocaleData.js +91 -0
  141. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  142. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  143. package/dist/getCachedLocaleDataInstance.js +10 -0
  144. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  145. package/dist/locale/getLocaleData.d.ts +11 -0
  146. package/dist/locale/getLocaleData.js +13 -17
  147. package/dist/locale/getLocaleData.js.map +1 -0
  148. package/dist/sap/base/Log.js +28 -37
  149. package/dist/sap/base/assert.js +5 -10
  150. package/dist/sap/base/i18n/LanguageTag.js +35 -0
  151. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  152. package/dist/sap/base/i18n/Localization.js +12 -0
  153. package/dist/sap/base/i18n/Localization.js.map +1 -0
  154. package/dist/sap/base/i18n/date/CalendarType.js +8 -0
  155. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +30 -0
  156. package/dist/sap/base/i18n/date/TimezoneUtils.js +89 -0
  157. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  158. package/dist/sap/base/util/LoaderExtensions.js +11 -4
  159. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  160. package/dist/sap/base/util/ObjectPath.js +1 -1
  161. package/dist/sap/base/util/array/uniqueSort.js +7 -7
  162. package/dist/sap/base/util/deepEqual.js +1 -5
  163. package/dist/sap/ui/base/Interface.js +3 -5
  164. package/dist/sap/ui/base/Metadata.js +21 -12
  165. package/dist/sap/ui/base/Object.js +26 -2
  166. package/dist/sap/ui/core/CalendarType.js +2 -8
  167. package/dist/sap/ui/core/Configuration.d.ts +18 -0
  168. package/dist/sap/ui/core/Configuration.js +23 -0
  169. package/dist/sap/ui/core/Configuration.js.map +1 -0
  170. package/dist/sap/ui/core/Core.d.ts +27 -0
  171. package/dist/sap/ui/core/Core.js +7 -32
  172. package/dist/sap/ui/core/Core.js.map +1 -0
  173. package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
  174. package/dist/sap/ui/core/FormatSettings.js +14 -0
  175. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  176. package/dist/sap/ui/core/Locale.js +28 -86
  177. package/dist/sap/ui/core/LocaleData.js +237 -1538
  178. package/dist/sap/ui/core/date/Buddhist.js +0 -6
  179. package/dist/sap/ui/core/date/CalendarUtils.js +25 -0
  180. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -0
  181. package/dist/sap/ui/core/date/Islamic.js +3 -3
  182. package/dist/sap/ui/core/date/Japanese.js +4 -4
  183. package/dist/sap/ui/core/date/UI5Date.js +305 -0
  184. package/dist/sap/ui/core/date/UniversalDate.js +74 -25
  185. package/dist/sap/ui/core/format/DateFormat.js +881 -517
  186. package/dist/sap/ui/core/format/TimezoneUtil.js +2 -0
  187. package/package-scripts.cjs +32 -0
  188. package/package.json +16 -13
  189. package/src/generated/assets/cldr/ar.json +5533 -0
  190. package/src/generated/assets/cldr/ar_EG.json +5533 -0
  191. package/src/generated/assets/cldr/ar_SA.json +5532 -0
  192. package/src/generated/assets/cldr/bg.json +4454 -0
  193. package/src/generated/assets/cldr/ca.json +4442 -0
  194. package/src/generated/assets/cldr/cs.json +4962 -0
  195. package/src/generated/assets/cldr/cy.json +5213 -0
  196. package/src/generated/assets/cldr/da.json +4310 -0
  197. package/src/generated/assets/cldr/de.json +4315 -0
  198. package/src/generated/assets/cldr/de_AT.json +4316 -0
  199. package/src/generated/assets/cldr/de_CH.json +4314 -0
  200. package/src/generated/assets/cldr/el.json +4283 -0
  201. package/src/generated/assets/cldr/el_CY.json +4283 -0
  202. package/src/generated/assets/cldr/en.json +4318 -0
  203. package/src/generated/assets/cldr/en_AU.json +4321 -0
  204. package/src/generated/assets/cldr/en_GB.json +4331 -0
  205. package/src/generated/assets/cldr/en_HK.json +4339 -0
  206. package/src/generated/assets/cldr/en_IE.json +4330 -0
  207. package/src/generated/assets/cldr/en_IN.json +4335 -0
  208. package/src/generated/assets/cldr/en_NZ.json +4330 -0
  209. package/src/generated/assets/cldr/en_PG.json +4331 -0
  210. package/src/generated/assets/cldr/en_SG.json +4335 -0
  211. package/src/generated/assets/cldr/en_ZA.json +4331 -0
  212. package/src/generated/assets/cldr/es.json +4333 -0
  213. package/src/generated/assets/cldr/es_AR.json +4336 -0
  214. package/src/generated/assets/cldr/es_BO.json +4335 -0
  215. package/src/generated/assets/cldr/es_CL.json +4336 -0
  216. package/src/generated/assets/cldr/es_CO.json +4335 -0
  217. package/src/generated/assets/cldr/es_MX.json +4337 -0
  218. package/src/generated/assets/cldr/es_PE.json +4335 -0
  219. package/src/generated/assets/cldr/es_UY.json +4337 -0
  220. package/src/generated/assets/cldr/es_VE.json +4336 -0
  221. package/src/generated/assets/cldr/et.json +4342 -0
  222. package/src/generated/assets/cldr/fa.json +4369 -0
  223. package/src/generated/assets/cldr/fi.json +4465 -0
  224. package/src/generated/assets/cldr/fr.json +4359 -0
  225. package/src/generated/assets/cldr/fr_BE.json +4359 -0
  226. package/src/generated/assets/cldr/fr_CA.json +4353 -0
  227. package/src/generated/assets/cldr/fr_CH.json +4377 -0
  228. package/src/generated/assets/cldr/fr_LU.json +4359 -0
  229. package/src/generated/assets/cldr/he.json +4871 -0
  230. package/src/generated/assets/cldr/hi.json +4297 -0
  231. package/src/generated/assets/cldr/hr.json +4585 -0
  232. package/src/generated/assets/cldr/hu.json +4366 -0
  233. package/src/generated/assets/cldr/id.json +4062 -0
  234. package/src/generated/assets/cldr/it.json +4301 -0
  235. package/src/generated/assets/cldr/it_CH.json +4301 -0
  236. package/src/generated/assets/cldr/ja.json +4213 -0
  237. package/src/generated/assets/cldr/kk.json +4341 -0
  238. package/src/generated/assets/cldr/ko.json +4191 -0
  239. package/src/generated/assets/cldr/lt.json +4852 -0
  240. package/src/generated/assets/cldr/lv.json +4589 -0
  241. package/src/generated/assets/cldr/ms.json +4023 -0
  242. package/src/generated/assets/cldr/nb.json +4337 -0
  243. package/src/generated/assets/cldr/nl.json +4296 -0
  244. package/src/generated/assets/cldr/nl_BE.json +4296 -0
  245. package/src/generated/assets/cldr/pl.json +4669 -0
  246. package/src/generated/assets/cldr/pt.json +4237 -0
  247. package/src/generated/assets/cldr/pt_PT.json +4374 -0
  248. package/src/generated/assets/cldr/ro.json +4565 -0
  249. package/src/generated/assets/cldr/ru.json +4911 -0
  250. package/src/generated/assets/cldr/ru_UA.json +4911 -0
  251. package/src/generated/assets/cldr/sk.json +4941 -0
  252. package/src/generated/assets/cldr/sl.json +4912 -0
  253. package/src/generated/assets/cldr/sr.json +4587 -0
  254. package/src/generated/assets/cldr/sr_Latn.json +4576 -0
  255. package/src/generated/assets/cldr/sv.json +4364 -0
  256. package/src/generated/assets/cldr/th.json +4216 -0
  257. package/src/generated/assets/cldr/tr.json +4402 -0
  258. package/src/generated/assets/cldr/uk.json +4860 -0
  259. package/src/generated/assets/cldr/vi.json +4072 -0
  260. package/src/generated/assets/cldr/zh_CN.json +4102 -0
  261. package/src/generated/assets/cldr/zh_HK.json +4110 -0
  262. package/src/generated/assets/cldr/zh_SG.json +4110 -0
  263. package/src/generated/assets/cldr/zh_TW.json +4133 -0
  264. package/tsconfig.json +23 -0
  265. package/used-modules.txt +15 -7
  266. package/dist/json-imports/LocaleData.js +0 -171
  267. package/package-scripts.js +0 -30
  268. package/src/Assets.js +0 -2
  269. package/src/DateFormat.js +0 -3
  270. package/src/LocaleData.js +0 -3
  271. package/src/dates/CalendarDate.js +0 -203
  272. package/src/dates/calculateWeekNumber.js +0 -51
  273. package/src/json-imports/LocaleData.js +0 -171
  274. package/src/locale/getLocaleData.js +0 -27
  275. package/src/sap/base/util/LoaderExtensions.js +0 -7
  276. package/src/sap/ui/core/Core.js +0 -38
  277. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  278. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  279. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  280. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  281. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  282. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,89 @@
1
+ var TimezoneUtils = {};
2
+ var sLocalTimezone = "";
3
+ var aSupportedTimezoneIDs;
4
+ var oIntlDateTimeFormatCache = {
5
+ _oCache: new Map(),
6
+ _iCacheLimit: 10,
7
+ get: function (sTimezone) {
8
+ var cacheEntry = this._oCache.get(sTimezone);
9
+ if (cacheEntry) {
10
+ return cacheEntry;
11
+ }
12
+ var oOptions = {
13
+ hourCycle: "h23",
14
+ hour: "2-digit",
15
+ minute: "2-digit",
16
+ second: "2-digit",
17
+ fractionalSecondDigits: 3,
18
+ day: "2-digit",
19
+ month: "2-digit",
20
+ year: "numeric",
21
+ timeZone: sTimezone,
22
+ timeZoneName: "short",
23
+ era: "narrow",
24
+ weekday: "short"
25
+ };
26
+ var oInstance = new Intl.DateTimeFormat("en-US", oOptions);
27
+ if (this._oCache.size === this._iCacheLimit) {
28
+ this._oCache = new Map();
29
+ }
30
+ this._oCache.set(sTimezone, oInstance);
31
+ return oInstance;
32
+ }
33
+ };
34
+ TimezoneUtils.isValidTimezone = function (sTimezone) {
35
+ if (!sTimezone) {
36
+ return false;
37
+ }
38
+ if (Intl.supportedValuesOf) {
39
+ try {
40
+ aSupportedTimezoneIDs = aSupportedTimezoneIDs || Intl.supportedValuesOf("timeZone");
41
+ if (aSupportedTimezoneIDs.includes(sTimezone)) {
42
+ return true;
43
+ }
44
+ } catch (oError) {
45
+ aSupportedTimezoneIDs = [];
46
+ }
47
+ }
48
+ try {
49
+ oIntlDateTimeFormatCache.get(sTimezone);
50
+ return true;
51
+ } catch (oError) {
52
+ return false;
53
+ }
54
+ };
55
+ TimezoneUtils.convertToTimezone = function (oDate, sTargetTimezone) {
56
+ var oFormatParts = this._getParts(oDate, sTargetTimezone);
57
+ return TimezoneUtils._getDateFromParts(oFormatParts);
58
+ };
59
+ TimezoneUtils._getParts = function (oDate, sTargetTimezone) {
60
+ var sKey, oPart, oDateParts = Object.create(null), oIntlDate = oIntlDateTimeFormatCache.get(sTargetTimezone), oParts = oIntlDate.formatToParts(new Date(oDate.getTime()));
61
+ for (sKey in oParts) {
62
+ oPart = oParts[sKey];
63
+ if (oPart.type !== "literal") {
64
+ oDateParts[oPart.type] = oPart.value;
65
+ }
66
+ }
67
+ return oDateParts;
68
+ };
69
+ TimezoneUtils._getDateFromParts = function (oParts) {
70
+ var oDate = new Date(0), iUTCYear = parseInt(oParts.year);
71
+ if (oParts.era === "B") {
72
+ iUTCYear = iUTCYear * -1 + 1;
73
+ }
74
+ oDate.setUTCFullYear(iUTCYear, parseInt(oParts.month) - 1, parseInt(oParts.day));
75
+ oDate.setUTCHours(parseInt(oParts.hour), parseInt(oParts.minute), parseInt(oParts.second), parseInt(oParts.fractionalSecond || 0));
76
+ return oDate;
77
+ };
78
+ TimezoneUtils.calculateOffset = function (oDate, sTimezoneSource) {
79
+ var oFirstGuess = this.convertToTimezone(oDate, sTimezoneSource), iInitialOffset = oDate.getTime() - oFirstGuess.getTime(), oDateSource = new Date(oDate.getTime() + iInitialOffset), oDateTarget = this.convertToTimezone(oDateSource, sTimezoneSource);
80
+ return (oDateSource.getTime() - oDateTarget.getTime()) / 1000;
81
+ };
82
+ TimezoneUtils.getLocalTimezone = function () {
83
+ if (sLocalTimezone) {
84
+ return sLocalTimezone;
85
+ }
86
+ sLocalTimezone = new Intl.DateTimeFormat().resolvedOptions().timeZone;
87
+ return sLocalTimezone;
88
+ };
89
+ export default TimezoneUtils;
@@ -0,0 +1,4 @@
1
+ declare const LoaderExtensions: {
2
+ loadResource: (moduleName: string) => import("@ui5/webcomponents-base/dist/asset-registries/LocaleData.js").CLDRData;
3
+ };
4
+ export default LoaderExtensions;
@@ -1,7 +1,14 @@
1
- import { getModuleContent } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
2
-
1
+ import { getLocaleData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
2
+ const loadResource = (moduleName) => {
3
+ const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
4
+ if (!moduleFormat) {
5
+ throw new Error(`Unknown module "${moduleName}"`);
6
+ }
7
+ const localeId = moduleFormat[1];
8
+ return getLocaleData(localeId);
9
+ };
3
10
  const LoaderExtensions = {
4
- loadResource: getModuleContent,
11
+ loadResource,
5
12
  };
6
-
7
13
  export default LoaderExtensions;
14
+ //# sourceMappingURL=LoaderExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderExtensions.js","sourceRoot":"","sources":["../../../../src/sap/base/util/LoaderExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AAE5F,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;KAClD;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACxB,YAAY;CACZ,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { getLocaleData } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\n\nconst loadResource = (moduleName: string) => {\n\tconst moduleFormat = moduleName.match(/sap\\/ui\\/core\\/cldr\\/(\\w+)\\.json/);\n\tif (!moduleFormat) {\n\t\tthrow new Error(`Unknown module \"${moduleName}\"`);\n\t}\n\n\tconst localeId = moduleFormat[1];\n\treturn getLocaleData(localeId);\n};\n\nconst LoaderExtensions = {\n\tloadResource,\n};\n\nexport default LoaderExtensions;\n"]}
@@ -1,7 +1,7 @@
1
1
  var ObjectPath = {};
2
2
  var defaultRootContext = window;
3
3
  function getObjectPathArray(vObjectPath) {
4
- return Array.isArray(vObjectPath) ? vObjectPath : vObjectPath.split(".");
4
+ return Array.isArray(vObjectPath) ? vObjectPath.slice() : vObjectPath.split(".");
5
5
  }
6
6
  ObjectPath.create = function (vObjectPath, oRootContext) {
7
7
  var oObject = oRootContext || defaultRootContext;
@@ -1,17 +1,17 @@
1
1
  import assert from '../../assert.js';
2
2
  var fnUniqueSort = function (aArray) {
3
- assert(aArray instanceof Array, 'uniqueSort: input parameter must be an Array');
4
- var l = aArray.length;
5
- if (l > 1) {
3
+ assert(Array.isArray(aArray), 'uniqueSort: input parameter must be an Array');
4
+ var iLength = aArray.length;
5
+ if (iLength > 1) {
6
6
  aArray.sort();
7
7
  var j = 0;
8
- for (var i = 1; i < l; i++) {
9
- if (aArray[i] !== aArray[j]) {
8
+ for (var i = 1; i < iLength; i++) {
9
+ if (aArray.indexOf(aArray[i]) === i) {
10
10
  aArray[++j] = aArray[i];
11
11
  }
12
12
  }
13
- if (++j < l) {
14
- aArray.splice(j, l - j);
13
+ if (++j < iLength) {
14
+ aArray.splice(j, iLength - j);
15
15
  }
16
16
  }
17
17
  return aArray;
@@ -14,11 +14,7 @@ var fnEqual = function (a, b, maxDepth, contains, depth) {
14
14
  Log.warning('deepEqual comparison exceeded maximum recursion depth of ' + maxDepth + '. Treating values as unequal');
15
15
  return false;
16
16
  }
17
- if (a === b) {
18
- return true;
19
- }
20
- var bIsReallyNaN = typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
21
- if (bIsReallyNaN) {
17
+ if (a === b || Number.isNaN(a) && Number.isNaN(b)) {
22
18
  return true;
23
19
  }
24
20
  if (Array.isArray(a) && Array.isArray(b)) {
@@ -1,16 +1,14 @@
1
- var BaseObject;
2
- var Interface = function (oObject, aMethods, bFacade) {
1
+ var Interface = function (oObject, aMethods, _bReturnFacade) {
3
2
  if (!oObject) {
4
3
  return oObject;
5
4
  }
6
- BaseObject = BaseObject || sap.ui.requireSync("sap/ui/base/Object");
7
5
  function fCreateDelegator(oObject, sMethodName) {
8
6
  return function () {
9
7
  var tmp = oObject[sMethodName].apply(oObject, arguments);
10
- if (bFacade) {
8
+ if (_bReturnFacade) {
11
9
  return this;
12
10
  } else {
13
- return tmp instanceof BaseObject ? tmp.getInterface() : tmp;
11
+ return typeof tmp.getInterface === "function" ? tmp.getInterface() : tmp;
14
12
  }
15
13
  };
16
14
  }
@@ -1,8 +1,10 @@
1
1
  import ObjectPath from '../../base/util/ObjectPath.js';
2
- import Device from '../Device.js';
3
2
  import assert from '../../base/assert.js';
4
3
  import Log from '../../base/Log.js';
5
4
  import uniqueSort from '../../base/util/array/uniqueSort.js';
5
+ function isFunction(obj) {
6
+ return typeof obj === 'function';
7
+ }
6
8
  var Metadata = function (sClassName, oClassInfo) {
7
9
  assert(typeof sClassName === 'string' && sClassName, 'Metadata: sClassName must be a non-empty string');
8
10
  assert(typeof oClassInfo === 'object', 'Metadata: oClassInfo must be empty or an object');
@@ -14,7 +16,7 @@ var Metadata = function (sClassName, oClassInfo) {
14
16
  oClassInfo.metadata.__version = 1;
15
17
  }
16
18
  oClassInfo.metadata.__version = oClassInfo.metadata.__version || 2;
17
- if (typeof oClassInfo.constructor !== 'function') {
19
+ if (!isFunction(oClassInfo.constructor)) {
18
20
  throw Error('constructor for class ' + sClassName + ' must have been declared before creating metadata for it');
19
21
  }
20
22
  this._sClassName = sClassName;
@@ -28,9 +30,17 @@ Metadata.prototype.extend = function (oClassInfo) {
28
30
  Metadata.prototype.applySettings = function (oClassInfo) {
29
31
  var that = this, oStaticInfo = oClassInfo.metadata, oPrototype;
30
32
  if (oStaticInfo.baseType) {
31
- var oParentClass = ObjectPath.get(oStaticInfo.baseType);
32
- if (typeof oParentClass !== 'function') {
33
- Log.fatal('base class \'' + oStaticInfo.baseType + '\' does not exist');
33
+ var oParentClass;
34
+ if (isFunction(oStaticInfo.baseType)) {
35
+ oParentClass = oStaticInfo.baseType;
36
+ if (!isFunction(oParentClass.getMetadata)) {
37
+ throw new TypeError('baseType must be a UI5 class with a static getMetadata function');
38
+ }
39
+ } else {
40
+ oParentClass = ObjectPath.get(oStaticInfo.baseType);
41
+ if (!isFunction(oParentClass)) {
42
+ Log.fatal('base class \'' + oStaticInfo.baseType + '\' does not exist');
43
+ }
34
44
  }
35
45
  if (oParentClass.getMetadata) {
36
46
  this._oParent = oParentClass.getMetadata();
@@ -112,7 +122,6 @@ Metadata.prototype.isInstanceOf = function (sInterface) {
112
122
  }
113
123
  return false;
114
124
  };
115
- var WRITABLE_IFF_PHANTOM = !!Device.browser.phantomJS;
116
125
  Object.defineProperty(Metadata.prototype, '_mImplementedTypes', {
117
126
  get: function () {
118
127
  if (this === Metadata.prototype) {
@@ -128,7 +137,7 @@ Object.defineProperty(Metadata.prototype, '_mImplementedTypes', {
128
137
  }
129
138
  Object.defineProperty(this, '_mImplementedTypes', {
130
139
  value: Object.freeze(result),
131
- writable: WRITABLE_IFF_PHANTOM,
140
+ writable: false,
132
141
  configurable: false
133
142
  });
134
143
  return result;
@@ -169,12 +178,12 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
169
178
  sClassName = fnBaseClass;
170
179
  fnBaseClass = null;
171
180
  }
172
- assert(!fnBaseClass || typeof fnBaseClass === 'function');
181
+ assert(!fnBaseClass || isFunction(fnBaseClass));
173
182
  assert(typeof sClassName === 'string' && !!sClassName);
174
183
  assert(!oClassInfo || typeof oClassInfo === 'object');
175
- assert(!FNMetaImpl || typeof FNMetaImpl === 'function');
184
+ assert(!FNMetaImpl || isFunction(FNMetaImpl));
176
185
  FNMetaImpl = FNMetaImpl || Metadata;
177
- if (typeof FNMetaImpl.preprocessClassInfo === 'function') {
186
+ if (isFunction(FNMetaImpl.preprocessClassInfo)) {
178
187
  oClassInfo = FNMetaImpl.preprocessClassInfo(oClassInfo);
179
188
  }
180
189
  oClassInfo = oClassInfo || {};
@@ -183,7 +192,7 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
183
192
  oClassInfo.constructor = undefined;
184
193
  }
185
194
  var fnClass = oClassInfo.constructor;
186
- assert(!fnClass || typeof fnClass === 'function');
195
+ assert(!fnClass || isFunction(fnClass));
187
196
  if (fnBaseClass) {
188
197
  if (!fnClass) {
189
198
  if (oClassInfo.metadata.deprecated) {
@@ -199,7 +208,7 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
199
208
  }
200
209
  fnClass.prototype = Object.create(fnBaseClass.prototype);
201
210
  fnClass.prototype.constructor = fnClass;
202
- oClassInfo.metadata.baseType = fnBaseClass.getMetadata().getName();
211
+ oClassInfo.metadata.baseType = fnBaseClass;
203
212
  } else {
204
213
  fnClass = fnClass || function () {
205
214
  };
@@ -1,4 +1,3 @@
1
- import Interface from './Interface.js';
2
1
  import Metadata from './Metadata.js';
3
2
  import Log from '../../base/Log.js';
4
3
  var BaseObject = Metadata.createClass('sap.ui.base.Object', {
@@ -11,7 +10,7 @@ var BaseObject = Metadata.createClass('sap.ui.base.Object', {
11
10
  BaseObject.prototype.destroy = function () {
12
11
  };
13
12
  BaseObject.prototype.getInterface = function () {
14
- var oInterface = new Interface(this, this.getMetadata().getAllPublicMethods());
13
+ var oInterface = new BaseObject._Interface(this, this.getMetadata().getAllPublicMethods());
15
14
  this.getInterface = function () {
16
15
  return oInterface;
17
16
  };
@@ -37,4 +36,29 @@ BaseObject.prototype.isA = function (vTypeName) {
37
36
  BaseObject.isA = function (oObject, vTypeName) {
38
37
  return oObject instanceof BaseObject && oObject.isA(vTypeName);
39
38
  };
39
+ BaseObject._Interface = function (oObject, aMethods, _bReturnFacade) {
40
+ if (!oObject) {
41
+ return oObject;
42
+ }
43
+ function fCreateDelegator(oObject, sMethodName) {
44
+ return function () {
45
+ var tmp = oObject[sMethodName].apply(oObject, arguments);
46
+ if (_bReturnFacade) {
47
+ return this;
48
+ } else {
49
+ return tmp instanceof BaseObject ? tmp.getInterface() : tmp;
50
+ }
51
+ };
52
+ }
53
+ if (!aMethods) {
54
+ return {};
55
+ }
56
+ var sMethodName;
57
+ for (var i = 0, ml = aMethods.length; i < ml; i++) {
58
+ sMethodName = aMethods[i];
59
+ if (!oObject[sMethodName] || typeof oObject[sMethodName] === 'function') {
60
+ this[sMethodName] = fCreateDelegator(oObject, sMethodName);
61
+ }
62
+ }
63
+ };
40
64
  export default BaseObject;
@@ -1,8 +1,2 @@
1
- var CalendarType = {
2
- Gregorian: "Gregorian",
3
- Islamic: "Islamic",
4
- Japanese: "Japanese",
5
- Persian: "Persian",
6
- Buddhist: "Buddhist"
7
- };
8
- export default CalendarType;
1
+ import CalendarType from '../../base/i18n/date/CalendarType.js';
2
+ export default CalendarType;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * OpenUI5 Configuration Shim
3
+ */
4
+ declare const Configuration: {
5
+ getLanguage: () => string | undefined;
6
+ getCalendarType: () => import("@ui5/webcomponents-base/dist/types/CalendarType.js").default;
7
+ getSupportedLanguages: () => string[] | null;
8
+ getOriginInfo: () => void;
9
+ getFormatSettings: () => {
10
+ getFormatLocale: (lang?: string | undefined) => import("@ui5/webcomponents-base/dist/locale/Locale.js").default;
11
+ getLegacyDateFormat: () => void;
12
+ getCustomLocaleData: () => void;
13
+ getLegacyDateCalendarCustomizing: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats.js").default.getLegacyDateCalendarCustomizing;
14
+ };
15
+ getTimezone: () => string;
16
+ getCalendarWeekNumbering: () => string;
17
+ };
18
+ export default Configuration;
@@ -0,0 +1,23 @@
1
+ import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
2
+ import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
3
+ import { getTimezone as getConfigTimezone } from "@ui5/webcomponents-base/dist/config/Timezone.js";
4
+ import getDesigntimePropertyAsArray from "@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js";
5
+ // @ts-ignore
6
+ import TimezoneUtil from "./format/TimezoneUtil.js";
7
+ import FormatSettings from "./FormatSettings.js";
8
+ const emptyFn = () => { };
9
+ /**
10
+ * OpenUI5 Configuration Shim
11
+ */
12
+ const Configuration = {
13
+ getLanguage,
14
+ getCalendarType,
15
+ getSupportedLanguages: () => getDesigntimePropertyAsArray("$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$"),
16
+ getOriginInfo: emptyFn,
17
+ getFormatSettings: () => FormatSettings,
18
+ getTimezone: () => getConfigTimezone() || TimezoneUtil.getLocalTimezone(),
19
+ // Calculate calendar week numbering by active format locale
20
+ getCalendarWeekNumbering: () => "Default",
21
+ };
22
+ export default Configuration;
23
+ //# sourceMappingURL=Configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../src/sap/ui/core/Configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACnG,OAAO,4BAA4B,MAAM,mEAAmE,CAAC;AAC7G,aAAa;AACb,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,aAAa,GAAG;IACrB,WAAW;IACX,eAAe;IACf,qBAAqB,EAAE,GAAG,EAAE,CAAC,4BAA4B,CAAC,2IAA2I,CAAC;IACtM,aAAa,EAAE,OAAO;IACtB,iBAAiB,EAAE,GAAG,EAAE,CAAC,cAAc;IACvC,WAAW,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,IAAI,YAAY,CAAC,gBAAgB,EAAY;IACnF,4DAA4D;IAC5D,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;CACzC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { getLanguage } from \"@ui5/webcomponents-base/dist/config/Language.js\";\nimport { getCalendarType } from \"@ui5/webcomponents-base/dist/config/CalendarType.js\";\nimport { getTimezone as getConfigTimezone } from \"@ui5/webcomponents-base/dist/config/Timezone.js\";\nimport getDesigntimePropertyAsArray from \"@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js\";\n// @ts-ignore\nimport TimezoneUtil from \"./format/TimezoneUtil.js\";\nimport FormatSettings from \"./FormatSettings.js\";\n\nconst emptyFn = () => {};\n\n/**\n * OpenUI5 Configuration Shim\n */\nconst Configuration = {\n\tgetLanguage,\n\tgetCalendarType,\n\tgetSupportedLanguages: () => getDesigntimePropertyAsArray(\"$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$\"),\n\tgetOriginInfo: emptyFn,\n\tgetFormatSettings: () => FormatSettings,\n\tgetTimezone: () => getConfigTimezone() || TimezoneUtil.getLocalTimezone() as string,\n\t// Calculate calendar week numbering by active format locale\n\tgetCalendarWeekNumbering: () => \"Default\",\n};\n\nexport default Configuration;\n"]}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * OpenUI5 Core shim
3
+ */
4
+ declare const Core: {
5
+ getConfiguration: () => {
6
+ getLanguage: () => string | undefined;
7
+ getCalendarType: () => import("@ui5/webcomponents-base/dist/types/CalendarType.js").default;
8
+ getSupportedLanguages: () => string[] | null;
9
+ getOriginInfo: () => void;
10
+ getFormatSettings: () => {
11
+ getFormatLocale: (lang?: string | undefined) => import("@ui5/webcomponents-base/dist/locale/Locale.js").default;
12
+ getLegacyDateFormat: () => void;
13
+ getCustomLocaleData: () => void;
14
+ getLegacyDateCalendarCustomizing: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats.js").default.getLegacyDateCalendarCustomizing;
15
+ };
16
+ getTimezone: () => string;
17
+ getCalendarWeekNumbering: () => string;
18
+ };
19
+ getLibraryResourceBundle: void;
20
+ getFormatSettings: () => {
21
+ getFormatLocale: (lang?: string | undefined) => import("@ui5/webcomponents-base/dist/locale/Locale.js").default;
22
+ getLegacyDateFormat: () => void;
23
+ getCustomLocaleData: () => void;
24
+ getLegacyDateCalendarCustomizing: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats.js").default.getLegacyDateCalendarCustomizing;
25
+ };
26
+ };
27
+ export default Core;
@@ -1,38 +1,13 @@
1
- import { getLanguage } from "@ui5/webcomponents-base/dist/config/Language.js";
2
- import { getCalendarType } from "@ui5/webcomponents-base/dist/config/CalendarType.js";
3
- import getDesigntimePropertyAsArray from "@ui5/webcomponents-base/dist/util/getDesigntimePropertyAsArray.js";
4
- import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
5
-
6
- const emptyFn = () => {};
7
-
8
- /**
9
- * OpenUI5 FormatSettings shim
10
- */
11
- const FormatSettings = {
12
- getFormatLocale: getLocale,
13
- getLegacyDateFormat: emptyFn,
14
- getLegacyDateCalendarCustomizing: emptyFn,
15
- getCustomLocaleData: emptyFn,
16
- };
17
-
18
- /**
19
- * OpenUI5 Configuration Shim
20
- */
21
- const Configuration = {
22
- getLanguage,
23
- getCalendarType,
24
- getSupportedLanguages: () => getDesigntimePropertyAsArray("$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$"),
25
- getOriginInfo: emptyFn,
26
- getFormatSettings: () => FormatSettings,
27
- };
28
-
1
+ import FormatSettings from "./FormatSettings.js";
2
+ import Configuration from "./Configuration.js";
3
+ const emptyFn = () => { };
29
4
  /**
30
5
  * OpenUI5 Core shim
31
6
  */
32
7
  const Core = {
33
- getConfiguration: () => Configuration,
34
- getLibraryResourceBundle: emptyFn(),
35
- getFormatSettings: () => FormatSettings,
8
+ getConfiguration: () => Configuration,
9
+ getLibraryResourceBundle: emptyFn(),
10
+ getFormatSettings: () => FormatSettings,
36
11
  };
37
-
38
12
  export default Core;
13
+ //# sourceMappingURL=Core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Core.js","sourceRoot":"","sources":["../../../../src/sap/ui/core/Core.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,IAAI,GAAG;IACZ,gBAAgB,EAAE,GAAG,EAAE,CAAC,aAAa;IACrC,wBAAwB,EAAE,OAAO,EAAE;IACnC,iBAAiB,EAAE,GAAG,EAAE,CAAC,cAAc;CACvC,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import FormatSettings from \"./FormatSettings.js\";\nimport Configuration from \"./Configuration.js\";\n\nconst emptyFn = () => {};\n\n/**\n * OpenUI5 Core shim\n */\nconst Core = {\n\tgetConfiguration: () => Configuration,\n\tgetLibraryResourceBundle: emptyFn(),\n\tgetFormatSettings: () => FormatSettings,\n};\n\nexport default Core;\n"]}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * OpenUI5 FormatSettings shim
3
+ */
4
+ declare const FormatSettings: {
5
+ getFormatLocale: (lang?: string | undefined) => import("@ui5/webcomponents-base/dist/locale/Locale").default;
6
+ getLegacyDateFormat: () => void;
7
+ getCustomLocaleData: () => void;
8
+ getLegacyDateCalendarCustomizing: typeof import("@ui5/webcomponents-base/dist/features/LegacyDateFormats").default.getLegacyDateCalendarCustomizing;
9
+ };
10
+ export default FormatSettings;
@@ -0,0 +1,14 @@
1
+ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
2
+ import { getLegacyDateCalendarCustomizing } from "@ui5/webcomponents-base/dist/config/FormatSettings.js";
3
+ const emptyFn = () => { };
4
+ /**
5
+ * OpenUI5 FormatSettings shim
6
+ */
7
+ const FormatSettings = {
8
+ getFormatLocale: getLocale,
9
+ getLegacyDateFormat: emptyFn,
10
+ getCustomLocaleData: emptyFn,
11
+ getLegacyDateCalendarCustomizing,
12
+ };
13
+ export default FormatSettings;
14
+ //# sourceMappingURL=FormatSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatSettings.js","sourceRoot":"","sources":["../../../../src/sap/ui/core/FormatSettings.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kDAAkD,CAAC;AACzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AAEzG,MAAM,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEzB;;GAEG;AACH,MAAM,cAAc,GAAG;IACtB,eAAe,EAAE,SAAS;IAC1B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,gCAAgC;CAChC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport { getLegacyDateCalendarCustomizing } from \"@ui5/webcomponents-base/dist/config/FormatSettings.js\";\n\nconst emptyFn = () => {};\n\n/**\n * OpenUI5 FormatSettings shim\n */\nconst FormatSettings = {\n\tgetFormatLocale: getLocale,\n\tgetLegacyDateFormat: emptyFn,\n\tgetCustomLocaleData: emptyFn,\n\tgetLegacyDateCalendarCustomizing,\n};\n\nexport default FormatSettings;\n"]}
@@ -1,120 +1,62 @@
1
- import BaseObject from '../base/Object.js';
2
1
  import assert from '../../base/assert.js';
3
- var rLocale = /^((?:[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;
2
+ import BaseObject from '../base/Object.js';
3
+ import Localization from '../../base/i18n/Localization.js';
4
+ import LanguageTag from '../../base/i18n/LanguageTag.js';
4
5
  var Locale = BaseObject.extend('sap.ui.core.Locale', {
5
- constructor: function (sLocaleId) {
6
+ constructor: function (vLocale) {
6
7
  BaseObject.apply(this);
7
- var aResult = rLocale.exec(sLocaleId.replace(/_/g, '-'));
8
- if (aResult === null) {
9
- throw 'The given language \'' + sLocaleId + '\' does not adhere to BCP-47.';
10
- }
11
- this.sLocaleId = sLocaleId;
12
- this.sLanguage = aResult[1] || null;
13
- this.sScript = aResult[2] || null;
14
- this.sRegion = aResult[3] || null;
15
- this.sVariant = aResult[4] && aResult[4].slice(1) || null;
16
- this.sExtension = aResult[5] && aResult[5].slice(1) || null;
17
- this.sPrivateUse = aResult[6] || null;
18
- if (this.sLanguage) {
19
- this.sLanguage = this.sLanguage.toLowerCase();
20
- }
21
- if (this.sScript) {
22
- this.sScript = this.sScript.toLowerCase().replace(/^[a-z]/, function ($) {
23
- return $.toUpperCase();
24
- });
25
- }
26
- if (this.sRegion) {
27
- this.sRegion = this.sRegion.toUpperCase();
8
+ if (vLocale instanceof LanguageTag) {
9
+ this.oLanguageTag = vLocale;
10
+ this.sLocaleId = this.oLanguageTag.toString();
11
+ } else {
12
+ this.oLanguageTag = new LanguageTag(vLocale);
13
+ this.sLocaleId = vLocale;
28
14
  }
15
+ Object.assign(this, this.oLanguageTag);
16
+ this.sLanguage = this.language;
29
17
  },
30
18
  getLanguage: function () {
31
- return this.sLanguage;
19
+ return this.language;
32
20
  },
33
21
  getScript: function () {
34
- return this.sScript;
22
+ return this.script;
35
23
  },
36
24
  getRegion: function () {
37
- return this.sRegion;
25
+ return this.region;
38
26
  },
39
27
  getVariant: function () {
40
- return this.sVariant;
28
+ return this.variant;
41
29
  },
42
30
  getVariantSubtags: function () {
43
- return this.sVariant ? this.sVariant.split('-') : [];
31
+ return this.variantSubtags;
44
32
  },
45
33
  getExtension: function () {
46
- return this.sExtension;
34
+ return this.extension;
47
35
  },
48
36
  getExtensionSubtags: function () {
49
- return this.sExtension ? this.sExtension.slice(2).split('-') : [];
37
+ return this.extensionSubtags;
50
38
  },
51
39
  getPrivateUse: function () {
52
- return this.sPrivateUse;
40
+ return this.privateUse;
53
41
  },
54
42
  getPrivateUseSubtags: function () {
55
- return this.sPrivateUse ? this.sPrivateUse.slice(2).split('-') : [];
43
+ return this.privateUseSubtags;
56
44
  },
57
45
  hasPrivateUseSubtag: function (sSubtag) {
58
46
  assert(sSubtag && sSubtag.match(/^[0-9A-Z]{1,8}$/i), 'subtag must be a valid BCP47 private use tag');
59
- return this.getPrivateUseSubtags().indexOf(sSubtag) >= 0;
47
+ return this.privateUseSubtags.indexOf(sSubtag) >= 0;
60
48
  },
61
49
  toString: function () {
62
- var r = [this.sLanguage];
63
- if (this.sScript) {
64
- r.push(this.sScript);
65
- }
66
- if (this.sRegion) {
67
- r.push(this.sRegion);
68
- }
69
- if (this.sVariant) {
70
- r.push(this.sVariant);
71
- }
72
- if (this.sExtension) {
73
- r.push(this.sExtension);
74
- }
75
- if (this.sPrivateUse) {
76
- r.push(this.sPrivateUse);
77
- }
78
- return r.join('-');
50
+ return this.oLanguageTag.toString();
79
51
  },
80
52
  getSAPLogonLanguage: function () {
81
- var sLanguage = this.sLanguage || '', m;
82
- if (sLanguage.indexOf('-') >= 0) {
83
- sLanguage = sLanguage.slice(0, sLanguage.indexOf('-'));
84
- }
85
- sLanguage = M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
86
- if (sLanguage === 'zh') {
87
- if (this.sScript === 'Hant' || !this.sScript && this.sRegion === 'TW') {
88
- sLanguage = 'zf';
89
- }
90
- }
91
- if (this.sPrivateUse && (m = /-(saptrc|sappsd)(?:-|$)/i.exec(this.sPrivateUse))) {
92
- sLanguage = m[1].toLowerCase() === 'saptrc' ? '1Q' : '2Q';
93
- }
94
- return sLanguage.toUpperCase();
53
+ return Localization._getSAPLogonLanguage(this);
95
54
  }
96
55
  });
97
- var M_ISO639_OLD_TO_NEW = {
98
- 'iw': 'he',
99
- 'ji': 'yi',
100
- 'in': 'id',
101
- 'sh': 'sr'
102
- };
103
- function getDesigntimePropertyAsArray(sValue) {
104
- var m = /\$([-a-z0-9A-Z._]+)(?::([^$]*))?\$/.exec(sValue);
105
- return m && m[2] ? m[2].split(/,/) : null;
106
- }
107
- var A_RTL_LOCALES = getDesigntimePropertyAsArray('$cldr-rtl-locales:ar,fa,he$') || [];
108
- Locale._cldrLocales = getDesigntimePropertyAsArray('$cldr-locales:ar,ar_EG,ar_SA,bg,br,ca,cs,da,de,de_AT,de_CH,el,el_CY,en,en_AU,en_GB,en_HK,en_IE,en_IN,en_NZ,en_PG,en_SG,en_ZA,es,es_AR,es_BO,es_CL,es_CO,es_MX,es_PE,es_UY,es_VE,et,fa,fi,fr,fr_BE,fr_CA,fr_CH,fr_LU,he,hi,hr,hu,id,it,it_CH,ja,kk,ko,lt,lv,ms,nb,nl,nl_BE,nn,pl,pt,pt_PT,ro,ru,ru_UA,sk,sl,sr,sv,th,tr,uk,vi,zh_CN,zh_HK,zh_SG,zh_TW$');
109
- Locale._coreI18nLocales = getDesigntimePropertyAsArray('$core-i18n-locales:,ar,bg,ca,cs,da,de,el,en,es,et,fi,fr,hi,hr,hu,it,iw,ja,kk,ko,lt,lv,ms,nl,no,pl,pt,ro,ru,sh,sk,sl,sv,th,tr,uk,vi,zh_CN,zh_TW$');
110
- Locale._impliesRTL = function (vLanguage) {
111
- var oLocale = vLanguage instanceof Locale ? vLanguage : new Locale(vLanguage);
112
- var sLanguage = oLocale.getLanguage() || '';
113
- sLanguage = sLanguage && M_ISO639_OLD_TO_NEW[sLanguage] || sLanguage;
114
- var sRegion = oLocale.getRegion() || '';
115
- if (sRegion && A_RTL_LOCALES.indexOf(sLanguage + '_' + sRegion) >= 0) {
116
- return true;
56
+ Locale._getCoreLocale = function (oLocale) {
57
+ if (oLocale instanceof LanguageTag) {
58
+ oLocale = new Locale(oLocale);
117
59
  }
118
- return A_RTL_LOCALES.indexOf(sLanguage) >= 0;
60
+ return oLocale;
119
61
  };
120
62
  export default Locale;