@swagger-api/apidom-parser-adapter-openapi-yaml-3-1 0.97.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,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.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-parser-adapter-openapi-yaml-3-1
9
+
10
+ # [0.98.0](https://github.com/swagger-api/apidom/compare/v0.97.1...v0.98.0) (2024-03-21)
11
+
12
+ **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-yaml-3-1
13
+
6
14
  # [0.97.0](https://github.com/swagger-api/apidom/compare/v0.96.0...v0.97.0) (2024-03-07)
7
15
 
8
16
  **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-yaml-3-1
@@ -17716,6 +17716,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
17716
17716
  * If a prior visitor edits a node, no following visitors will see that node.
17717
17717
  * `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
17718
17718
  */
17719
+
17719
17720
  const mergeAll = (visitors, {
17720
17721
  visitFnGetter = getVisitFn,
17721
17722
  nodeTypeGetter = getNodeType,
@@ -17774,6 +17775,67 @@ const mergeAll = (visitors, {
17774
17775
  }
17775
17776
  };
17776
17777
  };
17778
+ const mergeAllAsync = (visitors, {
17779
+ visitFnGetter = getVisitFn,
17780
+ nodeTypeGetter = getNodeType,
17781
+ breakSymbol = BREAK,
17782
+ deleteNodeSymbol = null,
17783
+ skipVisitingNodeSymbol = false,
17784
+ exposeEdits = false
17785
+ } = {}) => {
17786
+ const skipSymbol = Symbol('skip');
17787
+ const skipping = new Array(visitors.length).fill(skipSymbol);
17788
+ return {
17789
+ async enter(node, ...rest) {
17790
+ let currentNode = node;
17791
+ let hasChanged = false;
17792
+ for (let i = 0; i < visitors.length; i += 1) {
17793
+ if (skipping[i] === skipSymbol) {
17794
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
17795
+ if (typeof visitFn === 'function') {
17796
+ // eslint-disable-next-line no-await-in-loop
17797
+ const result = await visitFn.call(visitors[i], currentNode, ...rest);
17798
+ if (result === skipVisitingNodeSymbol) {
17799
+ skipping[i] = node;
17800
+ } else if (result === breakSymbol) {
17801
+ skipping[i] = breakSymbol;
17802
+ } else if (result === deleteNodeSymbol) {
17803
+ return result;
17804
+ } else if (result !== undefined) {
17805
+ if (exposeEdits) {
17806
+ currentNode = result;
17807
+ hasChanged = true;
17808
+ } else {
17809
+ return result;
17810
+ }
17811
+ }
17812
+ }
17813
+ }
17814
+ }
17815
+ return hasChanged ? currentNode : undefined;
17816
+ },
17817
+ async leave(node, ...rest) {
17818
+ for (let i = 0; i < visitors.length; i += 1) {
17819
+ if (skipping[i] === skipSymbol) {
17820
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
17821
+ if (typeof visitFn === 'function') {
17822
+ // eslint-disable-next-line no-await-in-loop
17823
+ const result = await visitFn.call(visitors[i], node, ...rest);
17824
+ if (result === breakSymbol) {
17825
+ skipping[i] = breakSymbol;
17826
+ } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
17827
+ return result;
17828
+ }
17829
+ }
17830
+ } else if (skipping[i] === node) {
17831
+ skipping[i] = skipSymbol;
17832
+ }
17833
+ }
17834
+ return undefined;
17835
+ }
17836
+ };
17837
+ };
17838
+ mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
17777
17839
 
17778
17840
  /* eslint-disable no-continue, no-param-reassign */
17779
17841
  /**
@@ -20060,7 +20122,7 @@ __webpack_require__.r(__webpack_exports__);
20060
20122
  /* harmony export */ createRefractor: () => (/* binding */ createRefractor),
20061
20123
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
20062
20124
  /* harmony export */ });
20063
- /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88945);
20125
+ /* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49915);
20064
20126
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
20065
20127
  /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
20066
20128
  /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
@@ -20093,7 +20155,7 @@ const refract = (value, {
20093
20155
  * Run plugins only when necessary.
20094
20156
  * Running plugins visitors means extra single traversal === performance hit.
20095
20157
  */
20096
- return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPlugins)(element, plugins, {
20158
+ return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
20097
20159
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
20098
20160
  visitorOptions: {
20099
20161
  nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
@@ -20108,13 +20170,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
20108
20170
 
20109
20171
  /***/ }),
20110
20172
 
20111
- /***/ 88945:
20173
+ /***/ 49915:
20112
20174
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
20113
20175
 
20114
20176
  "use strict";
20115
20177
  __webpack_require__.r(__webpack_exports__);
20116
20178
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20117
- /* harmony export */ dispatchPlugins: () => (/* binding */ dispatchPlugins)
20179
+ /* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
20180
+ /* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
20118
20181
  /* harmony export */ });
20119
20182
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81515);
20120
20183
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85379);
@@ -20133,9 +20196,7 @@ const defaultDispatchPluginsOptions = {
20133
20196
  exposeEdits: true
20134
20197
  }
20135
20198
  };
20136
-
20137
- // eslint-disable-next-line import/prefer-default-export
20138
- const dispatchPlugins = (element, plugins, options = {}) => {
20199
+ const dispatchPluginsSync = (element, plugins, options = {}) => {
20139
20200
  if (plugins.length === 0) return element;
20140
20201
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
20141
20202
  const {
@@ -20152,6 +20213,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
20152
20213
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
20153
20214
  return newElement;
20154
20215
  };
20216
+ const dispatchPluginsAsync = async (element, plugins, options = {}) => {
20217
+ if (plugins.length === 0) return element;
20218
+ const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
20219
+ const {
20220
+ toolboxCreator,
20221
+ visitorOptions
20222
+ } = mergedOptions;
20223
+ const toolbox = toolboxCreator();
20224
+ const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
20225
+ const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
20226
+ const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
20227
+ const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
20228
+ ...visitorOptions
20229
+ });
20230
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
20231
+ const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
20232
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
20233
+ return newElement;
20234
+ };
20235
+ dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
20155
20236
 
20156
20237
  /***/ }),
20157
20238
 
@@ -21295,7 +21376,7 @@ __webpack_require__.r(__webpack_exports__);
21295
21376
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
21296
21377
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
21297
21378
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
21298
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
21379
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
21299
21380
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53785);
21300
21381
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13720);
21301
21382
  /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20363);
@@ -21328,7 +21409,7 @@ const refract = (value, {
21328
21409
  /**
21329
21410
  * Running plugins visitors means extra single traversal === performance hit.
21330
21411
  */
21331
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
21412
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
21332
21413
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
21333
21414
  visitorOptions: {
21334
21415
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
@@ -25878,7 +25959,7 @@ __webpack_require__.r(__webpack_exports__);
25878
25959
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88326);
25879
25960
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27155);
25880
25961
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
25881
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
25962
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
25882
25963
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14864);
25883
25964
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8305);
25884
25965
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50384);
@@ -25909,7 +25990,7 @@ const refract = (value, {
25909
25990
  /**
25910
25991
  * Running plugins visitors means extra single traversal === performance hit.
25911
25992
  */
25912
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
25993
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
25913
25994
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
25914
25995
  visitorOptions: {
25915
25996
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
@@ -32003,7 +32084,7 @@ __webpack_require__.r(__webpack_exports__);
32003
32084
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88326);
32004
32085
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27155);
32005
32086
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
32006
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
32087
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
32007
32088
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14864);
32008
32089
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48930);
32009
32090
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(58103);
@@ -32034,7 +32115,7 @@ const refract = (value, {
32034
32115
  /**
32035
32116
  * Running plugins visitors means extra single traversal === performance hit.
32036
32117
  */
32037
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
32118
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
32038
32119
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
32039
32120
  visitorOptions: {
32040
32121
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,