@swagger-api/apidom-ns-openapi-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-ns-openapi-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-ns-openapi-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-ns-openapi-2
|
|
@@ -2337,7 +2337,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
2337
2337
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88326);
|
|
2338
2338
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(27155);
|
|
2339
2339
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
2340
|
-
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
2340
|
+
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
|
|
2341
2341
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14864);
|
|
2342
2342
|
/* harmony import */ var _specification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27715);
|
|
2343
2343
|
/* harmony import */ var _traversal_visitor__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80192);
|
|
@@ -2368,7 +2368,7 @@ const refract = (value, {
|
|
|
2368
2368
|
/**
|
|
2369
2369
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
2370
2370
|
*/
|
|
2371
|
-
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.
|
|
2371
|
+
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
|
|
2372
2372
|
toolboxCreator: _toolbox__WEBPACK_IMPORTED_MODULE_6__["default"],
|
|
2373
2373
|
visitorOptions: {
|
|
2374
2374
|
keyMap: _traversal_visitor__WEBPACK_IMPORTED_MODULE_7__.keyMap,
|
|
@@ -21270,6 +21270,7 @@ const cloneNode = node => Object.create(Object.getPrototypeOf(node), Object.getO
|
|
|
21270
21270
|
* If a prior visitor edits a node, no following visitors will see that node.
|
|
21271
21271
|
* `exposeEdits=true` can be used to exoise the edited node from the previous visitors.
|
|
21272
21272
|
*/
|
|
21273
|
+
|
|
21273
21274
|
const mergeAll = (visitors, {
|
|
21274
21275
|
visitFnGetter = getVisitFn,
|
|
21275
21276
|
nodeTypeGetter = getNodeType,
|
|
@@ -21289,6 +21290,14 @@ const mergeAll = (visitors, {
|
|
|
21289
21290
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
21290
21291
|
if (typeof visitFn === 'function') {
|
|
21291
21292
|
const result = visitFn.call(visitors[i], currentNode, ...rest);
|
|
21293
|
+
|
|
21294
|
+
// check if the visitor is async
|
|
21295
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
21296
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
21297
|
+
visitor: visitors[i],
|
|
21298
|
+
visitFn
|
|
21299
|
+
});
|
|
21300
|
+
}
|
|
21292
21301
|
if (result === skipVisitingNodeSymbol) {
|
|
21293
21302
|
skipping[i] = node;
|
|
21294
21303
|
} else if (result === breakSymbol) {
|
|
@@ -21314,6 +21323,14 @@ const mergeAll = (visitors, {
|
|
|
21314
21323
|
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
21315
21324
|
if (typeof visitFn === 'function') {
|
|
21316
21325
|
const result = visitFn.call(visitors[i], node, ...rest);
|
|
21326
|
+
|
|
21327
|
+
// check if the visitor is async
|
|
21328
|
+
if (typeof (result === null || result === void 0 ? void 0 : result.then) === 'function') {
|
|
21329
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
21330
|
+
visitor: visitors[i],
|
|
21331
|
+
visitFn
|
|
21332
|
+
});
|
|
21333
|
+
}
|
|
21317
21334
|
if (result === breakSymbol) {
|
|
21318
21335
|
skipping[i] = breakSymbol;
|
|
21319
21336
|
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
@@ -21328,6 +21345,67 @@ const mergeAll = (visitors, {
|
|
|
21328
21345
|
}
|
|
21329
21346
|
};
|
|
21330
21347
|
};
|
|
21348
|
+
const mergeAllAsync = (visitors, {
|
|
21349
|
+
visitFnGetter = getVisitFn,
|
|
21350
|
+
nodeTypeGetter = getNodeType,
|
|
21351
|
+
breakSymbol = BREAK,
|
|
21352
|
+
deleteNodeSymbol = null,
|
|
21353
|
+
skipVisitingNodeSymbol = false,
|
|
21354
|
+
exposeEdits = false
|
|
21355
|
+
} = {}) => {
|
|
21356
|
+
const skipSymbol = Symbol('skip');
|
|
21357
|
+
const skipping = new Array(visitors.length).fill(skipSymbol);
|
|
21358
|
+
return {
|
|
21359
|
+
async enter(node, ...rest) {
|
|
21360
|
+
let currentNode = node;
|
|
21361
|
+
let hasChanged = false;
|
|
21362
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
21363
|
+
if (skipping[i] === skipSymbol) {
|
|
21364
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(currentNode), false);
|
|
21365
|
+
if (typeof visitFn === 'function') {
|
|
21366
|
+
// eslint-disable-next-line no-await-in-loop
|
|
21367
|
+
const result = await visitFn.call(visitors[i], currentNode, ...rest);
|
|
21368
|
+
if (result === skipVisitingNodeSymbol) {
|
|
21369
|
+
skipping[i] = node;
|
|
21370
|
+
} else if (result === breakSymbol) {
|
|
21371
|
+
skipping[i] = breakSymbol;
|
|
21372
|
+
} else if (result === deleteNodeSymbol) {
|
|
21373
|
+
return result;
|
|
21374
|
+
} else if (result !== undefined) {
|
|
21375
|
+
if (exposeEdits) {
|
|
21376
|
+
currentNode = result;
|
|
21377
|
+
hasChanged = true;
|
|
21378
|
+
} else {
|
|
21379
|
+
return result;
|
|
21380
|
+
}
|
|
21381
|
+
}
|
|
21382
|
+
}
|
|
21383
|
+
}
|
|
21384
|
+
}
|
|
21385
|
+
return hasChanged ? currentNode : undefined;
|
|
21386
|
+
},
|
|
21387
|
+
async leave(node, ...rest) {
|
|
21388
|
+
for (let i = 0; i < visitors.length; i += 1) {
|
|
21389
|
+
if (skipping[i] === skipSymbol) {
|
|
21390
|
+
const visitFn = visitFnGetter(visitors[i], nodeTypeGetter(node), true);
|
|
21391
|
+
if (typeof visitFn === 'function') {
|
|
21392
|
+
// eslint-disable-next-line no-await-in-loop
|
|
21393
|
+
const result = await visitFn.call(visitors[i], node, ...rest);
|
|
21394
|
+
if (result === breakSymbol) {
|
|
21395
|
+
skipping[i] = breakSymbol;
|
|
21396
|
+
} else if (result !== undefined && result !== skipVisitingNodeSymbol) {
|
|
21397
|
+
return result;
|
|
21398
|
+
}
|
|
21399
|
+
}
|
|
21400
|
+
} else if (skipping[i] === node) {
|
|
21401
|
+
skipping[i] = skipSymbol;
|
|
21402
|
+
}
|
|
21403
|
+
}
|
|
21404
|
+
return undefined;
|
|
21405
|
+
}
|
|
21406
|
+
};
|
|
21407
|
+
};
|
|
21408
|
+
mergeAll[Symbol.for('nodejs.util.promisify.custom')] = mergeAllAsync;
|
|
21331
21409
|
|
|
21332
21410
|
/* eslint-disable no-continue, no-param-reassign */
|
|
21333
21411
|
/**
|
|
@@ -21496,6 +21574,7 @@ visitor, {
|
|
|
21496
21574
|
}
|
|
21497
21575
|
let result;
|
|
21498
21576
|
if (!Array.isArray(node)) {
|
|
21577
|
+
var _result;
|
|
21499
21578
|
if (!nodePredicate(node)) {
|
|
21500
21579
|
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"](`Invalid AST Node: ${String(node)}`, {
|
|
21501
21580
|
node
|
|
@@ -21517,6 +21596,14 @@ visitor, {
|
|
|
21517
21596
|
// retrieve result
|
|
21518
21597
|
result = visitFn.call(visitor, node, key, parent, path, ancestors);
|
|
21519
21598
|
}
|
|
21599
|
+
|
|
21600
|
+
// check if the visitor is async
|
|
21601
|
+
if (typeof ((_result = result) === null || _result === void 0 ? void 0 : _result.then) === 'function') {
|
|
21602
|
+
throw new _swagger_api_apidom_error__WEBPACK_IMPORTED_MODULE_0__["default"]('Async visitor not supported in sync mode', {
|
|
21603
|
+
visitor,
|
|
21604
|
+
visitFn
|
|
21605
|
+
});
|
|
21606
|
+
}
|
|
21520
21607
|
if (result === breakSymbol) {
|
|
21521
21608
|
break;
|
|
21522
21609
|
}
|
|
@@ -22474,7 +22561,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22474
22561
|
/* harmony export */ createRefractor: () => (/* binding */ createRefractor),
|
|
22475
22562
|
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
22476
22563
|
/* harmony export */ });
|
|
22477
|
-
/* harmony import */ var
|
|
22564
|
+
/* harmony import */ var _plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49915);
|
|
22478
22565
|
/* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
22479
22566
|
/* harmony import */ var _clone_index_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14831);
|
|
22480
22567
|
/* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70060);
|
|
@@ -22507,7 +22594,7 @@ const refract = (value, {
|
|
|
22507
22594
|
* Run plugins only when necessary.
|
|
22508
22595
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
22509
22596
|
*/
|
|
22510
|
-
return (0,
|
|
22597
|
+
return (0,_plugins_dispatcher_index_mjs__WEBPACK_IMPORTED_MODULE_2__.dispatchPluginsSync)(element, plugins, {
|
|
22511
22598
|
toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_3__["default"],
|
|
22512
22599
|
visitorOptions: {
|
|
22513
22600
|
nodeTypeGetter: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_4__.getNodeType
|
|
@@ -22522,13 +22609,14 @@ const createRefractor = Type => (value, options = {}) => refract(value, {
|
|
|
22522
22609
|
|
|
22523
22610
|
/***/ }),
|
|
22524
22611
|
|
|
22525
|
-
/***/
|
|
22612
|
+
/***/ 49915:
|
|
22526
22613
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
22527
22614
|
|
|
22528
22615
|
"use strict";
|
|
22529
22616
|
__webpack_require__.r(__webpack_exports__);
|
|
22530
22617
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
22531
|
-
/* harmony export */
|
|
22618
|
+
/* harmony export */ dispatchPluginsAsync: () => (/* binding */ dispatchPluginsAsync),
|
|
22619
|
+
/* harmony export */ dispatchPluginsSync: () => (/* binding */ dispatchPluginsSync)
|
|
22532
22620
|
/* harmony export */ });
|
|
22533
22621
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(81515);
|
|
22534
22622
|
/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(85379);
|
|
@@ -22547,9 +22635,7 @@ const defaultDispatchPluginsOptions = {
|
|
|
22547
22635
|
exposeEdits: true
|
|
22548
22636
|
}
|
|
22549
22637
|
};
|
|
22550
|
-
|
|
22551
|
-
// eslint-disable-next-line import/prefer-default-export
|
|
22552
|
-
const dispatchPlugins = (element, plugins, options = {}) => {
|
|
22638
|
+
const dispatchPluginsSync = (element, plugins, options = {}) => {
|
|
22553
22639
|
if (plugins.length === 0) return element;
|
|
22554
22640
|
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
22555
22641
|
const {
|
|
@@ -22566,6 +22652,26 @@ const dispatchPlugins = (element, plugins, options = {}) => {
|
|
|
22566
22652
|
pluginsSpecs.forEach((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], []));
|
|
22567
22653
|
return newElement;
|
|
22568
22654
|
};
|
|
22655
|
+
const dispatchPluginsAsync = async (element, plugins, options = {}) => {
|
|
22656
|
+
if (plugins.length === 0) return element;
|
|
22657
|
+
const mergedOptions = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(defaultDispatchPluginsOptions, options);
|
|
22658
|
+
const {
|
|
22659
|
+
toolboxCreator,
|
|
22660
|
+
visitorOptions
|
|
22661
|
+
} = mergedOptions;
|
|
22662
|
+
const toolbox = toolboxCreator();
|
|
22663
|
+
const pluginsSpecs = plugins.map(plugin => plugin(toolbox));
|
|
22664
|
+
const mergeAllVisitorsAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_3__.mergeAll[Symbol.for('nodejs.util.promisify.custom')];
|
|
22665
|
+
const visitAsync = _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_1__.visit[Symbol.for('nodejs.util.promisify.custom')];
|
|
22666
|
+
const mergedPluginsVisitor = mergeAllVisitorsAsync(pluginsSpecs.map((0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])({}, 'visitor')), {
|
|
22667
|
+
...visitorOptions
|
|
22668
|
+
});
|
|
22669
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['pre'], [])));
|
|
22670
|
+
const newElement = await visitAsync(element, mergedPluginsVisitor, visitorOptions);
|
|
22671
|
+
await Promise.allSettled(pluginsSpecs.map((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(['post'], [])));
|
|
22672
|
+
return newElement;
|
|
22673
|
+
};
|
|
22674
|
+
dispatchPluginsSync[Symbol.for('nodejs.util.promisify.custom')] = dispatchPluginsAsync;
|
|
22569
22675
|
|
|
22570
22676
|
/***/ }),
|
|
22571
22677
|
|
|
@@ -23709,7 +23815,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
23709
23815
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(88326);
|
|
23710
23816
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27155);
|
|
23711
23817
|
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(35956);
|
|
23712
|
-
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(
|
|
23818
|
+
/* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49915);
|
|
23713
23819
|
/* harmony import */ var _specification_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53785);
|
|
23714
23820
|
/* harmony import */ var _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(13720);
|
|
23715
23821
|
/* harmony import */ var _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20363);
|
|
@@ -23742,7 +23848,7 @@ const refract = (value, {
|
|
|
23742
23848
|
/**
|
|
23743
23849
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
23744
23850
|
*/
|
|
23745
|
-
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.
|
|
23851
|
+
return (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_5__.dispatchPluginsSync)(rootVisitor.element, plugins, {
|
|
23746
23852
|
toolboxCreator: _toolbox_mjs__WEBPACK_IMPORTED_MODULE_6__["default"],
|
|
23747
23853
|
visitorOptions: {
|
|
23748
23854
|
keyMap: _traversal_visitor_mjs__WEBPACK_IMPORTED_MODULE_7__.keyMap,
|