@ui5/webcomponents-localization 0.0.0-deac3098a → 0.0.0-df5b4199a

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 (252) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +1988 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +7 -10
  6. package/dist/.tsbuildinfo +1 -0
  7. package/dist/Assets-fetch.d.ts +1 -0
  8. package/dist/Assets-fetch.js +3 -0
  9. package/dist/Assets-fetch.js.map +1 -0
  10. package/dist/Assets-node.d.ts +11 -0
  11. package/dist/Assets-node.js +12 -0
  12. package/dist/Assets-node.js.map +1 -0
  13. package/dist/Assets.d.ts +1 -0
  14. package/dist/Assets.js +1 -0
  15. package/dist/Assets.js.map +1 -0
  16. package/dist/CalendarUtils.d.ts +3 -0
  17. package/dist/CalendarUtils.js +6 -0
  18. package/dist/CalendarUtils.js.map +1 -0
  19. package/dist/DateFormat.d.ts +5 -0
  20. package/dist/DateFormat.js +6 -2
  21. package/dist/DateFormat.js.map +1 -0
  22. package/dist/LocaleData.d.ts +5 -0
  23. package/dist/LocaleData.js +6 -2
  24. package/dist/LocaleData.js.map +1 -0
  25. package/dist/dates/CalendarDate.d.ts +42 -0
  26. package/dist/dates/CalendarDate.js +171 -201
  27. package/dist/dates/CalendarDate.js.map +1 -0
  28. package/dist/dates/ExtremeDates.d.ts +5 -0
  29. package/dist/dates/ExtremeDates.js +25 -35
  30. package/dist/dates/ExtremeDates.js.map +1 -0
  31. package/dist/dates/UI5Date.d.ts +5 -0
  32. package/dist/dates/UI5Date.js +7 -0
  33. package/dist/dates/UI5Date.js.map +1 -0
  34. package/dist/dates/UniversalDate.d.ts +47 -0
  35. package/dist/dates/UniversalDate.js +5 -0
  36. package/dist/dates/UniversalDate.js.map +1 -0
  37. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  38. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  39. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  40. package/dist/dates/getDaysInMonth.d.ts +3 -0
  41. package/dist/dates/getDaysInMonth.js +10 -0
  42. package/dist/dates/getDaysInMonth.js.map +1 -0
  43. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  44. package/dist/dates/getRoundedTimestamp.js +10 -9
  45. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  46. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  47. package/dist/dates/getTodayUTCTimestamp.js +3 -3
  48. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  49. package/dist/dates/modifyDateBy.d.ts +14 -0
  50. package/dist/dates/modifyDateBy.js +42 -29
  51. package/dist/dates/modifyDateBy.js.map +1 -0
  52. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  53. package/dist/dates/transformDateToSecondaryType.js +18 -0
  54. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  55. package/dist/features/calendar/Buddhist.js +1 -0
  56. package/dist/features/calendar/Buddhist.js.map +1 -0
  57. package/dist/features/calendar/Gregorian.js +1 -0
  58. package/dist/features/calendar/Gregorian.js.map +1 -0
  59. package/dist/features/calendar/Islamic.js +1 -0
  60. package/dist/features/calendar/Islamic.js.map +1 -0
  61. package/dist/features/calendar/Japanese.js +1 -0
  62. package/dist/features/calendar/Japanese.js.map +1 -0
  63. package/dist/features/calendar/Persian.js +1 -0
  64. package/dist/features/calendar/Persian.js.map +1 -0
  65. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  66. package/dist/generated/assets/cldr/ar.json +1690 -511
  67. package/dist/generated/assets/cldr/ar_EG.json +1690 -511
  68. package/dist/generated/assets/cldr/ar_SA.json +1785 -607
  69. package/dist/generated/assets/cldr/bg.json +1663 -663
  70. package/dist/generated/assets/cldr/ca.json +1635 -550
  71. package/dist/generated/assets/cldr/cnr.json +6169 -0
  72. package/dist/generated/assets/cldr/cs.json +1618 -409
  73. package/dist/generated/assets/cldr/cy.json +1686 -640
  74. package/dist/generated/assets/cldr/da.json +1579 -542
  75. package/dist/generated/assets/cldr/de.json +1504 -374
  76. package/dist/generated/assets/cldr/de_AT.json +1494 -364
  77. package/dist/generated/assets/cldr/de_CH.json +1513 -383
  78. package/dist/generated/assets/cldr/el.json +1220 -273
  79. package/dist/generated/assets/cldr/el_CY.json +1220 -273
  80. package/dist/generated/assets/cldr/en.json +1619 -548
  81. package/dist/generated/assets/cldr/en_AU.json +1757 -637
  82. package/dist/generated/assets/cldr/en_GB.json +1630 -528
  83. package/dist/generated/assets/cldr/en_HK.json +1713 -608
  84. package/dist/generated/assets/cldr/en_IE.json +1678 -576
  85. package/dist/generated/assets/cldr/en_IN.json +1661 -555
  86. package/dist/generated/assets/cldr/en_NZ.json +1697 -595
  87. package/dist/generated/assets/cldr/en_PG.json +1698 -596
  88. package/dist/generated/assets/cldr/en_SG.json +1687 -582
  89. package/dist/generated/assets/cldr/en_ZA.json +1675 -573
  90. package/dist/generated/assets/cldr/es.json +1893 -704
  91. package/dist/generated/assets/cldr/es_AR.json +1835 -645
  92. package/dist/generated/assets/cldr/es_BO.json +1880 -690
  93. package/dist/generated/assets/cldr/es_CL.json +1721 -639
  94. package/dist/generated/assets/cldr/es_CO.json +1637 -554
  95. package/dist/generated/assets/cldr/es_MX.json +2050 -860
  96. package/dist/generated/assets/cldr/es_PE.json +1565 -591
  97. package/dist/generated/assets/cldr/es_UY.json +1593 -619
  98. package/dist/generated/assets/cldr/es_VE.json +1611 -637
  99. package/dist/generated/assets/cldr/et.json +1426 -368
  100. package/dist/generated/assets/cldr/fa.json +1548 -483
  101. package/dist/generated/assets/cldr/fi.json +1528 -343
  102. package/dist/generated/assets/cldr/fr.json +1435 -419
  103. package/dist/generated/assets/cldr/fr_BE.json +1432 -416
  104. package/dist/generated/assets/cldr/fr_CA.json +1571 -555
  105. package/dist/generated/assets/cldr/fr_CH.json +1385 -369
  106. package/dist/generated/assets/cldr/fr_LU.json +1435 -419
  107. package/dist/generated/assets/cldr/he.json +1697 -536
  108. package/dist/generated/assets/cldr/hi.json +1221 -193
  109. package/dist/generated/assets/cldr/hr.json +1760 -485
  110. package/dist/generated/assets/cldr/hu.json +1390 -303
  111. package/dist/generated/assets/cldr/id.json +1640 -570
  112. package/dist/generated/assets/cldr/it.json +1489 -455
  113. package/dist/generated/assets/cldr/it_CH.json +1489 -455
  114. package/dist/generated/assets/cldr/ja.json +1143 -86
  115. package/dist/generated/assets/cldr/kk.json +1782 -570
  116. package/dist/generated/assets/cldr/ko.json +1192 -162
  117. package/dist/generated/assets/cldr/lt.json +1383 -288
  118. package/dist/generated/assets/cldr/lv.json +1369 -369
  119. package/dist/generated/assets/cldr/mk.json +6045 -0
  120. package/dist/generated/assets/cldr/ms.json +1598 -551
  121. package/dist/generated/assets/cldr/nb.json +1265 -209
  122. package/dist/generated/assets/cldr/nl.json +1741 -425
  123. package/dist/generated/assets/cldr/nl_BE.json +1741 -425
  124. package/dist/generated/assets/cldr/pl.json +1903 -492
  125. package/dist/generated/assets/cldr/pt.json +1913 -605
  126. package/dist/generated/assets/cldr/pt_PT.json +1871 -633
  127. package/dist/generated/assets/cldr/ro.json +1590 -482
  128. package/dist/generated/assets/cldr/ru.json +1608 -514
  129. package/dist/generated/assets/cldr/ru_UA.json +1602 -508
  130. package/dist/generated/assets/cldr/sk.json +1629 -569
  131. package/dist/generated/assets/cldr/sl.json +1532 -430
  132. package/dist/generated/assets/cldr/sr.json +1459 -346
  133. package/dist/generated/assets/cldr/sr_Latn.json +2088 -991
  134. package/dist/generated/assets/cldr/sv.json +1508 -445
  135. package/dist/generated/assets/cldr/th.json +1313 -237
  136. package/dist/generated/assets/cldr/tr.json +1549 -436
  137. package/dist/generated/assets/cldr/uk.json +1619 -520
  138. package/dist/generated/assets/cldr/vi.json +1423 -429
  139. package/dist/generated/assets/cldr/zh_CN.json +1425 -342
  140. package/dist/generated/assets/cldr/zh_HK.json +1396 -312
  141. package/dist/generated/assets/cldr/zh_SG.json +1401 -317
  142. package/dist/generated/assets/cldr/zh_TW.json +1256 -193
  143. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  144. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  145. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  146. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  147. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  148. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  149. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  150. package/dist/generated/json-imports/LocaleData.js +89 -89
  151. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  152. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  153. package/dist/getCachedLocaleDataInstance.js +6 -9
  154. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  155. package/dist/locale/getLocaleData.d.ts +11 -0
  156. package/dist/locale/getLocaleData.js +13 -17
  157. package/dist/locale/getLocaleData.js.map +1 -0
  158. package/dist/sap/base/Event.js +59 -0
  159. package/dist/sap/base/Eventing.js +146 -0
  160. package/dist/sap/base/Log.js +2 -240
  161. package/dist/sap/base/assert.js +31 -5
  162. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  163. package/dist/sap/base/config.js +17 -0
  164. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  165. package/dist/sap/base/i18n/Formatting.js +11 -0
  166. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  167. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  168. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  169. package/dist/sap/base/i18n/Localization.js +12 -0
  170. package/dist/sap/base/i18n/Localization.js.map +1 -0
  171. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  172. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  173. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  174. package/dist/sap/base/strings/camelize.js +30 -0
  175. package/dist/sap/base/strings/formatMessage.js +88 -15
  176. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  177. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  178. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  179. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  180. package/dist/sap/base/util/ObjectPath.js +4 -33
  181. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  182. package/dist/sap/base/util/Version.js +157 -0
  183. package/dist/sap/base/util/_merge.js +83 -26
  184. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  185. package/dist/sap/base/util/deepClone.js +102 -0
  186. package/dist/sap/base/util/deepEqual.js +75 -51
  187. package/dist/sap/base/util/extend.js +58 -7
  188. package/dist/sap/base/util/isEmptyObject.js +34 -0
  189. package/dist/sap/base/util/isPlainObject.js +35 -1
  190. package/dist/sap/base/util/now.js +24 -3
  191. package/dist/sap/base/util/resolveReference.js +3 -0
  192. package/dist/sap/base/util/uid.js +27 -0
  193. package/dist/sap/ui/base/DataType.js +657 -0
  194. package/dist/sap/ui/base/Interface.js +47 -1
  195. package/dist/sap/ui/base/Metadata.js +435 -171
  196. package/dist/sap/ui/base/Object.js +284 -48
  197. package/dist/sap/ui/core/CalendarType.js +24 -8
  198. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  199. package/dist/sap/ui/core/Configuration.js +23 -0
  200. package/dist/sap/ui/core/Configuration.js.map +1 -0
  201. package/dist/sap/ui/core/Core.d.ts +25 -0
  202. package/dist/sap/ui/core/Core.js +7 -32
  203. package/dist/sap/ui/core/Core.js.map +1 -0
  204. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  205. package/dist/sap/ui/core/FormatSettings.js +12 -0
  206. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  207. package/dist/sap/ui/core/Locale.js +190 -142
  208. package/dist/sap/ui/core/LocaleData.js +2665 -1202
  209. package/dist/sap/ui/core/Supportability.js +5 -0
  210. package/dist/sap/ui/core/Theming.js +539 -0
  211. package/dist/sap/ui/core/date/Buddhist.js +162 -93
  212. package/dist/sap/ui/core/date/CalendarUtils.js +65 -0
  213. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  214. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  215. package/dist/sap/ui/core/date/Islamic.js +298 -185
  216. package/dist/sap/ui/core/date/Japanese.js +212 -117
  217. package/dist/sap/ui/core/date/Persian.js +324 -195
  218. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  219. package/dist/sap/ui/core/date/UniversalDate.js +1251 -211
  220. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  221. package/dist/sap/ui/core/format/DateFormat.js +3163 -1794
  222. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -0
  223. package/package-scripts.cjs +35 -0
  224. package/package.json +21 -14
  225. package/tsconfig.json +24 -0
  226. package/used-modules.txt +28 -2
  227. package/dist/Assets-static.js +0 -2
  228. package/dist/dates/calculateWeekNumber.js +0 -51
  229. package/dist/generated/json-imports/LocaleData-static.js +0 -90
  230. package/dist/sap/ui/Device.js +0 -5
  231. package/hash.txt +0 -1
  232. package/package-scripts.js +0 -40
  233. package/src/Assets-static.js +0 -2
  234. package/src/Assets.js +0 -2
  235. package/src/DateFormat.js +0 -3
  236. package/src/LocaleData.js +0 -3
  237. package/src/dates/CalendarDate.js +0 -223
  238. package/src/dates/ExtremeDates.js +0 -39
  239. package/src/dates/calculateWeekNumber.js +0 -51
  240. package/src/dates/getRoundedTimestamp.js +0 -14
  241. package/src/dates/getTodayUTCTimestamp.js +0 -9
  242. package/src/dates/modifyDateBy.js +0 -42
  243. package/src/getCachedLocaleDataInstance.js +0 -13
  244. package/src/locale/getLocaleData.js +0 -27
  245. package/src/sap/base/util/LoaderExtensions.js +0 -17
  246. package/src/sap/ui/core/Core.js +0 -38
  247. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  248. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  249. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  250. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  251. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  252. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The `Assets-node` entry point is used to import CLDR assets.
3
+ *
4
+ * It serves as an alternative to the `Assets` and `Assets-fetch` modules and supports
5
+ * the `with: { type: 'json' }` import attribute for loading JSON files.
6
+ * This import attribute is required in some environments, such as Node.js with server-side rendering (SSR).
7
+ *
8
+ * Example usage:
9
+ * await import("../assets/i18n/messagebundle_bg.json", { with: { type: 'json' } })
10
+ */
11
+ import "./generated/json-imports/LocaleData-node.js";
12
+ //# sourceMappingURL=Assets-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Assets-node.js","sourceRoot":"","sources":["../src/Assets-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,6CAA6C,CAAC","sourcesContent":["/**\n * The `Assets-node` entry point is used to import CLDR assets.\n *\n * It serves as an alternative to the `Assets` and `Assets-fetch` modules and supports\n * the `with: { type: 'json' }` import attribute for loading JSON files.\n * This import attribute is required in some environments, such as Node.js with server-side rendering (SSR).\n *\n * Example usage:\n * await import(\"../assets/i18n/messagebundle_bg.json\", { with: { type: 'json' } })\n */\n\nimport \"./generated/json-imports/LocaleData-node.js\";\n"]}
@@ -0,0 +1 @@
1
+ import "./generated/json-imports/LocaleData.js";
package/dist/Assets.js CHANGED
@@ -1,2 +1,3 @@
1
1
  // Currently the base package provides CLDR assets only
2
2
  import "./generated/json-imports/LocaleData.js";
3
+ //# sourceMappingURL=Assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Assets.js","sourceRoot":"","sources":["../src/Assets.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,wCAAwC,CAAC","sourcesContent":["// Currently the base package provides CLDR assets only\nimport \"./generated/json-imports/LocaleData.js\";\n"]}
@@ -0,0 +1,3 @@
1
+ import type CaledndarUtilsOpenui5T from "sap/ui/core/date/CalendarUtils";
2
+ declare const CalendarUtils: CaledndarUtilsOpenui5T;
3
+ export default CalendarUtils;
@@ -0,0 +1,6 @@
1
+ // @ts-ignore
2
+ import CalendarUtilsNative from "./sap/ui/core/date/CalendarUtils.js";
3
+ const CalendarUtilsWrapped = CalendarUtilsNative;
4
+ const CalendarUtils = CalendarUtilsWrapped;
5
+ export default CalendarUtils;
6
+ //# sourceMappingURL=CalendarUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarUtils.js","sourceRoot":"","sources":["../src/CalendarUtils.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAEtE,MAAM,oBAAoB,GAAG,mBAAoD,CAAC;AAClF,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,eAAe,aAAa,CAAC","sourcesContent":["import type CaledndarUtilsOpenui5T from \"sap/ui/core/date/CalendarUtils\";\n// @ts-ignore\nimport CalendarUtilsNative from \"./sap/ui/core/date/CalendarUtils.js\";\n\nconst CalendarUtilsWrapped = CalendarUtilsNative as typeof CaledndarUtilsOpenui5T;\nconst CalendarUtils = CalendarUtilsWrapped;\n\nexport default CalendarUtils;\n"]}
@@ -0,0 +1,5 @@
1
+ import type DateFormatT from "sap/ui/core/format/DateFormat";
2
+ declare const DateFormatWrapped: typeof DateFormatT;
3
+ declare class DateFormat extends DateFormatWrapped {
4
+ }
5
+ export default DateFormat;
@@ -1,3 +1,7 @@
1
- import DateFormat from "./sap/ui/core/format/DateFormat.js";
2
-
1
+ // @ts-ignore
2
+ import DateFormatNative from "./sap/ui/core/format/DateFormat.js";
3
+ const DateFormatWrapped = DateFormatNative;
4
+ class DateFormat extends DateFormatWrapped {
5
+ }
3
6
  export default DateFormat;
