@speclynx/apidom-parser-adapter-openapi-json-2 6.0.6 → 6.1.0

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
+ # [6.1.0](https://github.com/speclynx/apidom/compare/v6.0.6...v6.1.0) (2026-10-17)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-json-2
9
+
6
10
  ## [6.0.6](https://github.com/speclynx/apidom/compare/v6.0.5...v6.0.6) (2026-10-15)
7
11
 
8
12
  ### Bug Fixes
@@ -20276,10 +20276,13 @@ class MediaTypes extends Array {
20276
20276
 
20277
20277
  "use strict";
20278
20278
  __webpack_require__.r(__webpack_exports__);
20279
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
20280
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2111);
20281
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7071);
20282
- /* harmony import */ var _transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4673);
20279
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8138);
20280
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5162);
20281
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2111);
20282
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8252);
20283
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7071);
20284
+ /* harmony import */ var _transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4673);
20285
+
20283
20286
 
20284
20287
 
20285
20288
  /**
@@ -20313,8 +20316,8 @@ __webpack_require__.r(__webpack_exports__);
20313
20316
  * @public
20314
20317
  */
20315
20318
  const emptyElement = element => {
20316
- const meta = !element.isMetaEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta) : undefined;
20317
- const attributes = !element.isAttributesEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes) : undefined;
20319
+ const meta = !element.isMetaEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(element.meta) : undefined;
20320
+ const attributes = !element.isAttributesEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(element.attributes) : undefined;
20318
20321
 
20319
20322
  // @ts-ignore
20320
20323
  return new element.constructor(undefined, meta, attributes);
@@ -20329,13 +20332,13 @@ const getMergeFunction = (keyElement, options) => {
20329
20332
  };
20330
20333
  const getMetaMergeFunction = options => {
20331
20334
  if (typeof options.customMetaMerge !== 'function') {
20332
- return targetMeta => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetMeta);
20335
+ return targetMeta => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetMeta);
20333
20336
  }
20334
20337
  return options.customMetaMerge;
20335
20338
  };
20336
20339
  const getAttributesMergeFunction = options => {
20337
20340
  if (typeof options.customAttributesMerge !== 'function') {
20338
- return targetAttributes => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetAttributes);
20341
+ return targetAttributes => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetAttributes);
20339
20342
  }
20340
20343
  return options.customAttributesMerge;
20341
20344
  };
@@ -20345,23 +20348,23 @@ const mergeArrayElement = (targetElement, sourceElement, options) => {
20345
20348
  return new Ctor(merged.map(item => cloneUnlessOtherwiseSpecified(item, options)));
20346
20349
  };
20347
20350
  const mergeObjectElement = (targetElement, sourceElement, options) => {
20348
- const destination = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
20349
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement)) {
20351
+ const destination = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
20352
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement)) {
20350
20353
  targetElement.forEach((value, key, member) => {
20351
- const clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20354
+ const clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
20352
20355
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
20353
20356
  destination.content.push(clonedMember);
20354
20357
  });
20355
20358
  }
20356
20359
  sourceElement.forEach((value, key, member) => {
20357
- const keyValue = (0,_transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(key);
20360
+ const keyValue = (0,_transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_5__["default"])(key);
20358
20361
  let clonedMember;
20359
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
20362
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
20360
20363
  const targetValue = targetElement.get(keyValue);
20361
- clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20364
+ clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
20362
20365
  clonedMember.value = getMergeFunction(key, options)(targetValue, value, options);
20363
20366
  } else {
20364
- clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
20367
+ clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
20365
20368
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
20366
20369
  }
20367
20370
  destination.remove(keyValue);
@@ -20371,7 +20374,7 @@ const mergeObjectElement = (targetElement, sourceElement, options) => {
20371
20374
  };
20372
20375
  const defaultOptions = {
20373
20376
  clone: true,
20374
- isMergeableElement: element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(element),
20377
+ isMergeableElement: element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(element),
20375
20378
  arrayElementMerge: mergeArrayElement,
20376
20379
  objectElementMerge: mergeObjectElement,
20377
20380
  customMerge: undefined,
@@ -20390,8 +20393,8 @@ const deepmerge = (targetElement, sourceElement, options) => {
20390
20393
  mergedOptions.isMergeableElement = mergedOptions.isMergeableElement ?? defaultOptions.isMergeableElement;
20391
20394
  mergedOptions.arrayElementMerge = mergedOptions.arrayElementMerge ?? defaultOptions.arrayElementMerge;
20392
20395
  mergedOptions.objectElementMerge = mergedOptions.objectElementMerge ?? defaultOptions.objectElementMerge;
20393
- const sourceIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(sourceElement);
20394
- const targetIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(targetElement);
20396
+ const sourceIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(sourceElement);
20397
+ const targetIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(targetElement);
20395
20398
  const sourceAndTargetTypesMatch = sourceIsArrayElement === targetIsArrayElement;
20396
20399
  if (!sourceAndTargetTypesMatch) {
20397
20400
  return cloneUnlessOtherwiseSpecified(sourceElement, mergedOptions);
@@ -20404,16 +20407,22 @@ const deepmerge = (targetElement, sourceElement, options) => {
20404
20407
  if (!targetElement.isMetaEmpty && !sourceElement.isMetaEmpty) {
20405
20408
  mergedElement.meta = getMetaMergeFunction(mergedOptions)(targetElement.meta, sourceElement.meta);
20406
20409
  } else if (!targetElement.isMetaEmpty) {
20407
- mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetElement.meta);
20410
+ mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetElement.meta);
20408
20411
  } else if (!sourceElement.isMetaEmpty) {
20409
- mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(sourceElement.meta);
20412
+ mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(sourceElement.meta);
20410
20413
  }
20411
20414
  if (!targetElement.isAttributesEmpty && !sourceElement.isAttributesEmpty) {
20412
20415
  mergedElement.attributes = getAttributesMergeFunction(mergedOptions)(targetElement.attributes, sourceElement.attributes);
20413
20416
  } else if (!targetElement.isAttributesEmpty) {
20414
- mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetElement.attributes);
20417
+ mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetElement.attributes);
20415
20418
  } else if (!sourceElement.isAttributesEmpty) {
20416
- mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(sourceElement.attributes);
20419
+ mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(sourceElement.attributes);
20420
+ }
20421
+ // merging style
20422
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.hasElementStyle)(targetElement)) {
20423
+ mergedElement.style = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(targetElement.style);
20424
+ } else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.hasElementStyle)(sourceElement)) {
20425
+ mergedElement.style = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(sourceElement.style);
20417
20426
  }
