@ui5/webcomponents-localization 0.0.0-037d08c67

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 (236) hide show
  1. package/.eslintignore +6 -0
  2. package/.eslintrc.cjs +3 -0
  3. package/.npsrc.json +3 -0
  4. package/CHANGELOG.md +2261 -0
  5. package/LICENSE.txt +201 -0
  6. package/README.md +51 -0
  7. package/dist/.tsbuildinfo +1 -0
  8. package/dist/Assets-fetch.d.ts +1 -0
  9. package/dist/Assets-fetch.js +3 -0
  10. package/dist/Assets-fetch.js.map +1 -0
  11. package/dist/Assets-node.d.ts +11 -0
  12. package/dist/Assets-node.js +12 -0
  13. package/dist/Assets-node.js.map +1 -0
  14. package/dist/Assets.d.ts +1 -0
  15. package/dist/Assets.js +3 -0
  16. package/dist/Assets.js.map +1 -0
  17. package/dist/CalendarUtils.d.ts +3 -0
  18. package/dist/CalendarUtils.js +6 -0
  19. package/dist/CalendarUtils.js.map +1 -0
  20. package/dist/DateFormat.d.ts +5 -0
  21. package/dist/DateFormat.js +7 -0
  22. package/dist/DateFormat.js.map +1 -0
  23. package/dist/LocaleData.d.ts +5 -0
  24. package/dist/LocaleData.js +7 -0
  25. package/dist/LocaleData.js.map +1 -0
  26. package/dist/NumberFormat.d.ts +5 -0
  27. package/dist/NumberFormat.js +7 -0
  28. package/dist/NumberFormat.js.map +1 -0
  29. package/dist/dates/CalendarDate.d.ts +42 -0
  30. package/dist/dates/CalendarDate.js +193 -0
  31. package/dist/dates/CalendarDate.js.map +1 -0
  32. package/dist/dates/ExtremeDates.d.ts +5 -0
  33. package/dist/dates/ExtremeDates.js +29 -0
  34. package/dist/dates/ExtremeDates.js.map +1 -0
  35. package/dist/dates/UI5Date.d.ts +5 -0
  36. package/dist/dates/UI5Date.js +7 -0
  37. package/dist/dates/UI5Date.js.map +1 -0
  38. package/dist/dates/UniversalDate.d.ts +47 -0
  39. package/dist/dates/UniversalDate.js +5 -0
  40. package/dist/dates/UniversalDate.js.map +1 -0
  41. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  42. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  43. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  44. package/dist/dates/getDaysInMonth.d.ts +3 -0
  45. package/dist/dates/getDaysInMonth.js +10 -0
  46. package/dist/dates/getDaysInMonth.js.map +1 -0
  47. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  48. package/dist/dates/getRoundedTimestamp.js +15 -0
  49. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  50. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  51. package/dist/dates/getTodayUTCTimestamp.js +9 -0
  52. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  53. package/dist/dates/modifyDateBy.d.ts +14 -0
  54. package/dist/dates/modifyDateBy.js +55 -0
  55. package/dist/dates/modifyDateBy.js.map +1 -0
  56. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  57. package/dist/dates/transformDateToSecondaryType.js +18 -0
  58. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  59. package/dist/features/calendar/Buddhist.d.ts +1 -0
  60. package/dist/features/calendar/Buddhist.js +2 -0
  61. package/dist/features/calendar/Buddhist.js.map +1 -0
  62. package/dist/features/calendar/Gregorian.d.ts +1 -0
  63. package/dist/features/calendar/Gregorian.js +2 -0
  64. package/dist/features/calendar/Gregorian.js.map +1 -0
  65. package/dist/features/calendar/Islamic.d.ts +1 -0
  66. package/dist/features/calendar/Islamic.js +2 -0
  67. package/dist/features/calendar/Islamic.js.map +1 -0
  68. package/dist/features/calendar/Japanese.d.ts +1 -0
  69. package/dist/features/calendar/Japanese.js +2 -0
  70. package/dist/features/calendar/Japanese.js.map +1 -0
  71. package/dist/features/calendar/Persian.d.ts +1 -0
  72. package/dist/features/calendar/Persian.js +2 -0
  73. package/dist/features/calendar/Persian.js.map +1 -0
  74. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +27 -0
  75. package/dist/generated/assets/cldr/ar.json +7087 -0
  76. package/dist/generated/assets/cldr/ar_EG.json +7087 -0
  77. package/dist/generated/assets/cldr/ar_SA.json +7086 -0
  78. package/dist/generated/assets/cldr/bg.json +5981 -0
  79. package/dist/generated/assets/cldr/ca.json +6083 -0
  80. package/dist/generated/assets/cldr/cnr.json +6169 -0
  81. package/dist/generated/assets/cldr/cs.json +6709 -0
  82. package/dist/generated/assets/cldr/cy.json +6932 -0
  83. package/dist/generated/assets/cldr/da.json +5927 -0
  84. package/dist/generated/assets/cldr/de.json +6048 -0
  85. package/dist/generated/assets/cldr/de_AT.json +6049 -0
  86. package/dist/generated/assets/cldr/de_CH.json +6047 -0
  87. package/dist/generated/assets/cldr/el.json +5832 -0
  88. package/dist/generated/assets/cldr/el_CY.json +5832 -0
  89. package/dist/generated/assets/cldr/en.json +6044 -0
  90. package/dist/generated/assets/cldr/en_AU.json +6084 -0
  91. package/dist/generated/assets/cldr/en_GB.json +6075 -0
  92. package/dist/generated/assets/cldr/en_HK.json +6084 -0
  93. package/dist/generated/assets/cldr/en_IE.json +6075 -0
  94. package/dist/generated/assets/cldr/en_IN.json +6080 -0
  95. package/dist/generated/assets/cldr/en_NZ.json +6075 -0
  96. package/dist/generated/assets/cldr/en_PG.json +6076 -0
  97. package/dist/generated/assets/cldr/en_SG.json +6080 -0
  98. package/dist/generated/assets/cldr/en_ZA.json +6076 -0
  99. package/dist/generated/assets/cldr/es.json +6103 -0
  100. package/dist/generated/assets/cldr/es_AR.json +6106 -0
  101. package/dist/generated/assets/cldr/es_BO.json +6105 -0
  102. package/dist/generated/assets/cldr/es_CL.json +5998 -0
  103. package/dist/generated/assets/cldr/es_CO.json +5998 -0
  104. package/dist/generated/assets/cldr/es_MX.json +6107 -0
  105. package/dist/generated/assets/cldr/es_PE.json +5889 -0
  106. package/dist/generated/assets/cldr/es_UY.json +5891 -0
  107. package/dist/generated/assets/cldr/es_VE.json +5890 -0
  108. package/dist/generated/assets/cldr/et.json +6027 -0
  109. package/dist/generated/assets/cldr/fa.json +5950 -0
  110. package/dist/generated/assets/cldr/fi.json +6195 -0
  111. package/dist/generated/assets/cldr/fr.json +5997 -0
  112. package/dist/generated/assets/cldr/fr_BE.json +5997 -0
  113. package/dist/generated/assets/cldr/fr_CA.json +5991 -0
  114. package/dist/generated/assets/cldr/fr_CH.json +6015 -0
  115. package/dist/generated/assets/cldr/fr_LU.json +5997 -0
  116. package/dist/generated/assets/cldr/he.json +6541 -0
  117. package/dist/generated/assets/cldr/hi.json +5859 -0
  118. package/dist/generated/assets/cldr/hr.json +6196 -0
  119. package/dist/generated/assets/cldr/hu.json +5945 -0
  120. package/dist/generated/assets/cldr/id.json +5730 -0
  121. package/dist/generated/assets/cldr/it.json +5986 -0
  122. package/dist/generated/assets/cldr/it_CH.json +5986 -0
  123. package/dist/generated/assets/cldr/ja.json +5889 -0
  124. package/dist/generated/assets/cldr/kk.json +5939 -0
  125. package/dist/generated/assets/cldr/ko.json +5770 -0
  126. package/dist/generated/assets/cldr/lt.json +6578 -0
  127. package/dist/generated/assets/cldr/lv.json +6114 -0
  128. package/dist/generated/assets/cldr/mk.json +6045 -0
  129. package/dist/generated/assets/cldr/ms.json +5564 -0
  130. package/dist/generated/assets/cldr/nb.json +6035 -0
  131. package/dist/generated/assets/cldr/nl.json +6202 -0
  132. package/dist/generated/assets/cldr/nl_BE.json +6202 -0
  133. package/dist/generated/assets/cldr/pl.json +6589 -0
  134. package/dist/generated/assets/cldr/pt.json +6115 -0
  135. package/dist/generated/assets/cldr/pt_PT.json +6180 -0
  136. package/dist/generated/assets/cldr/ro.json +6200 -0
  137. package/dist/generated/assets/cldr/ru.json +6503 -0
  138. package/dist/generated/assets/cldr/ru_UA.json +6503 -0
  139. package/dist/generated/assets/cldr/sk.json +6432 -0
  140. package/dist/generated/assets/cldr/sl.json +6444 -0
  141. package/dist/generated/assets/cldr/sr.json +6241 -0
  142. package/dist/generated/assets/cldr/sr_Latn.json +6226 -0
  143. package/dist/generated/assets/cldr/sv.json +6076 -0
  144. package/dist/generated/assets/cldr/th.json +5875 -0
  145. package/dist/generated/assets/cldr/tr.json +6094 -0
  146. package/dist/generated/assets/cldr/uk.json +6454 -0
  147. package/dist/generated/assets/cldr/vi.json +5669 -0
  148. package/dist/generated/assets/cldr/zh_CN.json +5717 -0
  149. package/dist/generated/assets/cldr/zh_HK.json +5726 -0
  150. package/dist/generated/assets/cldr/zh_SG.json +5726 -0
  151. package/dist/generated/assets/cldr/zh_TW.json +5793 -0
  152. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  153. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  154. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  155. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  156. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  157. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  158. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  159. package/dist/generated/json-imports/LocaleData.js +93 -0
  160. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  161. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  162. package/dist/getCachedLocaleDataInstance.js +10 -0
  163. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  164. package/dist/locale/getLocaleData.d.ts +11 -0
  165. package/dist/locale/getLocaleData.js +23 -0
  166. package/dist/locale/getLocaleData.js.map +1 -0
  167. package/dist/sap/base/Event.js +59 -0
  168. package/dist/sap/base/Eventing.js +146 -0
  169. package/dist/sap/base/Log.js +3 -0
  170. package/dist/sap/base/assert.js +34 -0
  171. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  172. package/dist/sap/base/config.js +17 -0
  173. package/dist/sap/base/i18n/Formatting.d.ts +8 -0
  174. package/dist/sap/base/i18n/Formatting.js +11 -0
  175. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  176. package/dist/sap/base/i18n/LanguageTag.js +173 -0
  177. package/dist/sap/base/i18n/Localization.d.ts +4 -0
  178. package/dist/sap/base/i18n/Localization.js +12 -0
  179. package/dist/sap/base/i18n/Localization.js.map +1 -0
  180. package/dist/sap/base/i18n/date/CalendarType.js +43 -0
  181. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +105 -0
  182. package/dist/sap/base/i18n/date/TimezoneUtils.js +319 -0
  183. package/dist/sap/base/strings/camelize.js +30 -0
  184. package/dist/sap/base/strings/formatMessage.js +93 -0
  185. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  186. package/dist/sap/base/util/LoaderExtensions.js +14 -0
  187. package/dist/sap/base/util/LoaderExtensions.js.map +1 -0
  188. package/dist/sap/base/util/ObjectPath.d.ts +4 -0
  189. package/dist/sap/base/util/ObjectPath.js +6 -0
  190. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  191. package/dist/sap/base/util/Version.js +157 -0
  192. package/dist/sap/base/util/_merge.js +89 -0
  193. package/dist/sap/base/util/array/uniqueSort.js +41 -0
  194. package/dist/sap/base/util/deepClone.js +102 -0
  195. package/dist/sap/base/util/deepEqual.js +83 -0
  196. package/dist/sap/base/util/extend.js +61 -0
  197. package/dist/sap/base/util/isEmptyObject.js +34 -0
  198. package/dist/sap/base/util/isPlainObject.js +52 -0
  199. package/dist/sap/base/util/now.js +28 -0
  200. package/dist/sap/base/util/resolveReference.js +3 -0
  201. package/dist/sap/base/util/uid.js +27 -0
  202. package/dist/sap/ui/base/DataType.js +657 -0
  203. package/dist/sap/ui/base/Interface.js +72 -0
  204. package/dist/sap/ui/base/Metadata.js +483 -0
  205. package/dist/sap/ui/base/Object.js +300 -0
  206. package/dist/sap/ui/core/CalendarType.js +24 -0
  207. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  208. package/dist/sap/ui/core/Configuration.js +23 -0
  209. package/dist/sap/ui/core/Configuration.js.map +1 -0
  210. package/dist/sap/ui/core/Core.d.ts +25 -0
  211. package/dist/sap/ui/core/Core.js +13 -0
  212. package/dist/sap/ui/core/Core.js.map +1 -0
  213. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  214. package/dist/sap/ui/core/FormatSettings.js +12 -0
  215. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  216. package/dist/sap/ui/core/Locale.js +194 -0
  217. package/dist/sap/ui/core/LocaleData.js +2717 -0
  218. package/dist/sap/ui/core/Supportability.js +5 -0
  219. package/dist/sap/ui/core/Theming.js +539 -0
  220. package/dist/sap/ui/core/date/Buddhist.js +196 -0
  221. package/dist/sap/ui/core/date/CalendarUtils.js +65 -0
  222. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  223. package/dist/sap/ui/core/date/Gregorian.js +32 -0
  224. package/dist/sap/ui/core/date/Islamic.js +367 -0
  225. package/dist/sap/ui/core/date/Japanese.js +257 -0
  226. package/dist/sap/ui/core/date/Persian.js +394 -0
  227. package/dist/sap/ui/core/date/UI5Date.js +991 -0
  228. package/dist/sap/ui/core/date/UniversalDate.js +1324 -0
  229. package/dist/sap/ui/core/date/_Calendars.js +22 -0
  230. package/dist/sap/ui/core/format/DateFormat.js +3310 -0
  231. package/dist/sap/ui/core/format/NumberFormat.js +2835 -0
  232. package/dist/sap/ui/core/format/TimezoneUtil.js +24 -0
  233. package/package-scripts.cjs +35 -0
  234. package/package.json +46 -0
  235. package/tsconfig.json +24 -0
  236. package/used-modules.txt +52 -0
