@speclynx/apidom-ns-openapi-3-1 4.0.5 → 4.2.0
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.
- package/CHANGELOG.md +13 -0
- package/README.md +25 -24
- package/dist/apidom-ns-openapi-3-1.browser.js +221 -258
- package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
- package/package.json +8 -8
- package/src/index.cjs +35 -35
- package/src/index.mjs +1 -1
- package/src/refractor/plugins/{normalize-header-examples/index.cjs → normalize-header-examples.cjs} +5 -6
- package/src/refractor/plugins/{normalize-header-examples/index.mjs → normalize-header-examples.mjs} +4 -5
- package/src/refractor/plugins/normalize-operation-ids.cjs +3 -5
- package/src/refractor/plugins/normalize-operation-ids.mjs +2 -4
- package/src/refractor/plugins/normalize-parameter-examples.cjs +5 -6
- package/src/refractor/plugins/normalize-parameter-examples.mjs +4 -5
- package/src/refractor/plugins/normalize-parameters.cjs +48 -50
- package/src/refractor/plugins/normalize-parameters.mjs +48 -50
- package/src/refractor/plugins/normalize-security-requirements.cjs +21 -7
- package/src/refractor/plugins/normalize-security-requirements.mjs +20 -6
- package/src/refractor/plugins/normalize-servers.cjs +72 -49
- package/src/refractor/plugins/normalize-servers.mjs +70 -47
- package/src/refractor/plugins/{normalize-header-examples/NormalizeStorage.cjs → normalize-storage/index.cjs} +1 -1
- package/src/refractor/plugins/{normalize-header-examples/NormalizeStorage.mjs → normalize-storage/index.mjs} +1 -1
- package/src/refractor/toolbox.cjs +1 -29
- package/src/refractor/toolbox.mjs +1 -28
- package/types/apidom-ns-openapi-3-1.d.ts +34 -39
|
@@ -1668,54 +1668,7 @@ const refractJsonSchemaDialect = (value, options = {}) => refract(value, {
|
|
|
1668
1668
|
|
|
1669
1669
|
/***/ },
|
|
1670
1670
|
|
|
1671
|
-
/***/
|
|
1672
|
-
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1673
|
-
|
|
1674
|
-
__webpack_require__.r(__webpack_exports__);
|
|
1675
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1676
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1677
|
-
/* harmony export */ });
|
|
1678
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25162);
|
|
1679
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97601);
|
|
1680
|
-
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97071);
|
|
1681
|
-
|
|
1682
|
-
class NormalizeStorage {
|
|
1683
|
-
internalStore;
|
|
1684
|
-
constructor(storageElement, storageField, storageSubField) {
|
|
1685
|
-
this.storageElement = storageElement;
|
|
1686
|
-
this.storageField = storageField;
|
|
1687
|
-
this.storageSubField = storageSubField;
|
|
1688
|
-
}
|
|
1689
|
-
get store() {
|
|
1690
|
-
if (!this.internalStore) {
|
|
1691
|
-
let rootStore = this.storageElement.get(this.storageField);
|
|
1692
|
-
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(rootStore)) {
|
|
1693
|
-
rootStore = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]();
|
|
1694
|
-
this.storageElement.set(this.storageField, rootStore);
|
|
1695
|
-
}
|
|
1696
|
-
let store = rootStore.get(this.storageSubField);
|
|
1697
|
-
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(store)) {
|
|
1698
|
-
store = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"]();
|
|
1699
|
-
rootStore.set(this.storageSubField, store);
|
|
1700
|
-
}
|
|
1701
|
-
this.internalStore = store;
|
|
1702
|
-
}
|
|
1703
|
-
return this.internalStore;
|
|
1704
|
-
}
|
|
1705
|
-
append(pointer) {
|
|
1706
|
-
if (!this.includes(pointer)) {
|
|
1707
|
-
this.store.push(pointer);
|
|
1708
|
-
}
|
|
1709
|
-
}
|
|
1710
|
-
includes(pointer) {
|
|
1711
|
-
return this.store.includes(pointer);
|
|
1712
|
-
}
|
|
1713
|
-
}
|
|
1714
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NormalizeStorage);
|
|
1715
|
-
|
|
1716
|
-
/***/ },
|
|
1717
|
-
|
|
1718
|
-
/***/ 26031
|
|
1671
|
+
/***/ 40048
|
|
1719
1672
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1720
1673
|
|
|
1721
1674
|
__webpack_require__.r(__webpack_exports__);
|
|
@@ -1723,7 +1676,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1723
1676
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
1724
1677
|
/* harmony export */ });
|
|
1725
1678
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12111);
|
|
1726
|
-
/* harmony import */ var
|
|
1679
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33313);
|
|
1727
1680
|
|
|
1728
1681
|
|
|
1729
1682
|
|
|
@@ -1750,8 +1703,7 @@ const plugin = ({
|
|
|
1750
1703
|
storageField = 'x-normalized'
|
|
1751
1704
|
} = {}) => toolbox => {
|
|
1752
1705
|
const {
|
|
1753
|
-
predicates
|
|
1754
|
-
ancestorLineageToJSONPointer
|
|
1706
|
+
predicates
|
|
1755
1707
|
} = toolbox;
|
|
1756
1708
|
let storage;
|
|
1757
1709
|
return {
|
|
@@ -1759,7 +1711,7 @@ const plugin = ({
|
|
|
1759
1711
|
OpenApi3_1Element: {
|
|
1760
1712
|
enter(path) {
|
|
1761
1713
|
const element = path.node;
|
|
1762
|
-
storage = new
|
|
1714
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_1__["default"](element, storageField, 'header-examples');
|
|
1763
1715
|
},
|
|
1764
1716
|
leave() {
|
|
1765
1717
|
storage = undefined;
|
|
@@ -1768,7 +1720,7 @@ const plugin = ({
|
|
|
1768
1720
|
HeaderElement: {
|
|
1769
1721
|
leave(path) {
|
|
1770
1722
|
const headerElement = path.node;
|
|
1771
|
-
const ancestors = path.getAncestorNodes()
|
|
1723
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
1772
1724
|
|
|
1773
1725
|
// skip visiting this Header Object
|
|
1774
1726
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
@@ -1783,7 +1735,7 @@ const plugin = ({
|
|
|
1783
1735
|
if (typeof headerElement.schema?.example === 'undefined' && typeof headerElement.schema?.examples === 'undefined') {
|
|
1784
1736
|
return;
|
|
1785
1737
|
}
|
|
1786
|
-
const headerJSONPointer =
|
|
1738
|
+
const headerJSONPointer = path.formatPath();
|
|
1787
1739
|
|
|
1788
1740
|
// skip visiting this Header Object if it's already normalized
|
|
1789
1741
|
if (storage.includes(headerJSONPointer)) {
|
|
@@ -1844,7 +1796,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1844
1796
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49451);
|
|
1845
1797
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12111);
|
|
1846
1798
|
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44673);
|
|
1847
|
-
/* harmony import */ var
|
|
1799
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33313);
|
|
1848
1800
|
|
|
1849
1801
|
|
|
1850
1802
|
|
|
@@ -1895,7 +1847,6 @@ const plugin = ({
|
|
|
1895
1847
|
} = {}) => toolbox => {
|
|
1896
1848
|
const {
|
|
1897
1849
|
predicates,
|
|
1898
|
-
ancestorLineageToJSONPointer,
|
|
1899
1850
|
namespace
|
|
1900
1851
|
} = toolbox;
|
|
1901
1852
|
const pathTemplates = [];
|
|
@@ -1907,7 +1858,7 @@ const plugin = ({
|
|
|
1907
1858
|
OpenApi3_1Element: {
|
|
1908
1859
|
enter(path) {
|
|
1909
1860
|
const element = path.node;
|
|
1910
|
-
storage = new
|
|
1861
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_5__["default"](element, storageField, 'operation-ids');
|
|
1911
1862
|
},
|
|
1912
1863
|
leave() {
|
|
1913
1864
|
// group normalized operations by normalized operationId
|
|
@@ -1962,11 +1913,10 @@ const plugin = ({
|
|
|
1962
1913
|
OperationElement: {
|
|
1963
1914
|
enter(path) {
|
|
1964
1915
|
const operationElement = path.node;
|
|
1965
|
-
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
1966
1916
|
|
|
1967
1917
|
// operationId field is undefined, needs no normalization
|
|
1968
1918
|
if (typeof operationElement.operationId === 'undefined') return;
|
|
1969
|
-
const operationJSONPointer =
|
|
1919
|
+
const operationJSONPointer = path.formatPath();
|
|
1970
1920
|
|
|
1971
1921
|
// skip visiting this Operation Object if it's already normalized
|
|
1972
1922
|
if (storage.includes(operationJSONPointer)) {
|
|
@@ -2017,7 +1967,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2017
1967
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2018
1968
|
/* harmony export */ });
|
|
2019
1969
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12111);
|
|
2020
|
-
/* harmony import */ var
|
|
1970
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33313);
|
|
2021
1971
|
|
|
2022
1972
|
|
|
2023
1973
|
|
|
@@ -2044,8 +1994,7 @@ const plugin = ({
|
|
|
2044
1994
|
storageField = 'x-normalized'
|
|
2045
1995
|
} = {}) => toolbox => {
|
|
2046
1996
|
const {
|
|
2047
|
-
predicates
|
|
2048
|
-
ancestorLineageToJSONPointer
|
|
1997
|
+
predicates
|
|
2049
1998
|
} = toolbox;
|
|
2050
1999
|
let storage;
|
|
2051
2000
|
return {
|
|
@@ -2053,7 +2002,7 @@ const plugin = ({
|
|
|
2053
2002
|
OpenApi3_1Element: {
|
|
2054
2003
|
enter(path) {
|
|
2055
2004
|
const element = path.node;
|
|
2056
|
-
storage = new
|
|
2005
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_1__["default"](element, storageField, 'parameter-examples');
|
|
2057
2006
|
},
|
|
2058
2007
|
leave() {
|
|
2059
2008
|
storage = undefined;
|
|
@@ -2062,7 +2011,7 @@ const plugin = ({
|
|
|
2062
2011
|
ParameterElement: {
|
|
2063
2012
|
leave(path) {
|
|
2064
2013
|
const parameterElement = path.node;
|
|
2065
|
-
const ancestors = path.getAncestorNodes()
|
|
2014
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
2066
2015
|
|
|
2067
2016
|
// skip visiting this Parameter Object
|
|
2068
2017
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
@@ -2077,7 +2026,7 @@ const plugin = ({
|
|
|
2077
2026
|
if (typeof parameterElement.schema?.example === 'undefined' && typeof parameterElement.schema?.examples === 'undefined') {
|
|
2078
2027
|
return;
|
|
2079
2028
|
}
|
|
2080
|
-
const parameterJSONPointer =
|
|
2029
|
+
const parameterJSONPointer = path.formatPath();
|
|
2081
2030
|
|
|
2082
2031
|
// skip visiting this Parameter Object if it's already normalized
|
|
2083
2032
|
if (storage.includes(parameterJSONPointer)) {
|
|
@@ -2133,12 +2082,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2133
2082
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2134
2083
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2135
2084
|
/* harmony export */ });
|
|
2136
|
-
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
2137
|
-
/* harmony import */ var
|
|
2138
|
-
/* harmony import */ var
|
|
2139
|
-
/* harmony import */ var
|
|
2140
|
-
/* harmony import */ var
|
|
2141
|
-
/* harmony import */ var
|
|
2085
|
+
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41942);
|
|
2086
|
+
/* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44673);
|
|
2087
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(25162);
|
|
2088
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(25926);
|
|
2089
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33313);
|
|
2090
|
+
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(97269);
|
|
2091
|
+
|
|
2092
|
+
|
|
2142
2093
|
|
|
2143
2094
|
|
|
2144
2095
|
|
|
@@ -2157,6 +2108,38 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2157
2108
|
* @public
|
|
2158
2109
|
*/
|
|
2159
2110
|
|
|
2111
|
+
/**
|
|
2112
|
+
* Establishes identity between two Parameter Objects.
|
|
2113
|
+
* A unique parameter is defined by a combination of a name and location.
|
|
2114
|
+
*
|
|
2115
|
+
* {@link https://spec.openapis.org/oas/v3.1.2.html#operation-parameters}
|
|
2116
|
+
*/
|
|
2117
|
+
const parameterEquals = (parameter1, parameter2) => {
|
|
2118
|
+
if (!(0,_predicates_ts__WEBPACK_IMPORTED_MODULE_5__.isParameterElement)(parameter1)) return false;
|
|
2119
|
+
if (!(0,_predicates_ts__WEBPACK_IMPORTED_MODULE_5__.isParameterElement)(parameter2)) return false;
|
|
2120
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isStringElement)(parameter1.name)) return false;
|
|
2121
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isStringElement)(parameter1.in)) return false;
|
|
2122
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isStringElement)(parameter2.name)) return false;
|
|
2123
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isStringElement)(parameter2.in)) return false;
|
|
2124
|
+
return (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(parameter1.name) === (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(parameter2.name) && (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(parameter1.in) === (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_1__["default"])(parameter2.in);
|
|
2125
|
+
};
|
|
2126
|
+
|
|
2127
|
+
/**
|
|
2128
|
+
* Inherits parameters from a PathItem into an Operation element.
|
|
2129
|
+
* Operation parameters take precedence; PathItem parameters are merged in
|
|
2130
|
+
* for any (name, in) combination not already defined at the Operation level.
|
|
2131
|
+
* @public
|
|
2132
|
+
*/
|
|
2133
|
+
const inheritParametersToOperation = (operationElement, pathItemElement) => {
|
|
2134
|
+
const pathItemParams = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(pathItemElement.parameters) ? [...pathItemElement.parameters] : [];
|
|
2135
|
+
if (pathItemParams.length === 0) return;
|
|
2136
|
+
const operationParams = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.isArrayElement)(operationElement.parameters) ? [...operationElement.parameters] : [];
|
|
2137
|
+
|
|
2138
|
+
// prefers the first item if two items compare equal based on the predicate
|
|
2139
|
+
const mergedParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(parameterEquals, [...operationParams, ...pathItemParams]);
|
|
2140
|
+
operationElement.parameters = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__["default"](mergedParameters);
|
|
2141
|
+
};
|
|
2142
|
+
|
|
2160
2143
|
/**
|
|
2161
2144
|
* @public
|
|
2162
2145
|
*/
|
|
@@ -2164,85 +2147,49 @@ const plugin = ({
|
|
|
2164
2147
|
storageField = 'x-normalized'
|
|
2165
2148
|
} = {}) => toolbox => {
|
|
2166
2149
|
const {
|
|
2167
|
-
predicates
|
|
2168
|
-
ancestorLineageToJSONPointer
|
|
2150
|
+
predicates
|
|
2169
2151
|
} = toolbox;
|
|
2170
|
-
/**
|
|
2171
|
-
* Establishes identity between two Parameter Objects.
|
|
2172
|
-
*
|
|
2173
|
-
* {@link https://spec.openapis.org/oas/v3.1.2.html#operation-parameters}
|
|
2174
|
-
*/
|
|
2175
|
-
const parameterEquals = (parameter1, parameter2) => {
|
|
2176
|
-
if (!predicates.isParameterElement(parameter1)) return false;
|
|
2177
|
-
if (!predicates.isParameterElement(parameter2)) return false;
|
|
2178
|
-
if (!predicates.isStringElement(parameter1.name)) return false;
|
|
2179
|
-
if (!predicates.isStringElement(parameter1.in)) return false;
|
|
2180
|
-
if (!predicates.isStringElement(parameter2.name)) return false;
|
|
2181
|
-
if (!predicates.isStringElement(parameter2.in)) return false;
|
|
2182
|
-
return (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(parameter1.name) === (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(parameter2.name) && (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(parameter1.in) === (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_3__["default"])(parameter2.in);
|
|
2183
|
-
};
|
|
2184
|
-
const pathItemParameters = [];
|
|
2185
2152
|
let storage;
|
|
2186
2153
|
return {
|
|
2187
2154
|
visitor: {
|
|
2188
2155
|
OpenApi3_1Element: {
|
|
2189
2156
|
enter(path) {
|
|
2190
2157
|
const element = path.node;
|
|
2191
|
-
storage = new
|
|
2158
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_4__["default"](element, storageField, 'parameters');
|
|
2192
2159
|
},
|
|
2193
2160
|
leave() {
|
|
2194
2161
|
storage = undefined;
|
|
2195
2162
|
}
|
|
2196
2163
|
},
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
const
|
|
2200
|
-
const ancestors = path.getAncestorNodes()
|
|
2164
|
+
OperationElement: {
|
|
2165
|
+
leave(path) {
|
|
2166
|
+
const operationElement = path.node;
|
|
2167
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
2201
2168
|
|
|
2202
|
-
// skip visiting this
|
|
2169
|
+
// skip visiting this Operation
|
|
2203
2170
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
2204
2171
|
return;
|
|
2205
2172
|
}
|
|
2206
|
-
const
|
|
2207
|
-
parameters
|
|
2208
|
-
} = pathItemElement;
|
|
2209
|
-
if (predicates.isArrayElement(parameters)) {
|
|
2210
|
-
pathItemParameters.push([...(parameters.content ?? [])]);
|
|
2211
|
-
} else {
|
|
2212
|
-
pathItemParameters.push([]);
|
|
2213
|
-
}
|
|
2214
|
-
},
|
|
2215
|
-
leave() {
|
|
2216
|
-
pathItemParameters.pop();
|
|
2217
|
-
}
|
|
2218
|
-
},
|
|
2219
|
-
OperationElement: {
|
|
2220
|
-
leave(path) {
|
|
2221
|
-
const operationElement = path.node;
|
|
2222
|
-
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
2223
|
-
const parentPathItemParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(pathItemParameters);
|
|
2173
|
+
const parentPathItemElement = ancestors.find(predicates.isPathItemElement);
|
|
2224
2174
|
|
|
2225
|
-
// no Path Item
|
|
2226
|
-
if (!
|
|
2175
|
+
// no parent Path Item to inherit from
|
|
2176
|
+
if (!predicates.isPathItemElement(parentPathItemElement)) {
|
|
2227
2177
|
return;
|
|
2228
2178
|
}
|
|
2229
|
-
const operationJSONPointer =
|
|
2179
|
+
const operationJSONPointer = path.formatPath();
|
|
2230
2180
|
|
|
2231
2181
|
// skip visiting this Operation Object if it's already normalized
|
|
2232
2182
|
if (storage.includes(operationJSONPointer)) {
|
|
2233
2183
|
return;
|
|
2234
2184
|
}
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
// prefers the first item if two items compare equal based on the predicate
|
|
2238
|
-
const mergedParameters = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(parameterEquals, [...operationParameters, ...parentPathItemParameters]);
|
|
2239
|
-
operationElement.parameters = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_4__["default"](mergedParameters);
|
|
2185
|
+
inheritParametersToOperation(operationElement, parentPathItemElement);
|
|
2240
2186
|
storage.append(operationJSONPointer);
|
|
2241
2187
|
}
|
|
2242
2188
|
}
|
|
2243
2189
|
}
|
|
2244
2190
|
};
|
|
2245
2191
|
};
|
|
2192
|
+
plugin.inheritParametersToOperation = inheritParametersToOperation;
|
|
2246
2193
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
|
|
2247
2194
|
|
|
2248
2195
|
/***/ },
|
|
@@ -2254,8 +2201,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2254
2201
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2255
2202
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2256
2203
|
/* harmony export */ });
|
|
2257
|
-
/* harmony import */ var
|
|
2258
|
-
/* harmony import */ var
|
|
2204
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25162);
|
|
2205
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63072);
|
|
2206
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33313);
|
|
2207
|
+
|
|
2259
2208
|
|
|
2260
2209
|
|
|
2261
2210
|
/**
|
|
@@ -2272,6 +2221,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2272
2221
|
* @public
|
|
2273
2222
|
*/
|
|
2274
2223
|
|
|
2224
|
+
/**
|
|
2225
|
+
* Inherits top-level security requirements into an Operation element.
|
|
2226
|
+
* If Operation.security is missing and OpenAPI.security is defined, copies it down.
|
|
2227
|
+
* @public
|
|
2228
|
+
*/
|
|
2229
|
+
const inheritSecurityToOperation = (operationElement, openapiElement) => {
|
|
2230
|
+
const missingOperationLevelSecurity = typeof operationElement.security === 'undefined';
|
|
2231
|
+
const hasTopLevelSecurity = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(openapiElement.security);
|
|
2232
|
+
if (missingOperationLevelSecurity && hasTopLevelSecurity) {
|
|
2233
|
+
operationElement.security = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"]([...openapiElement.security]);
|
|
2234
|
+
}
|
|
2235
|
+
};
|
|
2236
|
+
|
|
2275
2237
|
/**
|
|
2276
2238
|
* @public
|
|
2277
2239
|
*/
|
|
@@ -2279,8 +2241,7 @@ const plugin = ({
|
|
|
2279
2241
|
storageField = 'x-normalized'
|
|
2280
2242
|
} = {}) => toolbox => {
|
|
2281
2243
|
const {
|
|
2282
|
-
predicates
|
|
2283
|
-
ancestorLineageToJSONPointer
|
|
2244
|
+
predicates
|
|
2284
2245
|
} = toolbox;
|
|
2285
2246
|
let topLevelSecurity;
|
|
2286
2247
|
let storage;
|
|
@@ -2289,7 +2250,7 @@ const plugin = ({
|
|
|
2289
2250
|
OpenApi3_1Element: {
|
|
2290
2251
|
enter(path) {
|
|
2291
2252
|
const openapiElement = path.node;
|
|
2292
|
-
storage = new
|
|
2253
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_2__["default"](openapiElement, storageField, 'security-requirements');
|
|
2293
2254
|
if (predicates.isArrayElement(openapiElement.security)) {
|
|
2294
2255
|
topLevelSecurity = openapiElement.security;
|
|
2295
2256
|
}
|
|
@@ -2302,13 +2263,13 @@ const plugin = ({
|
|
|
2302
2263
|
OperationElement: {
|
|
2303
2264
|
leave(path) {
|
|
2304
2265
|
const operationElement = path.node;
|
|
2305
|
-
const ancestors = path.getAncestorNodes()
|
|
2266
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
2306
2267
|
|
|
2307
2268
|
// skip visiting this Operation
|
|
2308
2269
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
2309
2270
|
return;
|
|
2310
2271
|
}
|
|
2311
|
-
const operationJSONPointer =
|
|
2272
|
+
const operationJSONPointer = path.formatPath();
|
|
2312
2273
|
|
|
2313
2274
|
// skip visiting this Operation Object if it's already normalized
|
|
2314
2275
|
if (storage.includes(operationJSONPointer)) {
|
|
@@ -2317,7 +2278,7 @@ const plugin = ({
|
|
|
2317
2278
|
const missingOperationLevelSecurity = typeof operationElement.security === 'undefined';
|
|
2318
2279
|
const hasTopLevelSecurity = typeof topLevelSecurity !== 'undefined';
|
|
2319
2280
|
if (missingOperationLevelSecurity && hasTopLevelSecurity) {
|
|
2320
|
-
operationElement.security = new
|
|
2281
|
+
operationElement.security = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"]([...topLevelSecurity]);
|
|
2321
2282
|
storage.append(operationJSONPointer);
|
|
2322
2283
|
}
|
|
2323
2284
|
}
|
|
@@ -2325,6 +2286,7 @@ const plugin = ({
|
|
|
2325
2286
|
}
|
|
2326
2287
|
};
|
|
2327
2288
|
};
|
|
2289
|
+
plugin.inheritSecurityToOperation = inheritSecurityToOperation;
|
|
2328
2290
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
|
|
2329
2291
|
|
|
2330
2292
|
/***/ },
|
|
@@ -2336,11 +2298,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2336
2298
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2337
2299
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2338
2300
|
/* harmony export */ });
|
|
2339
|
-
/* harmony import */ var
|
|
2340
|
-
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
|
|
2341
|
-
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
2342
|
-
/* harmony import */ var
|
|
2343
|
-
/* harmony import */ var
|
|
2301
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25162);
|
|
2302
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36882);
|
|
2303
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(94689);
|
|
2304
|
+
/* harmony import */ var _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51865);
|
|
2305
|
+
/* harmony import */ var _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33313);
|
|
2306
|
+
/* harmony import */ var _index_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14074);
|
|
2307
|
+
|
|
2344
2308
|
|
|
2345
2309
|
|
|
2346
2310
|
|
|
@@ -2359,6 +2323,63 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2359
2323
|
* @public
|
|
2360
2324
|
*/
|
|
2361
2325
|
|
|
2326
|
+
/**
|
|
2327
|
+
* Ensures the OpenAPI document has at least one server defined.
|
|
2328
|
+
* If `servers` is missing or empty, adds a default server with `url: "/"`.
|
|
2329
|
+
* @public
|
|
2330
|
+
*/
|
|
2331
|
+
const ensureDefaultServer = openapiElement => {
|
|
2332
|
+
const isServersUndefined = typeof openapiElement.servers === 'undefined';
|
|
2333
|
+
const isServersArray = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(openapiElement.servers);
|
|
2334
|
+
const isServersEmpty = isServersArray && openapiElement.servers.length === 0;
|
|
2335
|
+
const defaultServer = (0,_index_ts__WEBPACK_IMPORTED_MODULE_5__.refractServer)({
|
|
2336
|
+
url: '/'
|
|
2337
|
+
});
|
|
2338
|
+
if (isServersUndefined || !isServersArray) {
|
|
2339
|
+
openapiElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_3__["default"]([defaultServer]);
|
|
2340
|
+
} else if (isServersArray && isServersEmpty) {
|
|
2341
|
+
openapiElement.servers.push(defaultServer);
|
|
2342
|
+
}
|
|
2343
|
+
};
|
|
2344
|
+
|
|
2345
|
+
/**
|
|
2346
|
+
* Inherits servers from the OpenAPI root into a PathItem element.
|
|
2347
|
+
* If PathItem.servers is missing or empty, copies from OpenAPI.servers.
|
|
2348
|
+
* @public
|
|
2349
|
+
*/
|
|
2350
|
+
const inheritServersToPathItem = (pathItemElement, openapiElement) => {
|
|
2351
|
+
const isServersUndefined = typeof pathItemElement.servers === 'undefined';
|
|
2352
|
+
const isServersArray = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(pathItemElement.servers);
|
|
2353
|
+
const isServersEmpty = isServersArray && pathItemElement.servers.length === 0;
|
|
2354
|
+
const openapiServers = [...(openapiElement.servers ?? [])];
|
|
2355
|
+
if (isServersUndefined || !isServersArray) {
|
|
2356
|
+
pathItemElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"](openapiServers);
|
|
2357
|
+
} else if (isServersArray && isServersEmpty) {
|
|
2358
|
+
openapiServers.forEach(server => {
|
|
2359
|
+
pathItemElement.servers.push(server);
|
|
2360
|
+
});
|
|
2361
|
+
}
|
|
2362
|
+
};
|
|
2363
|
+
|
|
2364
|
+
/**
|
|
2365
|
+
* Inherits servers from a PathItem into an Operation element.
|
|
2366
|
+
* If Operation.servers is missing or empty, copies from PathItem.servers.
|
|
2367
|
+
* @public
|
|
2368
|
+
*/
|
|
2369
|
+
const inheritServersToOperation = (operationElement, pathItemElement) => {
|
|
2370
|
+
const isServersUndefined = typeof operationElement.servers === 'undefined';
|
|
2371
|
+
const isServersArray = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(operationElement.servers);
|
|
2372
|
+
const isServersEmpty = isServersArray && operationElement.servers.length === 0;
|
|
2373
|
+
const pathItemServers = [...(pathItemElement.servers ?? [])];
|
|
2374
|
+
if (isServersUndefined || !isServersArray) {
|
|
2375
|
+
operationElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"](pathItemServers);
|
|
2376
|
+
} else if (isServersArray && isServersEmpty) {
|
|
2377
|
+
pathItemServers.forEach(server => {
|
|
2378
|
+
operationElement.servers.push(server);
|
|
2379
|
+
});
|
|
2380
|
+
}
|
|
2381
|
+
};
|
|
2382
|
+
|
|
2362
2383
|
/**
|
|
2363
2384
|
* @public
|
|
2364
2385
|
*/
|
|
@@ -2366,7 +2387,6 @@ const plugin = ({
|
|
|
2366
2387
|
storageField = 'x-normalized'
|
|
2367
2388
|
} = {}) => toolbox => {
|
|
2368
2389
|
const {
|
|
2369
|
-
ancestorLineageToJSONPointer,
|
|
2370
2390
|
predicates
|
|
2371
2391
|
} = toolbox;
|
|
2372
2392
|
let storage;
|
|
@@ -2375,18 +2395,8 @@ const plugin = ({
|
|
|
2375
2395
|
OpenApi3_1Element: {
|
|
2376
2396
|
enter(path) {
|
|
2377
2397
|
const openapiElement = path.node;
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
const isServersEmpty = isServersArrayElement && openapiElement.servers.length === 0;
|
|
2381
|
-
const defaultServer = (0,_index_ts__WEBPACK_IMPORTED_MODULE_4__.refractServer)({
|
|
2382
|
-
url: '/'
|
|
2383
|
-
});
|
|
2384
|
-
if (isServersUndefined || !isServersArrayElement) {
|
|
2385
|
-
openapiElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_2__["default"]([defaultServer]);
|
|
2386
|
-
} else if (isServersArrayElement && isServersEmpty) {
|
|
2387
|
-
openapiElement.servers.push(defaultServer);
|
|
2388
|
-
}
|
|
2389
|
-
storage = new _normalize_header_examples_NormalizeStorage_ts__WEBPACK_IMPORTED_MODULE_3__["default"](openapiElement, storageField, 'servers');
|
|
2398
|
+
ensureDefaultServer(openapiElement);
|
|
2399
|
+
storage = new _normalize_storage_index_ts__WEBPACK_IMPORTED_MODULE_4__["default"](openapiElement, storageField, 'servers');
|
|
2390
2400
|
},
|
|
2391
2401
|
leave() {
|
|
2392
2402
|
storage = undefined;
|
|
@@ -2394,76 +2404,99 @@ const plugin = ({
|
|
|
2394
2404
|
},
|
|
2395
2405
|
PathItemElement(path) {
|
|
2396
2406
|
const pathItemElement = path.node;
|
|
2397
|
-
const ancestors = path.getAncestorNodes()
|
|
2407
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
2398
2408
|
|
|
2399
2409
|
// skip visiting this Path Item
|
|
2400
2410
|
if (ancestors.some(predicates.isComponentsElement)) return;
|
|
2401
2411
|
if (!ancestors.some(predicates.isOpenApi3_1Element)) return;
|
|
2402
|
-
const pathItemJSONPointer =
|
|
2412
|
+
const pathItemJSONPointer = path.formatPath();
|
|
2403
2413
|
|
|
2404
2414
|
// skip visiting this Path Item Object if it's already normalized
|
|
2405
2415
|
if (storage.includes(pathItemJSONPointer)) {
|
|
2406
2416
|
return;
|
|
2407
2417
|
}
|
|
2408
2418
|
const parentOpenapiElement = ancestors.find(predicates.isOpenApi3_1Element);
|
|
2409
|
-
const isServersUndefined = typeof pathItemElement.servers === 'undefined';
|
|
2410
|
-
const isServersArrayElement = predicates.isArrayElement(pathItemElement.servers);
|
|
2411
|
-
const isServersEmpty = isServersArrayElement && pathItemElement.servers.length === 0;
|
|
2412
|
-
|
|
2413
|
-
// duplicate OpenAPI.servers into this Path Item object
|
|
2414
2419
|
if (predicates.isOpenApi3_1Element(parentOpenapiElement)) {
|
|
2415
|
-
|
|
2416
|
-
const openapiServers = openapiServersContent ?? [];
|
|
2417
|
-
if (isServersUndefined || !isServersArrayElement) {
|
|
2418
|
-
pathItemElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_1__["default"](openapiServers);
|
|
2419
|
-
} else if (isServersArrayElement && isServersEmpty) {
|
|
2420
|
-
openapiServers.forEach(server => {
|
|
2421
|
-
pathItemElement.servers.push(server);
|
|
2422
|
-
});
|
|
2423
|
-
}
|
|
2420
|
+
inheritServersToPathItem(pathItemElement, parentOpenapiElement);
|
|
2424
2421
|
storage.append(pathItemJSONPointer);
|
|
2425
2422
|
}
|
|
2426
2423
|
},
|
|
2427
2424
|
OperationElement(path) {
|
|
2428
2425
|
const operationElement = path.node;
|
|
2429
|
-
const ancestors = path.getAncestorNodes()
|
|
2426
|
+
const ancestors = path.getAncestorNodes(); // parent to root order
|
|
2430
2427
|
|
|
2431
2428
|
// skip visiting this Operation
|
|
2432
2429
|
if (ancestors.some(predicates.isComponentsElement)) return;
|
|
2433
2430
|
if (!ancestors.some(predicates.isOpenApi3_1Element)) return;
|
|
2434
|
-
const operationJSONPointer =
|
|
2431
|
+
const operationJSONPointer = path.formatPath();
|
|
2435
2432
|
|
|
2436
2433
|
// skip visiting this Operation Object if it's already normalized
|
|
2437
2434
|
if (storage.includes(operationJSONPointer)) {
|
|
2438
2435
|
return;
|
|
2439
2436
|
}
|
|
2440
|
-
|
|
2441
|
-
// @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.findLast in future
|
|
2442
|
-
const parentPathItemElement = ancestors.findLast(predicates.isPathItemElement);
|
|
2443
|
-
const isServersUndefined = typeof operationElement.servers === 'undefined';
|
|
2444
|
-
const isServersArrayElement = predicates.isArrayElement(operationElement.servers);
|
|
2445
|
-
const isServersEmpty = isServersArrayElement && operationElement.servers.length === 0;
|
|
2437
|
+
const parentPathItemElement = ancestors.find(predicates.isPathItemElement);
|
|
2446
2438
|
if (predicates.isPathItemElement(parentPathItemElement)) {
|
|
2447
|
-
|
|
2448
|
-
const pathItemServers = pathItemServersContent ?? [];
|
|
2449
|
-
if (isServersUndefined || !isServersArrayElement) {
|
|
2450
|
-
// duplicate parent PathItem.servers into this Operation object
|
|
2451
|
-
operationElement.servers = new _speclynx_apidom_ns_openapi_3_0__WEBPACK_IMPORTED_MODULE_0__["default"](pathItemServers);
|
|
2452
|
-
} else if (isServersArrayElement && isServersEmpty) {
|
|
2453
|
-
pathItemServers.forEach(server => {
|
|
2454
|
-
operationElement.servers.push(server);
|
|
2455
|
-
});
|
|
2456
|
-
}
|
|
2439
|
+
inheritServersToOperation(operationElement, parentPathItemElement);
|
|
2457
2440
|
storage.append(operationJSONPointer);
|
|
2458
2441
|
}
|
|
2459
2442
|
}
|
|
2460
2443
|
}
|
|
2461
2444
|
};
|
|
2462
2445
|
};
|
|
2446
|
+
plugin.ensureDefaultServer = ensureDefaultServer;
|
|
2447
|
+
plugin.inheritServersToPathItem = inheritServersToPathItem;
|
|
2448
|
+
plugin.inheritServersToOperation = inheritServersToOperation;
|
|
2463
2449
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (plugin);
|
|
2464
2450
|
|
|
2465
2451
|
/***/ },
|
|
2466
2452
|
|
|
2453
|
+
/***/ 33313
|
|
2454
|
+
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2455
|
+
|
|
2456
|
+
__webpack_require__.r(__webpack_exports__);
|
|
2457
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
2458
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
2459
|
+
/* harmony export */ });
|
|
2460
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25162);
|
|
2461
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(97601);
|
|
2462
|
+
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97071);
|
|
2463
|
+
|
|
2464
|
+
class NormalizeStorage {
|
|
2465
|
+
internalStore;
|
|
2466
|
+
constructor(storageElement, storageField, storageSubField) {
|
|
2467
|
+
this.storageElement = storageElement;
|
|
2468
|
+
this.storageField = storageField;
|
|
2469
|
+
this.storageSubField = storageSubField;
|
|
2470
|
+
}
|
|
2471
|
+
get store() {
|
|
2472
|
+
if (this.internalStore === undefined) {
|
|
2473
|
+
let rootStore = this.storageElement.get(this.storageField);
|
|
2474
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(rootStore)) {
|
|
2475
|
+
rootStore = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]();
|
|
2476
|
+
this.storageElement.set(this.storageField, rootStore);
|
|
2477
|
+
}
|
|
2478
|
+
let store = rootStore.get(this.storageSubField);
|
|
2479
|
+
if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(store)) {
|
|
2480
|
+
store = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__["default"]();
|
|
2481
|
+
rootStore.set(this.storageSubField, store);
|
|
2482
|
+
}
|
|
2483
|
+
this.internalStore = store;
|
|
2484
|
+
}
|
|
2485
|
+
return this.internalStore;
|
|
2486
|
+
}
|
|
2487
|
+
append(pointer) {
|
|
2488
|
+
if (!this.includes(pointer)) {
|
|
2489
|
+
this.store.push(pointer);
|
|
2490
|
+
}
|
|
2491
|
+
}
|
|
2492
|
+
includes(pointer) {
|
|
2493
|
+
return this.store.includes(pointer);
|
|
2494
|
+
}
|
|
2495
|
+
}
|
|
2496
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (NormalizeStorage);
|
|
2497
|
+
|
|
2498
|
+
/***/ },
|
|
2499
|
+
|
|
2467
2500
|
/***/ 74000
|
|
2468
2501
|
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
2469
2502
|
|
|
@@ -3843,18 +3876,13 @@ const specification = {
|
|
|
3843
3876
|
|
|
3844
3877
|
__webpack_require__.r(__webpack_exports__);
|
|
3845
3878
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
3846
|
-
/* harmony export */ ancestorLineageToJSONPointer: () => (/* binding */ ancestorLineageToJSONPointer),
|
|
3847
3879
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
3848
3880
|
/* harmony export */ });
|
|
3849
3881
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55156);
|
|
3850
3882
|
/* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25162);
|
|
3851
|
-
/* harmony import */ var
|
|
3852
|
-
/* harmony import */ var
|
|
3853
|
-
/* harmony import */ var
|
|
3854
|
-
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(83990);
|
|
3855
|
-
/* harmony import */ var _namespace_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9936);
|
|
3856
|
-
|
|
3857
|
-
|
|
3883
|
+
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97269);
|
|
3884
|
+
/* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(83990);
|
|
3885
|
+
/* harmony import */ var _namespace_ts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9936);
|
|
3858
3886
|
|
|
3859
3887
|
|
|
3860
3888
|
|
|
@@ -3864,46 +3892,21 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
3864
3892
|
* @public
|
|
3865
3893
|
*/
|
|
3866
3894
|
|
|
3867
|
-
/**
|
|
3868
|
-
* Translates visitor ancestor lineage to a JSON Pointer tokens.
|
|
3869
|
-
* Ancestor lineage is constructed of following visitor method arguments:
|
|
3870
|
-
*
|
|
3871
|
-
* - ancestors
|
|
3872
|
-
* - parent
|
|
3873
|
-
* - element
|
|
3874
|
-
* @public
|
|
3875
|
-
*/
|
|
3876
|
-
const ancestorLineageToJSONPointer = elementPath => {
|
|
3877
|
-
const jsonPointerTokens = elementPath.reduce((path, element, index) => {
|
|
3878
|
-
if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isMemberElement)(element)) {
|
|
3879
|
-
const token = String((0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_2__["default"])(element.key));
|
|
3880
|
-
path.push(token);
|
|
3881
|
-
} else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(elementPath[index - 2])) {
|
|
3882
|
-
const arrayElement = elementPath[index - 2];
|
|
3883
|
-
const token = String(arrayElement.content?.indexOf(element) ?? -1);
|
|
3884
|
-
path.push(token);
|
|
3885
|
-
}
|
|
3886
|
-
return path;
|
|
3887
|
-
}, []);
|
|
3888
|
-
return (0,_speclynx_apidom_json_pointer__WEBPACK_IMPORTED_MODULE_3__.compile)(jsonPointerTokens);
|
|
3889
|
-
};
|
|
3890
|
-
|
|
3891
3895
|
/**
|
|
3892
3896
|
* @public
|
|
3893
3897
|
*/
|
|
3894
3898
|
const createToolbox = () => {
|
|
3895
3899
|
const namespace = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__["default"]();
|
|
3896
3900
|
const predicates = {
|
|
3897
|
-
...
|
|
3898
|
-
...
|
|
3901
|
+
..._predicates_ts__WEBPACK_IMPORTED_MODULE_3__,
|
|
3902
|
+
..._predicates_ts__WEBPACK_IMPORTED_MODULE_2__,
|
|
3899
3903
|
isStringElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isStringElement,
|
|
3900
3904
|
isArrayElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement,
|
|
3901
3905
|
isObjectElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement
|
|
3902
3906
|
};
|
|
3903
|
-
namespace.use(
|
|
3907
|
+
namespace.use(_namespace_ts__WEBPACK_IMPORTED_MODULE_4__["default"]);
|
|
3904
3908
|
return {
|
|
3905
3909
|
predicates,
|
|
3906
|
-
ancestorLineageToJSONPointer,
|
|
3907
3910
|
namespace
|
|
3908
3911
|
};
|
|
3909
3912
|
};
|
|
@@ -20456,46 +20459,6 @@ var path = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def
|
|
|
20456
20459
|
|
|
20457
20460
|
/***/ },
|
|
20458
20461
|
|
|
20459
|
-
/***/ 44181
|
|
20460
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
20461
|
-
|
|
20462
|
-
__webpack_require__.r(__webpack_exports__);
|
|
20463
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
20464
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
20465
|
-
/* harmony export */ });
|
|
20466
|
-
/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39088);
|
|
20467
|
-
/* harmony import */ var _internal_path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68067);
|
|
20468
|
-
/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66719);
|
|
20469
|
-
|
|
20470
|
-
|
|
20471
|
-
|
|
20472
|
-
|
|
20473
|
-
/**
|
|
20474
|
-
* If the given, non-null object has a value at the given path, returns the
|
|
20475
|
-
* value at that path. Otherwise returns the provided default value.
|
|
20476
|
-
*
|
|
20477
|
-
* @func
|
|
20478
|
-
* @memberOf R
|
|
20479
|
-
* @since v0.18.0
|
|
20480
|
-
* @category Object
|
|
20481
|
-
* @typedefn Idx = String | Int | Symbol
|
|
20482
|
-
* @sig a -> [Idx] -> {a} -> a
|
|
20483
|
-
* @param {*} d The default value.
|
|
20484
|
-
* @param {Array} p The path to use.
|
|
20485
|
-
* @param {Object} obj The object to retrieve the nested property from.
|
|
20486
|
-
* @return {*} The data at `path` of the supplied object or the default value.
|
|
20487
|
-
* @example
|
|
20488
|
-
*
|
|
20489
|
-
* R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2
|
|
20490
|
-
* R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A"
|
|
20491
|
-
*/
|
|
20492
|
-
var pathOr = /*#__PURE__*/(0,_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathOr(d, p, obj) {
|
|
20493
|
-
return (0,_defaultTo_js__WEBPACK_IMPORTED_MODULE_2__["default"])(d, (0,_internal_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p, obj));
|
|
20494
|
-
});
|
|
20495
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (pathOr);
|
|
20496
|
-
|
|
20497
|
-
/***/ },
|
|
20498
|
-
|
|
20499
20462
|
/***/ 44787
|
|
20500
20463
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
20501
20464
|
|
|
@@ -38034,7 +37997,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38034
37997
|
/* harmony export */ refractServerVariable: () => (/* reexport safe */ _refractor_index_ts__WEBPACK_IMPORTED_MODULE_11__.refractServerVariable),
|
|
38035
37998
|
/* harmony export */ refractTag: () => (/* reexport safe */ _refractor_index_ts__WEBPACK_IMPORTED_MODULE_11__.refractTag),
|
|
38036
37999
|
/* harmony export */ refractXml: () => (/* reexport safe */ _refractor_index_ts__WEBPACK_IMPORTED_MODULE_11__.refractXml),
|
|
38037
|
-
/* harmony export */ refractorPluginNormalizeHeaderExamples: () => (/* reexport safe */
|
|
38000
|
+
/* harmony export */ refractorPluginNormalizeHeaderExamples: () => (/* reexport safe */ _refractor_plugins_normalize_header_examples_ts__WEBPACK_IMPORTED_MODULE_8__["default"]),
|
|
38038
38001
|
/* harmony export */ refractorPluginNormalizeOperationIds: () => (/* reexport safe */ _refractor_plugins_normalize_operation_ids_ts__WEBPACK_IMPORTED_MODULE_6__["default"]),
|
|
38039
38002
|
/* harmony export */ refractorPluginNormalizeParameterExamples: () => (/* reexport safe */ _refractor_plugins_normalize_parameter_examples_ts__WEBPACK_IMPORTED_MODULE_7__["default"]),
|
|
38040
38003
|
/* harmony export */ refractorPluginNormalizeParameters: () => (/* reexport safe */ _refractor_plugins_normalize_parameters_ts__WEBPACK_IMPORTED_MODULE_3__["default"]),
|
|
@@ -38051,7 +38014,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38051
38014
|
/* harmony import */ var _refractor_plugins_normalize_servers_ts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(96255);
|
|
38052
38015
|
/* harmony import */ var _refractor_plugins_normalize_operation_ids_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2261);
|
|
38053
38016
|
/* harmony import */ var _refractor_plugins_normalize_parameter_examples_ts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43058);
|
|
38054
|
-
/* harmony import */ var
|
|
38017
|
+
/* harmony import */ var _refractor_plugins_normalize_header_examples_ts__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(40048);
|
|
38055
38018
|
/* harmony import */ var _refractor_toolbox_ts__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(84225);
|
|
38056
38019
|
/* harmony import */ var _refractor_specification_ts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(27715);
|
|
38057
38020
|
/* harmony import */ var _refractor_index_ts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(14074);
|