@swagger-api/apidom-parser-adapter-openapi-yaml-2 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-2
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-2
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-2
@@ -25930,10 +25930,23 @@ __webpack_require__.r(__webpack_exports__);
25930
25930
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
25931
25931
  /* harmony export */ });
25932
25932
  /* harmony import */ var ts_mixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17028);
25933
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29498);
25933
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29498);
25934
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(66719);
25935
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33031);
25936
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(68894);
25937
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50726);
25938
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(81776);
25939
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(36941);
25940
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(61339);
25934
25941
  /* harmony import */ var _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55320);
25935
- /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89160);
25936
- /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94686);
25942
+ /* harmony import */ var _ParentSchemaAwareVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4676);
25943
+ /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89160);
25944
+ /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94686);
25945
+ /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(86059);
25946
+
25947
+
25948
+
25949
+
25937
25950
 
25938
25951
 
25939
25952
 
@@ -25945,11 +25958,48 @@ __webpack_require__.r(__webpack_exports__);
25945
25958
  /**
25946
25959
  * @public
25947
25960
  */
25948
- 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"]) {
25961
+ 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"]) {
25949
25962
  constructor(options) {
25950
25963
  super(options);
25951
- this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]();
25952
- this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(['document', 'objects', 'JSONSchema']);
25964
+ this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]();
25965
+ this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(['document', 'objects', 'JSONSchema']);
25966
+ }
25967
+
25968
+ // eslint-disable-next-line class-methods-use-this
25969
+ get defaultDialectIdentifier() {
25970
+ return 'http://json-schema.org/draft-04/schema#';
25971
+ }
25972
+ ObjectElement(objectElement) {
25973
+ this.handleDialectIdentifier(objectElement);
25974
+ this.handleSchemaIdentifier(objectElement);
25975
+
25976
+ // for further processing consider this Schema Element as parent for all embedded Schema Elements
25977
+ this.parent = this.element;
25978
+ return _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.ObjectElement.call(this, objectElement);
25979
+ }
25980
+ handleDialectIdentifier(objectElement) {
25981
+ // handle $schema keyword in embedded resources
25982
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__["default"])(this.parent) && !(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__.isStringElement)(objectElement.get('$schema'))) {
25983
+ // no parent available and no $schema is defined, set default $schema
25984
+ this.element.setMetaProperty('inheritedDialectIdentifier', this.defaultDialectIdentifier);
25985
+ } 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'))) {
25986
+ // parent is available and no $schema is defined, set parent $schema
25987
+ 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));
25988
+ this.element.setMetaProperty('inheritedDialectIdentifier', inheritedDialectIdentifier);
25989
+ }
25990
+ }
25991
+ handleSchemaIdentifier(objectElement, identifierKeyword = 'id') {
25992
+ // handle schema identifier in embedded resources
25993
+ // fetch parent's ancestorsSchemaIdentifiers
25994
+ 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();
25995
+ // get current schema identifier
25996
+ const schemaIdentifier = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__["default"])(objectElement.get(identifierKeyword));
25997
+
25998
+ // remember schema identifier if it's a non-empty strings
25999
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__["default"])(schemaIdentifier)) {
26000
+ ancestorsSchemaIdentifiers.push(schemaIdentifier);
26001
+ }
26002
+ this.element.setMetaProperty('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
25953
26003
  }
25954
26004
  }
25955
26005
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONSchemaVisitor);