@speclynx/apidom-ns-openapi-3-0 6.1.0 → 6.1.2

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,18 @@
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
+ ## [6.1.2](https://github.com/speclynx/apidom/compare/v6.1.1...v6.1.2) (2026-10-29)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
9
+
10
+ ## [6.1.1](https://github.com/speclynx/apidom/compare/v6.1.0...v6.1.1) (2026-10-29)
11
+
12
+ ### Bug Fixes
13
+
14
+ - parse empty YAML values as null elements ([#712](https://github.com/speclynx/apidom/issues/712)) ([388e842](https://github.com/speclynx/apidom/commit/388e842f3156fc94f46724f507cbf0dd92acae06)), closes [#655](https://github.com/speclynx/apidom/issues/655) [#709](https://github.com/speclynx/apidom/issues/709) [#694](https://github.com/speclynx/apidom/issues/694)
15
+ - serialize empty YAML mapping keys to the empty string ([#709](https://github.com/speclynx/apidom/issues/709)) ([3ecce30](https://github.com/speclynx/apidom/commit/3ecce3025b89e5bcdb1481525fe35a86685285f9)), closes [#655](https://github.com/speclynx/apidom/issues/655) [#694](https://github.com/speclynx/apidom/issues/694)
16
+ - skip empty keys in replace-empty-element refractor plugins ([#710](https://github.com/speclynx/apidom/issues/710)) ([ffdd3b8](https://github.com/speclynx/apidom/commit/ffdd3b8a1d297a92b081d0a8aacabd7a53bb0055)), closes [#694](https://github.com/speclynx/apidom/issues/694)
17
+
6
18
  # [6.1.0](https://github.com/speclynx/apidom/compare/v6.0.6...v6.1.0) (2026-10-17)
7
19
 
8
20
  **Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
@@ -3851,8 +3851,8 @@ class NormalizeStorage {
3851
3851
  __webpack_require__.r(__webpack_exports__);
3852
3852
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
3853
3853
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2111);
3854
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);
3855
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7601);
3854
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7601);
3855
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8252);
3856
3856
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7071);
3857
3857
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5810);
3858
3858
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9686);
@@ -4012,7 +4012,7 @@ __webpack_require__.r(__webpack_exports__);
4012
4012
  * (OpenapiElement))
4013
4013
  * (MemberElement
4014
4014
  * (StringElement)
4015
- * (StringElement))
4015
+ * (NullElement))
4016
4016
  *
4017
4017
  * Refracting result with this plugin:
4018
4018
  *
@@ -4025,7 +4025,6 @@ __webpack_require__.r(__webpack_exports__);
4025
4025
  * (InfoElement))
4026
4026
  */
4027
4027
 
