@swagger-api/apidom-ns-openapi-3-1 1.0.0-alpha.0 → 1.0.0-alpha.10

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.
@@ -1664,7 +1664,7 @@ const isMediaTypeElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_
1664
1664
 
1665
1665
  /***/ }),
1666
1666
 
1667
- /***/ 40048:
1667
+ /***/ 36891:
1668
1668
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1669
1669
 
1670
1670
  "use strict";
@@ -1672,7 +1672,57 @@ __webpack_require__.r(__webpack_exports__);
1672
1672
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1673
1673
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1674
1674
  /* harmony export */ });
1675
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14831);
1675
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
1676
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61865);
1677
+
1678
+ class NormalizeStorage {
1679
+ internalStore;
1680
+ constructor(storageElement, storageField, storageSubField) {
1681
+ this.storageElement = storageElement;
1682
+ this.storageField = storageField;
1683
+ this.storageSubField = storageSubField;
1684
+ }
1685
+ get store() {
1686
+ if (!this.internalStore) {
1687
+ let rootStore = this.storageElement.get(this.storageField);
1688
+ if (!(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(rootStore)) {
1689
+ rootStore = new _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.ObjectElement();
1690
+ this.storageElement.set(this.storageField, rootStore);
1691
+ }
1692
+ let store = rootStore.get(this.storageSubField);
1693
+ if (!(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(store)) {
1694
+ store = new _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.ArrayElement();
1695
+ rootStore.set(this.storageSubField, store);
1696
+ }
1697
+ this.internalStore = store;
1698
+ }
1699
+ return this.internalStore;
1700
+ }
1701
+ append(pointer) {
1702
+ if (!this.includes(pointer)) {
1703
+ this.store.push(pointer);
1704
+ }
1705
+ }
1706
+ includes(pointer) {
1707
+ return this.store.includes(pointer);
1708
+ }
1709
+ }
1710
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NormalizeStorage);
1711
+
1712
+ /***/ }),
1713
+
1714
+ /***/ 26031:
1715
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1716
+
1717
+ "use strict";
1718
+ __webpack_require__.r(__webpack_exports__);
1719
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1720
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1721
+ /* harmony export */ });
1722
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
1723
+ /* harmony import */ var _NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36891);
1724
+
1725
+
1676
1726
 
1677
1727
  /**
1678
1728
  * Override of Schema.example and Schema.examples field inside the Header Objects.
@@ -1685,13 +1735,28 @@ __webpack_require__.r(__webpack_exports__);
1685
1735
  *
1686
1736
  * The example value SHALL override the example provided by the schema.
1687
1737
  * Furthermore, if referencing a schema that contains an example, the examples value SHALL override the example provided by the schema.
1738
+ *
1739
+ * NOTE: this plugin is idempotent
1688
1740
  */
1689
- /* eslint-disable no-param-reassign */
1690
- const plugin = () => ({
1691
- predicates
1692
- }) => {
1741
+
1742
+ const plugin = ({
1743
+ storageField = 'x-normalized'
1744
+ } = {}) => toolbox => {
1745
+ const {
1746
+ predicates,
1747
+ ancestorLineageToJSONPointer
1748
+ } = toolbox;
1749
+ let storage;
1693
1750
  return {
1694
1751
  visitor: {
1752
+ OpenApi3_1Element: {
1753
+ enter(element) {
1754
+ storage = new _NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__["default"](element, storageField, 'header-examples');
1755
+ },
1756
+ leave() {
1757
+ storage = undefined;
1758
+ }
1759
+ },
1695
1760
  HeaderElement: {
1696
1761
  leave(headerElement, key, parent, path, ancestors) {
1697
1762
  // skip visiting this Header Object
@@ -1707,6 +1772,12 @@ const plugin = () => ({
1707
1772
  if (typeof headerElement.schema?.example === 'undefined' && typeof headerElement.schema?.examples === 'undefined') {
1708
1773
  return;
1709
1774
  }
1775
+ const headerJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, headerElement]);
1776
+
1777
+ // skip visiting this Header Object if it's already normalized
1778
+ if (storage.includes(headerJSONPointer)) {
1779
+ return;
1780
+ }
1710
1781
 
1711
1782
  /**
1712
1783
  * Header.examples and Schema.examples have preferences over the older
@@ -1715,13 +1786,15 @@ const plugin = () => ({
1715
1786
  if (typeof headerElement.examples !== 'undefined' && predicates.isObjectElement(headerElement.examples)) {
1716
1787
  // @ts-ignore
1717
1788
  const examples = headerElement.examples.map(example => {
1718
- return _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep.safe(example.value);
1789
+ return _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep.safe(example.value);
1719
1790
  });
1720
1791
  if (typeof headerElement.schema.examples !== 'undefined') {
1721
1792
  headerElement.schema.set('examples', examples);
1793
+ storage.append(headerJSONPointer);
1722
1794
  }
1723
1795
  if (typeof headerElement.schema.example !== 'undefined') {
1724
- headerElement.schema.set('example', examples);
1796
+ headerElement.schema.set('example', examples[0]);
1797
+ storage.append(headerJSONPointer);
1725
1798
  }
1726
1799
  return;
1727
1800
  }
@@ -1731,10 +1804,12 @@ const plugin = () => ({
1731
1804
  */
1732
1805
  if (typeof headerElement.example !== 'undefined') {
1733
1806
  if (typeof headerElement.schema.examples !== 'undefined') {
1734
- headerElement.schema.set('examples', [(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep)(headerElement.example)]);
1807
+ headerElement.schema.set('examples', [(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(headerElement.example)]);
1808
+ storage.append(headerJSONPointer);
1735
1809
  }
1736
1810
  if (typeof headerElement.schema.example !== 'undefined') {
1737
- headerElement.schema.set('example', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep)(headerElement.example));
1811
+ headerElement.schema.set('example', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(headerElement.example));
1812
+ storage.append(headerJSONPointer);
1738
1813
  }
1739
1814
  }
1740
1815
  }
@@ -1742,8 +1817,6 @@ const plugin = () => ({
1742
1817
  }
1743
1818
  };
1744
1819
  };
1745
- /* eslint-enable */
1746
-
1747
1820
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
1748
1821
 
1749
1822
  /***/ }),
@@ -1756,11 +1829,13 @@ __webpack_require__.r(__webpack_exports__);
1756
1829
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1757
1830
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1758
1831
  /* harmony export */ });
1759
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35445);
1760
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(66719);
1761
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(49451);
1762
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71514);
1763
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14831);
1832
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35445);
1833
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(66719);
1834
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49451);
1835
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(71514);
1836
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14831);
1837
+ /* harmony import */ var _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36891);
1838
+
1764
1839
 
1765
1840
 
