@swagger-api/apidom-parser-adapter-asyncapi-json-2 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-parser-adapter-asyncapi-json-2
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-parser-adapter-asyncapi-json-2
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-parser-adapter-asyncapi-json-2
@@ -16428,6 +16428,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
16428
16428
  * If a prior visitor edits a node, no following visitors will see that node.
16429
16429
  * `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
16430
16430
  */
16431
+
16431
16432
  const mergeAll = (visitors, {
16432
16433
  visitFnGetter = getVisitFn,
16433
16434
  nodeTypeGetter = getNodeType,
@@ -16447,6 +16448,14 @@ const mergeAll = (visitors, {
16447
16448
  const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
16448
16449
  if (typeof visitFn === 'function') {
16449
16450
  const result = visitFn.call(visitors[i], currentNode, ...rest);
16451
+
16452
+ // check if the visitor is async
16453
+ if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
16454
+ throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
16455
+ visitor: visitors[i],
16456
+ visitFn
16457
+ });
16458
+ }
16450
16459
  if (result === skipVisitingNodeSymbol) {
16451
16460
  skipping[i] = node;
16452
16461
  } else if (result === breakSymbol) {
@@ -16472,6 +16481,14 @@ const mergeAll = (visitors, {
16472
16481
  const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
16473
16482
  if (typeof visitFn === 'function') {
16474
16483
  const result = visitFn.call(visitors[i], node, ...rest);
16484
+
16485
+ // check if the visitor is async
16486
+ if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
16487
+ throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
16488
+ visitor: visitors[i],
16489
+ visitFn
16490
+ });
16491
+ }
16475
16492
  if (result === breakSymbol) {
16476
16493
  skipping[i] = breakSymbol;
16477
16494
  } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
@@ -16486,6 +16503,67 @@ const mergeAll = (visitors, {
16486
16503
  }
16487
16504
  };
16488
16505
  };
16506
+ const mergeAllAsync = (visitors, {
16507
+ visitFnGetter = getVisitFn,
16508
+ nodeTypeGetter = getNodeType,
16509
+ breakSymbol = BREAK,
16510
+ deleteNodeSymbol = null,
16511
+ skipVisitingNodeSymbol = false,
16512
+ exposeEdits = false
16513
+ } = {}) => {
16514
+ const skipSymbol = Symbol('skip');
16515
+ const skipping = new Array(visitors.length).fill(skipSymbol);
16516
+ return {
16517
+ async enter(node, ...rest) {
16518
+ let currentNode = node;
16519
+ let hasChanged = false;
16520
+ for (let i = 0; i < visitors.length; i += 1) {
16521
+ if (skipping[i] === skipSymbol) {
16522
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
16523
+ if (typeof visitFn === 'function') {
16524
+ // eslint-disable-next-line no-await-in-loop
16525
+ const result = await visitFn.call(visitors[i], currentNode, ...rest);
16526
+ if (result === skipVisitingNodeSymbol) {
16527
+ skipping[i] = node;
16528
+ } else if (result === breakSymbol) {
16529
+ skipping[i] = breakSymbol;
16530
+ } else if (result === deleteNodeSymbol) {
16531
+ return result;
16532
+ } else if (result !== undefined) {
16533
+ if (exposeEdits) {
16534
+ currentNode = result;
16535
+ hasChanged = true;
16536
+ } else {
16537
+ return result;
16538
+ }
16539
+ }
16540
+ }
16541
+ }
16542
+ }
16543
+ return hasChanged ? currentNode : undefined;
16544
+ },
16545
+ async leave(node, ...rest) {
16546
+ for (let i = 0; i < visitors.length; i += 1) {
16547
+ if (skipping[i] === skipSymbol) {
16548
+ const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
16549
+ if (typeof visitFn === 'function') {
16550
+ // eslint-disable-next-line no-await-in-loop
16551
+ const result = await visitFn.call(visitors[i], node, ...rest);
16552
+ if (result === breakSymbol) {
16553
+ skipping[i] = breakSymbol;
16554
+ } else if (result !== undefined && result !== skipVisitingNodeSymbol) {
16555
+ return result;
16556
+ }
16557
+ }
16558
+ } else if (skipping[i] === node) {
16559
+ skipping[i] = skipSymbol;
16560
+ }
16561
+ }
16562
+ return undefined;
16563
+ }
16564
+ };
16565
+ };
16566
+ mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
16489
16567
 
16490
16568
  /* eslint-disable no-continue, no-param-reassign */
16491
16569
  /**
@@ -16654,6 +16732,7 @@ visitor, {
16654
16732
  }
16655
16733
  let result;
16656
16734
  if (!Array.isArray(node)) {
16735
+ var _result;
16657
16736
  if (!nodePredicate(node)) {
16658
16737
  throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, {
16659
16738
  node
@@ -16675,6 +16754,14 @@ visitor, {
16675
16754
  // retrieve result
16676
16755
  result = visitFn.call(visitor, node, key, parent, path, ancestors);
16677
16756
  }
16757
+
16758
+ // check if the visitor is async
16759
+ if (typeof ((_result = result) === null || _result === void 0 ? void 0 : _result.then) === 'function') {
16760
+ throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
16761
+ visitor,
16762
+ visitFn
16763
+ });
16764
+ }
16678
16765
  if (result === breakSymbol) {
16679
16766
  break;
16680
16767
  }
@@ -17632,7 +17719,7 @@ __webpack_require__.r(__webpack_exports__);
17632
17719
  /* harmony export */ createRefractor: () => (/* binding */ createRefractor),
17633
17720
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
17634
17721
  /* harmony export */ });
17635
- /* harmony import */ var _plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(88945);
17722
+ /* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49915);
17636
17723
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
17637
17724
  /* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
17638
17725
  /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
@@ -17665,7 +17752,7 @@ const refract = (value, {
17665
17752
  * Run plugins only when necessary.
17666
17753
  * Running plugins visitors means extra single traversal === performance hit.
17667
17754
  */
17668
- return (0,_plugins_utils_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPlugins)(element, plugins, {
17755
+ return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
17669
17756
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
17670
17757
  visitorOptions: {
17671
17758
  nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
@@ -17680,13 +17767,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
17680
17767
 
17681
17768
  /***/ }),
17682
17769
 
17683
- /***/ 88945:
17770
+ /***/ 49915:
17684
17771
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
17685
17772
 
17686
17773
  "use strict";
17687
17774
  __webpack_require__.r(__webpack_exports__);
17688
17775
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
17689
- /* harmony export */ dispatchPlugins: () => (/* binding */ dispatchPlugins)
17776
+ /* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
17777
+ /* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
17690
17778
  /* harmony export */ });
17691
17779
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81515);
17692
17780
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85379);
@@ -17705,9 +17793,7 @@ const defaultDispatchPluginsOptions = {
17705
17793
  exposeEdits: true
17706
17794
  }
17707
17795
  };
17708
-
17709
- // eslint-disable-next-line import/prefer-default-export
17710
- const dispatchPlugins = (element, plugins, options = {}) => {
17796
+ const dispatchPluginsSync = (element, plugins, options = {}) => {
17711
17797
  if (plugins.length === 0) return element;
17712
17798
  const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
17713
17799
  const {
@@ -17724,6 +17810,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
17724
17810
  pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
17725
17811
  return newElement;
17726
17812
  };
17813
+ const dispatchPluginsAsync = async (element, plugins, options = {}) => {
17814
+ if (plugins.length === 0) return element;
17815
+ const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
17816
+ const {
17817
+ toolboxCreator,
17818
+ visitorOptions
17819
+ } = mergedOptions;
17820
+ const toolbox = toolboxCreator();
17821
+ const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
17822
+ const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
17823
+ const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
17824
+ const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
17825
+ ...visitorOptions
17826
+ });
17827
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
17828
+ const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
17829
+ await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
17830
+ return newElement;
17831
+ };
17832
+ dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
17727
17833
 
17728
17834
  /***/ }),
17729
17835
 
@@ -23687,7 +23793,7 @@ __webpack_require__.r(__webpack_exports__);
23687
23793
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88326);
23688
23794
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27155);
23689
23795
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
23690
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
23796
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
23691
23797
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14864);
23692
23798
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(85535);
23693
23799
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(95086);
@@ -23718,7 +23824,7 @@ const refract = (value, {
23718
23824
  /**
23719
23825
  * Running plugins visitors means extra single traversal === performance hit.
23720
23826
  */
23721
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
23827
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
23722
23828
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
23723
23829
  visitorOptions: {
23724
23830
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
@@ -32275,7 +32381,7 @@ __webpack_require__.r(__webpack_exports__);
32275
32381
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
32276
32382
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
32277
32383
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
32278
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
32384
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
32279
32385
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53785);
32280
32386
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13720);
32281
32387
  /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20363);
@@ -32308,7 +32414,7 @@ const refract = (value, {
32308
32414
  /**
32309
32415
  * Running plugins visitors means extra single traversal === performance hit.
32310
32416
  */
32311
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
32417
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
32312
32418
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
32313
32419
  visitorOptions: {
32314
32420
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
@@ -34336,7 +34442,7 @@ __webpack_require__.r(__webpack_exports__);
34336
34442
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
34337
34443
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
34338
34444
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
34339
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
34445
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
34340
34446
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43087);
34341
34447
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(31966);
34342
34448
  /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(77153);
@@ -34369,7 +34475,7 @@ const refract = (value, {
34369
34475
  /**
34370
34476
  * Running plugins visitors means extra single traversal === performance hit.
34371
34477
  */
34372
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
34478
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
34373
34479
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
34374
34480
  visitorOptions: {
34375
34481
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
@@ -34994,7 +35100,7 @@ __webpack_require__.r(__webpack_exports__);
34994
35100
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
34995
35101
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
34996
35102
  /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
34997
- /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(88945);
35103
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
34998
35104
  /* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90864);
34999
35105
  /* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(5333);
35000
35106
  /* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(79686);
@@ -35028,7 +35134,7 @@ const refract = (value, {
35028
35134
  * Run plugins only when necessary.
35029
35135
  * Running plugins visitors means extra single traversal === performance hit.
35030
35136
  */
35031
- return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPlugins)(rootVisitor.element, plugins, {
35137
+ return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
35032
35138
  toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
35033
35139
  visitorOptions: {
35034
35140
  keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,