@@ -0,0 +1,11 @@
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";
@@ -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 ADDED
@@ -0,0 +1,3 @@
1
+ // Currently the base package provides CLDR assets only
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;
@@ -0,0 +1,7 @@
1
+ // @ts-ignore
2
+ import DateFormatNative from "./sap/ui/core/format/DateFormat.js";
3
+ const DateFormatWrapped = DateFormatNative;
4
+ class DateFormat extends DateFormatWrapped {
5
+ }
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;
@@ -0,0 +1,7 @@
1
+ // @ts-ignore
2
+ import LocaleDataNative from "./sap/ui/core/LocaleData.js";
3
+ const LocaleDataWrapped = LocaleDataNative;
4
+ class LocaleData extends LocaleDataWrapped {
5
+ }
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,5 @@
1
+ import type NumberFormatT from "sap/ui/core/format/NumberFormat";
2
+ declare const NumberFormatWrapped: typeof NumberFormatT;
3
+ declare class NumberFormat extends NumberFormatWrapped {
4
+ }
5
+ export default NumberFormat;
@@ -0,0 +1,7 @@
1
+ // @ts-ignore
2
+ import NumberFormatNative from "./sap/ui/core/format/NumberFormat.js";
3
+ const NumberFormatWrapped = NumberFormatNative;
4
+ class NumberFormat extends NumberFormatWrapped {
5
+ }
6
+ export default NumberFormat;
7
+ //# sourceMappingURL=NumberFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberFormat.js","sourceRoot":"","sources":["../src/NumberFormat.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AAEtE,MAAM,mBAAmB,GAAG,kBAA0C,CAAC;AACvE,MAAM,YAAa,SAAQ,mBAAmB;CAAG;AAEjD,eAAe,YAAY,CAAC","sourcesContent":["import type NumberFormatT from \"sap/ui/core/format/NumberFormat\";\n// @ts-ignore\nimport NumberFormatNative from \"./sap/ui/core/format/NumberFormat.js\";\n\nconst NumberFormatWrapped = NumberFormatNative as typeof NumberFormatT;\nclass NumberFormat extends NumberFormatWrapped {}\n\nexport default NumberFormat;\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;
@@ -0,0 +1,193 @@
1
+ import UI5Date from "./UI5Date.js";
2
+ import UniversalDate from "./UniversalDate.js";
3
+ class CalendarDate {
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
+ }
159
+ }
160
+ function createUniversalUTCDate(oDate, sCalendarType) {
161
+ if (sCalendarType) {
162
+ return UniversalDate.getInstance(createUTCDate(oDate), sCalendarType);
163
+ }
164
+ return new UniversalDate(createUTCDate(oDate).getTime());
165
+ }
166
+ /**
167
+ * Creates a JavaScript UTC Date corresponding to the given JavaScript Date.
168
+ * @param {Date} oDate JavaScript date object. Time related information is cut.
169
+ * @returns {Date} JavaScript date created from the date object, but this time considered as UTC date information.
170
+ */
171
+ function createUTCDate(oDate) {
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;
175
+ }
176
+ function checkCalendarDate(oCalendarDate) {
177
+ if (!(oCalendarDate instanceof CalendarDate)) {
178
+ throw new Error(`Invalid calendar date: [${oCalendarDate}]. Expected: CalendarDate`);
179
+ }
180
+ }
181
+ /**
182
+ * Verifies the given value is numeric like, i.e. 3, "3" and throws an error if it is not.
183
+ * @param {any} value The value of any type to check. If null or undefined, this method throws an error.
184
+ * @param {string} message The message to be used if an error is to be thrown
185
+ * @throws will throw an error if the value is null or undefined or is not like a number
186
+ */
187
+ function checkNumericLike(value, message) {
188
+ if (value === undefined || value === Infinity || isNaN(value)) { // eslint-disable-line
189
+ throw message;
190
+ }
191
+ }
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, };
@@ -0,0 +1,29 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ const cache = new Map();
3
+ const getMinCalendarDate = (primaryCalendarType) => {
4
+ const key = `min ${primaryCalendarType}`;
5
+ if (!cache.has(key)) {
6
+ const minDate = new CalendarDate(1, 0, 1, primaryCalendarType);
7
+ minDate.setYear(1);
8
+ minDate.setMonth(0);
9
+ minDate.setDate(1);
10
+ cache.set(key, minDate);
11
+ }
12
+ return cache.get(key);
13
+ };
14
+ const getMaxCalendarDate = (primaryCalendarType) => {
15
+ const key = `max ${primaryCalendarType}`;
16
+ if (!cache.has(key)) {
17
+ const maxDate = new CalendarDate(1, 0, 1, primaryCalendarType);
18
+ maxDate.setYear(9999);
19
+ maxDate.setMonth(11);
20
+ const tempDate = new CalendarDate(maxDate, primaryCalendarType);
21
+ tempDate.setDate(1);
22
+ tempDate.setMonth(tempDate.getMonth() + 1, 0);
23
+ maxDate.setDate(tempDate.getDate()); // 31st for Gregorian Calendar
24
+ cache.set(key, maxDate);
25
+ }
26
+ return cache.get(key);
27
+ };
28
+ export { getMinCalendarDate, getMaxCalendarDate, };
29
+ //# sourceMappingURL=ExtremeDates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtremeDates.js","sourceRoot":"","sources":["../../src/dates/ExtremeDates.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAC;AAE9C,MAAM,kBAAkB,GAAG,CAAC,mBAAsC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,mBAAsC,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,mBAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAChE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA,8BAA8B;QAClE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,GAClB,CAAC","sourcesContent":["import type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport CalendarDate from \"./CalendarDate.js\";\n\nconst cache = new Map<string, CalendarDate>();\n\nconst getMinCalendarDate = (primaryCalendarType: `${CalendarType}`) => {\n\tconst key = `min ${primaryCalendarType}`;\n\n\tif (!cache.has(key)) {\n\t\tconst minDate = new CalendarDate(1, 0, 1, primaryCalendarType);\n\t\tminDate.setYear(1);\n\t\tminDate.setMonth(0);\n\t\tminDate.setDate(1);\n\t\tcache.set(key, minDate);\n\t}\n\n\treturn cache.get(key)!;\n};\n\nconst getMaxCalendarDate = (primaryCalendarType: `${CalendarType}`) => {\n\tconst key = `max ${primaryCalendarType}`;\n\n\tif (!cache.has(key)) {\n\t\tconst maxDate = new CalendarDate(1, 0, 1, primaryCalendarType);\n\t\tmaxDate.setYear(9999);\n\t\tmaxDate.setMonth(11);\n\t\tconst tempDate = new CalendarDate(maxDate, primaryCalendarType);\n\t\ttempDate.setDate(1);\n\t\ttempDate.setMonth(tempDate.getMonth() + 1, 0);\n\t\tmaxDate.setDate(tempDate.getDate());// 31st for Gregorian Calendar\n\t\tcache.set(key, maxDate);\n\t}\n\n\treturn cache.get(key)!;\n};\n\nexport {\n\tgetMinCalendarDate,\n\tgetMaxCalendarDate,\n};\n"]}
@@ -0,0 +1,5 @@
1
+ import type UIDateT from "sap/ui/core/date/UI5Date";
2
+ declare const UI5DateWrapped: typeof UIDateT;
3
+ declare class UI5Date extends UI5DateWrapped {
4
+ }
5
+ export default UI5Date;
@@ -0,0 +1,7 @@
1
+ // @ts-ignore
2
+ import UI5DateNative from "../sap/ui/core/date/UI5Date.js";
3
+ const UI5DateWrapped = UI5DateNative;
4
+ class UI5Date extends UI5DateWrapped {
5
+ }
6
+ export default UI5Date;
7
+ //# sourceMappingURL=UI5Date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UI5Date.js","sourceRoot":"","sources":["../../src/dates/UI5Date.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAE3D,MAAM,cAAc,GAAG,aAA+B,CAAC;AACvD,MAAM,OAAQ,SAAQ,cAAc;CAAG;AAEvC,eAAe,OAAO,CAAC","sourcesContent":["import type UIDateT from \"sap/ui/core/date/UI5Date\";\n// @ts-ignore\nimport UI5DateNative from \"../sap/ui/core/date/UI5Date.js\";\n\nconst UI5DateWrapped = UI5DateNative as typeof UIDateT;\nclass UI5Date extends UI5DateWrapped {}\n\nexport default UI5Date;\n"]}
@@ -0,0 +1,47 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ import type UI5Date from "./UI5Date.js";
3
+ type UniversalDate = {
4
+ new (time: number): UniversalDate;
5
+ oDate: Date;
6
+ sCalendarType: string;
7
+ getInstance: (oDate: UI5Date | Date, sCalendarType?: `${CalendarType}`) => UniversalDate;
8
+ getDate: () => number;
9
+ getMonth: () => number;
10
+ getFullYear: () => number;
11
+ getYear: () => number;
12
+ getDay: () => number;
13
+ getHours: () => number;
14
+ getMinutes: () => number;
15
+ getSeconds: () => number;
16
+ getMilliseconds: () => number;
17
+ getUTCDate: () => number;
18
+ getUTCMonth: () => number;
19
+ getUTCFullYear: () => number;
20
+ getUTCDay: () => number;
21
+ getUTCHours: () => number;
22
+ getUTCMinutes: () => number;
23
+ getUTCSeconds: () => number;
24
+ getUTCMilliseconds: () => number;
25
+ getTime: () => number;
26
+ valueOf: () => number;
27
+ getTimezoneOffset: () => number;
28
+ toString: () => string;
29
+ toDateString: () => string;
30
+ setDate: (dayValue: number) => number;
31
+ setFullYear: (yearValue: number, monthValue?: number, dateValue?: number) => number;
32
+ setYear: (yearValue: number) => number;
33
+ setMonth: (monthValue: number, dayValue?: number) => number;
34
+ setHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number;
35
+ setMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number;
36
+ setSeconds: (secondsValue: number, msValue?: number) => number;
37
+ setMilliseconds: (setMilliseconds: number) => number;
38
+ setUTCDate: (dayValue: number) => number;
39
+ setUTCFullYear: (yearValue: number, monthValue?: number, dayValue?: number) => number;
40
+ setUTCMonth: (monthValue: number, dayValue?: number) => number;
41
+ setUTCHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number;
42
+ setUTCMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number;
43
+ setUTCSeconds: (secondsValue: number, msValue?: number) => number;
44
+ setUTCMilliseconds: (setMilliseconds: number) => number;
45
+ };
46
+ declare const UniversalDate: UniversalDate;
47
+ export default UniversalDate;
@@ -0,0 +1,5 @@
1
+ // @ts-ignore
2
+ import UniversalDateNative from "../sap/ui/core/date/UniversalDate.js";
3
+ const UniversalDate = UniversalDateNative;
4
+ export default UniversalDate;
5
+ //# sourceMappingURL=UniversalDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalDate.js","sourceRoot":"","sources":["../../src/dates/UniversalDate.ts"],"names":[],"mappings":"AACA,aAAa;AACb,OAAO,mBAAmB,MAAM,sCAAsC,CAAC;AA+CvE,MAAM,aAAa,GAAkB,mBAAmB,CAAC;AAEzD,eAAe,aAAa,CAAC","sourcesContent":["import type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\n// @ts-ignore\nimport UniversalDateNative from \"../sap/ui/core/date/UniversalDate.js\";\nimport type UI5Date from \"./UI5Date.js\";\n\ntype UniversalDate = {\n new (time: number): UniversalDate;\n oDate: Date,\n sCalendarType: string,\n getInstance: (oDate: UI5Date | Date, sCalendarType?: `${CalendarType}`) => UniversalDate,\n getDate: () => number,\n getMonth: () => number,\n getFullYear: () => number,\n getYear: () => number,\n getDay: () => number,\n getHours: () => number,\n getMinutes: () => number,\n getSeconds: () => number,\n getMilliseconds: () => number,\n getUTCDate: () => number,\n getUTCMonth: () => number,\n getUTCFullYear: () => number,\n getUTCDay: () => number,\n getUTCHours: () => number,\n getUTCMinutes: () => number,\n getUTCSeconds: () => number,\n getUTCMilliseconds: () => number,\n getTime: () => number,\n valueOf: () => number,\n getTimezoneOffset: () => number,\n toString: () => string,\n toDateString: () => string,\n setDate: (dayValue: number) => number,\n setFullYear: (yearValue: number, monthValue?: number, dateValue?: number) => number,\n setYear: (yearValue: number) => number,\n setMonth: (monthValue: number, dayValue?: number) => number,\n setHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number,\n setMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number,\n setSeconds: (secondsValue: number, msValue?: number) => number,\n setMilliseconds: (setMilliseconds: number) => number,\n setUTCDate:(dayValue: number) => number,\n setUTCFullYear: (yearValue: number, monthValue?: number, dayValue?: number) => number,\n setUTCMonth: (monthValue: number, dayValue?: number) => number,\n setUTCHours: (hoursValue: number, minutesValue?: number, secondsValue?: number, msValue?: number) => number,\n setUTCMinutes: (minutesValue: number, secondsValue?: number, msValue?: number) => number,\n setUTCSeconds: (secondsValue: number, msValue?: number) => number,\n setUTCMilliseconds: (setMilliseconds: number) => number,\n}\n\nconst UniversalDate: UniversalDate = UniversalDateNative;\n\nexport default UniversalDate;\n"]}
@@ -0,0 +1,16 @@
1
+ import type CalendarType from "@ui5/webcomponents-base/dist/types/CalendarType.js";
2
+ /**
3
+ * Convert month number to month name (text).
4
+ * If the numbers of the two months are the same you will get the name of the month,
5
+ * otherwise you will get the two names separated by a dash
6
+ *
7
+ * @param firstMonth CalendarDate Month
8
+ * @param lastMonth CalendarDate Month
9
+ * @param calendarType calendar type
10
+ * @returns {String}
11
+ */
12
+ declare const convertMonthNumbersToMonthNames: (firstMonth: number, lastMonth: number, calendarType?: `${CalendarType}`) => {
13
+ text: any;
14
+ textInfo: any;
15
+ };
16
+ export default convertMonthNumbersToMonthNames;
@@ -0,0 +1,30 @@
1
+ import getLocale from "@ui5/webcomponents-base/dist/locale/getLocale.js";
2
+ import getCachedLocaleDataInstance from "../getCachedLocaleDataInstance.js";
3
+ /**
4
+ * Convert month number to month name (text).
5
+ * If the numbers of the two months are the same you will get the name of the month,
6
+ * otherwise you will get the two names separated by a dash
7
+ *
8
+ * @param firstMonth CalendarDate Month
9
+ * @param lastMonth CalendarDate Month
10
+ * @param calendarType calendar type
11
+ * @returns {String}
12
+ */
13
+ const convertMonthNumbersToMonthNames = (firstMonth, lastMonth, calendarType) => {
14
+ const localeData = getCachedLocaleDataInstance(getLocale());
15
+ const pattern = localeData.getIntervalPattern("");
16
+ const secondaryMonthsNames = localeData.getMonthsStandAlone("abbreviated", calendarType);
17
+ const secondaryMonthsNamesWide = localeData.getMonthsStandAlone("wide", calendarType);
18
+ if (firstMonth === lastMonth) {
19
+ return {
20
+ text: localeData.getMonths("abbreviated", calendarType)[firstMonth],
21
+ textInfo: localeData.getMonths("wide", calendarType)[firstMonth],
22
+ };
23
+ }
24
+ return {
25
+ text: pattern.replace(/\{0\}/, secondaryMonthsNames[firstMonth]).replace(/\{1\}/, secondaryMonthsNames[lastMonth]),
26
+ textInfo: pattern.replace(/\{0\}/, secondaryMonthsNamesWide[firstMonth]).replace(/\{1\}/, secondaryMonthsNamesWide[lastMonth]),
27
+ };
28
+ };
29
+ export default convertMonthNumbersToMonthNames;
30
+ //# sourceMappingURL=convertMonthNumbersToMonthNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertMonthNumbersToMonthNames.js","sourceRoot":"","sources":["../../src/dates/convertMonthNumbersToMonthNames.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,kDAAkD,CAAC;AAEzE,OAAO,2BAA2B,MAAM,mCAAmC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,+BAA+B,GAAG,CAAC,UAAkB,EAAE,SAAiB,EAAE,YAAgC,EAAE,EAAE;IACnH,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAClD,MAAM,oBAAoB,GAAG,UAAU,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,CAAkB,CAAC;IAC1G,MAAM,wBAAwB,GAAG,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAkB,CAAC;IAEvG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO;YACN,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC;YACnE,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC;SAChE,CAAC;IACH,CAAC;IAED,OAAO;QACN,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAClH,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC;KAC9H,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,+BAA+B,CAAC","sourcesContent":["import getLocale from \"@ui5/webcomponents-base/dist/locale/getLocale.js\";\nimport type CalendarType from \"@ui5/webcomponents-base/dist/types/CalendarType.js\";\nimport getCachedLocaleDataInstance from \"../getCachedLocaleDataInstance.js\";\n\n/**\n * Convert month number to month name (text).\n * If the numbers of the two months are the same you will get the name of the month,\n * otherwise you will get the two names separated by a dash\n *\n * @param firstMonth CalendarDate Month\n * @param lastMonth CalendarDate Month\n * @param calendarType calendar type\n * @returns {String}\n */\nconst convertMonthNumbersToMonthNames = (firstMonth: number, lastMonth: number, calendarType?: `${CalendarType}`) => {\n\tconst localeData = getCachedLocaleDataInstance(getLocale());\n\tconst pattern = localeData.getIntervalPattern(\"\");\n\tconst secondaryMonthsNames = localeData.getMonthsStandAlone(\"abbreviated\", calendarType) as Array<string>;\n\tconst secondaryMonthsNamesWide = localeData.getMonthsStandAlone(\"wide\", calendarType) as Array<string>;\n\n\tif (firstMonth === lastMonth) {\n\t\treturn {\n\t\t\ttext: localeData.getMonths(\"abbreviated\", calendarType)[firstMonth],\n\t\t\ttextInfo: localeData.getMonths(\"wide\", calendarType)[firstMonth],\n\t\t};\n\t}\n\n\treturn {\n\t\ttext: pattern.replace(/\\{0\\}/, secondaryMonthsNames[firstMonth]).replace(/\\{1\\}/, secondaryMonthsNames[lastMonth]),\n\t\ttextInfo: pattern.replace(/\\{0\\}/, secondaryMonthsNamesWide[firstMonth]).replace(/\\{1\\}/, secondaryMonthsNamesWide[lastMonth]),\n\t};\n};\n\nexport default convertMonthNumbersToMonthNames;\n"]}
@@ -0,0 +1,3 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ declare const getDaysInMonth: (date: CalendarDate) => number;
3
+ export default getDaysInMonth;
@@ -0,0 +1,10 @@
1
+ import CalendarDate from "./CalendarDate.js";
2
+ const getDaysInMonth = (date) => {
3
+ const tempCalendarDate = new CalendarDate(date);
4
+ tempCalendarDate.setDate(1);
5
+ tempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);
6
+ tempCalendarDate.setDate(0);
7
+ return tempCalendarDate.getDate();
8
+ };
9
+ export default getDaysInMonth;
10
+ //# sourceMappingURL=getDaysInMonth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDaysInMonth.js","sourceRoot":"","sources":["../../src/dates/getDaysInMonth.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAE,EAAE;IAC7C,MAAM,gBAAgB,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAChD,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,gBAAgB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3D,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CAAC,OAAO,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import CalendarDate from \"./CalendarDate.js\";\n\nconst getDaysInMonth = (date: CalendarDate) => {\n\tconst tempCalendarDate = new CalendarDate(date);\n\ttempCalendarDate.setDate(1);\n\ttempCalendarDate.setMonth(tempCalendarDate.getMonth() + 1);\n\ttempCalendarDate.setDate(0);\n\treturn tempCalendarDate.getDate();\n};\n\nexport default getDaysInMonth;\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns a timestamp with only the year, month and day (with zero hours, minutes and seconds) and without 000 for milliseconds
3
+ * @param { number } millisecondsUTC
4
+ * @returns { number }
5
+ */
6
+ declare const getRoundedTimestamp: (millisecondsUTC: number) => number;
7
+ export default getRoundedTimestamp;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a timestamp with only the year, month and day (with zero hours, minutes and seconds) and without 000 for milliseconds
3
+ * @param { number } millisecondsUTC
4
+ * @returns { number }
5
+ */
6
+ const getRoundedTimestamp = (millisecondsUTC) => {
7
+ if (!millisecondsUTC) {
8
+ // no need to replace with UI5Date, as we don't use any non-UTC functions
9
+ millisecondsUTC = new Date().getTime();
10
+ }
11
+ const rounded = millisecondsUTC - (millisecondsUTC % (24 * 60 * 60 * 1000));
12
+ return rounded / 1000;
13
+ };
14
+ export default getRoundedTimestamp;
15
+ //# sourceMappingURL=getRoundedTimestamp.js.map