@swagger-api/apidom-parser-adapter-openapi-yaml-3-1 1.0.0-beta.6 → 1.0.0-beta.8

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
+ # [1.0.0-beta.8](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2025-01-23)
7
+
8
+ **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-yaml-3-1
9
+
10
+ # [1.0.0-beta.7](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2025-01-21)
11
+
12
+ **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-yaml-3-1
13
+
6
14
  # [1.0.0-beta.6](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2024-12-30)
7
15
 
8
16
  **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-yaml-3-1
@@ -25972,10 +25972,23 @@ __webpack_require__.r(__webpack_exports__);
25972
25972
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
25973
25973
  /* harmony export */ });
25974
25974
  /* harmony import */ var ts_mixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17028);
25975
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29498);
25975
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29498);
25976
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(66719);
25977
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33031);
25978
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(68894);
25979
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50726);
25980
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(81776);
25981
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(36941);
25982
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(61339);
25976
25983
  /* harmony import */ var _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55320);
25977
- /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89160);
25978
- /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94686);
25984
+ /* harmony import */ var _ParentSchemaAwareVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4676);
25985
+ /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89160);
25986
+ /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94686);
25987
+ /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(86059);
25988
+
25989
+
25990
+
25991
+
25979
25992
 
25980
25993
 
25981
25994
 
@@ -25987,11 +26000,48 @@ __webpack_require__.r(__webpack_exports__);
25987
26000
  /**
25988
26001
  * @public
25989
26002
  */
25990
- class JSONSchemaVisitor extends (0,ts_mixer__WEBPACK_IMPORTED_MODULE_0__.Mixin)(_generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__["default"], _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
26003
+ class JSONSchemaVisitor extends (0,ts_mixer__WEBPACK_IMPORTED_MODULE_0__.Mixin)(_generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__["default"], _ParentSchemaAwareVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__["default"], _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
25991
26004
  constructor(options) {
25992
26005
  super(options);
25993
- this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]();
25994
- this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(['document', 'objects', 'JSONSchema']);
26006
+ this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]();
26007
+ this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(['document', 'objects', 'JSONSchema']);
26008
+ }
26009
+
26010
+ // eslint-disable-next-line class-methods-use-this
26011
+ get defaultDialectIdentifier() {
26012
+ return 'http://json-schema.org/draft-04/schema#';
26013
+ }
26014
+ ObjectElement(objectElement) {
26015
+ this.handleDialectIdentifier(objectElement);
26016
+ this.handleSchemaIdentifier(objectElement);
26017
+
26018
+ // for further processing consider this Schema Element as parent for all embedded Schema Elements
26019
+ this.parent = this.element;
26020
+ return _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.ObjectElement.call(this, objectElement);
26021
+ }
26022
+ handleDialectIdentifier(objectElement) {
26023
+ // handle $schema keyword in embedded resources
26024
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__["default"])(this.parent) && !(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__.isStringElement)(objectElement.get('$schema'))) {
26025
+ // no parent available and no $schema is defined, set default $schema
26026
+ this.element.setMetaProperty('inheritedDialectIdentifier', this.defaultDialectIdentifier);
26027
+ } else if ((0,_predicates_mjs__WEBPACK_IMPORTED_MODULE_8__.isJSONSchemaElement)(this.parent) && !(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__.isStringElement)(objectElement.get('$schema'))) {
26028
+ // parent is available and no $schema is defined, set parent $schema
26029
+ const inheritedDialectIdentifier = (0,ramda__WEBPACK_IMPORTED_MODULE_9__["default"])((0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__["default"])(this.parent.meta.get('inheritedDialectIdentifier')), (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__["default"])(this.parent.$schema));
26030
+ this.element.setMetaProperty('inheritedDialectIdentifier', inheritedDialectIdentifier);
26031
+ }
26032
+ }
26033
+ handleSchemaIdentifier(objectElement, identifierKeyword = 'id') {
26034
+ // handle schema identifier in embedded resources
26035
+ // fetch parent's ancestorsSchemaIdentifiers
26036
+ const ancestorsSchemaIdentifiers = this.parent !== undefined ? (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_11__.cloneDeep)(this.parent.getMetaProperty('ancestorsSchemaIdentifiers', [])) : new _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_12__.ArrayElement();
26037
+ // get current schema identifier
26038
+ const schemaIdentifier = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__["default"])(objectElement.get(identifierKeyword));
26039
+
26040
+ // remember schema identifier if it's a non-empty strings
26041
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__["default"])(schemaIdentifier)) {
26042
+ ancestorsSchemaIdentifiers.push(schemaIdentifier);
26043
+ }
26044
+ this.element.setMetaProperty('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
25995
26045
  }
25996
26046
  }
25997
26047
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONSchemaVisitor);