@ui5/webcomponents-localization 0.0.0-f734ea2da → 0.0.0-f79db712b

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 (208) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +759 -0
  4. package/README.md +37 -6
  5. package/dist/.tsbuildinfo +1 -0
  6. package/{src/Assets-static.js → dist/Assets-static.d.ts} +0 -1
  7. package/dist/Assets-static.js +1 -0
  8. package/dist/Assets-static.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/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 -201
  20. package/dist/dates/CalendarDate.js.map +1 -0
  21. package/dist/dates/ExtremeDates.d.ts +5 -0
  22. package/dist/dates/ExtremeDates.js +25 -35
  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 +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 +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 -5906
  62. package/dist/generated/assets/cldr/ar_EG.json +5531 -5906
  63. package/dist/generated/assets/cldr/ar_SA.json +5530 -5906
  64. package/dist/generated/assets/cldr/bg.json +4452 -4979
  65. package/dist/generated/assets/cldr/ca.json +4440 -4996
  66. package/dist/generated/assets/cldr/cs.json +4960 -5498
  67. package/dist/generated/assets/cldr/cy.json +5211 -5884
  68. package/dist/generated/assets/cldr/da.json +4308 -4888
  69. package/dist/generated/assets/cldr/de.json +4313 -4916
  70. package/dist/generated/assets/cldr/de_AT.json +4314 -4917
  71. package/dist/generated/assets/cldr/de_CH.json +4312 -4915
  72. package/dist/generated/assets/cldr/el.json +4281 -4883
  73. package/dist/generated/assets/cldr/el_CY.json +4281 -4883
  74. package/dist/generated/assets/cldr/en.json +4316 -4970
  75. package/dist/generated/assets/cldr/en_AU.json +4319 -4962
  76. package/dist/generated/assets/cldr/en_GB.json +4329 -4971
  77. package/dist/generated/assets/cldr/en_HK.json +4337 -4977
  78. package/dist/generated/assets/cldr/en_IE.json +4328 -4971
  79. package/dist/generated/assets/cldr/en_IN.json +4333 -4972
  80. package/dist/generated/assets/cldr/en_NZ.json +4328 -4971
  81. package/dist/generated/assets/cldr/en_PG.json +4329 -4972
  82. package/dist/generated/assets/cldr/en_SG.json +4333 -4973
  83. package/dist/generated/assets/cldr/en_ZA.json +4329 -4972
  84. package/dist/generated/assets/cldr/es.json +4331 -4912
  85. package/dist/generated/assets/cldr/es_AR.json +4334 -4914
  86. package/dist/generated/assets/cldr/es_BO.json +4333 -4913
  87. package/dist/generated/assets/cldr/es_CL.json +4334 -4914
  88. package/dist/generated/assets/cldr/es_CO.json +4333 -4913
  89. package/dist/generated/assets/cldr/es_MX.json +4335 -4915
  90. package/dist/generated/assets/cldr/es_PE.json +4333 -4913
  91. package/dist/generated/assets/cldr/es_UY.json +4335 -4915
  92. package/dist/generated/assets/cldr/es_VE.json +4334 -4914
  93. package/dist/generated/assets/cldr/et.json +4340 -4967
  94. package/dist/generated/assets/cldr/fa.json +4367 -4883
  95. package/dist/generated/assets/cldr/fi.json +4463 -5008
  96. package/dist/generated/assets/cldr/fr.json +4357 -4979
  97. package/dist/generated/assets/cldr/fr_BE.json +4357 -4979
  98. package/dist/generated/assets/cldr/fr_CA.json +4351 -4973
  99. package/dist/generated/assets/cldr/fr_CH.json +4375 -4997
  100. package/dist/generated/assets/cldr/fr_LU.json +4357 -4979
  101. package/dist/generated/assets/cldr/he.json +4869 -5378
  102. package/dist/generated/assets/cldr/hi.json +4295 -4829
  103. package/dist/generated/assets/cldr/hr.json +4583 -4919
  104. package/dist/generated/assets/cldr/hu.json +4364 -4856
  105. package/dist/generated/assets/cldr/id.json +4060 -4658
  106. package/dist/generated/assets/cldr/it.json +4299 -4950
  107. package/dist/generated/assets/cldr/it_CH.json +4299 -4950
  108. package/dist/generated/assets/cldr/ja.json +4211 -4830
  109. package/dist/generated/assets/cldr/kk.json +4339 -4725
  110. package/dist/generated/assets/cldr/ko.json +4189 -4738
  111. package/dist/generated/assets/cldr/lt.json +4850 -5481
  112. package/dist/generated/assets/cldr/lv.json +4587 -5112
  113. package/dist/generated/assets/cldr/ms.json +4021 -4515
  114. package/dist/generated/assets/cldr/nb.json +4335 -4977
  115. package/dist/generated/assets/cldr/nl.json +4294 -4884
  116. package/dist/generated/assets/cldr/nl_BE.json +4294 -4884
  117. package/dist/generated/assets/cldr/pl.json +4667 -5176
  118. package/dist/generated/assets/cldr/pt.json +4235 -4805
  119. package/dist/generated/assets/cldr/pt_PT.json +4372 -4940
  120. package/dist/generated/assets/cldr/ro.json +4563 -5090
  121. package/dist/generated/assets/cldr/ru.json +4909 -5407
  122. package/dist/generated/assets/cldr/ru_UA.json +4909 -5407
  123. package/dist/generated/assets/cldr/sk.json +4939 -5370
  124. package/dist/generated/assets/cldr/sl.json +4910 -5340
  125. package/dist/generated/assets/cldr/sr.json +4585 -5126
  126. package/dist/generated/assets/cldr/sr_Latn.json +4574 -5127
  127. package/dist/generated/assets/cldr/sv.json +4362 -5011
  128. package/dist/generated/assets/cldr/th.json +4214 -4797
  129. package/dist/generated/assets/cldr/tr.json +4400 -4979
  130. package/dist/generated/assets/cldr/uk.json +4858 -5353
  131. package/dist/generated/assets/cldr/vi.json +4070 -4673
  132. package/dist/generated/assets/cldr/zh_CN.json +4100 -4632
  133. package/dist/generated/assets/cldr/zh_HK.json +4108 -4640
  134. package/dist/generated/assets/cldr/zh_SG.json +4108 -4640
  135. package/dist/generated/assets/cldr/zh_TW.json +4131 -4728
  136. package/dist/generated/json-imports/LocaleData-static.d.ts +1 -0
  137. package/dist/generated/json-imports/LocaleData-static.js +10 -11
  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 +86 -87
  141. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  142. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  143. package/dist/getCachedLocaleDataInstance.js +6 -9
  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 +9 -12
  159. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  160. package/dist/sap/base/util/deepEqual.js +1 -5
  161. package/dist/sap/ui/base/Metadata.js +20 -9
  162. package/dist/sap/ui/base/Object.js +26 -2
  163. package/dist/sap/ui/core/CalendarType.js +2 -8
  164. package/dist/sap/ui/core/Configuration.d.ts +18 -0
  165. package/dist/sap/ui/core/Configuration.js +23 -0
  166. package/dist/sap/ui/core/Configuration.js.map +1 -0
  167. package/dist/sap/ui/core/Core.d.ts +27 -0
  168. package/dist/sap/ui/core/Core.js +7 -32
  169. package/dist/sap/ui/core/Core.js.map +1 -0
  170. package/dist/sap/ui/core/FormatSettings.d.ts +10 -0
  171. package/dist/sap/ui/core/FormatSettings.js +14 -0
  172. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  173. package/dist/sap/ui/core/Locale.js +28 -110
  174. package/dist/sap/ui/core/LocaleData.js +215 -1537
  175. package/dist/sap/ui/core/date/Buddhist.js +0 -6
  176. package/dist/sap/ui/core/date/CalendarUtils.js +25 -0
  177. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +2 -0
  178. package/dist/sap/ui/core/date/Islamic.js +3 -3
  179. package/dist/sap/ui/core/date/Japanese.js +4 -4
  180. package/dist/sap/ui/core/date/UI5Date.js +305 -0
  181. package/dist/sap/ui/core/date/UniversalDate.js +73 -26
  182. package/dist/sap/ui/core/format/DateFormat.js +849 -494
  183. package/dist/sap/ui/core/format/TimezoneUtil.js +2 -0
  184. package/package-scripts.cjs +32 -0
  185. package/package.json +10 -15
  186. package/tsconfig.json +24 -0
  187. package/used-modules.txt +9 -1
  188. package/hash.txt +0 -1
  189. package/package-scripts.js +0 -40
  190. package/src/Assets.js +0 -2
  191. package/src/DateFormat.js +0 -3
  192. package/src/LocaleData.js +0 -3
  193. package/src/dates/CalendarDate.js +0 -223
  194. package/src/dates/ExtremeDates.js +0 -39
  195. package/src/dates/calculateWeekNumber.js +0 -51
  196. package/src/dates/getRoundedTimestamp.js +0 -14
  197. package/src/dates/getTodayUTCTimestamp.js +0 -9
  198. package/src/dates/modifyDateBy.js +0 -42
  199. package/src/getCachedLocaleDataInstance.js +0 -13
  200. package/src/locale/getLocaleData.js +0 -27
  201. package/src/sap/base/util/LoaderExtensions.js +0 -17
  202. package/src/sap/ui/core/Core.js +0 -38
  203. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  204. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  205. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  206. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  207. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  208. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,35 @@
1
+ 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;
2
+ var LanguageTag = function (sLanguageTag) {
3
+ var aResult = rLanguageTag.exec(sLanguageTag.replace(/_/g, "-"));
4
+ if (aResult === null) {
5
+ throw new TypeError("The given language tag'" + sLanguageTag + "' does not adhere to BCP-47.");
6
+ }
7
+ this.language = aResult[1] || null;
8
+ this.script = aResult[2] || null;
9
+ this.region = aResult[3] || null;
10
+ this.variant = aResult[4] && aResult[4].slice(1) || null;
11
+ this.variantSubtags = this.variant ? this.variant.split("-") : [];
12
+ this.extension = aResult[5] && aResult[5].slice(1) || null;
13
+ this.extensionSubtags = this.variant ? this.variant.split("-") : [];
14
+ this.privateUse = aResult[6] || null;
15
+ this.privateUseSubtags = this.privateUse ? this.privateUse.slice(2).split("-") : [];
16
+ if (this.language) {
17
+ this.language = this.language.toLowerCase();
18
+ }
19
+ if (this.script) {
20
+ this.script = this.script.toLowerCase().replace(/^[a-z]/, function ($) {
21
+ return $.toUpperCase();
22
+ });
23
+ }
24
+ if (this.region) {
25
+ this.region = this.region.toUpperCase();
26
+ }
27
+ Object.freeze(this);
28
+ };
29
+ LanguageTag.prototype.toString = function () {
30
+ return join(this.language, this.script, this.region, this.variant, this.extension, this.privateUse);
31
+ };
32
+ function join() {
33
+ return Array.prototype.filter.call(arguments, Boolean).join("-");
34
+ }
35
+ 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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Localization.js","sourceRoot":"","sources":["../../../../src/sap/base/i18n/Localization.ts"],"names":[],"mappings":"AAAA,MAAM,mBAAmB,GAAG;IAC3B,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACV,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC/C,OAAO,mBAAmB,CAAC,SAA6C,CAAC,IAAI,SAAS,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG;IACpB,iBAAiB;CACjB,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["const M_ISO639_OLD_TO_NEW = {\n\t\"iw\": \"he\",\n\t\"ji\": \"yi\",\n};\n\nconst getModernLanguage = (sLanguage: string) => {\n\treturn M_ISO639_OLD_TO_NEW[sLanguage as keyof typeof M_ISO639_OLD_TO_NEW] || sLanguage;\n};\n\nconst Localization = {\n\tgetModernLanguage,\n};\n\nexport default Localization;\n"]}
@@ -0,0 +1,8 @@
1
+ var CalendarType = {
2
+ Gregorian: "Gregorian",
3
+ Islamic: "Islamic",
4
+ Japanese: "Japanese",
5
+ Persian: "Persian",
6
+ Buddhist: "Buddhist"
7
+ };
8
+ export default CalendarType;
@@ -0,0 +1,30 @@
1
+ var CalendarWeekNumbering = {
2
+ Default: "Default",
3
+ ISO_8601: "ISO_8601",
4
+ MiddleEastern: "MiddleEastern",
5
+ WesternTraditional: "WesternTraditional"
6
+ };
7
+ Object.defineProperty(CalendarWeekNumbering, "getWeekConfigurationValues", {
8
+ value: function (sCalendarWeekNumbering) {
9
+ switch (sCalendarWeekNumbering) {
10
+ case CalendarWeekNumbering.ISO_8601:
11
+ return {
12
+ firstDayOfWeek: 1,
13
+ minimalDaysInFirstWeek: 4
14
+ };
15
+ case CalendarWeekNumbering.MiddleEastern:
16
+ return {
17
+ firstDayOfWeek: 6,
18
+ minimalDaysInFirstWeek: 1
19
+ };
20
+ case CalendarWeekNumbering.WesternTraditional:
21
+ return {
22
+ firstDayOfWeek: 0,
23
+ minimalDaysInFirstWeek: 1
24
+ };
25
+ default:
26
+ return undefined;
27
+ }
28
+ }
29
+ });
30
+ export default CalendarWeekNumbering;
@@ -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,17 +1,14 @@
1
1
  import { getLocaleData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
2
-
3
- const loadResource = moduleName => {
4
- const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
5
- if (!moduleFormat) {
6
- throw new Error(`Unknown module "${moduleName}"`);
7
- }
8
-
9
- const localeId = moduleFormat[1];
10
- return getLocaleData(localeId);
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);
11
9
  };