1766
1841
  const removeSpaces = operationId => {
@@ -1796,25 +1871,33 @@ const normalizeOperationId = (operationId, path, method) => {
1796
1871
  * This plugin also guarantees the uniqueness of all defined Operation.operationId fields,
1797
1872
  * and make sure Link.operationId fields are pointing to correct and normalized Operation.operationId fields.
1798
1873
  *
1874
+ * NOTE: this plugin is idempotent
1799
1875
  */
1800
- /* eslint-disable no-param-reassign */
1801
1876
 
1877
+ /* eslint-disable no-param-reassign */
1802
1878
  const plugin = ({
1879
+ storageField = 'x-normalized',
1803
1880
  operationIdNormalizer = normalizeOperationId
1804
- } = {}) => ({
1805
- predicates,
1806
- namespace
1807
- }) => {
1808
- const paths = [];
1881
+ } = {}) => toolbox => {
1882
+ const {
1883
+ predicates,
1884
+ ancestorLineageToJSONPointer,
1885
+ namespace
1886
+ } = toolbox;
1887
+ const pathTemplates = [];
1809
1888
  const normalizedOperations = [];
1810
1889
  const links = [];
1890
+ let storage;
1811
1891
  return {
1812
1892
  visitor: {
1813
1893
  OpenApi3_1Element: {
1894
+ enter(element) {
1895
+ storage = new _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__["default"](element, storageField, 'operation-ids');
1896
+ },
1814
1897
  leave() {
1815
1898
  // group normalized operations by normalized operationId
1816
- const normalizedOperationGroups = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(operationElement => {
1817
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(operationElement.operationId);
1899
+ const normalizedOperationGroups = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(operationElement => {
1900
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(operationElement.operationId);
1818
1901
  }, normalizedOperations);
1819
1902
 
1820
1903
  // append incremental numerical suffixes to identical operationIds
@@ -1831,15 +1914,15 @@ const plugin = ({
1831
1914
  // rectify possibly broken Link.operationId fields
1832
1915
  links.forEach(linkElement => {
1833
1916
  if (typeof linkElement.operationId === 'undefined') return;
1834
- const linkOperationId = String((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(linkElement.operationId));
1917
+ const linkOperationId = String((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(linkElement.operationId));
1835
1918
  const operationElement = normalizedOperations.find(normalizedOperationElement => {
1836
- const originalOperationId = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(normalizedOperationElement.meta.get('originalOperationId'));
1919
+ const originalOperationId = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(normalizedOperationElement.meta.get('originalOperationId'));
1837
1920
  return originalOperationId === linkOperationId;
1838
1921
  });
1839
1922
 
1840
1923
  // Link Object doesn't need to be rectified
1841
1924
  if (typeof operationElement === 'undefined') return;
1842
- linkElement.operationId = _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__.cloneDeep.safe(operationElement.operationId);
1925
+ linkElement.operationId = _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.cloneDeep.safe(operationElement.operationId);
1843
1926
  linkElement.meta.set('originalOperationId', linkOperationId);
1844
1927
  linkElement.set('__originalOperationId', linkOperationId);
1845
1928
  });
@@ -1847,30 +1930,37 @@ const plugin = ({
1847
1930
  // cleanup the references
1848
1931
  normalizedOperations.length = 0;
1849
1932
  links.length = 0;
1933
+ storage = undefined;
1850
1934
  }
1851
1935
  },
1852
1936
  PathItemElement: {
1853
1937
  enter(pathItemElement) {
1854
1938
  // `path` meta may not be always available, e.g. in Callback Object or Components Object
1855
- const path = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('path', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(pathItemElement.meta.get('path')));
1856
- paths.push(path);
1939
+ const pathTemplate = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])('path', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(pathItemElement.meta.get('path')));
1940
+ pathTemplates.push(pathTemplate);
1857
1941
  },
1858
1942
  leave() {
1859
- paths.pop();
1943
+ pathTemplates.pop();
1860
1944
  }
1861
1945
  },
1862
1946
  OperationElement: {
1863
- enter(operationElement) {
1947
+ enter(operationElement, key, parent, path, ancestors) {
1864
1948
  // operationId field is undefined, needs no normalization
1865
1949
  if (typeof operationElement.operationId === 'undefined') return;
1950
+ const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, operationElement]);
1951
+
1952
+ // skip visiting this Operation Object if it's already normalized
1953
+ if (storage.includes(operationJSONPointer)) {
1954
+ return;
1955
+ }
1866
1956
 
1867
1957
  // cast operationId to string type
1868
- const originalOperationId = String((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(operationElement.operationId));
1958
+ const originalOperationId = String((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(operationElement.operationId));
1869
1959
  // perform operationId normalization
1870
- const path = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(paths);
1960
+ const pathTemplate = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(pathTemplates);
1871
1961
  // `http-method` meta may not be always available, e.g. in Callback Object or Components Object
1872
- const method = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])('method', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(operationElement.meta.get('http-method')));
1873
- const normalizedOperationId = operationIdNormalizer(originalOperationId, path, method);
1962
+ const method = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])('method', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(operationElement.meta.get('http-method')));
1963
+ const normalizedOperationId = operationIdNormalizer(originalOperationId, pathTemplate, method);
1874
1964
 
1875
1965
  // normalization is not necessary
1876
1966
  if (originalOperationId === normalizedOperationId) return;
@@ -1880,6 +1970,7 @@ const plugin = ({
1880
1970
  operationElement.set('__originalOperationId', originalOperationId);
1881
1971
  operationElement.meta.set('originalOperationId', originalOperationId);
1882
1972
  normalizedOperations.push(operationElement);
1973
+ storage.append(operationJSONPointer);
1883
1974
  }
1884
1975
  },
1885
1976
  LinkElement: {
@@ -1908,7 +1999,10 @@ __webpack_require__.r(__webpack_exports__);
1908
1999
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1909
2000
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1910
2001
  /* harmony export */ });
1911
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14831);
2002
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
2003
+ /* harmony import */ var _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36891);
2004
+
2005
+
1912
2006
 
1913
2007
  /**
1914
2008
  * Override of Schema.example and Schema.examples field inside the Parameter Objects.
@@ -1921,13 +2015,28 @@ __webpack_require__.r(__webpack_exports__);
1921
2015
  *
1922
2016
  * The example value SHALL override the example provided by the schema.
1923
2017
  * Furthermore, if referencing a schema that contains an example, the examples value SHALL override the example provided by the schema.
2018
+ *
2019
+ * NOTE: this plugin is idempotent
1924
2020
  */
1925
- /* eslint-disable no-param-reassign */
1926
- const plugin = () => ({
1927
- predicates
1928
- }) => {
2021
+
2022
+ const plugin = ({
2023
+ storageField = 'x-normalized'
2024
+ } = {}) => toolbox => {
2025
+ const {
2026
+ predicates,
2027
+ ancestorLineageToJSONPointer
2028
+ } = toolbox;
2029
+ let storage;
1929
2030
  return {
1930
2031
  visitor: {
2032
+ OpenApi3_1Element: {
2033
+ enter(element) {
2034
+ storage = new _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__["default"](element, storageField, 'parameter-examples');
2035
+ },
2036
+ leave() {
2037
+ storage = undefined;
2038
+ }
2039
+ },
1931
2040
  ParameterElement: {
1932
2041
  leave(parameterElement, key, parent, path, ancestors) {
1933
2042
  // skip visiting this Parameter Object
@@ -1943,6 +2052,12 @@ const plugin = () => ({
1943
2052
  if (typeof parameterElement.schema?.example === 'undefined' && typeof parameterElement.schema?.examples === 'undefined') {
1944
2053
  return;
1945
2054
  }
2055
+ const parameterJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, parameterElement]);
2056
+
2057
+ // skip visiting this Parameter Object if it's already normalized
2058
+ if (storage.includes(parameterJSONPointer)) {
2059
+ return;
2060
+ }
1946
2061
 
1947
2062
  /**
1948
2063
  * Parameter.examples and Schema.examples have preferences over the older
@@ -1951,13 +2066,15 @@ const plugin = () => ({
1951
2066
  if (typeof parameterElement.examples !== 'undefined' && predicates.isObjectElement(parameterElement.examples)) {
1952
2067
  // @ts-ignore
1953
2068
  const examples = parameterElement.examples.map(example => {
1954
- return _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep.safe(example.value);
2069
+ return _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep.safe(example.value);
1955
2070
  });
1956
2071
  if (typeof parameterElement.schema.examples !== 'undefined') {
1957
2072
  parameterElement.schema.set('examples', examples);
2073
+ storage.append(parameterJSONPointer);
1958
2074
  }
1959
2075
  if (typeof parameterElement.schema.example !== 'undefined') {
1960
- parameterElement.schema.set('example', examples);
2076
+ parameterElement.schema.set('example', examples[0]);
2077
+ storage.append(parameterJSONPointer);
1961
2078
  }
1962
2079
  return;
1963
2080
  }
@@ -1967,10 +2084,12 @@ const plugin = () => ({
1967
2084
  */
1968
2085
  if (typeof parameterElement.example !== 'undefined') {
1969
2086
  if (typeof parameterElement.schema.examples !== 'undefined') {
1970
- parameterElement.schema.set('examples', [(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep)(parameterElement.example)]);
2087
+ parameterElement.schema.set('examples', [(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(parameterElement.example)]);
2088
+ storage.append(parameterJSONPointer);
1971
2089
  }
1972
2090
  if (typeof parameterElement.schema.example !== 'undefined') {
1973
- parameterElement.schema.set('example', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.cloneDeep)(parameterElement.example));
2091
+ parameterElement.schema.set('example', (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(parameterElement.example));
2092
+ storage.append(parameterJSONPointer);
1974
2093
  }
1975
2094
  }
1976
2095
  }
@@ -1978,8 +2097,6 @@ const plugin = () => ({
1978
2097
  }
1979
2098
  };
1980
2099
  };
1981
- /* eslint-enable */
1982
-
1983
2100
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
1984
2101
 
1985
2102
  /***/ }),
@@ -1992,11 +2109,14 @@ __webpack_require__.r(__webpack_exports__);
1992
2109
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1993
2110
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1994
2111
  /* harmony export */ });
1995
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49451);
1996
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44181);
1997
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41942);
2112
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49451);
2113
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44181);
2114
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41942);
1998
2115
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71514);
1999
- /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32260);
2116
+ /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(32260);
2117
+ /* harmony import */ var _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36891);
2118
+
2119
+
2000
2120
 
