@speclynx/apidom-ns-openapi-3-0 6.0.6 → 6.1.1

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.1](https://github.com/speclynx/apidom/compare/v6.1.0...v6.1.1) (2026-10-29)
7
+
8
+ ### Bug Fixes
9
+
10
+ - 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)
11
+ - 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)
12
+ - 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)
13
+
14
+ # [6.1.0](https://github.com/speclynx/apidom/compare/v6.0.6...v6.1.0) (2026-10-17)
15
+
16
+ **Note:** Version bump only for package @speclynx/apidom-ns-openapi-3-0
17
+
6
18
  ## [6.0.6](https://github.com/speclynx/apidom/compare/v6.0.5...v6.0.6) (2026-10-15)
7
19
 
8
20
  ### Bug Fixes
@@ -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
  }
@@ -25119,10 +25118,13 @@ class MediaTypes extends Array {
25119
25118
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25120
25119
 
25121
25120
  __webpack_require__.r(__webpack_exports__);
25122
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5162);
25123
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2111);
25124
- /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7071);
25125
- /* harmony import */ var _transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4673);
25121
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8138);
25122
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5162);
25123
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2111);
25124
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8252);
25125
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7071);
25126
+ /* harmony import */ var _transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4673);
25127
+
25126
25128
 
25127
25129
 
25128
25130
  /**
@@ -25156,8 +25158,8 @@ __webpack_require__.r(__webpack_exports__);
25156
25158
  * @public
25157
25159
  */
25158
25160
  const emptyElement = element => {
25159
- const meta = !element.isMetaEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta) : undefined;
25160
- const attributes = !element.isAttributesEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes) : undefined;
25161
+ const meta = !element.isMetaEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(element.meta) : undefined;
25162
+ const attributes = !element.isAttributesEmpty ? (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(element.attributes) : undefined;
25161
25163
 
25162
25164
  // @ts-ignore
25163
25165
  return new element.constructor(undefined, meta, attributes);
@@ -25172,13 +25174,13 @@ const getMergeFunction = (keyElement, options) => {
25172
25174
  };
25173
25175
  const getMetaMergeFunction = options => {
25174
25176
  if (typeof options.customMetaMerge !== 'function') {
25175
- return targetMeta => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetMeta);
25177
+ return targetMeta => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetMeta);
25176
25178
  }
25177
25179
  return options.customMetaMerge;
25178
25180
  };
25179
25181
  const getAttributesMergeFunction = options => {
25180
25182
  if (typeof options.customAttributesMerge !== 'function') {
25181
- return targetAttributes => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetAttributes);
25183
+ return targetAttributes => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetAttributes);
25182
25184
  }
25183
25185
  return options.customAttributesMerge;
25184
25186
  };
@@ -25188,23 +25190,23 @@ const mergeArrayElement = (targetElement, sourceElement, options) => {
25188
25190
  return new Ctor(merged.map(item => cloneUnlessOtherwiseSpecified(item, options)));
25189
25191
  };
25190
25192
  const mergeObjectElement = (targetElement, sourceElement, options) => {
25191
- const destination = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
25192
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement)) {
25193
+ const destination = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement) ? emptyElement(targetElement) : emptyElement(sourceElement);
25194
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement)) {
25193
25195
  targetElement.forEach((value, key, member) => {
25194
- const clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
25196
+ const clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
25195
25197
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
25196
25198
  destination.content.push(clonedMember);
25197
25199
  });
25198
25200
  }