7
+ //# sourceMappingURL=DateFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateFormat.js","sourceRoot":"","sources":["../src/DateFormat.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAElE,MAAM,iBAAiB,GAAG,gBAAsC,CAAC;AACjE,MAAM,UAAW,SAAQ,iBAAiB;CAAG;AAE7C,eAAe,UAAU,CAAC","sourcesContent":["import type DateFormatT from \"sap/ui/core/format/DateFormat\";\n// @ts-ignore\nimport DateFormatNative from \"./sap/ui/core/format/DateFormat.js\";\n\nconst DateFormatWrapped = DateFormatNative as typeof DateFormatT;\nclass DateFormat extends DateFormatWrapped {}\n\nexport default DateFormat;\n"]}
@@ -0,0 +1,5 @@
1
+ import type LocaleDataOpenUI5T from "sap/ui/core/LocaleData";
2
+ declare const LocaleDataWrapped: typeof LocaleDataOpenUI5T;
3
+ declare class LocaleData extends LocaleDataWrapped {
4
+ }
5
+ export default LocaleData;
@@ -1,3 +1,7 @@
1
- import LocaleData from "./sap/ui/core/LocaleData.js";
2
-
1
+ // @ts-ignore
2
+ import LocaleDataNative from "./sap/ui/core/LocaleData.js";
3
+ const LocaleDataWrapped = LocaleDataNative;
4
+ class LocaleData extends LocaleDataWrapped {
5
+ }
3
6
  export default LocaleData;