2001
2121
 
2002
2122
 
@@ -2008,11 +2128,18 @@ __webpack_require__.r(__webpack_exports__);
2008
2128
  * A list of parameters that are applicable for this operation. If a parameter is already defined at the Path Item,
2009
2129
  * the new definition will override it but can never remove it. The list MUST NOT include duplicated parameters.
2010
2130
  * A unique parameter is defined by a combination of a name and location.
2131
+ *
2132
+ * NOTE: this plugin is idempotent
2011
2133
  */
2134
+
2012
2135
  /* eslint-disable no-param-reassign */
2013
- const plugin = () => ({
2014
- predicates
2015
- }) => {
2136
+ const plugin = ({
2137
+ storageField = 'x-normalized'
2138
+ } = {}) => toolbox => {
2139
+ const {
2140
+ predicates,
2141
+ ancestorLineageToJSONPointer
2142
+ } = toolbox;
2016
2143
  /**
2017
2144
  * Establishes identity between two Parameter Objects.
2018
2145
  *
@@ -2028,8 +2155,17 @@ const plugin = () => ({
2028
2155
  return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(parameter1.name) === (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(parameter2.name) && (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(parameter1.in) === (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(parameter2.in);
2029
2156
  };
2030
2157
  const pathItemParameters = [];
2158
+ let storage;
2031
2159
  return {
2032
2160
  visitor: {
2161
+ OpenApi3_1Element: {
2162
+ enter(element) {
2163
+ storage = new _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_1__["default"](element, storageField, 'parameters');
2164
+ },
2165
+ leave() {
2166
+ storage = undefined;
2167
+ }
2168
+ },
2033
2169
  PathItemElement: {
2034
2170
  enter(pathItemElement, key, parent, path, ancestors) {
2035
2171
  // skip visiting this Path Item
@@ -2050,18 +2186,25 @@ const plugin = () => ({
2050
2186
  }
2051
2187
  },
2052
2188
  OperationElement: {
2053
- leave(operationElement) {
2054
- const parentPathItemParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(pathItemParameters);
2189
+ leave(operationElement, key, parent, path, ancestors) {
2190
+ const parentPathItemParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(pathItemParameters);
2055
2191
 
2056
2192
  // no Path Item Object parameters to inherit from
2057
2193
  if (!Array.isArray(parentPathItemParameters) || parentPathItemParameters.length === 0) {
2058
2194
  return;
2059
2195
  }
2060
- const operationParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])([], ['parameters', 'content'], operationElement);
2196
+ const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, operationElement]);
2197
+
2198
+ // skip visiting this Operation Object if it's already normalized
2199
+ if (storage.includes(operationJSONPointer)) {
2200
+ return;
2201
+ }
2202
+ const operationParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])([], ['parameters', 'content'], operationElement);
2061
2203
 
2062
2204
  // prefers the first item if two items compare equal based on the predicate
2063
- const mergedParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(parameterEquals, [...operationParameters, ...parentPathItemParameters]);
2064
- operationElement.parameters = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__["default"](mergedParameters);
2205
+ const mergedParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(parameterEquals, [...operationParameters, ...parentPathItemParameters]);
2206
+ operationElement.parameters = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_5__["default"](mergedParameters);
2207
+ storage.append(operationJSONPointer);
2065
2208
  }
2066
2209
  }
2067
2210
  }
@@ -2081,7 +2224,9 @@ __webpack_require__.r(__webpack_exports__);
2081
2224
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2082
2225
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2083
2226
  /* harmony export */ });
2084
- /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47118);
2227
+ /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47118);
2228
+ /* harmony import */ var _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36891);
2229
+
2085
2230
 
2086
2231
  /**
2087
2232
  * Override of Security Requirement Objects.
@@ -2092,22 +2237,31 @@ __webpack_require__.r(__webpack_exports__);
2092
2237
  * To remove a top-level security declaration, an empty array can be used.
2093
2238
  * When a list of Security Requirement Objects is defined on the OpenAPI Object or Operation Object,
2094
2239
  * only one of the Security Requirement Objects in the list needs to be satisfied to authorize the request.
2240
+ *
2241
+ * NOTE: this plugin is idempotent
2095
2242
  */
2096
2243
 
2097
2244
  /* eslint-disable no-param-reassign */
2098
- const plugin = () => ({
2099
- predicates
2100
- }) => {
2245
+ const plugin = ({
2246
+ storageField = 'x-normalized'
2247
+ } = {}) => toolbox => {
2248
+ const {
2249
+ predicates,
2250
+ ancestorLineageToJSONPointer
2251
+ } = toolbox;
2101
2252
  let topLevelSecurity;
2253
+ let storage;
2102
2254
  return {
2103
2255
  visitor: {
2104
2256
  OpenApi3_1Element: {
2105
2257
  enter(openapiElement) {
2258
+ storage = new _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_0__["default"](openapiElement, storageField, 'security-requirements');
2106
2259
  if (predicates.isArrayElement(openapiElement.security)) {
2107
2260
  topLevelSecurity = openapiElement.security;
2108
2261
  }
2109
2262
  },
2110
2263
  leave() {
2264
+ storage = undefined;
2111
2265
  topLevelSecurity = undefined;
2112
2266
  }
2113
2267
  },
@@ -2117,10 +2271,17 @@ const plugin = () => ({
2117
2271
  if (ancestors.some(predicates.isComponentsElement)) {
2118
2272
  return;
2119
2273
  }
2274
+ const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, operationElement]);
2275
+
2276
+ // skip visiting this Operation Object if it's already normalized
2277
+ if (storage.includes(operationJSONPointer)) {
2278
+ return;
2279
+ }
2120
2280
  const missingOperationLevelSecurity = typeof operationElement.security === 'undefined';
2121
2281
  const hasTopLevelSecurity = typeof topLevelSecurity !== 'undefined';
2122
2282
  if (missingOperationLevelSecurity && hasTopLevelSecurity) {
2123
- operationElement.security = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__["default"](topLevelSecurity?.content);
2283
+ operationElement.security = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"](topLevelSecurity?.content);
2284
+ storage.append(operationJSONPointer);
2124
2285
  }
2125
2286
  }
2126
2287
  }
@@ -2142,8 +2303,11 @@ __webpack_require__.r(__webpack_exports__);
2142
2303
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2143
2304
  /* harmony export */ });
2144
2305
  /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81215);
2145
- /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27263);
2146
- /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(79588);
2306
+ /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27263);
2307
+ /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79588);
2308
+ /* harmony import */ var _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36891);
2309
+
2310
+
2147
2311
 
2148
2312
  /**
2149
2313
  * Override of Server Objects.
@@ -2159,30 +2323,47 @@ __webpack_require__.r(__webpack_exports__);
2159
2323
  */
2160
2324
 
2161
2325
  /* eslint-disable no-param-reassign */
