@swagger-api/apidom-ns-openapi-3-0 0.98.0 → 0.99.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 CHANGED
@@ -3,6 +3,10 @@
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.0](https://github.com/swagger-api/apidom/compare/v0.98.3...v0.99.0) (2024-04-03)
7
+
8
+ **Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
9
+
6
10
  # [0.98.0](https://github.com/swagger-api/apidom/compare/v0.97.1...v0.98.0) (2024-03-21)
7
11
 
8
12
  **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__(88945);
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__.dispatchPlugins)(rootVisitor.element, plugins, {
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,
@@ -23635,6 +23636,67 @@ const mergeAll = (visitors, {
23635
23636
  }
23636
23637
  };
23637
23638
  };
23639
+ const mergeAllAsync = (visitors, {
23640
+ visitFnGetter = getVisitFn,
23641
+ nodeTypeGetter = getNodeType,
23642
+ breakSymbol = BREAK,
23643
+ deleteNodeSymbol = null,
23644
+ skipVisitingNodeSymbol = false,
23645
+ exposeEdits = false
23646
+ } = {}) => {
23647
+ const skipSymbol = Symbol('skip');
23648
+ const skipping = new Array(visitors.length).fill(skipSymbol);
23649
+ return {
23650
+ async enter(node, ...rest) {
23651
+ let currentNode = node;
23652
+ let hasChanged = false;
23653
+ for (let i = 0; i < visitors.length; i += 1) {
23654
+ if (skipping[i] === skipSymbol) {
23655
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
23656
+ if (typeof visitFn === 'function') {
23657
+ // eslint-disable-next-line no-await-in-loop
23658
+ const result = await visitFn.call(visitors[i], currentNode, ...rest);
23659
+ if (result === skipVisitingNodeSymbol) {
23660
+ skipping[i] = node;
23661
+ } else if (result === breakSymbol) {
23662
+ skipping[i] = breakSymbol;
23663
+ } else if (result === deleteNodeSymbol) {
23664
+ return result;
23665
+ } else if (result !== undefined) {
23666
+ if (exposeEdits) {
23667
+ currentNode = result;
23668
+ hasChanged = true;
23669
+ } else {
23670
+ return result;
23671
+ }
23672
+ }
23673
+ }
23674
+ }
23675
+ }
23676
+ return hasChanged ? currentNode : undefined;
23677
+ },
23678
+ async leave(node, ...rest) {
23679
+ for (let i = 0; i < visitors.length; i += 1) {
23680
+ if (skipping[i] === skipSymbol) {
23681
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
23682
+ if (typeof visitFn === 'function') {
23683
+ // eslint-disable-next-line no-await-in-loop
23684
+ const result = await visitFn.call(visitors[i], node, ...rest);
23685
+ if (result === breakSymbol) {
23686
+ skipping[i] = breakSymbol;
23687
+ } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
23688
+ return result;
23689
+ }
23690
+ }
23691
+ } else if (skipping[i] === node) {
23692
+ skipping[i] = skipSymbol;
23693
+ }
23694
+ }
23695
+ return undefined;
23696
+ }
23697
+ };
23698
+ };
23699
+ mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
23638
23700
 
23639
23701
  /* eslint-disable no-continue, no-param-reassign */
23640
23702
  /**
@@ -24781,7 +24843,7 @@ __webpack_require__.r(__webpack_exports__);
24781
24843
  /* harmony export */ createRefractor: () => (/* binding */ createRefractor),
24782
24844
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
24783
24845
  /* harmony export */ });
24784
- /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88945);
24846
+ /* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49915);
24785
24847
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
24786
24848
  /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
24787
24849
  /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
@@ -24814,7 +24876,7 @@ const refract = (value, {
24814
24876
  * Run plugins only when necessary.
24815
24877
  * Running plugins visitors means extra single traversal === performance hit.
24816
24878
  */
24817
- return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPlugins)(element, plugins, {
24879
+ return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
24818
24880
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
24819
24881
  visitorOptions: {
24820
24882
  nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
@@ -24829,13 +24891,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
24829
24891
 
24830
24892
  /***/ }),
24831
24893
 
24832
- /***/ 88945:
24894
+ /***/ 49915:
24833
24895
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
24834
24896
 
24835
24897
  "use strict";
24836
24898
  __webpack_require__.r(__webpack_exports__);
24837
24899
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
24838
- /* harmony export */ dispatchPlugins: () => (/* binding */ dispatchPlugins)
24900
+ /* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
24901
+ /* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
24839
24902
  /* harmony export */ });
24840
24903
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81515);
24841
24904
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85379);
@@ -24854,9 +24917,7 @@ const defaultDispatchPluginsOptions = {
24854
24917
  exposeEdits: true
24855
24918
  }
24856
24919
  };
24857
-
24858
- // eslint-disable-next-line import/prefer-default-export
24859
- const dispatchPlugins = (element, plugins, options = {}) => {
24920
+ const dispatchPluginsSync = (element, plugins, options = {}) => {
24860
24921
  if (plugins.length === 0) return element;
24861
24922
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
24862
24923
  const {
@@ -24873,6 +24934,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
24873
24934
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
24874
24935
  return newElement;
24875
24936
  };
24937
+ const dispatchPluginsAsync = async (element, plugins, options = {}) => {
24938
+ if (plugins.length === 0) return element;
24939
+ const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
24940
+ const {
24941
+ toolboxCreator,
24942
+ visitorOptions
24943
+ } = mergedOptions;
24944
+ const toolbox = toolboxCreator();
24945
+ const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
24946
+ const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
24947
+ const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
24948
+ const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
24949
+ ...visitorOptions
24950
+ });
24951
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
24952
+ const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
24953
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
24954
+ return newElement;
24955
+ };
24956
+ dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
24876
24957
 
24877
24958
  /***/ }),
24878
24959
 
@@ -26016,7 +26097,7 @@ __webpack_require__.r(__webpack_exports__);
26016
26097
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
26017
26098
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
26018
26099
  /* 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__(88945);
26100
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
26020
26101
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53785);
26021
26102
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13720);
26022
26103
  /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20363);
@@ -26049,7 +26130,7 @@ const refract = (value, {
26049
26130
  /**
26050
26131
  * Running plugins visitors means extra single traversal === performance hit.
26051
26132
  */
26052
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
26133
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
26053
26134
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
26054
26135
  visitorOptions: {
26055
26136
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,