7
+ //# sourceMappingURL=LocaleData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocaleData.js","sourceRoot":"","sources":["../src/LocaleData.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAE3D,MAAM,iBAAiB,GAAG,gBAA6C,CAAC;AACxE,MAAM,UAAW,SAAQ,iBAAiB;CAAG;AAE7C,eAAe,UAAU,CAAC","sourcesContent":["import type LocaleDataOpenUI5T from \"sap/ui/core/LocaleData\";\n// @ts-ignore\nimport LocaleDataNative from \"./sap/ui/core/LocaleData.js\";\n\nconst LocaleDataWrapped = LocaleDataNative as typeof LocaleDataOpenUI5T;\nclass LocaleData extends LocaleDataWrapped {}\n\nexport default LocaleData;\n"]}
@@ -0,0 +1,42 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ import UI5Date from "./UI5Date.js";
3
+ import UniversalDate from "./UniversalDate.js";
4
+ declare class CalendarDate {
5
+ _oUDate: UI5Date | Date | UniversalDate;
6
+ constructor(year?: number | CalendarDate, month?: number | string, date?: number, calendarType?: string);
7
+ getYear(): number;
8
+ setYear(year: number): this;
9
+ getMonth(): number;
10
+ /**
11
+ * Sets the given month as ordinal month of the year.
12
+ * @param {int} month An integer between 0 and 11, representing the months January through December( or their
13
+ * equivalent month names for the given calendar).
14
+ * If the specified value is is outside of the expected range, this method attempts to update the date information
15
+ * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
16
+ * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
17
+ * 0 will result in the previous month's last day.
18
+ * -1 will result in the day before the previous month's last day.
19
+ * 32 will result in:
20
+ * - first day of the next month if the current month has 31 days.
21
+ * - second day of the next month if the current month has 30 days.
22
+ * Other value will result in adding or subtracting days according to the given value.
23
+ * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
24
+ */
25
+ setMonth(month: number, date?: number): this;
26
+ getDate(): number;
27
+ setDate(date: number): this;
28
+ getDay(): number;
29
+ getCalendarType(): string;
30
+ isBefore(oCalendarDate: CalendarDate): boolean;
31
+ isAfter(oCalendarDate: CalendarDate): boolean;
32
+ isSameOrBefore(oCalendarDate: CalendarDate): boolean;
33
+ isSameOrAfter(oCalendarDate: CalendarDate): boolean;
34
+ isSame(oCalendarDate: CalendarDate): boolean;
35
+ toLocalJSDate(): import("sap/ui/core/date/UI5Date").default | Date;
36
+ toUTCJSDate(): import("sap/ui/core/date/UI5Date").default | Date;
37
+ toString(): string;
38
+ valueOf(): number;
39
+ static fromLocalJSDate(oJSDate: Date | UI5Date, sCalendarType?: `${CalendarType}`): CalendarDate;
40
+ static fromTimestamp(iTimestamp: number, sCalendarType?: `${CalendarType}`): CalendarDate;
41
+ }
42
+ export default CalendarDate;
@@ -1,213 +1,183 @@
1
- import UniversalDate from "../sap/ui/core/date/UniversalDate.js";
2
-
1
+ import UI5Date from "./UI5Date.js";
2
+ import UniversalDate from "./UniversalDate.js";
3
3
  class CalendarDate {
4
- constructor() {
5
- let aArgs = arguments, // eslint-disable-line
6
- oJSDate,
7
- oNow,
8
- sCalendarType;
9
-
10
- switch (aArgs.length) {
11
- case 0: // defaults to the current date
12
- oNow = new Date();
13
- return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
14
-
15
- case 1: // CalendarDate
16
- case 2: // CalendarDate, sCalendarType
17
- if (!(aArgs[0] instanceof CalendarDate)) {
18
- throw new Error("Invalid arguments: the first argument must be of type sap.ui.unified.calendar.CalendarDate.");
19
- }
20
- sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
21
- // Use source.valueOf() (returns the same point of time regardless calendar type) instead of
22
- // source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
23
- oJSDate = new Date(aArgs[0].valueOf());
24
-
25
- // Make this date really local. Now getters are safe.
26
- oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
27
- oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
28
-
29
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
30
- break;
31
-
32
- case 3: // year, month, date
33
- case 4: // year, month, date, sCalendarType
34
- checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
35
- checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
36
- checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
37
-
38
- oJSDate = new Date(0, 0, 1);
39
- oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
40
-
41
- if (aArgs[3]) {
42
- sCalendarType = aArgs[3];
43
- }
44
- this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
45
- break;
46
-
47
- default:
48
- throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
49
- + "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
50
- }
51
- }
52
-
53
- getYear() {
54
- return this._oUDate.getUTCFullYear();
55
- }
56
-
57
- setYear(year) {
58
- checkNumericLike(year, `Invalid year: ${year}`);
59
- this._oUDate.setUTCFullYear(year);
60
- return this;
61
- }
62
-
63
- getMonth() {
64
- return this._oUDate.getUTCMonth();
65
- }
66
-
67
- /**
68
- * Sets the given month as ordinal month of the year.
69
- * @param {int} month An integer between 0 and 11, representing the months January through December( or their
70
- * equivalent month names for the given calendar).
71
- * If the specified value is is outside of the expected range, this method attempts to update the date information
72
- * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
73
- * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
74
- * 0 will result in the previous month's last day.
75
- * -1 will result in the day before the previous month's last day.
76
- * 32 will result in:
77
- * - first day of the next month if the current month has 31 days.
78
- * - second day of the next month if the current month has 30 days.
79
- * Other value will result in adding or subtracting days according to the given value.
80
- * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
81
- */
82
- setMonth(month, date) {
83
- checkNumericLike(month, `Invalid month: ${month}`);
84
- if (date || date === 0) {
85
- checkNumericLike(date, `Invalid date: ${date}`);
86
- this._oUDate.setUTCMonth(month, date);
87
- } else {
88
- this._oUDate.setUTCMonth(month);
89
- }
90
- return this;
91
- }
92
-
93
- getDate() {
94
- return this._oUDate.getUTCDate();
95
- }
96
-
97
- setDate(date) {
98
- checkNumericLike(date, `Invalid date: ${date}`);
99
- this._oUDate.setUTCDate(date);
100
- return this;
101
- }
102
-
103
- getDay() {
104
- return this._oUDate.getUTCDay();
105
- }
106
-
107
- getCalendarType() {
108
- return this._oUDate.sCalendarType;
109
- }
110
-
111
- isBefore(oCalendarDate) {
112
- checkCalendarDate(oCalendarDate);
113
- return this.valueOf() < oCalendarDate.valueOf();
114
- }
115
-
116
- isAfter(oCalendarDate) {
117
- checkCalendarDate(oCalendarDate);
118
- return this.valueOf() > oCalendarDate.valueOf();
119
- }
120
-
121
- isSameOrBefore(oCalendarDate) {
122
- checkCalendarDate(oCalendarDate);
123
- return this.valueOf() <= oCalendarDate.valueOf();
124
- }
125
-
126
- isSameOrAfter(oCalendarDate) {
127
- checkCalendarDate(oCalendarDate);
128
- return this.valueOf() >= oCalendarDate.valueOf();
129
- }
130
-
131
- isSame(oCalendarDate) {
132
- checkCalendarDate(oCalendarDate);
133
- return this.valueOf() === oCalendarDate.valueOf();
134
- }
135
-
136
- toLocalJSDate() {
137
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
138
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
139
- const oLocalDate = new Date(this._oUDate.getTime());
140
-
141
- // Make this date really local. Now getters are safe.
142
- oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
143
- oLocalDate.setHours(0, 0, 0, 0);
144
-
145
- return oLocalDate;
146
- }
147
-
148
- toUTCJSDate() {
149
- // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
150
- // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
151
- const oUTCDate = new Date(this._oUDate.getTime());
152
- oUTCDate.setUTCHours(0, 0, 0, 0);
153
-
154
- return oUTCDate;
155
- }
156
-
157
- toString() {
158
- return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
159
- }
160
-
161
- valueOf() {
162
- return this._oUDate.getTime();
163
- }
164
-
165
- static fromLocalJSDate(oJSDate, sCalendarType) {
166
- // Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
167
- // because Date object in the test is different than the Date object in the application (due to the iframe).
168
- // We can use jQuery.type or this method:
169
- function isValidDate(date) {
170
- return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
171
- }
172
- if (!isValidDate(oJSDate)) {
173
- throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
174
- }
175
- return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
176
- }
177
-
178
- static fromTimestamp(iTimestamp, sCalendarType) {
179
- const oCalDate = new CalendarDate(0, 0, 1);
180
- oCalDate._oUDate = UniversalDate.getInstance(new Date(iTimestamp), sCalendarType);
181
- return oCalDate;
182
- }
4
+ constructor(year, month, date, calendarType) {
5
+ let aArgs = arguments, // eslint-disable-line
6
+ oJSDate, oNow, sCalendarType;
7
+ switch (aArgs.length) {
8
+ case 0: // defaults to the current date
9
+ oNow = UI5Date.getInstance();
10
+ return this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate());
11
+ case 1: // CalendarDate
12
+ case 2: // CalendarDate, sCalendarType
13
+ if (!(aArgs[0] instanceof CalendarDate)) {
14
+ throw new Error("Invalid arguments: the first argument must be of type CalendarDate.");
15
+ }
16
+ sCalendarType = aArgs[1] ? aArgs[1] : aArgs[0]._oUDate.sCalendarType;
17
+ // Use source.valueOf() (returns the same point of time regardless calendar type) instead of
18
+ // source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date
19
+ oJSDate = UI5Date.getInstance(aArgs[0].valueOf());
20
+ // Make this date really local. Now getters are safe.
21
+ oJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());
22
+ oJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());
23
+ this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
24
+ break;
25
+ case 3: // year, month, date
26
+ case 4: // year, month, date, sCalendarType
27
+ checkNumericLike(aArgs[0], `Invalid year: ${aArgs[0]}`);
28
+ checkNumericLike(aArgs[1], `Invalid month: ${aArgs[1]}`);
29
+ checkNumericLike(aArgs[2], `Invalid date: ${aArgs[2]}`);
30
+ oJSDate = UI5Date.getInstance(0, 0, 1);
31
+ oJSDate.setFullYear(aArgs[0], aArgs[1], aArgs[2]); // 2 digits year is not supported. If so, it is considered as full year as well.
32
+ if (aArgs[3]) {
33
+ sCalendarType = aArgs[3];
34
+ }
35
+ this._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);
36
+ break;
37
+ default:
38
+ throw new Error(`${"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType"
39
+ + "or 2) year, month, date, (optional) calendarType"}${aArgs}`);
40
+ }
41
+ }
42
+ getYear() {
43
+ return this._oUDate.getUTCFullYear();
44
+ }
45
+ setYear(year) {
46
+ checkNumericLike(year, `Invalid year: ${year}`);
47
+ this._oUDate.setUTCFullYear(year);
48
+ return this;
49
+ }
50
+ getMonth() {
51
+ return this._oUDate.getUTCMonth();
52
+ }
53
+ /**
54
+ * Sets the given month as ordinal month of the year.
55
+ * @param {int} month An integer between 0 and 11, representing the months January through December( or their
56
+ * equivalent month names for the given calendar).
57
+ * If the specified value is is outside of the expected range, this method attempts to update the date information
58
+ * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.
59
+ * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.
60
+ * 0 will result in the previous month's last day.
61
+ * -1 will result in the day before the previous month's last day.
62
+ * 32 will result in:
63
+ * - first day of the next month if the current month has 31 days.
64
+ * - second day of the next month if the current month has 30 days.
65
+ * Other value will result in adding or subtracting days according to the given value.
66
+ * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.
67
+ */
68
+ setMonth(month, date) {
69
+ checkNumericLike(month, `Invalid month: ${month}`);
70
+ if (date || date === 0) {
71
+ checkNumericLike(date, `Invalid date: ${date}`);
72
+ this._oUDate.setUTCMonth(month, date);
73
+ }
74
+ else {
75
+ this._oUDate.setUTCMonth(month);
76
+ }
77
+ return this;
78
+ }
79
+ getDate() {
80
+ return this._oUDate.getUTCDate();
81
+ }
82
+ setDate(date) {
83
+ checkNumericLike(date, `Invalid date: ${date}`);
84
+ this._oUDate.setUTCDate(date);
85
+ return this;
86
+ }
87
+ getDay() {
88
+ return this._oUDate.getUTCDay();
89
+ }
90
+ getCalendarType() {
91
+ return this._oUDate.sCalendarType;
92
+ }
93
+ isBefore(oCalendarDate) {
94
+ checkCalendarDate(oCalendarDate);
95
+ return this.valueOf() < oCalendarDate.valueOf();
96
+ }
97
+ isAfter(oCalendarDate) {
98
+ checkCalendarDate(oCalendarDate);
99
+ return this.valueOf() > oCalendarDate.valueOf();
100
+ }
101
+ isSameOrBefore(oCalendarDate) {
102
+ checkCalendarDate(oCalendarDate);
103
+ return this.valueOf() <= oCalendarDate.valueOf();
104
+ }
105
+ isSameOrAfter(oCalendarDate) {
106
+ checkCalendarDate(oCalendarDate);
107
+ return this.valueOf() >= oCalendarDate.valueOf();
108
+ }
109
+ isSame(oCalendarDate) {
110
+ checkCalendarDate(oCalendarDate);
111
+ return this.valueOf() === oCalendarDate.valueOf();
112
+ }
113
+ toLocalJSDate() {
114
+ // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
115
+ // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
116
+ const oLocalDate = UI5Date.getInstance(this._oUDate.getTime());
117
+ // Make this date really local. Now getters are safe.
118
+ oLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());
119
+ oLocalDate.setHours(0, 0, 0, 0);
120
+ return oLocalDate;
121
+ }
122
+ toUTCJSDate() {
123
+ // Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of
124
+ // this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date
125
+ const oUTCDate = UI5Date.getInstance(this._oUDate.getTime());
126
+ oUTCDate.setUTCHours(0, 0, 0, 0);
127
+ return oUTCDate;
128
+ }
129
+ toString() {
130
+ return `${this._oUDate.sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;
131
+ }
132
+ valueOf() {
133
+ return this._oUDate.getTime();
134
+ }
135
+ static fromLocalJSDate(oJSDate, sCalendarType) {
136
+ // Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests
137
+ // because Date object in the test is different than the Date object in the application (due to the iframe).
138
+ // We can use jQuery.type or this method:
139
+ function isValidDate(date) {
140
+ return date && Object.prototype.toString.call(date) === "[object Date]" && !isNaN(date); // eslint-disable-line
141
+ }
142
+ if (!isValidDate(oJSDate)) {
143
+ throw new Error(`Date parameter must be a JavaScript Date object: [${oJSDate}].`);
144
+ }
145
+ return new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);
146
+ }
147
+ static fromTimestamp(iTimestamp, sCalendarType) {
148
+ const oCalDate = new CalendarDate(0, 0, 1);
149
+ let oUDate;
150
+ try {
151
+ oUDate = UniversalDate.getInstance(UI5Date.getInstance(iTimestamp), sCalendarType);
152
+ }
153
+ catch (e) {
154
+ oUDate = new Date(NaN); // UniversalDate.getInstance may now throw an Exception - keep the old behavior
155
+ }
156
+ oCalDate._oUDate = oUDate;
157
+ return oCalDate;
158
+ }
183
159
  }
184
-
185
160
  function createUniversalUTCDate(oDate, sCalendarType) {
186
- if (sCalendarType) {
187
- return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
188
- }
189
- return new UniversalDate(createUTCDate(oDate).getTime());
161
+ if (sCalendarType) {
162
+ return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
163
+ }
164
+ return new UniversalDate(createUTCDate(oDate).getTime());
190
165
  }
191
-
192
166
  /**
193
167
  * Creates a JavaScript UTC Date corresponding to the given JavaScript Date.
194
168
  * @param {Date} oDate JavaScript date object. Time related information is cut.
195
169
  * @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.
196
170
  */
197
171
  function createUTCDate(oDate) {
198
- const oUTCDate = new Date(Date.UTC(0, 0, 1));
199
-
200
- oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
201
-
202
- return oUTCDate;
172
+ const oUTCDate = new Date(Date.UTC(0, 0, 1)); // no need to replace with UI5Date as we are creating a new UTC date object
173
+ oUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());
174
+ return oUTCDate;
203
175
  }
204
-
205
176
  function checkCalendarDate(oCalendarDate) {
206
- if (!(oCalendarDate instanceof CalendarDate)) {
207
- throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: sap.ui.unified.calendar.CalendarDate`);
208
- }
177
+ if (!(oCalendarDate instanceof CalendarDate)) {
178
+ throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: CalendarDate`);
179
+ }
209
180
  }
210
-
211
181
  /**
212
182
  * Verifies the given value is numeric like, i.e. 3, "3" and throws an error if it is not.
213
183
  * @param {any} value The value of any type to check. If null or undefined, this method throws an error.
@@ -215,9 +185,9 @@ function checkCalendarDate(oCalendarDate) {
215
185
  * @throws will throw an error if the value is null or undefined or is not like a number
216
186
  */
217
187
  function checkNumericLike(value, message) {
218
- if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
219
- throw message;
220
- }
188
+ if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
189
+ throw message;
190
+ }
221
191
  }
222
-
223
192
  export default CalendarDate;
193
+ //# sourceMappingURL=CalendarDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalendarDate.js","sourceRoot":"","sources":["../../src/dates/CalendarDate.ts"],"names":[],"mappings":"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","sourcesContent":["import type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport UI5Date from \"./UI5Date.js\";\nimport UniversalDate from \"./UniversalDate.js\";\n\nclass CalendarDate {\n\t_oUDate!: UI5Date | Date | UniversalDate;\n\n\tconstructor(year?: number | CalendarDate, month?: number | string, date?: number, calendarType?: string) { // eslint-disable-line\n\t\tlet aArgs = arguments, // eslint-disable-line\n\t\t\toJSDate: UI5Date | Date,\n\t\t\toNow: UI5Date | Date,\n\t\t\tsCalendarType!: CalendarType;\n\n\t\tswitch (aArgs.length) {\n\t\tcase 0: // defaults to the current date\n\t\t\toNow = UI5Date.getInstance();\n\t\t\treturn (this.constructor(oNow.getFullYear(), oNow.getMonth(), oNow.getDate()) as CalendarDate);\n\n\t\tcase 1: // CalendarDate\n\t\tcase 2: // CalendarDate, sCalendarType\n\t\t\tif (!(aArgs[0] instanceof CalendarDate)) {\n\t\t\t\tthrow new Error(\"Invalid arguments: the first argument must be of type CalendarDate.\");\n\t\t\t}\n\t\t\tsCalendarType = aArgs[1] ? aArgs[1] : (aArgs[0]._oUDate as UniversalDate).sCalendarType;\n\t\t\t// Use source.valueOf() (returns the same point of time regardless calendar type) instead of\n\t\t\t// source's getters to avoid non-gregorian Year, Month and Date may be used to construct a Gregorian date\n\t\t\toJSDate = UI5Date.getInstance(aArgs[0].valueOf());\n\n\t\t\t// Make this date really local. Now getters are safe.\n\t\t\toJSDate.setFullYear(oJSDate.getUTCFullYear(), oJSDate.getUTCMonth(), oJSDate.getUTCDate());\n\t\t\toJSDate.setHours(oJSDate.getUTCHours(), oJSDate.getUTCMinutes(), oJSDate.getUTCSeconds(), oJSDate.getUTCMilliseconds());\n\n\t\t\tthis._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);\n\t\t\tbreak;\n\n\t\tcase 3: // year, month, date\n\t\tcase 4: // year, month, date, sCalendarType\n\t\t\tcheckNumericLike(aArgs[0] as number, `Invalid year: ${aArgs[0] as number}`);\n\t\t\tcheckNumericLike(aArgs[1] as number, `Invalid month: ${aArgs[1] as number}`);\n\t\t\tcheckNumericLike(aArgs[2] as number, `Invalid date: ${aArgs[2] as number}`);\n\n\t\t\toJSDate = UI5Date.getInstance(0, 0, 1);\n\t\t\toJSDate.setFullYear(aArgs[0] as number, aArgs[1] as number, aArgs[2] as number); // 2 digits year is not supported. If so, it is considered as full year as well.\n\n\t\t\tif (aArgs[3]) {\n\t\t\t\tsCalendarType = aArgs[3];\n\t\t\t}\n\t\t\tthis._oUDate = createUniversalUTCDate(oJSDate, sCalendarType);\n\t\t\tbreak;\n\n\t\tdefault:\n\t\t\tthrow new Error(`${\"Invalid arguments. Accepted arguments are: 1) oCalendarDate, (optional)calendarType\"\n\t\t\t\t+ \"or 2) year, month, date, (optional) calendarType\"}${aArgs as unknown as string}`);\n\t\t}\n\t}\n\n\tgetYear() {\n\t\treturn this._oUDate.getUTCFullYear();\n\t}\n\n\tsetYear(year: number) {\n\t\tcheckNumericLike(year, `Invalid year: ${year}`);\n\t\tthis._oUDate.setUTCFullYear(year);\n\t\treturn this;\n\t}\n\n\tgetMonth() {\n\t\treturn this._oUDate.getUTCMonth();\n\t}\n\n\t/**\n\t * Sets the given month as ordinal month of the year.\n\t * @param {int} month An integer between 0 and 11, representing the months January through December( or their\n\t * equivalent month names for the given calendar).\n\t * If the specified value is is outside of the expected range, this method attempts to update the date information\n\t * accordingly. For example, if 12 is given as a month, the year will be incremented by 1, and 1 will be used for month.\n\t * @param {int} [date] An integer between 1 and 31, representing the day of the month, but other values are allowed.\n\t * 0 will result in the previous month's last day.\n\t * -1 will result in the day before the previous month's last day.\n\t * 32 will result in:\n\t * - first day of the next month if the current month has 31 days.\n\t * - second day of the next month if the current month has 30 days.\n\t * Other value will result in adding or subtracting days according to the given value.\n\t * @returns {sap.ui.unified.calendar.CalendarDate} <code>this</code> for method chaining.\n\t */\n\tsetMonth(month: number, date?: number) {\n\t\tcheckNumericLike(month, `Invalid month: ${month}`);\n\t\tif (date || date === 0) {\n\t\t\tcheckNumericLike(date, `Invalid date: ${date}`);\n\t\t\tthis._oUDate.setUTCMonth(month, date);\n\t\t} else {\n\t\t\tthis._oUDate.setUTCMonth(month);\n\t\t}\n\t\treturn this;\n\t}\n\n\tgetDate() {\n\t\treturn this._oUDate.getUTCDate();\n\t}\n\n\tsetDate(date: number) {\n\t\tcheckNumericLike(date, `Invalid date: ${date}`);\n\t\tthis._oUDate.setUTCDate(date);\n\t\treturn this;\n\t}\n\n\tgetDay() {\n\t\treturn this._oUDate.getUTCDay();\n\t}\n\n\tgetCalendarType() {\n\t\treturn (this._oUDate as UniversalDate).sCalendarType;\n\t}\n\n\tisBefore(oCalendarDate: CalendarDate) {\n\t\tcheckCalendarDate(oCalendarDate);\n\t\treturn this.valueOf() < oCalendarDate.valueOf();\n\t}\n\n\tisAfter(oCalendarDate: CalendarDate) {\n\t\tcheckCalendarDate(oCalendarDate);\n\t\treturn this.valueOf() > oCalendarDate.valueOf();\n\t}\n\n\tisSameOrBefore(oCalendarDate: CalendarDate) {\n\t\tcheckCalendarDate(oCalendarDate);\n\t\treturn this.valueOf() <= oCalendarDate.valueOf();\n\t}\n\n\tisSameOrAfter(oCalendarDate: CalendarDate) {\n\t\tcheckCalendarDate(oCalendarDate);\n\t\treturn this.valueOf() >= oCalendarDate.valueOf();\n\t}\n\n\tisSame(oCalendarDate: CalendarDate) {\n\t\tcheckCalendarDate(oCalendarDate);\n\t\treturn this.valueOf() === oCalendarDate.valueOf();\n\t}\n\n\ttoLocalJSDate() {\n\t\t// Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of\n\t\t// this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date\n\t\tconst oLocalDate = UI5Date.getInstance(this._oUDate.getTime());\n\n\t\t// Make this date really local. Now getters are safe.\n\t\toLocalDate.setFullYear(oLocalDate.getUTCFullYear(), oLocalDate.getUTCMonth(), oLocalDate.getUTCDate());\n\t\toLocalDate.setHours(0, 0, 0, 0);\n\n\t\treturn oLocalDate;\n\t}\n\n\ttoUTCJSDate() {\n\t\t// Use this._oUDate.getTime()(returns the same point of time regardless calendar type) instead of\n\t\t// this._oUDate's getters to avoid non-gregorian Year, Month and Date to be used to construct a Gregorian date\n\t\tconst oUTCDate = UI5Date.getInstance(this._oUDate.getTime());\n\t\toUTCDate.setUTCHours(0, 0, 0, 0);\n\n\t\treturn oUTCDate;\n\t}\n\n\ttoString() {\n\t\treturn `${(this._oUDate as UniversalDate).sCalendarType}: ${this.getYear()}/${this.getMonth() + 1}/${this.getDate()}`;\n\t}\n\n\tvalueOf() {\n\t\treturn this._oUDate.getTime();\n\t}\n\n\tstatic fromLocalJSDate(oJSDate: Date | UI5Date, sCalendarType?: `${CalendarType}`) {\n\t\t// Cross frame check for a date should be performed here otherwise setDateValue would fail in OPA tests\n\t\t// because Date object in the test is different than the Date object in the application (due to the iframe).\n\t\t// We can use jQuery.type or this method:\n\t\tfunction isValidDate(date: Date | UI5Date) {\n\t\t\treturn date && Object.prototype.toString.call(date) === \"[object Date]\" && !isNaN(date as unknown as number); // eslint-disable-line\n\t\t}\n\t\tif (!isValidDate(oJSDate)) {\n\t\t\tthrow new Error(`Date parameter must be a JavaScript Date object: [${oJSDate as unknown as string}].`);\n\t\t}\n\t\treturn new CalendarDate(oJSDate.getFullYear(), oJSDate.getMonth(), oJSDate.getDate(), sCalendarType);\n\t}\n\n\tstatic fromTimestamp(iTimestamp: number, sCalendarType?: `${CalendarType}`) {\n\t\tconst oCalDate = new CalendarDate(0, 0, 1);\n\t\tlet oUDate;\n\t\ttry {\n\t\t\toUDate = UniversalDate.getInstance(UI5Date.getInstance(iTimestamp), sCalendarType);\n\t\t} catch (e) {\n\t\t\toUDate = new Date(NaN); // UniversalDate.getInstance may now throw an Exception - keep the old behavior\n\t\t}\n\t\toCalDate._oUDate = oUDate;\n\t\treturn oCalDate;\n\t}\n}\n\nfunction createUniversalUTCDate(oDate: UI5Date | Date, sCalendarType: `${CalendarType}`) {\n\tif (sCalendarType) {\n\t\treturn UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);\n\t}\n\treturn new UniversalDate(createUTCDate(oDate).getTime());\n}\n\n/**\n * Creates a JavaScript UTC Date corresponding to the given JavaScript Date.\n * @param {Date} oDate JavaScript date object. Time related information is cut.\n * @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.\n */\nfunction createUTCDate(oDate: UI5Date | Date) {\n\tconst oUTCDate = new Date(Date.UTC(0, 0, 1)); // no need to replace with UI5Date as we are creating a new UTC date object\n\n\toUTCDate.setUTCFullYear(oDate.getFullYear(), oDate.getMonth(), oDate.getDate());\n\n\treturn oUTCDate;\n}\n\nfunction checkCalendarDate(oCalendarDate: CalendarDate) {\n\tif (!(oCalendarDate instanceof CalendarDate)) {\n\t\tthrow new Error(`Invalid calendar date: [${oCalendarDate as unknown as string}]. Expected: CalendarDate`);\n\t}\n}\n\n/**\n * Verifies the given value is numeric like, i.e. 3, \"3\" and throws an error if it is not.\n * @param {any} value The value of any type to check. If null or undefined, this method throws an error.\n * @param {string} message The message to be used if an error is to be thrown\n * @throws will throw an error if the value is null or undefined or is not like a number\n */\nfunction checkNumericLike(value: any, message: string) {\n\tif (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line\n\t\tthrow message;\n\t}\n}\n\nexport default CalendarDate;\n"]}
@@ -0,0 +1,5 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ import CalendarDate from "./CalendarDate.js";
3
+ declare const getMinCalendarDate: (primaryCalendarType: `${CalendarType}`) => CalendarDate;
4
+ declare const getMaxCalendarDate: (primaryCalendarType: `${CalendarType}`) => CalendarDate;
5
+ export { getMinCalendarDate, getMaxCalendarDate, };