2162
- const plugin = () => ({
2163
- predicates,
2164
- namespace
2165
- }) => {
2326
+ const plugin = ({
2327
+ storageField = 'x-normalized'
2328
+ } = {}) => toolbox => {
2329
+ const {
2330
+ namespace,
2331
+ ancestorLineageToJSONPointer,
2332
+ predicates
2333
+ } = toolbox;
2334
+ let storage;
2166
2335
  return {
2167
2336
  visitor: {
2168
- OpenApi3_1Element(openapiElement) {
2169
- const isServersUndefined = typeof openapiElement.servers === 'undefined';
2170
- const isServersArrayElement = predicates.isArrayElement(openapiElement.servers);
2171
- const isServersEmpty = isServersArrayElement && openapiElement.servers.length === 0;
2172
- // @ts-ignore
2173
- const defaultServer = namespace.elements.Server.refract({
2174
- url: '/'
2175
- });
2176
- if (isServersUndefined || !isServersArrayElement) {
2177
- openapiElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__["default"]([defaultServer]);
2178
- } else if (isServersArrayElement && isServersEmpty) {
2179
- openapiElement.servers.push(defaultServer);
2337
+ OpenApi3_1Element: {
2338
+ enter(openapiElement) {
2339
+ const isServersUndefined = typeof openapiElement.servers === 'undefined';
2340
+ const isServersArrayElement = predicates.isArrayElement(openapiElement.servers);
2341
+ const isServersEmpty = isServersArrayElement && openapiElement.servers.length === 0;
2342
+ // @ts-ignore
2343
+ const defaultServer = namespace.elements.Server.refract({
2344
+ url: '/'
2345
+ });
2346
+ if (isServersUndefined || !isServersArrayElement) {
2347
+ openapiElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__["default"]([defaultServer]);
2348
+ } else if (isServersArrayElement && isServersEmpty) {
2349
+ openapiElement.servers.push(defaultServer);
2350
+ }
2351
+ storage = new _normalize_header_examples_NormalizeStorage__WEBPACK_IMPORTED_MODULE_1__["default"](openapiElement, storageField, 'servers');
2352
+ },
2353
+ leave() {
2354
+ storage = undefined;
2180
2355
  }
2181
2356
  },
2182
2357
  PathItemElement(pathItemElement, key, parent, path, ancestors) {
2183
2358
  // skip visiting this Path Item
2184
2359
  if (ancestors.some(predicates.isComponentsElement)) return;
2185
2360
  if (!ancestors.some(predicates.isOpenApi3_1Element)) return;
2361
+ const pathItemJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, pathItemElement]);
2362
+
2363
+ // skip visiting this Path Item Object if it's already normalized
2364
+ if (storage.includes(pathItemJSONPointer)) {
2365
+ return;
2366
+ }
2186
2367
  const parentOpenapiElement = ancestors.find(predicates.isOpenApi3_1Element);
2187
2368
  const isServersUndefined = typeof pathItemElement.servers === 'undefined';
2188
2369
  const isServersArrayElement = predicates.isArrayElement(pathItemElement.servers);
@@ -2193,18 +2374,25 @@ const plugin = () => ({
2193
2374
  const openapiServersContent = parentOpenapiElement.servers?.content;
2194
2375
  const openapiServers = openapiServersContent ?? [];
2195
2376
  if (isServersUndefined || !isServersArrayElement) {
2196
- pathItemElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"](openapiServers);
2377
+ pathItemElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"](openapiServers);
2197
2378
  } else if (isServersArrayElement && isServersEmpty) {
2198
2379
  openapiServers.forEach(server => {
2199
2380
  pathItemElement.servers.push(server);
2200
2381
  });
2201
2382
  }
2383
+ storage.append(pathItemJSONPointer);
2202
2384
  }
2203
2385
  },
2204
2386
  OperationElement(operationElement, key, parent, path, ancestors) {
2205
2387
  // skip visiting this Operation
2206
2388
  if (ancestors.some(predicates.isComponentsElement)) return;
2207
2389
  if (!ancestors.some(predicates.isOpenApi3_1Element)) return;
2390
+ const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, parent, operationElement]);
2391
+
2392
+ // skip visiting this Operation Object if it's already normalized
2393
+ if (storage.includes(operationJSONPointer)) {
2394
+ return;
2395
+ }
2208
2396
 
2209
2397
  // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.findLast in future
2210
2398
  const parentPathItemElement = [...ancestors].reverse().find(predicates.isPathItemElement);
@@ -2216,12 +2404,13 @@ const plugin = () => ({
2216
2404
  const pathItemServers = pathItemServersContent ?? [];
2217
2405
  if (isServersUndefined || !isServersArrayElement) {
2218
2406
  // duplicate parent PathItem.servers into this Operation object
2219
- operationElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"](pathItemServers);
2407
+ operationElement.servers = new _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__["default"](pathItemServers);
2220
2408
  } else if (isServersArrayElement && isServersEmpty) {
2221
2409
  pathItemServers.forEach(server => {
2222
2410
  operationElement.servers.push(server);
2223
2411
  });
2224
2412
  }
2413
+ storage.append(operationJSONPointer);
2225
2414
  }
2226
2415
  }
2227
2416
  }
@@ -3623,30 +3812,55 @@ __webpack_require__.r(__webpack_exports__);
3623
3812
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3624
3813
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3625
3814
  /* harmony export */ });
3626
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6260);
3627
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(70060);
3628
- /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(65457);
3629
- /* harmony import */ var _predicates__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97269);
3630
- /* harmony import */ var _namespace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9936);
3815
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
3816
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71514);
3817
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6260);
3818
+ /* harmony import */ var _swagger_api_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69559);
3819
+ /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(65457);
3820
+ /* harmony import */ var _predicates__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97269);
3821
+ /* harmony import */ var _namespace__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9936);
3631
3822
 
3632
3823
 
3633
3824
 
3634
3825
 
3826
+
3827
+ /**
3828
+ * Translates visitor ancestor lineage to a JSON Pointer tokens.
3829
+ * Ancestor lineage is constructed of following visitor method arguments:
3830
+ *
3831
+ * - ancestors
3832
+ * - parent
3833
+ * - element
3834
+ */
3835
+ const ancestorLineageToJSONPointer = elementPath => {
3836
+ const jsonPointerTokens = elementPath.reduce((path, element, index) => {
3837
+ if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(element)) {
3838
+ const token = String((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(element.key));
3839
+ path.push(token);
3840
+ } else if ((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(elementPath[index - 2])) {
3841
+ const token = String(elementPath[index - 2].content.indexOf(element));
3842
+ path.push(token);
3843
+ }
3844
+ return path;
3845
+ }, []);
3846
+ return (0,_swagger_api_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_2__["default"])(jsonPointerTokens);
3847
+ };
3635
3848
  const createToolbox = () => {
3636
- const namespace = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.createNamespace)(_namespace__WEBPACK_IMPORTED_MODULE_1__["default"]);
3849
+ const namespace = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.createNamespace)(_namespace__WEBPACK_IMPORTED_MODULE_4__["default"]);
3637
3850
  const predicates = {
3638
- ..._predicates__WEBPACK_IMPORTED_MODULE_2__,
3639
- isElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isElement,
3640
- isStringElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isStringElement,
3641
- isArrayElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isArrayElement,
3642
- isObjectElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isObjectElement,
3643
- isMemberElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.isMemberElement,
3644
- isServersElement: _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__.isServersElement,
3645
- includesClasses: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.includesClasses,
3646
- hasElementSourceMap: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_3__.hasElementSourceMap
3851
+ ..._predicates__WEBPACK_IMPORTED_MODULE_5__,
3852
+ isElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isElement,
3853
+ isStringElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isStringElement,
3854
+ isArrayElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isArrayElement,
3855
+ isObjectElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isObjectElement,
3856
+ isMemberElement: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isMemberElement,
3857
+ isServersElement: _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_6__.isServersElement,
3858
+ includesClasses: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.includesClasses,
3859
+ hasElementSourceMap: _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.hasElementSourceMap
3647
3860
  };
3648
3861
  return {
3649
3862
  predicates,
3863
+ ancestorLineageToJSONPointer,
3650
3864
  namespace
3651
3865
  };
3652
3866
  };