20418
20427
  return mergedElement;
20419
20428
  };
@@ -20422,7 +20431,7 @@ deepmerge.all = (list, options) => {
20422
20431
  throw new TypeError('First argument of deepmerge should be an array.');
20423
20432
  }
20424
20433
  if (list.length === 0) {
20425
- return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]();
20434
+ return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__["default"]();
20426
20435
  }
20427
20436
  return list.reduce((target, source) => {
20428
20437
  return deepmerge(target, source, options);
@@ -20674,8 +20683,11 @@ const resolveSpecification = specification => {
20674
20683
  __webpack_require__.r(__webpack_exports__);
20675
20684
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
20676
20685
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6911);
20677
- /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(977);
20686
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);
20687
+ /* harmony import */ var _util_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(977);
20678
20688
 
20689
+ // an empty YAML node (YAML 1.2 §7.2) is a null parsed as an empty string with the yaml-e-node class
20690
+ 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']);
20679
20691
 
20680
20692
  /**
20681
20693
  * Transforms the ApiDOM into JavaScript POJO.
@@ -20685,6 +20697,7 @@ __webpack_require__.r(__webpack_exports__);
20685
20697
  */
20686
20698
  const serializer = element => {
20687
20699
  if (!(0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isElement)(element)) return element;
20700
+ if (isEmptyNode(element)) return null;
20688
20701
 
20689
20702
  // Shortcut optimization for primitive element types
20690
20703
  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)) {
@@ -20702,7 +20715,8 @@ const serializer = element => {
20702
20715
  node.forEach((value, key) => {
20703
20716
  const k = serialize(key);
20704
20717
  const v = serialize(value);
20705
- if (typeof k === 'string') (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])(obj, k, v);
20718
+ const name = (0,_util_mjs__WEBPACK_IMPORTED_MODULE_3__.toPropertyName)(k);
20719
+ if (name !== undefined) (0,_util_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(obj, name, v);
20706
20720
  });
20707
20721
  return obj;
20708
20722
  }
@@ -20717,6 +20731,7 @@ const serializer = element => {
20717
20731
  if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isLinkElement)(node)) {
20718
20732
  return (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isStringElement)(node.href) ? node.href.toValue() : '';
20719
20733
  }
20734
+ if (isEmptyNode(node)) return null;
20720
20735
  return node.toValue();
20721
20736
  };
20722
20737
  return serialize(element);
@@ -20754,9 +20769,30 @@ const setProperty = (target, key, value) => {
20754
20769
  target[key] = value;
20755
20770
  }
20756
20771
  };
20772
+
20773
+ /**
20774
+ * Returns the property name for an object member's key, serialized to a JavaScript value.
20775
+ *
20776
+ * A number or boolean key (e.g. YAML `200:`) is named by its string form, like a JavaScript
20777
+ * property name, a null key by the empty string, and a collection key (e.g. YAML `[x]: 1`) by its
20778
+ * JSON text. A cyclic
20779
+ * collection key has no JSON text, and a missing key no name; their members are skipped.
20780
+ */
20781
+ const toPropertyName = key => {
20782
+ if (typeof key === 'string') return key;
20783
+ if (key === null) return '';
20784
+ if (typeof key === 'number' || typeof key === 'boolean') return String(key);
20785
+ if (typeof key !== 'object') return undefined;
20786
+ try {
20787
+ return JSON.stringify(key);
20788
+ } catch {
20789
+ return undefined;
20790
+ }
20791
+ };
20757
20792
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setProperty);
20758
20793
  /* harmony export */ __webpack_require__.d(__webpack_exports__, [
20759
- /* harmony export */ "default", 0, __WEBPACK_DEFAULT_EXPORT__
20794
+ /* harmony export */ "default", 0, __WEBPACK_DEFAULT_EXPORT__,
20795
+ /* harmony export */ "toPropertyName", 0, /* binding */ toPropertyName
20760
20796
  /* harmony export */ ]);
20761
20797
 
20762
20798