@ui5/webcomponents-localization 0.0.0-4821618b2 → 0.0.0-49bade48d

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 (284) hide show
  1. package/.eslintignore +2 -1
  2. package/.npsrc.json +3 -0
  3. package/CHANGELOG.md +2355 -0
  4. package/LICENSE.txt +201 -0
  5. package/README.md +38 -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 +28 -0
  20. package/dist/DateFormat.js +22 -2
  21. package/dist/DateFormat.js.map +1 -0
  22. package/dist/Locale.d.ts +5 -0
  23. package/dist/Locale.js +7 -0
  24. package/dist/Locale.js.map +1 -0
  25. package/dist/LocaleData.d.ts +5 -0
  26. package/dist/LocaleData.js +6 -2
  27. package/dist/LocaleData.js.map +1 -0
  28. package/dist/NumberFormat.d.ts +5 -0
  29. package/dist/NumberFormat.js +7 -0
  30. package/dist/NumberFormat.js.map +1 -0
  31. package/dist/dates/CalendarDate.d.ts +42 -0
  32. package/dist/dates/CalendarDate.js +171 -201
  33. package/dist/dates/CalendarDate.js.map +1 -0
  34. package/dist/dates/ExtremeDates.d.ts +5 -0
  35. package/dist/dates/ExtremeDates.js +25 -35
  36. package/dist/dates/ExtremeDates.js.map +1 -0
  37. package/dist/dates/UI5Date.d.ts +5 -0
  38. package/dist/dates/UI5Date.js +7 -0
  39. package/dist/dates/UI5Date.js.map +1 -0
  40. package/dist/dates/UniversalDate.d.ts +47 -0
  41. package/dist/dates/UniversalDate.js +5 -0
  42. package/dist/dates/UniversalDate.js.map +1 -0
  43. package/dist/dates/convertMonthNumbersToMonthNames.d.ts +16 -0
  44. package/dist/dates/convertMonthNumbersToMonthNames.js +30 -0
  45. package/dist/dates/convertMonthNumbersToMonthNames.js.map +1 -0
  46. package/dist/dates/getDaysInMonth.d.ts +3 -0
  47. package/dist/dates/getDaysInMonth.js +10 -0
  48. package/dist/dates/getDaysInMonth.js.map +1 -0
  49. package/dist/dates/getRoundedTimestamp.d.ts +7 -0
  50. package/dist/dates/getRoundedTimestamp.js +10 -9
  51. package/dist/dates/getRoundedTimestamp.js.map +1 -0
  52. package/dist/dates/getTodayUTCTimestamp.d.ts +7 -0
  53. package/dist/dates/getTodayUTCTimestamp.js +3 -3
  54. package/dist/dates/getTodayUTCTimestamp.js.map +1 -0
  55. package/dist/dates/modifyDateBy.d.ts +14 -0
  56. package/dist/dates/modifyDateBy.js +42 -29
  57. package/dist/dates/modifyDateBy.js.map +1 -0
  58. package/dist/dates/transformDateToSecondaryType.d.ts +7 -0
  59. package/dist/dates/transformDateToSecondaryType.js +18 -0
  60. package/dist/dates/transformDateToSecondaryType.js.map +1 -0
  61. package/dist/features/calendar/Buddhist.js +1 -0
  62. package/dist/features/calendar/Buddhist.js.map +1 -0
  63. package/dist/features/calendar/Gregorian.js +1 -0
  64. package/dist/features/calendar/Gregorian.js.map +1 -0
  65. package/dist/features/calendar/Islamic.js +1 -0
  66. package/dist/features/calendar/Islamic.js.map +1 -0
  67. package/dist/features/calendar/Japanese.js +1 -0
  68. package/dist/features/calendar/Japanese.js.map +1 -0
  69. package/dist/features/calendar/Persian.js +1 -0
  70. package/dist/features/calendar/Persian.js.map +1 -0
  71. package/dist/generated/assets/cldr/Unicode-Data-Files-LICENSE.txt +39 -0
  72. package/dist/generated/assets/cldr/ar.json +2176 -727
  73. package/dist/generated/assets/cldr/ar_EG.json +2176 -727
  74. package/dist/generated/assets/cldr/ar_SA.json +2272 -824
  75. package/dist/generated/assets/cldr/bg.json +1921 -797
  76. package/dist/generated/assets/cldr/ca.json +2024 -815
  77. package/dist/generated/assets/cldr/cnr.json +6476 -0
  78. package/dist/generated/assets/cldr/cs.json +1862 -841
  79. package/dist/generated/assets/cldr/cy.json +2050 -1370
  80. package/dist/generated/assets/cldr/da.json +1841 -681
  81. package/dist/generated/assets/cldr/de.json +1803 -545
  82. package/dist/generated/assets/cldr/de_AT.json +1794 -536
  83. package/dist/generated/assets/cldr/de_CH.json +1876 -610
  84. package/dist/generated/assets/cldr/el.json +1494 -382
  85. package/dist/generated/assets/cldr/el_CY.json +1494 -382
  86. package/dist/generated/assets/cldr/en.json +1987 -562
  87. package/dist/generated/assets/cldr/en_AU.json +2336 -762
  88. package/dist/generated/assets/cldr/en_GB.json +2167 -620
  89. package/dist/generated/assets/cldr/en_HK.json +2073 -627
  90. package/dist/generated/assets/cldr/en_IE.json +2035 -592
  91. package/dist/generated/assets/cldr/en_IN.json +2333 -703
  92. package/dist/generated/assets/cldr/en_NZ.json +2053 -610
  93. package/dist/generated/assets/cldr/en_PG.json +2046 -603
  94. package/dist/generated/assets/cldr/en_SG.json +2038 -592
  95. package/dist/generated/assets/cldr/en_ZA.json +2043 -598
  96. package/dist/generated/assets/cldr/es.json +2194 -880
  97. package/dist/generated/assets/cldr/es_AR.json +2164 -818
  98. package/dist/generated/assets/cldr/es_BO.json +2207 -862
  99. package/dist/generated/assets/cldr/es_CL.json +2084 -847
  100. package/dist/generated/assets/cldr/es_CO.json +1944 -706
  101. package/dist/generated/assets/cldr/es_MX.json +2443 -1090
  102. package/dist/generated/assets/cldr/es_PE.json +1909 -772
  103. package/dist/generated/assets/cldr/es_UY.json +1923 -794
  104. package/dist/generated/assets/cldr/es_VE.json +1917 -788
  105. package/dist/generated/assets/cldr/et.json +1758 -543
  106. package/dist/generated/assets/cldr/fa.json +1869 -565
  107. package/dist/generated/assets/cldr/fi.json +1956 -525
  108. package/dist/generated/assets/cldr/fr.json +1708 -459
  109. package/dist/generated/assets/cldr/fr_BE.json +1707 -458
  110. package/dist/generated/assets/cldr/fr_CA.json +2084 -813
  111. package/dist/generated/assets/cldr/fr_CH.json +1666 -417
  112. package/dist/generated/assets/cldr/fr_LU.json +1708 -459
  113. package/dist/generated/assets/cldr/he.json +2015 -1032
  114. package/dist/generated/assets/cldr/hi.json +1616 -347
  115. package/dist/generated/assets/cldr/hr.json +1852 -568
  116. package/dist/generated/assets/cldr/hu.json +1761 -550
  117. package/dist/generated/assets/cldr/id.json +1921 -600
  118. package/dist/generated/assets/cldr/it.json +1818 -665
  119. package/dist/generated/assets/cldr/it_CH.json +1824 -671
  120. package/dist/generated/assets/cldr/ja.json +1423 -108
  121. package/dist/generated/assets/cldr/kk.json +2248 -736
  122. package/dist/generated/assets/cldr/ko.json +1481 -195
  123. package/dist/generated/assets/cldr/lt.json +1711 -733
  124. package/dist/generated/assets/cldr/lv.json +1683 -681
  125. package/dist/generated/assets/cldr/mk.json +6177 -0
  126. package/dist/generated/assets/cldr/ms.json +1900 -594
  127. package/dist/generated/assets/cldr/nb.json +1545 -368
  128. package/dist/generated/assets/cldr/nl.json +1932 -510
  129. package/dist/generated/assets/cldr/nl_BE.json +1952 -530
  130. package/dist/generated/assets/cldr/pl.json +1870 -585
  131. package/dist/generated/assets/cldr/pt.json +2181 -752
  132. package/dist/generated/assets/cldr/pt_PT.json +2146 -777
  133. package/dist/generated/assets/cldr/ro.json +1844 -764
  134. package/dist/generated/assets/cldr/ru.json +2079 -754
  135. package/dist/generated/assets/cldr/ru_UA.json +2073 -748
  136. package/dist/generated/assets/cldr/sk.json +1857 -971
  137. package/dist/generated/assets/cldr/sl.json +1859 -920
  138. package/dist/generated/assets/cldr/sr.json +1826 -766
  139. package/dist/generated/assets/cldr/sr_Latn.json +2179 -1135
  140. package/dist/generated/assets/cldr/sv.json +1786 -586
  141. package/dist/generated/assets/cldr/th.json +1701 -372
  142. package/dist/generated/assets/cldr/tr.json +1852 -586
  143. package/dist/generated/assets/cldr/uk.json +2163 -710
  144. package/dist/generated/assets/cldr/vi.json +2051 -708
  145. package/dist/generated/assets/cldr/zh_CN.json +1733 -396
  146. package/dist/generated/assets/cldr/zh_HK.json +1710 -373
  147. package/dist/generated/assets/cldr/zh_SG.json +1720 -383
  148. package/dist/generated/assets/cldr/zh_TW.json +1675 -370
  149. package/dist/generated/json-imports/LocaleData-fetch.d.ts +1 -0
  150. package/dist/generated/json-imports/LocaleData-fetch.js +93 -0
  151. package/dist/generated/json-imports/LocaleData-fetch.js.map +1 -0
  152. package/dist/generated/json-imports/LocaleData-node.d.ts +1 -0
  153. package/dist/generated/json-imports/LocaleData-node.js +93 -0
  154. package/dist/generated/json-imports/LocaleData-node.js.map +1 -0
  155. package/dist/generated/json-imports/LocaleData.d.ts +1 -0
  156. package/dist/generated/json-imports/LocaleData.js +89 -88
  157. package/dist/generated/json-imports/LocaleData.js.map +1 -0
  158. package/dist/getCachedLocaleDataInstance.d.ts +4 -0
  159. package/dist/getCachedLocaleDataInstance.js +8 -9
  160. package/dist/getCachedLocaleDataInstance.js.map +1 -0
  161. package/dist/locale/getLocaleData.d.ts +11 -0
  162. package/dist/locale/getLocaleData.js +15 -17
  163. package/dist/locale/getLocaleData.js.map +1 -0
  164. package/dist/sap/base/Event.js +59 -0
  165. package/dist/sap/base/Eventing.js +147 -0
  166. package/dist/sap/base/Log.js +2 -248
  167. package/dist/sap/base/assert.js +31 -9
  168. package/dist/sap/base/config/MemoryConfigurationProvider.js +20 -0
  169. package/dist/sap/base/config.js +17 -0
  170. package/dist/sap/base/future.js +12 -0
  171. package/dist/sap/base/i18n/Formatting.d.ts +13 -0
  172. package/dist/sap/base/i18n/Formatting.js +18 -0
  173. package/dist/sap/base/i18n/Formatting.js.map +1 -0
  174. package/dist/sap/base/i18n/LanguageTag.js +179 -0
  175. package/dist/sap/base/i18n/Localization.d.ts +7 -0
  176. package/dist/sap/base/i18n/Localization.js +17 -0
  177. package/dist/sap/base/i18n/Localization.js.map +1 -0
  178. package/dist/sap/base/i18n/ResourceBundle.js +20 -0
  179. package/dist/sap/base/i18n/date/CalendarType.js +44 -0
  180. package/dist/sap/base/i18n/date/CalendarWeekNumbering.js +106 -0
  181. package/dist/sap/base/i18n/date/TimezoneUtils.js +471 -0
  182. package/dist/sap/base/i18n/date/_EnumHelper.js +37 -0
  183. package/dist/sap/base/strings/camelize.js +30 -0
  184. package/dist/sap/base/strings/formatMessage.js +93 -15
  185. package/dist/sap/base/util/LoaderExtensions.d.ts +4 -0
  186. package/dist/sap/base/util/LoaderExtensions.js +9 -12
  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 +4 -33
  190. package/dist/sap/base/util/ObjectPath.js.map +1 -0
  191. package/dist/sap/base/util/Properties.js +12 -0
  192. package/dist/sap/base/util/Version.js +163 -0
  193. package/dist/sap/base/util/_merge.js +83 -26
  194. package/dist/sap/base/util/array/uniqueSort.js +37 -15
  195. package/dist/sap/base/util/deepClone.js +102 -0
  196. package/dist/sap/base/util/deepEqual.js +75 -55
  197. package/dist/sap/base/util/deepExtend.js +60 -0
  198. package/dist/sap/base/util/extend.js +58 -7
  199. package/dist/sap/base/util/fetch.js +8 -0
  200. package/dist/sap/base/util/isEmptyObject.js +34 -0
  201. package/dist/sap/base/util/isPlainObject.js +35 -1
  202. package/dist/sap/base/util/merge.js +57 -0
  203. package/dist/sap/base/util/mixedFetch.js +3 -0
  204. package/dist/sap/base/util/now.js +22 -7
  205. package/dist/sap/base/util/resolveReference.js +3 -0
  206. package/dist/sap/base/util/uid.js +27 -0
  207. package/dist/sap/ui/Device.js +25 -3
  208. package/dist/sap/ui/Global.js +1 -0
  209. package/dist/sap/ui/VersionInfo.js +14 -0
  210. package/dist/sap/ui/base/DataType.js +708 -0
  211. package/dist/sap/ui/base/DesignTime.js +11 -0
  212. package/dist/sap/ui/base/EventProvider.js +21 -0
  213. package/dist/sap/ui/base/Interface.js +47 -1
  214. package/dist/sap/ui/base/Metadata.js +470 -171
  215. package/dist/sap/ui/base/Object.js +287 -27
  216. package/dist/sap/ui/base/OwnStatics.js +6 -0
  217. package/dist/sap/ui/base/SyncPromise.js +98 -0
  218. package/dist/sap/ui/core/AnimationMode.js +42 -0
  219. package/dist/sap/ui/core/CalendarType.js +24 -8
  220. package/dist/sap/ui/core/Configuration.d.ts +17 -0
  221. package/dist/sap/ui/core/Configuration.js +23 -0
  222. package/dist/sap/ui/core/Configuration.js.map +1 -0
  223. package/dist/sap/ui/core/ControlBehavior.js +11 -0
  224. package/dist/sap/ui/core/Core.d.ts +25 -0
  225. package/dist/sap/ui/core/Core.js +7 -32
  226. package/dist/sap/ui/core/Core.js.map +1 -0
  227. package/dist/sap/ui/core/FormatSettings.d.ts +9 -0
  228. package/dist/sap/ui/core/FormatSettings.js +12 -0
  229. package/dist/sap/ui/core/FormatSettings.js.map +1 -0
  230. package/dist/sap/ui/core/Lib.js +41 -0
  231. package/dist/sap/ui/core/Locale.js +190 -140
  232. package/dist/sap/ui/core/LocaleData.js +2836 -2703
  233. package/dist/sap/ui/core/Supportability.js +5 -0
  234. package/dist/sap/ui/core/Theming.js +39 -0
  235. package/dist/sap/ui/core/_UrlResolver.js +11 -0
  236. package/dist/sap/ui/core/date/Buddhist.js +162 -93
  237. package/dist/sap/ui/core/date/CalendarUtils.js +67 -0
  238. package/dist/sap/ui/core/date/CalendarWeekNumbering.js +30 -0
  239. package/dist/sap/ui/core/date/Gregorian.js +25 -10
  240. package/dist/sap/ui/core/date/Islamic.js +298 -185
  241. package/dist/sap/ui/core/date/Japanese.js +212 -117
  242. package/dist/sap/ui/core/date/Persian.js +324 -195
  243. package/dist/sap/ui/core/date/UI5Date.js +1039 -0
  244. package/dist/sap/ui/core/date/UniversalDate.js +1241 -219
  245. package/dist/sap/ui/core/date/_Calendars.js +10 -1
  246. package/dist/sap/ui/core/format/DateFormat.js +3160 -1790
  247. package/dist/sap/ui/core/format/FormatUtils.js +30 -0
  248. package/dist/sap/ui/core/format/NumberFormat.js +3164 -0
  249. package/dist/sap/ui/core/format/TimezoneUtil.js +93 -0
  250. package/dist/sap/ui/core/getCompatibilityVersion.js +7 -0
  251. package/dist/sap/ui/core/theming/ThemeHelper.js +14 -0
  252. package/dist/sap/ui/security/Security.js +12 -0
  253. package/dist/sap/ui/util/XMLHelper.js +11 -0
  254. package/dist/sap/ui/util/_URL.js +1 -0
  255. package/dist/ui5loader-autoconfig.js +1 -0
  256. package/package-scripts.cjs +35 -0
  257. package/package.json +22 -23
  258. package/tsconfig.json +24 -0
  259. package/used-modules.txt +33 -1
  260. package/dist/Assets-static.js +0 -2
  261. package/dist/dates/calculateWeekNumber.js +0 -51
  262. package/dist/generated/json-imports/LocaleData-static.js +0 -89
  263. package/hash.txt +0 -1
  264. package/package-scripts.js +0 -40
  265. package/src/Assets-static.js +0 -2
  266. package/src/Assets.js +0 -2
  267. package/src/DateFormat.js +0 -3
  268. package/src/LocaleData.js +0 -3
  269. package/src/dates/CalendarDate.js +0 -223
  270. package/src/dates/ExtremeDates.js +0 -39
  271. package/src/dates/calculateWeekNumber.js +0 -51
  272. package/src/dates/getRoundedTimestamp.js +0 -14
  273. package/src/dates/getTodayUTCTimestamp.js +0 -9
  274. package/src/dates/modifyDateBy.js +0 -42
  275. package/src/getCachedLocaleDataInstance.js +0 -13
  276. package/src/locale/getLocaleData.js +0 -27
  277. package/src/sap/base/util/LoaderExtensions.js +0 -17
  278. package/src/sap/ui/core/Core.js +0 -38
  279. /package/{config/.eslintrc.js → .eslintrc.cjs} +0 -0
  280. /package/{src/features/calendar/Buddhist.js → dist/features/calendar/Buddhist.d.ts} +0 -0
  281. /package/{src/features/calendar/Gregorian.js → dist/features/calendar/Gregorian.d.ts} +0 -0
  282. /package/{src/features/calendar/Islamic.js → dist/features/calendar/Islamic.d.ts} +0 -0
  283. /package/{src/features/calendar/Japanese.js → dist/features/calendar/Japanese.d.ts} +0 -0
  284. /package/{src/features/calendar/Persian.js → dist/features/calendar/Persian.d.ts} +0 -0