@@ -11644,6 +11858,7 @@ var createMethod = function (IS_INCLUDES) {
11644
11858
  return function ($this, el, fromIndex) {
11645
11859
  var O = toIndexedObject($this);
11646
11860
  var length = lengthOfArrayLike(O);
11861
+ if (length === 0) return !IS_INCLUDES && -1;
11647
11862
  var index = toAbsoluteIndex(fromIndex, length);
11648
11863
  var value;
11649
11864
  // Array#includes uses SameValueZero equality algorithm
@@ -11839,16 +12054,16 @@ module.exports = function (target, key, value, options) {
11839
12054
 
11840
12055
  "use strict";
11841
12056
 
11842
- var global = __webpack_require__(21063);
12057
+ var globalThis = __webpack_require__(58900);
11843
12058
 
11844
12059
  // eslint-disable-next-line es/no-object-defineproperty -- safe
11845
12060
  var defineProperty = Object.defineProperty;
11846
12061
 
11847
12062
  module.exports = function (key, value) {
11848
12063
  try {
11849
- defineProperty(global, key, { value: value, configurable: true, writable: true });
12064
+ defineProperty(globalThis, key, { value: value, configurable: true, writable: true });
11850
12065
  } catch (error) {
11851
- global[key] = value;
12066
+ globalThis[key] = value;
11852
12067
  } return value;
11853
12068
  };
11854
12069
 
@@ -11876,10 +12091,10 @@ module.exports = !fails(function () {
11876
12091
 
11877
12092
  "use strict";
11878
12093
 
11879
- var global = __webpack_require__(21063);
12094
+ var globalThis = __webpack_require__(58900);
11880
12095
  var isObject = __webpack_require__(90262);
11881
12096
 
11882
- var document = global.document;
12097
+ var document = globalThis.document;
11883
12098
  // typeof document.createElement is 'object' in old IE
11884
12099
  var EXISTS = isObject(document) && isObject(document.createElement);
11885
12100
 
@@ -11934,26 +12149,50 @@ module.exports = {
11934
12149
 
11935
12150
  /***/ }),
11936
12151
 
11937
- /***/ 47868:
12152
+ /***/ 79683:
11938
12153
  /***/ ((module) => {
11939
12154
 
11940
12155
  "use strict";
11941
12156
 
11942
- module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
12157
+ // IE8- don't enum bug keys
12158
+ module.exports = [
12159
+ 'constructor',
12160
+ 'hasOwnProperty',
12161
+ 'isPrototypeOf',
12162
+ 'propertyIsEnumerable',
12163
+ 'toLocaleString',
12164
+ 'toString',
12165
+ 'valueOf'
12166
+ ];
12167
+
12168
+
12169
+ /***/ }),
12170
+
12171
+ /***/ 83531:
12172
+ /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12173
+
12174
+ "use strict";
12175
+
12176
+ var globalThis = __webpack_require__(58900);
12177
+
12178
+ var navigator = globalThis.navigator;
12179
+ var userAgent = navigator && navigator.userAgent;
12180
+
12181
+ module.exports = userAgent ? String(userAgent) : '';
11943
12182
 
11944
12183
 
11945
12184
  /***/ }),
11946
12185
 
11947
- /***/ 44432:
12186
+ /***/ 5547:
11948
12187
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11949
12188
 
11950
12189
  "use strict";
11951
12190
 
11952
- var global = __webpack_require__(21063);
11953
- var userAgent = __webpack_require__(47868);
12191
+ var globalThis = __webpack_require__(58900);
12192
+ var userAgent = __webpack_require__(83531);
11954
12193
 
11955
- var process = global.process;
11956
- var Deno = global.Deno;
12194
+ var process = globalThis.process;
12195
+ var Deno = globalThis.Deno;
11957
12196
  var versions = process && process.versions || Deno && Deno.version;
11958
12197
  var v8 = versions && versions.v8;
11959
12198
  var match, version;
@@ -11978,25 +12217,6 @@ if (!version && userAgent) {
11978
12217
  module.exports = version;
11979
12218
 
11980
12219
 
11981
- /***/ }),
11982
-
11983
- /***/ 79683:
11984
- /***/ ((module) => {
11985
-
11986
- "use strict";
11987
-
11988
- // IE8- don't enum bug keys
11989
- module.exports = [
11990
- 'constructor',
11991
- 'hasOwnProperty',
11992
- 'isPrototypeOf',
11993
- 'propertyIsEnumerable',
11994
- 'toLocaleString',
11995
- 'toString',
11996
- 'valueOf'
11997
- ];
11998
-
11999
-
12000
12220
  /***/ }),
12001
12221
 
12002
12222
  /***/ 13885:
@@ -12069,7 +12289,7 @@ module.exports = !fails(function () {
12069
12289
 
12070
12290
  "use strict";
12071
12291
 
12072
- var global = __webpack_require__(21063);
12292
+ var globalThis = __webpack_require__(58900);
12073
12293
  var apply = __webpack_require__(57013);
12074
12294
  var uncurryThis = __webpack_require__(9344);
12075
12295
  var isCallable = __webpack_require__(52769);
@@ -12079,6 +12299,8 @@ var path = __webpack_require__(68099);
12079
12299
  var bind = __webpack_require__(94572);
12080
12300
  var createNonEnumerableProperty = __webpack_require__(73999);
12081
12301
  var hasOwn = __webpack_require__(70701);
12302
+ // add debugging info
12303
+ __webpack_require__(33753);
12082
12304
 
12083
12305
  var wrapConstructor = function (NativeConstructor) {
12084
12306
  var Wrapper = function (a, b, c) {
@@ -12115,7 +12337,7 @@ module.exports = function (options, source) {
12115
12337
  var STATIC = options.stat;
12116
12338
  var PROTO = options.proto;
12117
12339
 
12118
- var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : global[TARGET] && global[TARGET].prototype;
12340
+ var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;
12119
12341
 
12120
12342
  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];
12121
12343
  var targetPrototype = target.prototype;
@@ -12141,7 +12363,7 @@ module.exports = function (options, source) {
12141
12363
  if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;
12142
12364
 
12143
12365
  // bind methods to global for calling from export context
12144
- if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);
12366
+ if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);
12145
12367
  // wrap global constructors for prevent changes in this version
12146
12368
  else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);
12147
12369
  // make static versions for prototype methods
@@ -12352,7 +12574,7 @@ module.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {
12352
12574
  "use strict";
12353
12575
 
12354
12576
  var path = __webpack_require__(68099);
12355
- var global = __webpack_require__(21063);
12577
+ var globalThis = __webpack_require__(58900);
12356
12578
  var isCallable = __webpack_require__(52769);
12357
12579
 
12358
12580
  var aFunction = function (variable) {
@@ -12360,8 +12582,8 @@ var aFunction = function (variable) {
12360
12582
  };
12361
12583
 
12362
12584
  module.exports = function (namespace, method) {
12363
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])
12364
- : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
12585
+ return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])
12586
+ : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];
12365
12587
  };
12366
12588
 
12367
12589
 
@@ -12429,7 +12651,7 @@ module.exports = function (V, P) {
12429
12651
 
12430
12652
  /***/ }),
12431
12653
 
12432
- /***/ 21063:
12654
+ /***/ 58900:
12433
12655
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
12434
12656
 
12435
12657
  "use strict";