12
-
13
10
  const LoaderExtensions = {
14
- loadResource,
11
+ loadResource,
15
12
  };
16
-
17
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"]}
@@ -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)) {
@@ -2,6 +2,9 @@ import ObjectPath from '../../base/util/ObjectPath.js';
2
2
  import assert from '../../base/assert.js';
3
3
  import Log from '../../base/Log.js';
4
4
  import uniqueSort from '../../base/util/array/uniqueSort.js';
5
+ function isFunction(obj) {
6
+ return typeof obj === 'function';
7
+ }
5
8
  var Metadata = function (sClassName, oClassInfo) {
6
9
  assert(typeof sClassName === 'string' && sClassName, 'Metadata: sClassName must be a non-empty string');
7
10
  assert(typeof oClassInfo === 'object', 'Metadata: oClassInfo must be empty or an object');
@@ -13,7 +16,7 @@ var Metadata = function (sClassName, oClassInfo) {
13
16
  oClassInfo.metadata.__version = 1;
14
17
  }
15
18
  oClassInfo.metadata.__version = oClassInfo.metadata.__version || 2;
16
- if (typeof oClassInfo.constructor !== 'function') {
19
+ if (!isFunction(oClassInfo.constructor)) {
17
20
  throw Error('constructor for class ' + sClassName + ' must have been declared before creating metadata for it');
18
21
  }
19
22
  this._sClassName = sClassName;
@@ -27,9 +30,17 @@ Metadata.prototype.extend = function (oClassInfo) {
27
30
  Metadata.prototype.applySettings = function (oClassInfo) {
28
31
  var that = this, oStaticInfo = oClassInfo.metadata, oPrototype;
29
32
  if (oStaticInfo.baseType) {
30
- var oParentClass = ObjectPath.get(oStaticInfo.baseType);
31
- if (typeof oParentClass !== 'function') {
32
- 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
+ }
33
44
  }
34
45
  if (oParentClass.getMetadata) {
35
46
  this._oParent = oParentClass.getMetadata();
@@ -167,12 +178,12 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
167
178
  sClassName = fnBaseClass;
168
179
  fnBaseClass = null;
169
180
  }
170
- assert(!fnBaseClass || typeof fnBaseClass === 'function');
181
+ assert(!fnBaseClass || isFunction(fnBaseClass));
171
182
  assert(typeof sClassName === 'string' && !!sClassName);
172
183
  assert(!oClassInfo || typeof oClassInfo === 'object');
173
- assert(!FNMetaImpl || typeof FNMetaImpl === 'function');
184
+ assert(!FNMetaImpl || isFunction(FNMetaImpl));
174
185
  FNMetaImpl = FNMetaImpl || Metadata;
175
- if (typeof FNMetaImpl.preprocessClassInfo === 'function') {
186
+ if (isFunction(FNMetaImpl.preprocessClassInfo)) {
176
187
  oClassInfo = FNMetaImpl.preprocessClassInfo(oClassInfo);
177
188
  }
178
189
  oClassInfo = oClassInfo || {};
@@ -181,7 +192,7 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
181
192
  oClassInfo.constructor = undefined;
182
193
  }
183
194
  var fnClass = oClassInfo.constructor;
184
- assert(!fnClass || typeof fnClass === 'function');
195
+ assert(!fnClass || isFunction(fnClass));
185
196
  if (fnBaseClass) {
186
197
  if (!fnClass) {
187
198
  if (oClassInfo.metadata.deprecated) {
@@ -197,7 +208,7 @@ Metadata.createClass = function (fnBaseClass, sClassName, oClassInfo, FNMetaImpl
197
208
  }
198
209
  fnClass.prototype = Object.create(fnBaseClass.prototype);
199
210
  fnClass.prototype.constructor = fnClass;
200
- oClassInfo.metadata.baseType = fnBaseClass.getMetadata().getName();
211
+ oClassInfo.metadata.baseType = fnBaseClass;
201
212
  } else {
202
213
  fnClass = fnClass || function () {
203
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"]}