25199
25201
  sourceElement.forEach((value, key, member) => {
25200
- const keyValue = (0,_transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(key);
25202
+ const keyValue = (0,_transformers_serializers_value_mjs__WEBPACK_IMPORTED_MODULE_5__["default"])(key);
25201
25203
  let clonedMember;
25202
- if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
25204
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(targetElement) && targetElement.hasKey(keyValue) && options.isMergeableElement(value)) {
25203
25205
  const targetValue = targetElement.get(keyValue);
25204
- clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
25206
+ clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
25205
25207
  clonedMember.value = getMergeFunction(key, options)(targetValue, value, options);
25206
25208
  } else {
25207
- clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneShallow)(member);
25209
+ clonedMember = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneShallow)(member);
25208
25210
  clonedMember.value = cloneUnlessOtherwiseSpecified(value, options);
25209
25211
  }
25210
25212
  destination.remove(keyValue);
@@ -25214,7 +25216,7 @@ const mergeObjectElement = (targetElement, sourceElement, options) => {
25214
25216
  };
25215
25217
  const defaultOptions = {
25216
25218
  clone: true,
25217
- isMergeableElement: element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isObjectElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(element),
25219
+ isMergeableElement: element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isObjectElement)(element) || (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(element),
25218
25220
  arrayElementMerge: mergeArrayElement,
25219
25221
  objectElementMerge: mergeObjectElement,
25220
25222
  customMerge: undefined,
@@ -25233,8 +25235,8 @@ const deepmerge = (targetElement, sourceElement, options) => {
25233
25235
  mergedOptions.isMergeableElement = mergedOptions.isMergeableElement ?? defaultOptions.isMergeableElement;
25234
25236
  mergedOptions.arrayElementMerge = mergedOptions.arrayElementMerge ?? defaultOptions.arrayElementMerge;
25235
25237
  mergedOptions.objectElementMerge = mergedOptions.objectElementMerge ?? defaultOptions.objectElementMerge;
25236
- const sourceIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(sourceElement);
25237
- const targetIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isArrayElement)(targetElement);
25238
+ const sourceIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(sourceElement);
25239
+ const targetIsArrayElement = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isArrayElement)(targetElement);
25238
25240
  const sourceAndTargetTypesMatch = sourceIsArrayElement === targetIsArrayElement;
25239
25241
  if (!sourceAndTargetTypesMatch) {
25240
25242
  return cloneUnlessOtherwiseSpecified(sourceElement, mergedOptions);
@@ -25247,16 +25249,22 @@ const deepmerge = (targetElement, sourceElement, options) => {
25247
25249
  if (!targetElement.isMetaEmpty && !sourceElement.isMetaEmpty) {
25248
25250
  mergedElement.meta = getMetaMergeFunction(mergedOptions)(targetElement.meta, sourceElement.meta);
25249
25251
  } else if (!targetElement.isMetaEmpty) {
25250
- mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetElement.meta);
25252
+ mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetElement.meta);
25251
25253
  } else if (!sourceElement.isMetaEmpty) {
25252
- mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(sourceElement.meta);
25254
+ mergedElement.meta = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(sourceElement.meta);
25253
25255
  }
25254
25256
  if (!targetElement.isAttributesEmpty && !sourceElement.isAttributesEmpty) {
25255
25257
  mergedElement.attributes = getAttributesMergeFunction(mergedOptions)(targetElement.attributes, sourceElement.attributes);
25256
25258
  } else if (!targetElement.isAttributesEmpty) {
25257
- mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(targetElement.attributes);
25259
+ mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(targetElement.attributes);
25258
25260
  } else if (!sourceElement.isAttributesEmpty) {
25259
- mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(sourceElement.attributes);
25261
+ mergedElement.attributes = (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.cloneDeep)(sourceElement.attributes);
25262
+ }
25263
+ // merging style
25264
+ if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.hasElementStyle)(targetElement)) {
25265
+ mergedElement.style = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(targetElement.style);
25266
+ } else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__.hasElementStyle)(sourceElement)) {
25267
+ mergedElement.style = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(sourceElement.style);
25260
25268
  }
25261
25269
  return mergedElement;
25262
25270
  };
@@ -25265,7 +25273,7 @@ deepmerge.all = (list, options) => {
25265
25273
  throw new TypeError('First argument of deepmerge should be an array.');
25266
25274
  }