@@ -12591,7 +12813,7 @@ module.exports = function (O, options) {
12591
12813
  "use strict";
12592
12814
 
12593
12815
  var NATIVE_WEAK_MAP = __webpack_require__(31314);
12594
- var global = __webpack_require__(21063);
12816
+ var globalThis = __webpack_require__(58900);
12595
12817
  var isObject = __webpack_require__(90262);
12596
12818
  var createNonEnumerableProperty = __webpack_require__(73999);
12597
12819
  var hasOwn = __webpack_require__(70701);
@@ -12600,8 +12822,8 @@ var sharedKey = __webpack_require__(64275);
12600
12822
  var hiddenKeys = __webpack_require__(95241);
12601
12823
 
12602
12824
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
12603
- var TypeError = global.TypeError;
12604
- var WeakMap = global.WeakMap;
12825
+ var TypeError = globalThis.TypeError;
12826
+ var WeakMap = globalThis.WeakMap;
12605
12827
  var set, get, has;
12606
12828
 
12607
12829
  var enforce = function (it) {
@@ -13198,7 +13420,8 @@ var NullProtoObjectViaActiveX = function (activeXDocument) {
13198
13420
  activeXDocument.write(scriptTag(''));
13199
13421
  activeXDocument.close();
13200
13422
  var temp = activeXDocument.parentWindow.Object;
13201
- activeXDocument = null; // avoid memory leak
13423
+ // eslint-disable-next-line no-useless-assignment -- avoid memory leak
13424
+ activeXDocument = null;
13202
13425
  return temp;
13203
13426
  };
13204
13427
 
@@ -13520,7 +13743,8 @@ exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
13520
13743
 
13521
13744
  /* eslint-disable no-proto -- safe */
13522
13745
  var uncurryThisAccessor = __webpack_require__(33574);
13523
- var anObject = __webpack_require__(47235);
13746
+ var isObject = __webpack_require__(90262);
13747
+ var requireObjectCoercible = __webpack_require__(95426);
13524
13748
  var aPossiblePrototype = __webpack_require__(91966);
13525
13749
 
13526
13750
  // `Object.setPrototypeOf` method
@@ -13537,8 +13761,9 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
13537
13761
  CORRECT_SETTER = test instanceof Array;
13538
13762
  } catch (error) { /* empty */ }
13539
13763
  return function setPrototypeOf(O, proto) {
13540
- anObject(O);
13764
+ requireObjectCoercible(O);
13541
13765
  aPossiblePrototype(proto);
13766
+ if (!isObject(O)) return O;
13542
13767
  if (CORRECT_SETTER) setter(O, proto);
13543
13768
  else O.__proto__ = proto;
13544
13769
  return O;
@@ -13710,13 +13935,20 @@ module.exports = function (key) {
13710
13935
 
13711
13936
  "use strict";
13712
13937
 
13713
- var global = __webpack_require__(21063);
13938
+ var IS_PURE = __webpack_require__(64871);
13939
+ var globalThis = __webpack_require__(58900);
13714
13940
  var defineGlobalProperty = __webpack_require__(57525);
13715
13941
 
13716
13942
  var SHARED = '__core-js_shared__';
13717
- var store = global[SHARED] || defineGlobalProperty(SHARED, {});
13943
+ var store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});
13718
13944
 
13719
- module.exports = store;
13945
+ (store.versions || (store.versions = [])).push({
13946
+ version: '3.38.1',
13947
+ mode: IS_PURE ? 'pure' : 'global',
13948
+ copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
13949
+ license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',
13950
+ source: 'https://github.com/zloirock/core-js'
13951
+ });
13720
13952
 
13721
13953
 
13722
13954
  /***/ }),
@@ -13726,18 +13958,11 @@ module.exports = store;
13726
13958
 
13727
13959
  "use strict";
13728
13960
 
13729
- var IS_PURE = __webpack_require__(64871);
13730
13961
  var store = __webpack_require__(33753);
13731
13962
 
13732
- (module.exports = function (key, value) {
13733
- return store[key] || (store[key] = value !== undefined ? value : {});
13734
- })('versions', []).push({
13735
- version: '3.35.1',
13736
- mode: IS_PURE ? 'pure' : 'global',
13737
- copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
13738
- license: 'https://github.com/zloirock/core-js/blob/v3.35.1/LICENSE',
13739
- source: 'https://github.com/zloirock/core-js'
13740
- });
13963
+ module.exports = function (key, value) {
13964
+ return store[key] || (store[key] = value || {});
13965
+ };
13741
13966
 
13742
13967
 
13743
13968
  /***/ }),
@@ -13793,11 +14018,11 @@ module.exports = {
13793
14018
  "use strict";
13794
14019
 
13795
14020
  /* eslint-disable es/no-symbol -- required for testing */
13796
- var V8_VERSION = __webpack_require__(44432);
14021
+ var V8_VERSION = __webpack_require__(5547);
13797
14022
  var fails = __webpack_require__(61203);
13798
- var global = __webpack_require__(21063);
14023
+ var globalThis = __webpack_require__(58900);
13799
14024
 
13800
- var $String = global.String;
14025
+ var $String = globalThis.String;
13801
14026
 
13802
14027
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
13803
14028
  module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
@@ -14069,10 +14294,10 @@ module.exports = DESCRIPTORS && fails(function () {
14069
14294
 
14070
14295
  "use strict";
14071
14296
 
14072
- var global = __webpack_require__(21063);
14297
+ var globalThis = __webpack_require__(58900);
14073
14298
  var isCallable = __webpack_require__(52769);
14074
14299
 
14075
- var WeakMap = global.WeakMap;
14300
+ var WeakMap = globalThis.WeakMap;
14076
14301
 
14077
14302
  module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
14078
14303
 
@@ -14084,14 +14309,14 @@ module.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));
14084
14309
 
14085
14310
  "use strict";
14086
14311
 
14087
- var global = __webpack_require__(21063);
14312
+ var globalThis = __webpack_require__(58900);
14088
14313
  var shared = __webpack_require__(58141);
14089
14314
  var hasOwn = __webpack_require__(70701);
14090
14315
  var uid = __webpack_require__(41268);
14091
14316
  var NATIVE_SYMBOL = __webpack_require__(74603);
14092
14317
  var USE_SYMBOL_AS_UID = __webpack_require__(57460);
14093
14318
 
14094
- var Symbol = global.Symbol;
14319
+ var Symbol = globalThis.Symbol;
14095
14320
  var WellKnownSymbolsStore = shared('wks');
14096
14321
  var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;
14097
14322
 
@@ -14323,7 +14548,7 @@ module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
14323
14548
  var target = state.target;
14324
14549
  var index = state.index++;
14325
14550
  if (!target || index >= target.length) {
14326
- state.target = undefined;
14551
+ state.target = null;
14327
14552
  return createIterResultObject(undefined, true);
14328
14553
  }
14329
14554
  switch (state.kind) {
@@ -14357,12 +14582,12 @@ if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
14357
14582
 
14358
14583
  /* eslint-disable no-unused-vars -- required for functions `.length` */
14359
14584
  var $ = __webpack_require__(9098);
14360
- var global = __webpack_require__(21063);
14585
+ var globalThis = __webpack_require__(58900);
14361
14586
  var apply = __webpack_require__(57013);
14362
14587
  var wrapErrorConstructorWithCause = __webpack_require__(16453);
14363
14588
 
14364
14589
  var WEB_ASSEMBLY = 'WebAssembly';
14365
- var WebAssembly = global[WEB_ASSEMBLY];
14590
+ var WebAssembly = globalThis[WEB_ASSEMBLY];
14366
14591
 
14367
14592
  // eslint-disable-next-line es/no-error-cause -- feature detection
14368
14593
  var FORCED = new Error('e', { cause: 7 }).cause !== 7;
@@ -14473,12 +14698,12 @@ __webpack_require__(35695);
14473
14698
 
14474
14699
  __webpack_require__(59828);
14475
14700
  var DOMIterables = __webpack_require__(1100);
14476
- var global = __webpack_require__(21063);
14701
+ var globalThis = __webpack_require__(58900);
14477
14702
  var setToStringTag = __webpack_require__(71811);
14478
14703
  var Iterators = __webpack_require__(86625);
14479
14704
 
14480
14705
  for (var COLLECTION_NAME in DOMIterables) {
14481
- setToStringTag(global[COLLECTION_NAME], COLLECTION_NAME);
14706
+ setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);
14482
14707
  Iterators[COLLECTION_NAME] = Iterators.Array;
14483
14708
  }
14484
14709
 
@@ -14522,12 +14747,12 @@ __webpack_require__.r(__webpack_exports__);
14522
14747
  /* harmony import */ var _isNotNil_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76955);
14523
14748
  /* harmony import */ var _isNonEmptyArray_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(60058);
14524
14749
  /* harmony import */ var _stubUndefined_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(23387);
14525
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14750
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
14526
14751
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14527
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14528
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14529
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14530
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14752
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14753
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
14754
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
14755
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14531
14756
 
14532
14757
 