4028
- const isEmptyElement = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar']);
4029
4028
  const schema = {
4030
4029
  // concrete types handling (CTs)
4031
4030
  OpenApi3_0Element: {
@@ -4066,7 +4065,7 @@ const schema = {
4066
4065
  },
4067
4066
  ServerVariableElement: {
4068
4067
  enum(...args) {
4069
- return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4068
+ return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4070
4069
  }
4071
4070
  },
4072
4071
  PathsElement: {
@@ -4235,7 +4234,7 @@ const schema = {
4235
4234
  },
4236
4235
  SecurityRequirementElement: {
4237
4236
  '[key: *]': function key(...args) {
4238
- return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4237
+ return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4239
4238
  }
4240
4239
  },
4241
4240
  TagElement: {
@@ -4250,17 +4249,17 @@ const schema = {
4250
4249
  return element;
4251
4250
  },
4252
4251
  allOf(...args) {
4253
- const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4252
+ const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4254
4253
  element.classes.push('json-schema-allOf');
4255
4254
  return element;
4256
4255
  },
4257
4256
  anyOf(...args) {
4258
- const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4257
+ const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4259
4258
  element.classes.push('json-schema-anyOf');
4260
4259
  return element;
4261
4260
  },
4262
4261
  oneOf(...args) {
4263
- const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4262
+ const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4264
4263
  element.classes.push('json-schema-oneOf');
4265
4264
  return element;
4266
4265
  },
@@ -4284,12 +4283,12 @@ const schema = {
4284
4283
  return new _elements_Schema_ts__WEBPACK_IMPORTED_MODULE_17__["default"](...args);
4285
4284
  },
4286
4285
  enum(...args) {
4287
- const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4286
+ const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4288
4287
  element.classes.push('json-schema-enum');
4289
4288
  return element;
4290
4289
  },
4291
4290
  required(...args) {
4292
- const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"](...args);
4291
+ const element = new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"](...args);
4293
4292
  element.classes.push('json-schema-required');
4294
4293
  return element;
4295
4294
  },
@@ -4521,9 +4520,9 @@ const findElementFactory = (ancestor, keyName) => {
4521
4520
  */
4522
4521
  const plugin = () => () => ({
4523
4522
  visitor: {
4524
- StringElement(path) {
4523
+ NullElement(path) {
4525
4524
  const element = path.node;
4526
- if (!isEmptyElement(element)) return;
4525
+ if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.includesClasses)(element, ['yaml-e-node', 'yaml-e-scalar'])) return;
4527
4526
  const lineage = path.getAncestorNodes().reverse(); // root to parent
4528
4527
  const parentElement = lineage.at(-1);
4529
4528
  let elementFactory;
@@ -4531,7 +4530,8 @@ const plugin = () => () => ({
4531
4530
  if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(parentElement)) {
4532
4531
  context = element;
4533
4532
  elementFactory = findElementFactory(parentElement, '<*>');
4534
- } else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(parentElement)) {
4533
+ } else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(parentElement) && parentElement.value === element) {
4534
+ // an empty key is the name of its member; only an empty value stands for a missing element
4535
4535
  context = lineage.at(-2);
4536
4536
  elementFactory = findElementFactory(context, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_7__["default"])(parentElement.key));
4537
4537
  }
@@ -4540,7 +4540,7 @@ const plugin = () => () => ({
4540
4540
  if (typeof elementFactory !== 'function') return;
4541
4541
  const newElement = elementFactory.call({
4542
4542
  context
4543
- }, undefined, element.isMetaEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta), element.isAttributesEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes));
4543
+ }, null, element.isMetaEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta), element.isAttributesEmpty ? undefined : (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes));
4544
4544
  _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_5__["default"].transfer(element, newElement);
4545
4545
  _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_6__["default"].transfer(element, newElement);
4546
4546
  path.replaceWith(newElement);
@@ -8839,9 +8839,8 @@ class AnyOfVisitor extends JSONSchemaAnyOfVisitor {
8839
8839
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
8840
8840
 
8841
8841
  __webpack_require__.r(__webpack_exports__);
8842
- /* empty/unused harmony star reexport */
8843
- /* harmony import */ var _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6207);
8844
- /* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7269);
8842
+ /* harmony import */ var _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6207);
8843
+ /* harmony import */ var _predicates_ts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7269);
8845
8844
 
8846
8845
 
8847
8846
 
@@ -8849,10 +8848,10 @@ __webpack_require__.r(__webpack_exports__);
8849
8848
  /**
8850
8849
  * @public
8851
8850
  */
8852
- class ItemsVisitor extends _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_1__["default"] {
8851
+ class ItemsVisitor extends _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__["default"] {
8853
8852
  ObjectElement(path) {
8854
- _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_1__["default"].prototype.ObjectElement.call(this, path);
8855
- if ((0,_predicates_ts__WEBPACK_IMPORTED_MODULE_2__.isReferenceElement)(this.element)) {
8853
+ _speclynx_apidom_ns_json_schema_draft_4__WEBPACK_IMPORTED_MODULE_0__["default"].prototype.ObjectElement.call(this, path);
8854
+ if ((0,_predicates_ts__WEBPACK_IMPORTED_MODULE_1__.isReferenceElement)(this.element)) {
8856
8855
  this.element.meta.set('referenced-element', 'schema');
8857
8856
  }
8858
8857
  }
@@ -25521,11 +25520,8 @@ const resolveSpecification = specification => {
25521
25520
  __webpack_require__.r(__webpack_exports__);
25522
25521
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
25523
25522
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6911);
25524
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);
25525
- /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(977);
25523
+ /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(977);
25526
25524
 
25527
- // an empty YAML node (YAML 1.2 §7.2) is a null parsed as an empty string with the yaml-e-node class
25528
- const isEmptyNode = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) && element.toValue() === '' && (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesClasses)(element, ['yaml-e-node']);
25529
25525
 
25530
25526
  /**
25531
25527
  * Transforms the ApiDOM into JavaScript POJO.
@@ -25535,7 +25531,6 @@ const isEmptyNode = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_M
25535
25531
  */
25536
25532
  const serializer = element => {
25537
25533
  if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isElement)(element)) return element;
25538
- if (isEmptyNode(element)) return null;
25539
25534
 
25540
25535
  // Shortcut optimization for primitive element types
25541
25536
  if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isBooleanElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isNullElement)(element)) {
@@ -25553,8 +25548,8 @@ const serializer = element => {
25553
25548
  node.forEach((value, key) => {
25554
25549
  const k = serialize(key);
25555
25550
  const v = serialize(value);
25556
- const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_3__.toPropertyName)(k);
25557
- if (name !== undefined) (0,_util_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(obj, name, v);
25551
+ const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__.toPropertyName)(k);
25552
+ if (name !== undefined) (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])(obj, name, v);
25558
25553
  });
