@swagger-api/apidom-parser-adapter-openapi-json-3-0 1.0.0-beta.6 → 1.0.0-beta.7

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,10 @@
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.7](https://github.com/swagger-api/apidom/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2025-01-21)
7
+
8
+ **Note:** Version bump only for package @swagger-api/apidom-parser-adapter-openapi-json-3-0
9
+
6
10
  # [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
11
 
8
12
  ### Features
@@ -23399,10 +23399,23 @@ __webpack_require__.r(__webpack_exports__);
23399
23399
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
23400
23400
  /* harmony export */ });
23401
23401
  /* harmony import */ var ts_mixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17028);
23402
- /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29498);
23402
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29498);
23403
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(66719);
23404
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(33031);
23405
+ /* harmony import */ var ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(68894);
23406
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50726);
23407
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(81776);
23408
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(36941);
23409
+ /* harmony import */ var _swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(61339);
23403
23410
  /* harmony import */ var _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(55320);
23404
- /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89160);
23405
- /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(94686);
23411
+ /* harmony import */ var _ParentSchemaAwareVisitor_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4676);
23412
+ /* harmony import */ var _FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89160);
23413
+ /* harmony import */ var _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(94686);
23414
+ /* harmony import */ var _predicates_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(86059);
23415
+
23416
+
23417
+
23418
+
23406
23419
 
23407
23420
 
23408
23421
 
@@ -23414,11 +23427,48 @@ __webpack_require__.r(__webpack_exports__);
23414
23427
  /**
23415
23428
  * @public
23416
23429
  */
23417
- 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"]) {
23430
+ 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"]) {
23418
23431
  constructor(options) {
23419
23432
  super(options);
23420
- this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]();
23421
- this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_4__["default"])(['document', 'objects', 'JSONSchema']);
23433
+ this.element = new _elements_JSONSchema_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]();
23434
+ this.specPath = (0,ramda__WEBPACK_IMPORTED_MODULE_5__["default"])(['document', 'objects', 'JSONSchema']);
23435
+ }
23436
+
23437
+ // eslint-disable-next-line class-methods-use-this
23438
+ get defaultDialectIdentifier() {
23439
+ return 'http://json-schema.org/draft-04/schema#';
23440
+ }
23441
+ ObjectElement(objectElement) {
23442
+ this.handleDialectIdentifier(objectElement);
23443
+ this.handleSchemaIdentifier(objectElement);
23444
+
23445
+ // for further processing consider this Schema Element as parent for all embedded Schema Elements
23446
+ this.parent = this.element;
23447
+ return _generics_FixedFieldsVisitor_mjs__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.ObjectElement.call(this, objectElement);
23448
+ }
23449
+ handleDialectIdentifier(objectElement) {
23450
+ // handle $schema keyword in embedded resources
23451
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__["default"])(this.parent) && !(0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_7__.isStringElement)(objectElement.get('$schema'))) {
23452
+ // no parent available and no $schema is defined, set default $schema
23453
+ this.element.setMetaProperty('inheritedDialectIdentifier', this.defaultDialectIdentifier);
23454
+ } 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'))) {
23455
+ // parent is available and no $schema is defined, set parent $schema
23456
+ 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));
23457
+ this.element.setMetaProperty('inheritedDialectIdentifier', inheritedDialectIdentifier);
23458
+ }
23459
+ }
23460
+ handleSchemaIdentifier(objectElement, identifierKeyword = 'id') {
23461
+ // handle schema identifier in embedded resources
23462
+ // fetch parent's ancestorsSchemaIdentifiers
23463
+ 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();
23464
+ // get current schema identifier
23465
+ const schemaIdentifier = (0,_swagger_api_apidom_core__WEBPACK_IMPORTED_MODULE_10__["default"])(objectElement.get(identifierKeyword));
23466
+
23467
+ // remember schema identifier if it's a non-empty strings
23468
+ if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_13__["default"])(schemaIdentifier)) {
23469
+ ancestorsSchemaIdentifiers.push(schemaIdentifier);
23470
+ }
23471
+ this.element.setMetaProperty('ancestorsSchemaIdentifiers', ancestorsSchemaIdentifiers);
23422
23472
  }
23423
23473
  }
23424
23474
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (JSONSchemaVisitor);