@swagger-api/apidom-ns-openapi-3-0 1.0.0-beta.42 → 1.0.0-beta.44

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,16 @@
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
+ # [1.0.0-beta.44](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.43...v1.0.0-beta.44) (2025-07-07)
7
+
8
+ ### Features
9
+
10
+ - add PoC of handling discriminator for oneOf/anyOf cases in OpenAPI 3.1 ([#4952](https://github.com/swagger-api/apidom/issues/4952)) ([e8ddbb7](https://github.com/swagger-api/apidom/commit/e8ddbb7522476903a153474cd6a00a2d505735db))
11
+
12
+ # [1.0.0-beta.43](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.42...v1.0.0-beta.43) (2025-06-13)
13
+
14
+ **Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
15
+
6
16
  # [1.0.0-beta.42](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.41...v1.0.0-beta.42) (2025-06-06)
7
17
 
8
18
  **Note:** Version bump only for package @swagger-api/apidom-ns-openapi-3-0
@@ -16667,7 +16667,8 @@ visitor, {
16667
16667
  nodeTypeGetter = getNodeType,
16668
16668
  nodePredicate = isNode,
16669
16669
  nodeCloneFn = cloneNode,
16670
- detectCycles = true
16670
+ detectCycles = true,
16671
+ detectCyclesCallback = null
16671
16672
  } = {}) => {
16672
16673
  const visitorKeys = keyMap || {};
16673
16674
  let stack;
@@ -16739,6 +16740,10 @@ visitor, {
16739
16740
 
16740
16741
  // cycle detected; skipping over a sub-tree to avoid recursion
16741
16742
  if (detectCycles && ancestors.includes(node)) {
16743
+ if (typeof detectCyclesCallback === 'function') {
16744
+ // @ts-ignore
16745
+ detectCyclesCallback(node, key, parent, path, ancestors);
16746
+ }
16742
16747
  path.pop();
16743
16748
  continue;
16744
16749
  }
@@ -16841,7 +16846,8 @@ visitor, {
16841
16846
  nodeTypeGetter = getNodeType,
16842
16847
  nodePredicate = isNode,
16843
16848
  nodeCloneFn = cloneNode,
16844
- detectCycles = true
16849
+ detectCycles = true,
16850
+ detectCyclesCallback = null
16845
16851
  } = {}) => {
16846
16852
  const visitorKeys = keyMap || {};
16847
16853
  let stack;
@@ -16912,6 +16918,10 @@ visitor, {
16912
16918
 
16913
16919
  // cycle detected; skipping over a sub-tree to avoid recursion
16914
16920
  if (detectCycles && ancestors.includes(node)) {
16921
+ if (typeof detectCyclesCallback === 'function') {
16922
+ // @ts-ignore
16923
+ detectCyclesCallback(node, key, parent, path, ancestors);
16924
+ }
16915
16925
  path.pop();
16916
16926
  continue;
16917
16927
  }
@@ -27638,6 +27648,7 @@ __webpack_require__.r(__webpack_exports__);
27638
27648
  /* harmony export */ isCallbackElement: () => (/* binding */ isCallbackElement),
27639
27649
  /* harmony export */ isComponentsElement: () => (/* binding */ isComponentsElement),
27640
27650
  /* harmony export */ isContactElement: () => (/* binding */ isContactElement),
27651
+ /* harmony export */ isDiscriminatorElement: () => (/* binding */ isDiscriminatorElement),
27641
27652
  /* harmony export */ isExampleElement: () => (/* binding */ isExampleElement),
27642
27653
  /* harmony export */ isExternalDocumentationElement: () => (/* binding */ isExternalDocumentationElement),
27643
27654
  /* harmony export */ isHeaderElement: () => (/* binding */ isHeaderElement),
@@ -27689,6 +27700,7 @@ __webpack_require__.r(__webpack_exports__);
27689
27700
  /* harmony import */ var _elements_Server_ts__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(50710);
27690
27701
  /* harmony import */ var _elements_ServerVariable_ts__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(68618);
27691
27702
  /* harmony import */ var _elements_MediaType_ts__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(62521);
27703
+ /* harmony import */ var _elements_Discriminator_ts__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(32633);
27692
27704
  /* harmony import */ var _elements_nces_Servers_ts__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(90129);
27693
27705
 
27694
27706
 
@@ -27714,6 +27726,7 @@ __webpack_require__.r(__webpack_exports__);
27714
27726
 
27715
27727
 
27716
27728
 
27729
+
27717
27730
 
27718
27731
 
27719
27732
  // NCE types
@@ -28015,6 +28028,17 @@ const isServersElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0_
28015
28028
  return element => element instanceof _elements_nces_Servers_ts__WEBPACK_IMPORTED_MODULE_27__["default"] || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('servers', element);
28016
28029
  });
28017
28030
 
28031
+ /**
28032
+ * @public
28033
+ */
28034
+ const isDiscriminatorElement = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(({
28035
+ hasBasicElementProps,
28036
+ isElementType,
28037
+ primitiveEq
28038
+ }) => {
28039
+ return element => element instanceof _elements_Discriminator_ts__WEBPACK_IMPORTED_MODULE_28__["default"] || hasBasicElementProps(element) && isElementType('discriminator', element) && primitiveEq('object', element);
28040
+ });
28041
+
28018
28042
  /***/ }),
28019
28043
 
28020
28044
  /***/ 97444:
@@ -28678,6 +28702,7 @@ __webpack_require__.r(__webpack_exports__);
28678
28702
  /* harmony export */ isCallbackElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isCallbackElement),
28679
28703
  /* harmony export */ isComponentsElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isComponentsElement),
28680
28704
  /* harmony export */ isContactElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isContactElement),
28705
+ /* harmony export */ isDiscriminatorElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isDiscriminatorElement),
28681
28706
  /* harmony export */ isElement: () => (/* reexport safe */ _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_0__.isElement),
28682
28707
  /* harmony export */ isExampleElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isExampleElement),
28683
28708
  /* harmony export */ isExternalDocumentationElement: () => (/* reexport safe */ _predicates_ts__WEBPACK_IMPORTED_MODULE_7__.isExternalDocumentationElement),