25559
25554
  return obj;
25560
25555
  }
@@ -25569,7 +25564,6 @@ const serializer = element => {
25569
25564
  if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isLinkElement)(node)) {
25570
25565
  return (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(node.href) ? node.href.toValue() : '';
25571
25566
  }
25572
- if (isEmptyNode(node)) return null;
25573
25567
  return node.toValue();
25574
25568
  };
25575
25569
  return serialize(element);
@@ -27574,11 +27568,10 @@ class CollectionElement extends _Element_mjs__WEBPACK_IMPORTED_MODULE_0__["defau
27574
27568
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
27575
27569
 
27576
27570
  __webpack_require__.r(__webpack_exports__);
27577
- /* empty/unused harmony star reexport */
27578
27571
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3654);
27579
27572
  /* harmony import */ var _Metadata_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1844);
27580
- /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6663);
27581
- /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8504);
27573
+ /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6663);
27574
+ /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8504);
27582
27575
 
27583
27576
 
27584
27577
 
@@ -27748,13 +27741,13 @@ class Element {
27748
27741
  }
27749
27742
 
27750
27743
  // KeyValuePair
27751
- if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27744
+ if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27752
27745
  this._content = value;
27753
27746
  return;
27754
27747
  }
27755
27748
 
27756
27749
  // ObjectSlice - extract elements array
27757
- if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]) {
27750
+ if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27758
27751
  this._content = value.elements;
27759
27752
  return;
27760
27753
  }
@@ -27873,7 +27866,7 @@ class Element {
27873
27866
  if (Array.isArray(content)) {
27874
27867
  return content;
27875
27868
  }
27876
- if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27869
+ if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27877
27870
  const children = [];
27878
27871
  if (content.key) children.push(content.key);
27879
27872
  if (content.value) children.push(content.value);
@@ -27937,7 +27930,7 @@ class Element {
27937
27930
  if (_content instanceof Element) {
27938
27931
  return _content.toValue();
27939
27932
  }
27940
- if (_content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27933
+ if (_content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27941
27934
  return _content.toValue();
27942
27935
  }
27943
27936
  if (Array.isArray(_content)) {