25267
25275
  if (list.length === 0) {
25268
- return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"]();
25276
+ return new _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__["default"]();
25269
25277
  }
25270
25278
  return list.reduce((target, source) => {
25271
25279
  return deepmerge(target, source, options);
@@ -25540,7 +25548,8 @@ const serializer = element => {
25540
25548
  node.forEach((value, key) => {
25541
25549
  const k = serialize(key);
25542
25550
  const v = serialize(value);
25543
- if (typeof k === 'string') (0,_util_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])(obj, k, 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);
25544
25553
  });
25545
25554
  return obj;
25546
25555
  }
@@ -25591,9 +25600,30 @@ const setProperty = (target, key, value) => {
25591
25600
  target[key] = value;
25592
25601
  }
25593
25602
  };
25603
+
25604
+ /**
25605
+ * Returns the property name for an object member's key, serialized to a JavaScript value.
25606
+ *
25607
+ * A number or boolean key (e.g. YAML `200:`) is named by its string form, like a JavaScript
25608
+ * property name, a null key by the empty string, and a collection key (e.g. YAML `[x]: 1`) by its
25609
+ * JSON text. A cyclic
25610
+ * collection key has no JSON text, and a missing key no name; their members are skipped.
25611
+ */
25612
+ const toPropertyName = key => {
25613
+ if (typeof key === 'string') return key;
25614
+ if (key === null) return '';
25615
+ if (typeof key === 'number' || typeof key === 'boolean') return String(key);
25616
+ if (typeof key !== 'object') return undefined;
25617
+ try {
25618
+ return JSON.stringify(key);
25619
+ } catch {
25620
+ return undefined;
25621
+ }
25622
+ };
25594
25623
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (setProperty);
25595
25624
  /* harmony export */ __webpack_require__.d(__webpack_exports__, [
25596
- /* harmony export */ "default", 0, __WEBPACK_DEFAULT_EXPORT__
25625
+ /* harmony export */ "default", 0, __WEBPACK_DEFAULT_EXPORT__,
25626
+ /* harmony export */ "toPropertyName", 0, /* binding */ toPropertyName
25597
25627
  /* harmony export */ ]);
25598
25628
 
25599
25629
 
@@ -27538,11 +27568,10 @@ class CollectionElement extends _Element_mjs__WEBPACK_IMPORTED_MODULE_0__["defau
27538
27568
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
27539
27569
 
27540
27570
  __webpack_require__.r(__webpack_exports__);
27541
- /* empty/unused harmony star reexport */
27542
27571
  /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3654);
27543
27572
  /* harmony import */ var _Metadata_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1844);
27544
- /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6663);
27545
- /* 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);
27546
27575
 
27547
27576
 
27548
27577
 
@@ -27712,13 +27741,13 @@ class Element {
27712
27741
  }
27713
27742
 
27714
27743
  // KeyValuePair
27715
- if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27744
+ if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27716
27745
  this._content = value;
27717
27746
  return;
27718
27747
  }
27719
27748
 
27720
27749
  // ObjectSlice - extract elements array
27721
- if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]) {
27750
+ if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27722
27751
  this._content = value.elements;
27723
27752
  return;
27724
27753
  }
@@ -27837,7 +27866,7 @@ class Element {
27837
27866
  if (Array.isArray(content)) {
27838
27867
  return content;
27839
27868
  }
27840
- if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27869
+ if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27841
27870
  const children = [];
27842
27871
  if (content.key) children.push(content.key);
27843
27872
  if (content.value) children.push(content.value);
@@ -27901,7 +27930,7 @@ class Element {
27901
27930
  if (_content instanceof Element) {
27902
27931
  return _content.toValue();
27903
27932
  }
27904
- if (_content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]) {
27933
+ if (_content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
27905
27934
  return _content.toValue();
27906
27935
  }
27907
27936
  if (Array.isArray(_content)) {