@swagger-api/apidom-ns-openapi-3-0 0.98.0 → 0.99.1
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
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.99.1](https://github.com/swagger-api/apidom/compare/v0.99.0...v0.99.1) (2024-04-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
|
|
9
|
+
|
|
10
|
+
# [0.99.0](https://github.com/swagger-api/apidom/compare/v0.98.3...v0.99.0) (2024-04-03)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
|
|
13
|
+
|
|
6
14
|
# [0.98.0](https://github.com/swagger-api/apidom/compare/v0.97.1...v0.98.0) (2024-03-21)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
|
|
@@ -2836,7 +2836,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2836
2836
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88326);
|
|
2837
2837
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27155);
|
|
2838
2838
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
2839
|
-
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
2839
|
+
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
|
|
2840
2840
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14864);
|
|
2841
2841
|
/* harmony import */ var _specification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27715);
|
|
2842
2842
|
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80192);
|
|
@@ -2867,7 +2867,7 @@ const refract = (value, {
|
|
|
2867
2867
|
/**
|
|
2868
2868
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
2869
2869
|
*/
|
|
2870
|
-
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.
|
|
2870
|
+
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
|
|
2871
2871
|
toolboxCreator: _toolbox__WEBPACK_IMPORTED_MODULE_6__["default"],
|
|
2872
2872
|
visitorOptions: {
|
|
2873
2873
|
keyMap: _traversal_visitor__WEBPACK_IMPORTED_MODULE_7__.keyMap,
|
|
@@ -23577,6 +23577,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
|
|
|
23577
23577
|
* If a prior visitor edits a node, no following visitors will see that node.
|
|
23578
23578
|
* `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
|
|
23579
23579
|
*/
|
|
23580
|
+
|
|
23580
23581
|
const mergeAll = (visitors, {
|
|
23581
23582
|
visitFnGetter = getVisitFn,
|
|
23582
23583
|
nodeTypeGetter = getNodeType,
|
|
@@ -23596,6 +23597,14 @@ const mergeAll = (visitors, {
|
|
|
23596
23597
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
23597
23598
|
if (typeof visitFn === 'function') {
|
|
23598
23599
|
const result = visitFn.call(visitors[i], currentNode, ...rest);
|
|
23600
|
+
|
|
23601
|
+
// check if the visitor is async
|
|
23602
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
23603
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
23604
|
+
visitor: visitors[i],
|
|
23605
|
+
visitFn
|
|
23606
|
+
});
|
|
23607
|
+
}
|
|
23599
23608
|
if (result === skipVisitingNodeSymbol) {
|
|
23600
23609
|
skipping[i] = node;
|
|
23601
23610
|
} else if (result === breakSymbol) {
|
|
@@ -23621,6 +23630,14 @@ const mergeAll = (visitors, {
|
|
|
23621
23630
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
23622
23631
|
if (typeof visitFn === 'function') {
|
|
23623
23632
|
const result = visitFn.call(visitors[i], node, ...rest);
|
|
23633
|
+
|
|
23634
|
+
// check if the visitor is async
|
|
23635
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
23636
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
23637
|
+
visitor: visitors[i],
|
|
23638
|
+
visitFn
|
|
23639
|
+
});
|
|
23640
|
+
}
|
|
23624
23641
|
if (result === breakSymbol) {
|
|
23625
23642
|
skipping[i] = breakSymbol;
|
|
23626
23643
|
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
@@ -23635,6 +23652,67 @@ const mergeAll = (visitors, {
|
|
|
23635
23652
|
}
|
|
23636
23653
|
};
|
|
23637
23654
|
};
|
|
23655
|
+
const mergeAllAsync = (visitors, {
|
|
23656
|
+
visitFnGetter = getVisitFn,
|
|
23657
|
+
nodeTypeGetter = getNodeType,
|
|
23658
|
+
breakSymbol = BREAK,
|
|
23659
|
+
deleteNodeSymbol = null,
|
|
23660
|
+
skipVisitingNodeSymbol = false,
|
|
23661
|
+
exposeEdits = false
|
|
23662
|
+
} = {}) => {
|
|
23663
|
+
const skipSymbol = Symbol('skip');
|
|
23664
|
+
const skipping = new Array(visitors.length).fill(skipSymbol);
|
|
23665
|
+
return {
|
|
23666
|
+
async enter(node, ...rest) {
|
|
23667
|
+
let currentNode = node;
|
|
23668
|
+
let hasChanged = false;
|
|
23669
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
23670
|
+
if (skipping[i] === skipSymbol) {
|
|
23671
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
23672
|
+
if (typeof visitFn === 'function') {
|
|
23673
|
+
// eslint-disable-next-line no-await-in-loop
|
|
23674
|
+
const result = await visitFn.call(visitors[i], currentNode, ...rest);
|
|
23675
|
+
if (result === skipVisitingNodeSymbol) {
|
|
23676
|
+
skipping[i] = node;
|
|
23677
|
+
} else if (result === breakSymbol) {
|
|
23678
|
+
skipping[i] = breakSymbol;
|
|
23679
|
+
} else if (result === deleteNodeSymbol) {
|
|
23680
|
+
return result;
|
|
23681
|
+
} else if (result !== undefined) {
|
|
23682
|
+
if (exposeEdits) {
|
|
23683
|
+
currentNode = result;
|
|
23684
|
+
hasChanged = true;
|
|
23685
|
+
} else {
|
|
23686
|
+
return result;
|
|
23687
|
+
}
|
|
23688
|
+
}
|
|
23689
|
+
}
|
|
23690
|
+
}
|
|
23691
|
+
}
|
|
23692
|
+
return hasChanged ? currentNode : undefined;
|
|
23693
|
+
},
|
|
23694
|
+
async leave(node, ...rest) {
|
|
23695
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
23696
|
+
if (skipping[i] === skipSymbol) {
|
|
23697
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
23698
|
+
if (typeof visitFn === 'function') {
|
|
23699
|
+
// eslint-disable-next-line no-await-in-loop
|
|
23700
|
+
const result = await visitFn.call(visitors[i], node, ...rest);
|
|
23701
|
+
if (result === breakSymbol) {
|
|
23702
|
+
skipping[i] = breakSymbol;
|
|
23703
|
+
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
23704
|
+
return result;
|
|
23705
|
+
}
|
|
23706
|
+
}
|
|
23707
|
+
} else if (skipping[i] === node) {
|
|
23708
|
+
skipping[i] = skipSymbol;
|
|
23709
|
+
}
|
|
23710
|
+
}
|
|
23711
|
+
return undefined;
|
|
23712
|
+
}
|
|
23713
|
+
};
|
|
23714
|
+
};
|
|
23715
|
+
mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
|
|
23638
23716
|
|
|
23639
23717
|
/* eslint-disable no-continue, no-param-reassign */
|
|
23640
23718
|
/**
|
|
@@ -23803,6 +23881,7 @@ visitor, {
|
|
|
23803
23881
|
}
|
|
23804
23882
|
let result;
|
|
23805
23883
|
if (!Array.isArray(node)) {
|
|
23884
|
+
var _result;
|
|
23806
23885
|
if (!nodePredicate(node)) {
|
|
23807
23886
|
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, {
|
|
23808
23887
|
node
|
|
@@ -23824,6 +23903,14 @@ visitor, {
|
|
|
23824
23903
|
// retrieve result
|
|
23825
23904
|
result = visitFn.call(visitor, node, key, parent, path, ancestors);
|
|
23826
23905
|
}
|
|
23906
|
+
|
|
23907
|
+
// check if the visitor is async
|
|
23908
|
+
if (typeof ((_result = result) === null || _result === void 0 ? void 0 : _result.then) === 'function') {
|
|
23909
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
23910
|
+
visitor,
|
|
23911
|
+
visitFn
|
|
23912
|
+
});
|
|
23913
|
+
}
|
|
23827
23914
|
if (result === breakSymbol) {
|
|
23828
23915
|
break;
|
|
23829
23916
|
}
|
|
@@ -24781,7 +24868,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
24781
24868
|
/* harmony export */ createRefractor: () => (/* binding */ createRefractor),
|
|
24782
24869
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
24783
24870
|
/* harmony export */ });
|
|
24784
|
-
/* harmony import */ var
|
|
24871
|
+
/* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49915);
|
|
24785
24872
|
/* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
24786
24873
|
/* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
|
|
24787
24874
|
/* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
|
|
@@ -24814,7 +24901,7 @@ const refract = (value, {
|
|
|
24814
24901
|
* Run plugins only when necessary.
|
|
24815
24902
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
24816
24903
|
*/
|
|
24817
|
-
return (0,
|
|
24904
|
+
return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
|
|
24818
24905
|
toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
|
|
24819
24906
|
visitorOptions: {
|
|
24820
24907
|
nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
|
|
@@ -24829,13 +24916,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
|
|
|
24829
24916
|
|
|
24830
24917
|
/***/ }),
|
|
24831
24918
|
|
|
24832
|
-
/***/
|
|
24919
|
+
/***/ 49915:
|
|
24833
24920
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
24834
24921
|
|
|
24835
24922
|
"use strict";
|
|
24836
24923
|
__webpack_require__.r(__webpack_exports__);
|
|
24837
24924
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
24838
|
-
/* harmony export */
|
|
24925
|
+
/* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
|
|
24926
|
+
/* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
|
|
24839
24927
|
/* harmony export */ });
|
|
24840
24928
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81515);
|
|
24841
24929
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85379);
|
|
@@ -24854,9 +24942,7 @@ const defaultDispatchPluginsOptions = {
|
|
|
24854
24942
|
exposeEdits: true
|
|
24855
24943
|
}
|
|
24856
24944
|
};
|
|
24857
|
-
|
|
24858
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
24859
|
-
const dispatchPlugins = (element, plugins, options = {}) => {
|
|
24945
|
+
const dispatchPluginsSync = (element, plugins, options = {}) => {
|
|
24860
24946
|
if (plugins.length === 0) return element;
|
|
24861
24947
|
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
24862
24948
|
const {
|
|
@@ -24873,6 +24959,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
|
|
|
24873
24959
|
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
|
|
24874
24960
|
return newElement;
|
|
24875
24961
|
};
|
|
24962
|
+
const dispatchPluginsAsync = async (element, plugins, options = {}) => {
|
|
24963
|
+
if (plugins.length === 0) return element;
|
|
24964
|
+
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
24965
|
+
const {
|
|
24966
|
+
toolboxCreator,
|
|
24967
|
+
visitorOptions
|
|
24968
|
+
} = mergedOptions;
|
|
24969
|
+
const toolbox = toolboxCreator();
|
|
24970
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
24971
|
+
const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
|
|
24972
|
+
const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
|
|
24973
|
+
const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
|
|
24974
|
+
...visitorOptions
|
|
24975
|
+
});
|
|
24976
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
|
|
24977
|
+
const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
|
|
24978
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
|
|
24979
|
+
return newElement;
|
|
24980
|
+
};
|
|
24981
|
+
dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
|
|
24876
24982
|
|
|
24877
24983
|
/***/ }),
|
|
24878
24984
|
|
|
@@ -26016,7 +26122,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26016
26122
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
|
|
26017
26123
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
|
|
26018
26124
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
26019
|
-
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
26125
|
+
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
|
|
26020
26126
|
/* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53785);
|
|
26021
26127
|
/* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13720);
|
|
26022
26128
|
/* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20363);
|
|
@@ -26049,7 +26155,7 @@ const refract = (value, {
|
|
|
26049
26155
|
/**
|
|
26050
26156
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
26051
26157
|
*/
|
|
26052
|
-
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.
|
|
26158
|
+
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
|
|
26053
26159
|
toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
|
|
26054
26160
|
visitorOptions: {
|
|
26055
26161
|
keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
|