14533
14758
  /**
@@ -16788,7 +17013,7 @@ __webpack_require__.r(__webpack_exports__);
16788
17013
  * @since v0.1.0
16789
17014
  * @category List
16790
17015
  * @sig [a] -> a | Undefined
16791
- * @sig String -> String
17016
+ * @sig String -> String | Undefined
16792
17017
  * @param {Array|String} list
16793
17018
  * @return {*}
16794
17019
  * @see R.tail, R.init, R.last
@@ -16798,7 +17023,7 @@ __webpack_require__.r(__webpack_exports__);
16798
17023
  * R.head([]); //=> undefined
16799
17024
  *
16800
17025
  * R.head('abc'); //=> 'a'
16801
- * R.head(''); //=> ''
17026
+ * R.head(''); //=> undefined
16802
17027
  */
16803
17028
  var head = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (list) {
16804
17029
  return (0,_internal_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(0, list);
@@ -18273,10 +18498,8 @@ __webpack_require__.r(__webpack_exports__);
18273
18498
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18274
18499
  /* harmony export */ "default": () => (/* binding */ _isPlaceholder)
18275
18500
  /* harmony export */ });
18276
- /* harmony import */ var _placeholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80231);
18277
-
18278
18501
  function _isPlaceholder(a) {
18279
- return a === _placeholder_js__WEBPACK_IMPORTED_MODULE_0__["default"];
18502
+ return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;
18280
18503
  }
18281
18504
 
18282
18505
  /***/ }),
@@ -18446,20 +18669,6 @@ function _pipe(f, g) {
18446
18669
 
18447
18670
  /***/ }),
18448
18671
 
18449
- /***/ 80231:
18450
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18451
-
18452
- "use strict";
18453
- __webpack_require__.r(__webpack_exports__);
18454
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18455
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
18456
- /* harmony export */ });
18457
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
18458
- '@@functional/placeholder': true
18459
- });
18460
-
18461
- /***/ }),
18462
-
18463
18672
  /***/ 61950:
18464
18673
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18465
18674
 
@@ -19317,7 +19526,7 @@ __webpack_require__.r(__webpack_exports__);
19317
19526
  * @since v0.1.4
19318
19527
  * @category List
19319
19528
  * @sig [a] -> a | Undefined
19320
- * @sig String -> String
19529
+ * @sig String -> String | Undefined
19321
19530
  * @param {*} list
19322
19531
  * @return {*}
19323
19532
  * @see R.init, R.head, R.tail
@@ -19327,7 +19536,7 @@ __webpack_require__.r(__webpack_exports__);
19327
19536
  * R.last([]); //=> undefined
19328
19537
  *
19329
19538
  * R.last('abc'); //=> 'c'
19330
- * R.last(''); //=> ''
19539
+ * R.last(''); //=> undefined
19331
19540
  */
19332
19541
  var last = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (list) {
19333
19542
  return (0,_internal_nth_js__WEBPACK_IMPORTED_MODULE_1__["default"])(-1, list);
@@ -20537,6 +20746,48 @@ var reject = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["d
20537
20746
 
20538
20747
  /***/ }),
20539
20748
 
20749
+ /***/ 98675:
20750
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20751
+
20752
+ "use strict";
20753
+ __webpack_require__.r(__webpack_exports__);
20754
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20755
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20756
+ /* harmony export */ });
20757
+ /* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088);
20758
+
20759
+
20760
+ /**
20761
+ * Replace a substring or regex match in a string with a replacement.
20762
+ *
20763
+ * The first two parameters correspond to the parameters of the
20764
+ * `String.prototype.replace()` function, so the second parameter can also be a
20765
+ * function.
20766
+ *
20767
+ * @func
20768
+ * @memberOf R
20769
+ * @since v0.7.0
20770
+ * @category String
20771
+ * @sig RegExp|String -> String -> String -> String
20772
+ * @param {RegExp|String} pattern A regular expression or a substring to match.
20773
+ * @param {String} replacement The string to replace the matches with.
20774
+ * @param {String} str The String to do the search and replacement in.
20775
+ * @return {String} The result.
20776
+ * @example
20777
+ *
20778
+ * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'
20779
+ * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'
20780
+ *
20781
+ * // Use the "g" (global) flag to replace all occurrences:
20782
+ * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'
20783
+ */
20784
+ var replace = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function replace(regex, replacement, str) {
20785
+ return str.replace(regex, replacement);
20786
+ });
20787
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (replace);
20788
+
20789
+ /***/ }),
20790
+
20540
20791
  /***/ 85969:
20541
20792
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20542
20793
 
@@ -21042,7 +21293,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
21042
21293
  * parallel. Each visitor will be visited for each node before moving on.
21043
21294
  *
21044
21295
  * If a prior visitor edits a node, no following visitors will see that node.
