@swagger-api/apidom-parser-adapter-api-design-systems-yaml 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-api-design-systems-yaml
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-api-design-systems-yaml
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-api-design-systems-yaml
@@ -16487,6 +16487,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
16487
16487
  * If a prior visitor edits a node, no following visitors will see that node.
16488
16488
  * `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
16489
16489
  */
16490
+
16490
16491
  const mergeAll = (visitors, {
16491
16492
  visitFnGetter = getVisitFn,
16492
16493
  nodeTypeGetter = getNodeType,
@@ -16545,6 +16546,67 @@ const mergeAll = (visitors, {
16545
16546
  }
16546
16547
  };
16547
16548
  };
16549
+ const mergeAllAsync = (visitors, {
16550
+ visitFnGetter = getVisitFn,
16551
+ nodeTypeGetter = getNodeType,
16552
+ breakSymbol = BREAK,
16553
+ deleteNodeSymbol = null,
16554
+ skipVisitingNodeSymbol = false,
16555
+ exposeEdits = false
16556
+ } = {}) => {
16557
+ const skipSymbol = Symbol('skip');
16558
+ const skipping = new Array(visitors.length).fill(skipSymbol);
16559
+ return {
16560
+ async enter(node, ...rest) {
16561
+ let currentNode = node;
16562
+ let hasChanged = false;
16563
+ for (let i = 0; i < visitors.length; i += 1) {
16564
+ if (skipping[i] === skipSymbol) {
16565
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
16566
+ if (typeof visitFn === 'function') {
16567
+ // eslint-disable-next-line no-await-in-loop
16568
+ const result = await visitFn.call(visitors[i], currentNode, ...rest);
16569
+ if (result === skipVisitingNodeSymbol) {
16570
+ skipping[i] = node;
16571
+ } else if (result === breakSymbol) {
16572
+ skipping[i] = breakSymbol;
16573
+ } else if (result === deleteNodeSymbol) {
16574
+ return result;
16575
+ } else if (result !== undefined) {
16576
+ if (exposeEdits) {
16577
+ currentNode = result;
16578
+ hasChanged = true;
16579
+ } else {
16580
+ return result;
16581
+ }
16582
+ }
16583
+ }
16584
+ }
16585
+ }
16586
+ return hasChanged ? currentNode : undefined;
16587
+ },
16588
+ async leave(node, ...rest) {
16589
+ for (let i = 0; i < visitors.length; i += 1) {
16590
+ if (skipping[i] === skipSymbol) {
16591
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
16592
+ if (typeof visitFn === 'function') {
16593
+ // eslint-disable-next-line no-await-in-loop
16594
+ const result = await visitFn.call(visitors[i], node, ...rest);
16595
+ if (result === breakSymbol) {
16596
+ skipping[i] = breakSymbol;
16597
+ } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
16598
+ return result;
16599
+ }
16600
+ }
16601
+ } else if (skipping[i] === node) {
16602
+ skipping[i] = skipSymbol;
16603
+ }
16604
+ }
16605
+ return undefined;
16606
+ }
16607
+ };
16608
+ };
16609
+ mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
16548
16610
 
16549
16611
  /* eslint-disable no-continue, no-param-reassign */
16550
16612
  /**
@@ -18831,7 +18893,7 @@ __webpack_require__.r(__webpack_exports__);
18831
18893
  /* harmony export */ createRefractor: () => (/* binding */ createRefractor),
18832
18894
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
18833
18895
  /* harmony export */ });
18834
- /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8945);
18896
+ /* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9915);
18835
18897
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5956);
18836
18898
  /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4831);
18837
18899
  /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60);
@@ -18864,7 +18926,7 @@ const refract = (value, {
18864
18926
  * Run plugins only when necessary.
18865
18927
  * Running plugins visitors means extra single traversal === performance hit.
18866
18928
  */
18867
- return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPlugins)(element, plugins, {
18929
+ return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
18868
18930
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
18869
18931
  visitorOptions: {
18870
18932
  nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
@@ -18879,13 +18941,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
18879
18941
 
18880
18942
  /***/ }),
18881
18943
 
18882
- /***/ 8945:
18944
+ /***/ 9915:
18883
18945
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
18884
18946
 
18885
18947
  "use strict";
18886
18948
  __webpack_require__.r(__webpack_exports__);
18887
18949
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
18888
- /* harmony export */ dispatchPlugins: () => (/* binding */ dispatchPlugins)
18950
+ /* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
18951
+ /* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
18889
18952
  /* harmony export */ });
18890
18953
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1515);
18891
18954
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5379);
@@ -18904,9 +18967,7 @@ const defaultDispatchPluginsOptions = {
18904
18967
  exposeEdits: true
18905
18968
  }
18906
18969
  };
18907
-
18908
- // eslint-disable-next-line import/prefer-default-export
18909
- const dispatchPlugins = (element, plugins, options = {}) => {
18970
+ const dispatchPluginsSync = (element, plugins, options = {}) => {
18910
18971
  if (plugins.length === 0) return element;
18911
18972
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
18912
18973
  const {
@@ -18923,6 +18984,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
18923
18984
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
18924
18985
  return newElement;
18925
18986
  };
18987
+ const dispatchPluginsAsync = async (element, plugins, options = {}) => {
18988
+ if (plugins.length === 0) return element;
18989
+ const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
18990
+ const {
18991
+ toolboxCreator,
18992
+ visitorOptions
18993
+ } = mergedOptions;
18994
+ const toolbox = toolboxCreator();
18995
+ const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
18996
+ const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
18997
+ const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
18998
+ const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
18999
+ ...visitorOptions
19000
+ });
19001
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
19002
+ const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
19003
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
19004
+ return newElement;
19005
+ };
19006
+ dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
18926
19007
 
18927
19008
  /***/ }),
18928
19009
 
@@ -20002,7 +20083,7 @@ __webpack_require__.r(__webpack_exports__);
20002
20083
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8326);
20003
20084
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7155);
20004
20085
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5956);
20005
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8945);
20086
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9915);
20006
20087
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4864);
20007
20088
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7074);
20008
20089
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7719);
@@ -20033,7 +20114,7 @@ const refract = (value, {
20033
20114
  /**
20034
20115
  * Running plugins visitors means extra single traversal === performance hit.
20035
20116
  */
20036
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
20117
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
20037
20118
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
20038
20119
  visitorOptions: {
20039
20120
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,