@@ -1,17 +1,14 @@
1
1
  import { getLocaleData } from "@ui5/webcomponents-base/dist/asset-registries/LocaleData.js";
2
-
3
- const loadResource = moduleName => {
4
- const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
5
- if (!moduleFormat) {
6
- throw new Error(`Unknown module "${moduleName}"`);
7
- }
8
-
9
- const localeId = moduleFormat[1];
10
- return getLocaleData(localeId);
2
+ const loadResource = (moduleName) => {
3
+ const moduleFormat = moduleName.match(/sap\/ui\/core\/cldr\/(\w+)\.json/);
4
+ if (!moduleFormat) {
5
+ throw new Error(`Unknown module "${moduleName}"`);
6
+ }
7
+ const localeId = moduleFormat[1];
8
+ return getLocaleData(localeId);
11
9
  };
12
-
13
10
  const LoaderExtensions = {
14
- loadResource,
11
+ loadResource,
15
12
  };
16
-
17
13
  export default LoaderExtensions;
14
+ //# sourceMappingURL=LoaderExtensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderExtensions.js","sourceRoot":"","sources":["../../../../src/sap/base/util/LoaderExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6DAA6D,CAAC;AAE5F,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC3C,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACxB,YAAY;CACZ,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["import { getLocaleData } from \"@ui5/webcomponents-base/dist/asset-registries/LocaleData.js\";\n\nconst loadResource = (moduleName: string) => {\n\tconst moduleFormat = moduleName.match(/sap\\/ui\\/core\\/cldr\\/(\\w+)\\.json/);\n\tif (!moduleFormat) {\n\t\tthrow new Error(`Unknown module \"${moduleName}\"`);\n\t}\n\n\tconst localeId = moduleFormat[1];\n\treturn getLocaleData(localeId);\n};\n\nconst LoaderExtensions = {\n\tloadResource,\n};\n\nexport default LoaderExtensions;\n"]}
@@ -0,0 +1,4 @@
1
+ declare const ObjectPath: {
2
+ set(): void;
3
+ };
4
+ export default ObjectPath;
@@ -1,35 +1,6 @@
1
- var ObjectPath = {};
2
- var defaultRootContext = window;
3
- function getObjectPathArray(vObjectPath) {
4
- return Array.isArray(vObjectPath) ? vObjectPath.slice() : vObjectPath.split(".");
5
- }
6
- ObjectPath.create = function (vObjectPath, oRootContext) {
7
- var oObject = oRootContext || defaultRootContext;
8
- var aNames = getObjectPathArray(vObjectPath);
9
- for (var i = 0; i < aNames.length; i++) {
10
- var sName = aNames[i];
11
- if (oObject[sName] === null || oObject[sName] !== undefined && (typeof oObject[sName] !== "object" && typeof oObject[sName] !== "function")) {
12
- throw new Error("Could not set object-path for '" + aNames.join(".") + "', path segment '" + sName + "' already exists.");
13
- }
14
- oObject[sName] = oObject[sName] || ({});
15
- oObject = oObject[sName];
16
- }
17
- return oObject;
18
- };
19
- ObjectPath.get = function (vObjectPath, oRootContext) {
20
- var oObject = oRootContext || defaultRootContext;
21
- var aNames = getObjectPathArray(vObjectPath);
22
- var sPropertyName = aNames.pop();
23
- for (var i = 0; i < aNames.length && oObject; i++) {
24
- oObject = oObject[aNames[i]];
25
- }
26
- return oObject ? oObject[sPropertyName] : undefined;
27
- };
28
- ObjectPath.set = function (vObjectPath, vValue, oRootContext) {
29
- oRootContext = oRootContext || defaultRootContext;
30
- var aNames = getObjectPathArray(vObjectPath);
31
- var sPropertyName = aNames.pop();
32
- var oObject = ObjectPath.create(aNames, oRootContext);
33
- oObject[sPropertyName] = vValue;
1
+ // ObjectPath is accessing window which breaks SSR, hence the overlay
2
+ const ObjectPath = {
3
+ set() { },
34
4
  };
35
5
  export default ObjectPath;
6
+ //# sourceMappingURL=ObjectPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectPath.js","sourceRoot":"","sources":["../../../../src/sap/base/util/ObjectPath.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,MAAM,UAAU,GAAG;IAClB,GAAG,KAAI,CAAC;CACR,CAAC;AAEF,eAAe,UAAU,CAAC","sourcesContent":["// ObjectPath is accessing window which breaks SSR, hence the overlay\n\nconst ObjectPath = {\n\tset() {},\n};\n\nexport default ObjectPath;\n"]}
@@ -0,0 +1,12 @@
1
+ export default {
2
+ create: function () {
3
+ return Promise.resolve({
4
+ getProperty: function () {
5
+ return null;
6
+ },
7
+ getKeys: function () {
8
+ return [];
9
+ }
10
+ });
11
+ }
12
+ };
@@ -0,0 +1,163 @@
1
+ // @evo-todo make it a simple object with immutable properties (Object.defineProperties)
2
+
3
+ // -------------------------- VERSION -------------------------------------
4
+ /*!
5
+ * OpenUI5
6
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
7
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
8
+ */
9
+
10
+ var rVersion = /^[0-9]+(?:\.([0-9]+)(?:\.([0-9]+))?)?(.*)$/;
11
+
12
+ /**
13
+ * Returns a Version instance created from the given parameters.
14
+ *
15
+ * This function can either be called as a constructor (using <code>new</code>) or as a normal function.
16
+ * It always returns an immutable Version instance.
17
+ *
18
+ * The parts of the version number (major, minor, patch, suffix) can be provided in several ways:
19
+ * <ul>
20
+ * <li>Version("1.2.3-SNAPSHOT") - as a dot-separated string. Any non-numerical char or a dot followed
21
+ * by a non-numerical char starts the suffix portion. Any missing major,
22
+ * minor or patch versions will be set to 0.</li>
23
+ * <li>Version(1,2,3,"-SNAPSHOT") - as individual parameters. Major, minor and patch must be integer numbers
24
+ * or empty, suffix must be a string not starting with digits.</li>
25
+ * <li>Version([1,2,3,"-SNAPSHOT"]) - as an array with the individual parts. The same type restrictions apply
26
+ * as before.</li>
27
+ * <li>Version(otherVersion) - as a Version instance (cast operation). Returns the given instance instead
28
+ * of creating a new one.</li>
29
+ * </ul>
30
+ *
31
+ * To keep the code size small, this implementation mainly validates the single string variant.
32
+ * All other variants are only validated to some degree. It is the responsibility of the caller to
33
+ * provide proper parts.
34
+ *
35
+ * @param {int|string|any[]|module:sap/base/util/Version} vMajor the major part of the version (int) or any of the single
36
+ * parameter variants explained above.
37
+ * @param {int} [iMinor] the minor part of the version number
38
+ * @param {int} [iPatch] the patch part of the version number
39
+ * @param {string} [sSuffix] the suffix part of the version number
40
+ * @class Represents a version consisting of major, minor, patch version, and suffix, for example '1.2.7-SNAPSHOT'.
41
+ * @since 1.58
42
+ * @alias module:sap/base/util/Version
43
+ * @public
44
+ */
45
+ function Version(vMajor, iMinor, iPatch, sSuffix) {
46
+ if (vMajor instanceof Version) {
47
+ // note: even a constructor may return a value different from 'this'
48
+ return vMajor;
49
+ }
50
+ if (!(this instanceof Version)) {
51
+ // act as a cast operator when called as function (not as a constructor)
52
+ return new Version(vMajor, iMinor, iPatch, sSuffix);
53
+ }
54
+ var m;
55
+ if (typeof vMajor === "string") {
56
+ m = rVersion.exec(vMajor);
57
+ } else if (Array.isArray(vMajor)) {
58
+ m = vMajor;
59
+ } else {
60
+ m = arguments;
61
+ }
62
+ m = m || [];
63
+ function norm(v) {
64
+ v = parseInt(v);
65
+ return isNaN(v) ? 0 : v;
66
+ }
67
+ vMajor = norm(m[0]);
68
+ iMinor = norm(m[1]);
69
+ iPatch = norm(m[2]);
70
+ sSuffix = String(m[3] || "");
71
+
72
+ /**
73
+ * Returns a string representation of this version.
74
+ *
75
+ * @returns {string} a string representation of this version.
76
+ * @public
77
+ */
78
+ this.toString = function () {
79
+ return vMajor + "." + iMinor + "." + iPatch + sSuffix;
80
+ };
81
+
82
+ /**
83
+ * Returns the major version part of this version.
84
+ *
85
+ * @returns {int} the major version part of this version
86
+ * @public
87
+ */
88
+ this.getMajor = function () {
89
+ return vMajor;
90
+ };
91
+
92
+ /**
93
+ * Returns the minor version part of this version.
94
+ *
95
+ * @returns {int} the minor version part of this version
96
+ * @public
97
+ */
98
+ this.getMinor = function () {
99
+ return iMinor;
100
+ };
101
+
102
+ /**
103
+ * Returns the patch (or micro) version part of this version.
104
+ *
105
+ * @returns {int} the patch version part of this version
106
+ * @public
107
+ */
108
+ this.getPatch = function () {
109
+ return iPatch;
110
+ };
111
+
112
+ /**
113
+ * Returns the version suffix of this version.
114
+ *
115
+ * @returns {string} the version suffix of this version
116
+ * @public
117
+ */
118
+ this.getSuffix = function () {
119
+ return sSuffix;
120
+ };
121
+
122
+ /**
123
+ * Compares this version with a given one.
124
+ *
125
+ * The version with which this version should be compared can be given as a <code>sap/base/util/Version</code> instance,
126
+ * as a string (e.g. <code>v.compareTo("1.4.5")</code>). Or major, minor, patch and suffix values can be given as
127
+ * separate parameters (e.g. <code>v.compareTo(1, 4, 5)</code>) or in an array (e.g. <code>v.compareTo([1, 4, 5])</code>).
128
+ *
129
+ * @param {int|string|any[]|module:sap/base/util/Version} vOtherMajor
130
+ * The major part (an integer) of the version to compare to or the full version in any of the single
131
+ * parameter variants, as documented for the {@link module:sap/base/util/Version constructor}.
132
+ * @param {int} [iOtherMinor] A minor version to compare to (only valid when <code>vOther</code> is a single integer)
133
+ * @param {int} [iOtherPatch] A patch version to compare to (only valid when <code>vOther</code> is a single integer)
134
+ * @param {string} [sOtherSuffix] A version suffix like "-SNAPSHOT" to compare to (only valid when <code>vOther</code> is an integer)
135
+ * @returns {int} 0, if the given version is equal to this version, a negative value if the given other version is greater
136
+ * and a positive value otherwise
137
+ * @public
138
+ */
139
+ this.compareTo = function (vOtherMajor, iOtherMinor, iOtherPatch, sOtherSuffix) {
140
+ var vOther = Version.apply(window, arguments);
141
+ /*eslint-disable no-nested-ternary */
142
+ return vMajor - vOther.getMajor() || iMinor - vOther.getMinor() || iPatch - vOther.getPatch() || (sSuffix < vOther.getSuffix() ? -1 : sSuffix === vOther.getSuffix() ? 0 : 1);
143
+ /*eslint-enable no-nested-ternary */
144
+ };
145
+ }
146
+
147
+ /**
148
+ * Checks whether this version is in the range of the given interval (start inclusive, end exclusive).
149
+ *
150
+ * The boundaries against which this version should be checked can be given as <code>sap/base/util/Version</code>
151
+ * instances (e.g. <code>v.inRange(v1, v2)</code>), as strings (e.g. <code>v.inRange("1.4", "2.7")</code>)
152
+ * or as arrays (e.g. <code>v.inRange([1,4], [2,7])</code>).
153
+ *
154
+ * @param {string|any[]|module:sap/base/util/Version} vMin the start of the range (inclusive)
155
+ * @param {string|any[]|module:sap/base/util/Version} vMax the end of the range (exclusive)
156
+ * @returns {boolean} <code>true</code> if this version is greater or equal to <code>vMin</code> and smaller
157
+ * than <code>vMax</code>, <code>false</code> otherwise.
158
+ * @public
159
+ */
160
+ Version.prototype.inRange = function (vMin, vMax) {
161
+ return this.compareTo(vMin) >= 0 && this.compareTo(vMax) < 0;
162
+ };
163
+ export default Version;
@@ -1,32 +1,89 @@
1
- import isPlainObject from './isPlainObject.js';
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import isPlainObject from "./isPlainObject.js";
2
7
  var oToken = Object.create(null);
8
+
9
+ /**
10
+ * Performs object extension by merging source objects into a target object.
11
+ *
12
+ * @example
13
+ * var oMerged = _merge(true, false, {}, {prop1:1}, {prop2:2});
14
+ *
15
+ * @function
16
+ * @since 1.71
17
+ * @private
18
+ * @alias module:sap/base/util/_merge
19
+ * @param {boolean} deep Shallow copy or deep merge
20
+ * @param {boolean} skipUndefined Whether <code>undefined</code> values will be skipped, otherwise <code>undefined</code> values will overwrite existing values
21
+ * @param {object} target The object that will receive new properties
22
+ * @param {...object} [source] One or more objects which get merged into the target object
23
+ * @return {object} the target object which is the result of the merge
24
+ */
3
25
  var fnMerge = function () {
4
- var src, copyIsArray, copy, name, options, clone, target = arguments[2] || {}, i = 3, length = arguments.length, deep = arguments[0] || false, skipToken = arguments[1] ? undefined : oToken;
5
- if (typeof target !== 'object' && typeof target !== 'function') {
6
- target = {};
7
- }
8
- for (; i < length; i++) {
9
- if ((options = arguments[i]) != null) {
10
- for (name in options) {
11
- src = target[name];
12
- copy = options[name];
13
- if (name === '__proto__' || target === copy) {
14
- continue;
15
- }
16
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {
17
- if (copyIsArray) {
18
- copyIsArray = false;
19
- clone = src && Array.isArray(src) ? src : [];
20
- } else {
21
- clone = src && isPlainObject(src) ? src : {};
22
- }
23
- target[name] = fnMerge(deep, arguments[1], clone, copy);
24
- } else if (copy !== skipToken) {
25
- target[name] = copy;
26
- }
27
- }
26
+ /*
27
+ * The code in this function is taken from jQuery 3.6.0 "jQuery.extend" and got modified.
28
+ *
29
+ * jQuery JavaScript Library v3.6.0
30
+ * https://jquery.com/
31
+ *
32
+ * Copyright OpenJS Foundation and other contributors
33
+ * Released under the MIT license
34
+ * https://jquery.org/license
35
+ */
36
+ var src,
37
+ copyIsArray,
38
+ copy,
39
+ name,
40
+ options,
41
+ clone,
42
+ target = arguments[2] || {},
43
+ i = 3,
44
+ length = arguments.length,
45
+ deep = arguments[0] || false,
46
+ skipToken = arguments[1] ? undefined : oToken;
47
+
48
+ // Handle case when target is a string or something (possible in deep copy)
49
+ if (typeof target !== "object" && typeof target !== "function") {
50
+ target = {};
51
+ }
52
+ for (; i < length; i++) {
53
+ if ((options = arguments[i]) != null) {
54
+ // Extend the base object
55
+ for (name in options) {
56
+ src = target[name];
57
+ copy = options[name];
58
+
59
+ // Prevent never-ending loop
60
+ // Prevent Object.prototype pollution for $.extend( true, ... )
61
+ // For further information, please visit https://github.com/jquery/jquery/pull/4333
62
+ if (name === "__proto__" || target === copy) {
63
+ continue;
64
+ }
65
+
66
+ // Recurse if we're merging plain objects or arrays
67
+ if (deep && copy && (isPlainObject(copy) || (copyIsArray = Array.isArray(copy)))) {
68
+ if (copyIsArray) {
69
+ copyIsArray = false;
70
+ clone = src && Array.isArray(src) ? src : [];
71
+ } else {
72
+ clone = src && isPlainObject(src) ? src : {};
73
+ }
74
+
75
+ // Never move original objects, clone them
76
+ target[name] = fnMerge(deep, arguments[1], clone, copy);
77
+
78
+ // Don't bring in undefined values
79
+ } else if (copy !== skipToken) {
80
+ target[name] = copy;
28
81
  }
82
+ }
29
83
  }
30
- return target;
84
+ }
85
+
86
+ // Return the modified object
87
+ return target;
31
88
  };
32
89
  export default fnMerge;
@@ -1,19 +1,41 @@
1
- import assert from '../../assert.js';
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import assert from "../../assert.js";
7
+ /**
8
+ * Sorts the given array in-place and removes any duplicates (identified by "===").
9
+ *
10
+ * Uses Array#sort()
11
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
12
+ *
13
+ * Use <code>jQuery.uniqueSort()</code> for arrays of DOMElements.
14
+ *
15
+ * @function
16
+ * @since 1.58
17
+ * @param {any[]} aArray An Array of any type
18
+ * @alias module:sap/base/util/array/uniqueSort
19
+ * @return {any[]} Same array as given (for chaining)
20
+ * @public
21
+ */
2
22
  var fnUniqueSort = function (aArray) {
3
- assert(Array.isArray(aArray), 'uniqueSort: input parameter must be an Array');
4
- var iLength = aArray.length;
5
- if (iLength > 1) {
6
- aArray.sort();
7
- var j = 0;
8
- for (var i = 1; i < iLength; i++) {
9
- if (aArray.indexOf(aArray[i]) === i) {
10
- aArray[++j] = aArray[i];
11
- }
12
- }
13
- if (++j < iLength) {
14
- aArray.splice(j, iLength - j);
15
- }
23
+ assert(Array.isArray(aArray), "uniqueSort: input parameter must be an Array");
24
+ var iLength = aArray.length;
25
+ if (iLength > 1) {
26
+ aArray.sort();
27
+ var j = 0;
28
+ for (var i = 1; i < iLength; i++) {
29
+ // invariant: i is the entry to check, j is the last unique entry known so far
30
+ if (aArray.indexOf(aArray[i]) === i) {
31
+ aArray[++j] = aArray[i];
32
+ }
16
33
  }
17
- return aArray;
34
+ // cut off the rest - if any
35
+ if (++j < iLength) {
36
+ aArray.splice(j, iLength - j);
37
+ }
38
+ }
39
+ return aArray;
18
40
  };
19
41
  export default fnUniqueSort;
@@ -0,0 +1,102 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ import isPlainObject from "./isPlainObject.js";
7
+ /**
8
+ * Creates a deep clone of the source value.
9
+ *
10
+ * Only arrays, JavaScript Date objects and objects that pass the {@link module:sap/base/util/isPlainObject isPlainObject}
11
+ * check will be cloned. For other object types, a <code>TypeError</code> will be thrown as there's no standard way
12
+ * to clone them. Primitive values (boolean, number, string) as well as <code>null</code> and <code>undefined</code>
13
+ * will be copied, they have value semantics anyhow.
14
+ *
15
+ * <code>deepClone</code> is designed to match the semantics of {@link module:sap/base/util/deepEqual deepEqual}.
16
+ * Any deeply cloned object should be deep-equal to the source. However, not every object that can be handled
17
+ * by <code>deepEqual</code> can also be deeply cloned (e.g. <code>deepClone</code> fails on non-plain objects).
18
+ *
19
+ * To limit the time needed for a deep clone and to avoid endless recursion in case of cyclic structures, the
20
+ * recursion depth is limited by the parameter <code>maxDepth</code>, which defaults to 10. When the recursion
21
+ * depth exceeds the given limit, a <code>TypeError</code> is thrown.
22
+ *
23
+ * Note that object identities are not honored by the clone operation. If the original source contained multiple
24
+ * references to the same plain object instance, the clone will contain a different clone for each reference.
25
+ *
26
+ * @example <caption>Simple operation</caption>
27
+ * var oSource = { a: 1, b: { x: "test", y : 5.0 }, c: new Date(), d: null };
28
+ * var oClone = deepClone(oValue);
29
+ *
30
+ * deepEqual(oClone, oSource); // true
31
+ * oClone !== oSource; // true
32
+ * oClone.b !== oSource.b; // true
33
+ * oClone.c !== oSource.c; // true
34
+ *
35
+ * @example <caption>Object Identities</caption>
36
+ * var oCommon = { me: "unique" };
37
+ * var oValue = { a: oCommon, b: oCommon };
38
+ * var oClone = deepClone(oValue);
39
+ *
40
+ * deepEqual(oClone, oSource); // true
41
+ * oSource.a === oSource.b; // true
42
+ * oClone.a === oClone.b; // false
43
+ * deepEqual(oClone.a, oClone.b); // true
44
+ *
45
+ * @since 1.63
46
+ * @public
47
+ * @alias module:sap/base/util/deepClone
48
+ * @param {any} src Source value that shall be cloned
49
+ * @param {int} [maxDepth=10] Maximum recursion depth for the clone operation, deeper structures will throw an error
50
+ * @returns {any} A clone of the source value
51
+ * @throws {TypeError} When a non-plain object is encountered or when the max structure depth is exceeded
52
+ */
53
+ var fnDeepClone = function (src, maxDepth) {
54
+ if (!maxDepth) {
55
+ maxDepth = 10;
56
+ }
57
+ return clone(src, 0, maxDepth);
58
+ };
59
+ function clone(src, depth, maxDepth) {
60
+ // avoid endless recursion due to cyclic structures
61
+ if (depth > maxDepth) {
62
+ throw new TypeError("The structure depth of the source exceeds the maximum depth (" + maxDepth + ")");
63
+ }
64
+ if (src == null) {
65
+ return src;
66
+ } else if (src instanceof Date) {
67
+ if (src.clone) {
68
+ // module:sap/ui/core/date/UI5Date
69
+ return src.clone();
70
+ }
71
+
72
+ // clone date object using #getTime(). Officially the date constructor does not support parameter Date.
73
+ return new Date(src.getTime());
74
+ } else if (Array.isArray(src)) {
75
+ return cloneArray(src, depth, maxDepth);
76
+ } else if (typeof src === "object") {
77
+ return cloneObject(src, depth, maxDepth);
78
+ } else {
79
+ return src;
80
+ }
81
+ }
82
+ function cloneArray(src, depth, maxDepth) {
83
+ var aClone = [];
84
+ for (var i = 0; i < src.length; i++) {
85
+ aClone.push(clone(src[i], depth + 1, maxDepth));
86
+ }
87
+ return aClone;
88
+ }
89
+ function cloneObject(src, depth, maxDepth) {
90
+ if (!isPlainObject(src)) {
91
+ throw new TypeError("Cloning is only supported for plain objects");
92
+ }
93
+ var oClone = {};
94
+ for (var key in src) {
95
+ if (key === "__proto__") {
96
+ continue;
97
+ }
98
+ oClone[key] = clone(src[key], depth + 1, maxDepth);
99
+ }
100
+ return oClone;
101
+ }
102
+ export default fnDeepClone;
@@ -1,63 +1,83 @@
1
- import Log from '../Log.js';
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2026 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ /*global Node */
7
+ //@evo-todo check isEqualNode dependency: not yet available...
8
+ //@evo-todo dependency to global name 'Node' contradicts sap/base package
9
+ import Log from "../Log.js";
10
+ /**
11
+ * Compares the two given values for equality, especially by comparing the content.
12
+ *
13
+ * <b>Note:</b> Function does not work with comparing XML objects.
14
+ *
15
+ * @function
16
+ * @since 1.58
17
+ * @param {any} a A value of any type
18
+ * @param {any} b A value of any type
19
+ * @param {int} [maxDepth=10] Maximum recursion depth
20
+ * @param {boolean} [contains] Whether all existing properties in a are equal as in b
21
+ * @alias module:sap/base/util/deepEqual
22
+ * @return {boolean} Whether a and b are equal
23
+ * @public
24
+ */
2
25
  var fnEqual = function (a, b, maxDepth, contains, depth) {
3
- if (typeof maxDepth == 'boolean') {
4
- contains = maxDepth;
5
- maxDepth = undefined;
6
- }
7
- if (!depth) {
8
- depth = 0;
26
+ // Optional parameter normalization
27
+ if (typeof maxDepth == "boolean") {
28
+ contains = maxDepth;
29
+ maxDepth = undefined;
30
+ }
31
+ if (!depth) {
32
+ depth = 0;
33
+ }
34
+ if (!maxDepth) {
35
+ maxDepth = 10;
36
+ }
37
+ if (depth > maxDepth) {
38
+ Log.warning("deepEqual comparison exceeded maximum recursion depth of " + maxDepth + ". Treating values as unequal");
39
+ return false;
40
+ }
41
+ if (a === b || Number.isNaN(a) && Number.isNaN(b)) {
42
+ return true;
43
+ }
44
+ if (Array.isArray(a) && Array.isArray(b)) {
45
+ if (!contains && a.length !== b.length) {
46
+ return false;
9
47
  }
10
- if (!maxDepth) {
11
- maxDepth = 10;
48
+ if (a.length > b.length) {
49
+ return false;
12
50
  }
13
- if (depth > maxDepth) {
14
- Log.warning('deepEqual comparison exceeded maximum recursion depth of ' + maxDepth + '. Treating values as unequal');
51
+ for (var i = 0; i < a.length; i++) {
52
+ if (!fnEqual(a[i], b[i], maxDepth, contains, depth + 1)) {
15
53
  return false;
54
+ }
16
55
  }
17
- if (a === b) {
18
- return true;
19
- }
20
- var bIsReallyNaN = typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
21
- if (bIsReallyNaN) {
22
- return true;
23
- }
24
- if (Array.isArray(a) && Array.isArray(b)) {
25
- if (!contains && a.length !== b.length) {
26
- return false;
27
- }
28
- if (a.length > b.length) {
29
- return false;
30
- }
31
- for (var i = 0; i < a.length; i++) {
32
- if (!fnEqual(a[i], b[i], maxDepth, contains, depth + 1)) {
33
- return false;
34
- }
35
- }
36
- return true;
37
- }
38
- if (typeof a == 'object' && typeof b == 'object') {
39
- if (!a || !b) {
40
- return false;
41
- }
42
- if (a.constructor !== b.constructor) {
43
- return false;
44
- }
45
- if (!contains && Object.keys(a).length !== Object.keys(b).length) {
46
- return false;
47
- }
48
- if (a instanceof Node) {
49
- return a.isEqualNode(b);
50
- }
51
- if (a instanceof Date) {
52
- return a.valueOf() === b.valueOf();
53
- }
54
- for (var i in a) {
55
- if (!fnEqual(a[i], b[i], maxDepth, contains, depth + 1)) {
56
- return false;
57
- }
58
- }
59
- return true;
56
+ return true;
57
+ }
58
+ if (typeof a == "object" && typeof b == "object") {
59
+ if (!a || !b) {
60
+ return false;
60
61
  }
61
- return false;
62
+ if (a.constructor !== b.constructor) {
63
+ return false;
64
+ }
65
+ if (!contains && Object.keys(a).length !== Object.keys(b).length) {
66
+ return false;
67
+ }
68
+ if (a instanceof Node) {
69
+ return a.isEqualNode(b);
70
+ }
71
+ if (a instanceof Date) {
72
+ return a.valueOf() === b.valueOf();
73
+ }
74
+ for (var i in a) {
75
+ if (!fnEqual(a[i], b[i], maxDepth, contains, depth + 1)) {
76
+ return false;
77
+ }
78
+ }
79
+ return true;
80
+ }
81
+ return false;
62
82
  };
63
83
  export default fnEqual;