21045
- * `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
21296
+ * `exposeEdits=true` can be used to expose the edited node from the previous visitors.
21046
21297
  */
21047
21298
 
21048
21299
  const mergeAll = (visitors, {
@@ -21056,14 +21307,21 @@ const mergeAll = (visitors, {
21056
21307
  const skipSymbol = Symbol('skip');
21057
21308
  const skipping = new Array(visitors.length).fill(skipSymbol);
21058
21309
  return {
21059
- enter(node, ...rest) {
21310
+ enter(node, key, parent, path, ancestors, link) {
21060
21311
  let currentNode = node;
21061
21312
  let hasChanged = false;
21313
+ const linkProxy = {
21314
+ ...link,
21315
+ replaceWith(newNode, replacer) {
21316
+ link.replaceWith(newNode, replacer);
21317
+ currentNode = newNode;
21318
+ }
21319
+ };
21062
21320
  for (let i = 0; i < visitors.length; i += 1) {
21063
21321
  if (skipping[i] === skipSymbol) {
21064
21322
  const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
21065
21323
  if (typeof visitFn === 'function') {
21066
- const result = visitFn.call(visitors[i], currentNode, ...rest);
21324
+ const result = visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy);
21067
21325
 
21068
21326
  // check if the visitor is async
21069
21327
  if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
@@ -21073,7 +21331,7 @@ const mergeAll = (visitors, {
21073
21331
  });
21074
21332
  }
21075
21333
  if (result === skipVisitingNodeSymbol) {
21076
- skipping[i] = node;
21334
+ skipping[i] = currentNode;
21077
21335
  } else if (result === breakSymbol) {
21078
21336
  skipping[i] = breakSymbol;
21079
21337
  } else if (result === deleteNodeSymbol) {
@@ -21091,12 +21349,20 @@ const mergeAll = (visitors, {
21091
21349
  }
21092
21350
  return hasChanged ? currentNode : undefined;
21093
21351
  },
21094
- leave(node, ...rest) {
21352
+ leave(node, key, parent, path, ancestors, link) {
21353
+ let currentNode = node;
21354
+ const linkProxy = {
21355
+ ...link,
21356
+ replaceWith(newNode, replacer) {
21357
+ link.replaceWith(newNode, replacer);
21358
+ currentNode = newNode;
21359
+ }
21360
+ };
21095
21361
  for (let i = 0; i < visitors.length; i += 1) {
21096
21362
  if (skipping[i] === skipSymbol) {
21097
- const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
21363
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), true);
21098
21364
  if (typeof visitFn === 'function') {
21099
- const result = visitFn.call(visitors[i], node, ...rest);
21365
+ const result = visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy);
21100
21366
 
21101
21367
  // check if the visitor is async
21102
21368
  if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
@@ -21111,7 +21377,7 @@ const mergeAll = (visitors, {
21111
21377
  return result;
21112
21378
  }
21113
21379
  }
21114
- } else if (skipping[i] === node) {
21380
+ } else if (skipping[i] === currentNode) {
21115
21381
  skipping[i] = skipSymbol;
21116
21382
  }
21117
21383
  }
@@ -21130,17 +21396,24 @@ const mergeAllAsync = (visitors, {
21130
21396
  const skipSymbol = Symbol('skip');
21131
21397
  const skipping = new Array(visitors.length).fill(skipSymbol);
21132
21398
  return {
21133
- async enter(node, ...rest) {
21399
+ async enter(node, key, parent, path, ancestors, link) {
21134
21400
  let currentNode = node;
21135
21401
  let hasChanged = false;
21402
+ const linkProxy = {
21403
+ ...link,
21404
+ replaceWith(newNode, replacer) {
21405
+ link.replaceWith(newNode, replacer);
21406
+ currentNode = newNode;
21407
+ }
21408
+ };
21136
21409
  for (let i = 0; i < visitors.length; i += 1) {
21137
21410
  if (skipping[i] === skipSymbol) {
21138
21411
  const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
21139
21412
  if (typeof visitFn === 'function') {
21140
21413
  // eslint-disable-next-line no-await-in-loop
21141
- const result = await visitFn.call(visitors[i], currentNode, ...rest);
21414
+ const result = await visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy);
21142
21415
  if (result === skipVisitingNodeSymbol) {
21143
- skipping[i] = node;
21416
+ skipping[i] = currentNode;
21144
21417
  } else if (result === breakSymbol) {
21145
21418
  skipping[i] = breakSymbol;
21146
21419
  } else if (result === deleteNodeSymbol) {
@@ -21158,20 +21431,28 @@ const mergeAllAsync = (visitors, {
21158
21431
  }
21159
21432
  return hasChanged ? currentNode : undefined;
21160
21433
  },
21161
- async leave(node, ...rest) {
21434
+ async leave(node, key, parent, path, ancestors, link) {
21435
+ let currentNode = node;
21436
+ const linkProxy = {
21437
+ ...link,
21438
+ replaceWith(newNode, replacer) {
21439
+ link.replaceWith(newNode, replacer);
21440
+ currentNode = newNode;
21441
+ }
21442
+ };
21162
21443
  for (let i = 0; i < visitors.length; i += 1) {
21163
21444
  if (skipping[i] === skipSymbol) {
21164
- const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
21445
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), true);
21165
21446
  if (typeof visitFn === 'function') {
21166
21447
  // eslint-disable-next-line no-await-in-loop
21167
- const result = await visitFn.call(visitors[i], node, ...rest);
21448
+ const result = await visitFn.call(visitors[i], currentNode, key, parent, path, ancestors, linkProxy);
21168
21449
  if (result === breakSymbol) {
21169
21450
  skipping[i] = breakSymbol;
21170
21451
  } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
21171
21452
  return result;
21172
21453
  }
21173
21454
  }
21174
- } else if (skipping[i] === node) {
21455
+ } else if (skipping[i] === currentNode) {
21175
21456
  skipping[i] = skipSymbol;
21176
21457
  }
21177
21458
  }
@@ -21367,8 +21648,22 @@ visitor, {
21367
21648
  for (const [stateKey, stateValue] of Object.entries(state)) {
21368
21649
  visitor[stateKey] = stateValue;
21369
21650
  }
21651
+ const link = {
21652
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
21653
+ replaceWith(newNode, replacer) {
21654
+ if (typeof replacer === 'function') {
21655
+ replacer(newNode, node, key, parent, path, ancestors);
21656
+ } else if (parent) {
21657
+ parent[key] = newNode;
21658
+ }
21659
+ if (!isLeaving) {
21660
+ node = newNode;
21661
+ }
21662
+ }
21663
+ };
21664
+
21370
21665
  // retrieve result
21371
- result = visitFn.call(visitor, node, key, parent, path, ancestors);
21666
+ result = visitFn.call(visitor, node, key, parent, path, ancestors, link);
21372
21667
  }
21373
21668
 
21374
21669
  // check if the visitor is async
@@ -21525,9 +21820,22 @@ visitor, {
21525
21820
  for (const [stateKey, stateValue] of Object.entries(state)) {
21526
21821
  visitor[stateKey] = stateValue;
21527
21822
  }
21823
+ const link = {
21824
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
21825
+ replaceWith(newNode, replacer) {
21826
+ if (typeof replacer === 'function') {
21827
+ replacer(newNode, node, key, parent, path, ancestors);
21828
+ } else if (parent) {
21829
+ parent[key] = newNode;
21830
+ }
21831
+ if (!isLeaving) {
21832
+ node = newNode;
21833
+ }
21834
+ }
21835
+ };
21528
21836
 
21529
21837
  // retrieve result
21530
- result = await visitFn.call(visitor, node, key, parent, path, ancestors); // eslint-disable-line no-await-in-loop
21838
+ result = await visitFn.call(visitor, node, key, parent, path, ancestors, link); // eslint-disable-line no-await-in-loop
21531
21839
  }
21532
21840
  if (result === breakSymbol) {
21533
21841
  break;
@@ -23045,6 +23353,91 @@ class UnsupportedOperationError extends _ApiDOMError_mjs__WEBPACK_IMPORTED_MODUL
23045
23353
 
23046
23354
  /***/ }),
23047
23355
 
23356
+ /***/ 69559:
23357
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23358
+
23359
+ "use strict";
23360
+ __webpack_require__.r(__webpack_exports__);
23361
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23362
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23363
+ /* harmony export */ });
23364
+ /* harmony import */ var _escape_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84809);
23365
+ /* harmony import */ var _errors_CompilationJsonPointerError_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3204);
23366
+
23367
+ // compile :: String[] -> String
23368
+ const compile = tokens => {
23369
+ try {
23370
+ if (tokens.length === 0) {
23371
+ return '';
23372
+ }
23373
+ return `/${tokens.map(_escape_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]).join('/')}`;
23374
+ } catch (error) {
23375
+ throw new _errors_CompilationJsonPointerError_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]('JSON Pointer compilation of tokens encountered an error.', {
23376
+ tokens,
23377
+ cause: error
23378
+ });
23379
+ }
23380
+ };
23381
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (compile);
23382
+
23383
+ /***/ }),
23384
+
23385
+ /***/ 3204:
23386
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23387
+
23388
+ "use strict";
23389
+ __webpack_require__.r(__webpack_exports__);
23390
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23391
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23392
+ /* harmony export */ });
23393
+ /* harmony import */ var _JsonPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(79249);
23394
+
23395
+ class CompilationJsonPointerError extends _JsonPointerError_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
23396
+ tokens;
23397
+ constructor(message, structuredOptions) {
23398
+ super(message, structuredOptions);
23399
+ if (typeof structuredOptions !== 'undefined') {
23400
+ this.tokens = [...structuredOptions.tokens];
23401
+ }
23402
+ }
23403
+ }
23404
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (CompilationJsonPointerError);
23405
+
23406
+ /***/ }),
23407
+
23408
+ /***/ 79249:
23409
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23410
+
23411
+ "use strict";
23412
+ __webpack_require__.r(__webpack_exports__);
23413
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23414
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23415
+ /* harmony export */ });
23416
+ /* harmony import */ var _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12449);
23417
+
23418
+ class JsonPointerError extends _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"] {}
23419
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JsonPointerError);
23420
+
23421
+ /***/ }),
23422
+
23423
+ /***/ 84809:
23424
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23425
+
23426
+ "use strict";
23427
+ __webpack_require__.r(__webpack_exports__);
23428
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
23429
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23430
+ /* harmony export */ });
23431
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(27567);
23432
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(98675);
23433
+
23434
+
23435
+ // escape :: String -> String
23436
+ const escape = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])((0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(/~/g, '~0'), (0,ramda__WEBPACK_IMPORTED_MODULE_1__["default"])(/\//g, '~1'), encodeURIComponent);
23437
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (escape);
23438
+
23439
+ /***/ }),
23440
+
23048
23441
  /***/ 60532:
23049
23442
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
23050
23443
 
@@ -32337,7 +32730,7 @@ __webpack_require__.r(__webpack_exports__);
32337
32730
  /* harmony import */ var _refractor_plugins_normalize_servers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(96255);
32338
32731
  /* harmony import */ var _refractor_plugins_normalize_operation_ids__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2261);
32339
32732
  /* harmony import */ var _refractor_plugins_normalize_parameter_examples__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(43058);
32340
- /* harmony import */ var _refractor_plugins_normalize_header_examples__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(40048);
32733
+ /* harmony import */ var _refractor_plugins_normalize_header_examples__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(26031);
32341
32734
  /* harmony import */ var _refractor_toolbox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(84225);
32342
32735
  /* harmony import */ var _refractor_specification__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(27715);
32343
32736
  /* harmony import */ var _swagger_api_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(32944);