@speclynx/apidom-ns-arazzo-1 2.11.0 → 2.12.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,16 @@
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
+ ## [2.12.1](https://github.com/speclynx/apidom/compare/v2.12.0...v2.12.1) (2026-02-18)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
9
+
10
+ # [2.12.0](https://github.com/speclynx/apidom/compare/v2.11.0...v2.12.0) (2026-02-18)
11
+
12
+ ### Features
13
+
14
+ - add support for lossless JSON/YAML roundtrips ([#97](https://github.com/speclynx/apidom/issues/97)) ([dc17c9a](https://github.com/speclynx/apidom/commit/dc17c9a78fbc7df07a91e8f35b12be6409117d91))
15
+
6
16
  # [2.11.0](https://github.com/speclynx/apidom/compare/v2.10.3...v2.11.0) (2026-02-12)
7
17
 
8
18
  **Note:** Version bump only for package @speclynx/apidom-ns-arazzo-1
@@ -1911,9 +1911,10 @@ __webpack_require__.r(__webpack_exports__);
1911
1911
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2111);
1912
1912
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);
1913
1913
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5810);
1914
- /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(796);
1915
- /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4673);
1916
- /* harmony import */ var _elements_Info_ts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7425);
1914
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9686);
1915
+ /* harmony import */ var _speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(796);
1916
+ /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(4673);
1917
+ /* harmony import */ var _elements_Info_ts__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(7425);
1917
1918
 
1918
1919
 
1919
1920
 
@@ -1961,12 +1962,12 @@ const isEmptyElement = element => (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTE
1961
1962
  const schema = {
1962
1963
  // concrete types handling (CTs)
1963
1964
  ArazzoSpecification1Element: {
1964
- info: (content, meta, attributes) => new _elements_Info_ts__WEBPACK_IMPORTED_MODULE_6__["default"](content, meta, attributes)
1965
+ info: (content, meta, attributes) => new _elements_Info_ts__WEBPACK_IMPORTED_MODULE_7__["default"](content, meta, attributes)
1965
1966
  }
1966
1967
  };
1967
1968
  const findElementFactory = (ancestor, keyName) => {
1968
- const elementType = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_4__.getNodeType)(ancestor);
1969
- const keyMapping = schema[elementType] || schema[(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(ancestor.classes.first)];
1969
+ const elementType = (0,_speclynx_apidom_traverse__WEBPACK_IMPORTED_MODULE_5__.getNodeType)(ancestor);
1970
+ const keyMapping = schema[elementType] || schema[(0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(ancestor.classes.first)];
1970
1971
  if (typeof keyMapping === 'undefined') return undefined;
1971
1972
  return Object.hasOwn(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
1972
1973
  };
@@ -1988,13 +1989,14 @@ const plugin = () => () => ({
1988
1989
  elementFactory = findElementFactory(parentElement, '<*>');
1989
1990
  } else if ((0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_0__.isMemberElement)(parentElement)) {
1990
1991
  context = ancestors.at(1); // grandparent
1991
- elementFactory = findElementFactory(context, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_5__["default"])(parentElement.key));
1992
+ elementFactory = findElementFactory(context, (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_6__["default"])(parentElement.key));
1992
1993
  }
1993
1994
 
1994
1995
  // no element factory found
1995
1996
  if (typeof elementFactory !== 'function') return;
1996
1997
  const replacement = elementFactory(undefined, (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.meta), (0,_speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.cloneDeep)(element.attributes));
1997
1998
  _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"].transfer(element, replacement);
1999
+ _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_4__["default"].transfer(element, replacement);
1998
2000
  path.replaceWith(replacement);
1999
2001
  }
2000
2002
  }
@@ -2585,6 +2587,7 @@ __webpack_require__.r(__webpack_exports__);
2585
2587
  /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8400);
2586
2588
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7071);
2587
2589
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5810);
2590
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9686);
2588
2591
 
2589
2592
 
2590
2593
 
@@ -2612,6 +2615,7 @@ class Visitor {
2612
2615
  to.attributes = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(target, source);
2613
2616
  }
2614
2617
  _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"].transfer(from, to);
2618
+ _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"].transfer(from, to);
2615
2619
  }
2616
2620
  }
2617
2621
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Visitor);
@@ -15369,6 +15373,52 @@ var both = /*#__PURE__*/(0,_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["def
15369
15373
 
15370
15374
  /***/ },
15371
15375
 
15376
+ /***/ 8138
15377
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15378
+
15379
+ __webpack_require__.r(__webpack_exports__);
15380
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15381
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
15382
+ /* harmony export */ });
15383
+ /* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8575);
15384
+ /* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8938);
15385
+
15386
+
15387
+
15388
+ /**
15389
+ * Creates a deep copy of the source that can be used in place of the source
15390
+ * object without retaining any references to it.
15391
+ * The source object may contain (nested) `Array`s and `Object`s,
15392
+ * `Number`s, `String`s, `Boolean`s and `Date`s.
15393
+ * `Function`s are assigned by reference rather than copied.
15394
+ *
15395
+ * Dispatches to a `clone` method if present.
15396
+ *
15397
+ * Note that if the source object has multiple nodes that share a reference,
15398
+ * the returned object will have the same structure, but the references will
15399
+ * be pointed to the location within the cloned value.
15400
+ *
15401
+ * @func
15402
+ * @memberOf R
15403
+ * @since v0.1.0
15404
+ * @category Object
15405
+ * @sig {*} -> {*}
15406
+ * @param {*} value The object or array to clone
15407
+ * @return {*} A deeply cloned copy of `val`
15408
+ * @example
15409
+ *
15410
+ * const objects = [{}, {}, {}];
15411
+ * const objectsClone = R.clone(objects);
15412
+ * objects === objectsClone; //=> false
15413
+ * objects[0] === objectsClone[0]; //=> false
15414
+ */
15415
+ var clone = /*#__PURE__*/(0,_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function clone(value) {
15416
+ return value != null && typeof value.clone === 'function' ? value.clone() : (0,_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, true);
15417
+ });
15418
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clone);
15419
+
15420
+ /***/ },
15421
+
15372
15422
  /***/ 8199
15373
15423
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15374
15424
 
@@ -16533,6 +16583,144 @@ function _checkForMethod(methodname, fn) {
16533
16583
 
16534
16584
  /***/ },
16535
16585
 
16586
+ /***/ 8575
16587
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
16588
+
16589
+ __webpack_require__.r(__webpack_exports__);
16590
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16591
+ /* harmony export */ "default": () => (/* binding */ _clone)
16592
+ /* harmony export */ });
16593
+ /* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1254);
16594
+ /* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(963);
16595
+
16596
+
16597
+
16598
+ /**
16599
+ * Copies an object.
16600
+ *
16601
+ * @private
16602
+ * @param {*} value The value to be copied
16603
+ * @param {Boolean} deep Whether or not to perform deep cloning.
16604
+ * @return {*} The copied value.
16605
+ */
16606
+ function _clone(value, deep, map) {
16607
+ map || (map = new _ObjectMap());
16608
+
16609
+ // this avoids the slower switch with a quick if decision removing some milliseconds in each run.
16610
+ if (_isPrimitive(value)) {
16611
+ return value;
16612
+ }
16613
+ var copy = function copy(copiedValue) {
16614
+ // Check for circular and same references on the object graph and return its corresponding clone.
16615
+ var cachedCopy = map.get(value);
16616
+ if (cachedCopy) {
16617
+ return cachedCopy;
16618
+ }
16619
+ map.set(value, copiedValue);
16620
+ for (var key in value) {
16621
+ if (Object.prototype.hasOwnProperty.call(value, key)) {
16622
+ copiedValue[key] = deep ? _clone(value[key], true, map) : value[key];
16623
+ }
16624
+ }
16625
+ return copiedValue;
16626
+ };
16627
+ switch ((0,_type_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) {
16628
+ case 'Object':
16629
+ return copy(Object.create(Object.getPrototypeOf(value)));
16630
+ case 'Array':
16631
+ return copy(Array(value.length));
16632
+ case 'Date':
16633
+ return new Date(value.valueOf());
16634
+ case 'RegExp':
16635
+ return (0,_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value);
16636
+ case 'Int8Array':
16637
+ case 'Uint8Array':
16638
+ case 'Uint8ClampedArray':
16639
+ case 'Int16Array':
16640
+ case 'Uint16Array':
16641
+ case 'Int32Array':
16642
+ case 'Uint32Array':
16643
+ case 'Float32Array':
16644
+ case 'Float64Array':
16645
+ case 'BigInt64Array':
16646
+ case 'BigUint64Array':
16647
+ return value.slice();
16648
+ default:
16649
+ return value;
16650
+ }
16651
+ }
16652
+ function _isPrimitive(param) {
16653
+ var type = typeof param;
16654
+ return param == null || type != 'object' && type != 'function';
16655
+ }
16656
+ var _ObjectMap = /*#__PURE__*/function () {
16657
+ function _ObjectMap() {
16658
+ this.map = {};
16659
+ this.length = 0;
16660
+ }
16661
+ _ObjectMap.prototype.set = function (key, value) {
16662
+ var hashedKey = this.hash(key);
16663
+ var bucket = this.map[hashedKey];
16664
+ if (!bucket) {
16665
+ this.map[hashedKey] = bucket = [];
16666
+ }
16667
+ bucket.push([key, value]);
16668
+ this.length += 1;
16669
+ };
16670
+ _ObjectMap.prototype.hash = function (key) {
16671
+ var hashedKey = [];
16672
+ for (var value in key) {
16673
+ hashedKey.push(Object.prototype.toString.call(key[value]));
16674
+ }
16675
+ return hashedKey.join();
16676
+ };
16677
+ _ObjectMap.prototype.get = function (key) {
16678
+ /**
16679
+ * depending on the number of objects to be cloned is faster to just iterate over the items in the map just because the hash function is so costly,
16680
+ * on my tests this number is 180, anything above that using the hash function is faster.
16681
+ */
16682
+ if (this.length <= 180) {
16683
+ for (var p in this.map) {
16684
+ var bucket = this.map[p];
16685
+ for (var i = 0; i < bucket.length; i += 1) {
16686
+ var element = bucket[i];
16687
+ if (element[0] === key) {
16688
+ return element[1];
16689
+ }
16690
+ }
16691
+ }
16692
+ return;
16693
+ }
16694
+ var hashedKey = this.hash(key);
16695
+ var bucket = this.map[hashedKey];
16696
+ if (!bucket) {
16697
+ return;
16698
+ }
16699
+ for (var i = 0; i < bucket.length; i += 1) {
16700
+ var element = bucket[i];
16701
+ if (element[0] === key) {
16702
+ return element[1];
16703
+ }
16704
+ }
16705
+ };
16706
+ return _ObjectMap;
16707
+ }();
16708
+
16709
+ /***/ },
16710
+
16711
+ /***/ 1254
16712
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
16713
+
16714
+ __webpack_require__.r(__webpack_exports__);
16715
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
16716
+ /* harmony export */ "default": () => (/* binding */ _cloneRegExp)
16717
+ /* harmony export */ });
16718
+ function _cloneRegExp(pattern) {
16719
+ return new RegExp(pattern.source, pattern.flags ? pattern.flags : (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '') + (pattern.dotAll ? 's' : ''));
16720
+ }
16721
+
16722
+ /***/ },
16723
+
16536
16724
  /***/ 7940
16537
16725
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
16538
16726
 
@@ -20011,6 +20199,7 @@ const predicates = {
20011
20199
  isCommentElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isCommentElement,
20012
20200
  isParseResultElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isParseResultElement,
20013
20201
  isSourceMapElement: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__.isSourceMapElement,
20202
+ hasElementStyle: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.hasElementStyle,
20014
20203
  hasElementSourceMap: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.hasElementSourceMap,
20015
20204
  includesSymbols: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesSymbols,
20016
20205
  includesClasses: _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__.includesClasses
@@ -20081,7 +20270,19 @@ const resolveSpecification = specification => {
20081
20270
  if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(val) && (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])('$ref', val) && (0,ramda__WEBPACK_IMPORTED_MODULE_3__["default"])(ramda_adjunct__WEBPACK_IMPORTED_MODULE_4__["default"], '$ref', val)) {
20082
20271
  const $ref = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(['$ref'], val);
20083
20272
  const pointer = (0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_6__["default"])('#/', $ref);
20084
- return (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(pointer.split('/'), root);
20273
+ const resolved = (0,ramda__WEBPACK_IMPORTED_MODULE_2__["default"])(pointer.split('/'), root);
20274
+ // merge extra properties (e.g. alias) from the $ref object into the resolved value
20275
+ const {
20276
+ $ref: _,
20277
+ ...rest
20278
+ } = val;
20279
+ if (Object.keys(rest).length > 0 && (0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(resolved)) {
20280
+ return {
20281
+ ...resolved,
20282
+ ...rest
20283
+ };
20284
+ }
20285
+ return resolved;
20085
20286
  }
20086
20287
  if ((0,ramda_adjunct__WEBPACK_IMPORTED_MODULE_5__["default"])(val)) {
20087
20288
  return traverse(val, root, newPath);
@@ -20696,20 +20897,22 @@ class ShallowCloneError extends _CloneError_mjs__WEBPACK_IMPORTED_MODULE_0__["de
20696
20897
 
20697
20898
  __webpack_require__.r(__webpack_exports__);
20698
20899
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
20699
- /* harmony export */ CloneError: () => (/* reexport safe */ _errors_CloneError_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
20700
- /* harmony export */ DeepCloneError: () => (/* reexport safe */ _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]),
20701
- /* harmony export */ ShallowCloneError: () => (/* reexport safe */ _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]),
20900
+ /* harmony export */ CloneError: () => (/* reexport safe */ _errors_CloneError_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]),
20901
+ /* harmony export */ DeepCloneError: () => (/* reexport safe */ _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]),
20902
+ /* harmony export */ ShallowCloneError: () => (/* reexport safe */ _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
20702
20903
  /* harmony export */ cloneDeep: () => (/* binding */ cloneDeep),
20703
20904
  /* harmony export */ cloneShallow: () => (/* binding */ cloneShallow)
20704
20905
  /* harmony export */ });
20705
- /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8504);
20706
- /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6663);
20707
- /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8252);
20708
- /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5162);
20709
- /* harmony import */ var _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5810);
20710
- /* harmony import */ var _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5018);
20711
- /* harmony import */ var _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3686);
20712
- /* harmony import */ var _errors_CloneError_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3772);
20906
+ /* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8138);
20907
+ /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8504);
20908
+ /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6663);
20909
+ /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8252);
20910
+ /* harmony import */ var _predicates_index_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5162);
20911
+ /* harmony import */ var _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5810);
20912
+ /* harmony import */ var _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5018);
20913
+ /* harmony import */ var _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(3686);
20914
+ /* harmony import */ var _errors_CloneError_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(3772);
20915
+
20713
20916
 
20714
20917
 
20715
20918
 
@@ -20742,9 +20945,9 @@ const cloneDeepElement = (element, options) => {
20742
20945
  } = element;
20743
20946
  if (Array.isArray(content)) {
20744
20947
  copy.content = content.map(el => cloneDeepElement(el, passThroughOptions));
20745
- } else if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isElement)(content)) {
20948
+ } else if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_4__.isElement)(content)) {
20746
20949
  copy.content = cloneDeepElement(content, passThroughOptions);
20747
- } else if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
20950
+ } else if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
20748
20951
  copy.content = cloneDeepKeyValuePair(content, passThroughOptions);
20749
20952
  } else {
20750
20953
  copy.content = content;
@@ -20768,7 +20971,7 @@ const cloneDeepKeyValuePair = (kvp, options) => {
20768
20971
  } = kvp;
20769
20972
  const keyCopy = key !== undefined ? cloneDeepElement(key, passThroughOptions) : undefined;
20770
20973
  const valueCopy = value !== undefined ? cloneDeepElement(value, passThroughOptions) : undefined;
20771
- const copy = new _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](keyCopy, valueCopy);
20974
+ const copy = new _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"](keyCopy, valueCopy);
20772
20975
  visited.set(kvp, copy);
20773
20976
  return copy;
20774
20977
  };
@@ -20784,7 +20987,7 @@ const cloneDeepObjectSlice = (slice, options) => {
20784
20987
  return visited.get(slice);
20785
20988
  }
20786
20989
  const items = [...slice].map(element => cloneDeepElement(element, passThroughOptions));
20787
- const copy = new _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_0__["default"](items);
20990
+ const copy = new _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](items);
20788
20991
  visited.set(slice, copy);
20789
20992
  return copy;
20790
20993
  };
@@ -20795,16 +20998,16 @@ const cloneDeepObjectSlice = (slice, options) => {
20795
20998
  * @public
20796
20999
  */
20797
21000
  const cloneDeep = (value, options = {}) => {
20798
- if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
21001
+ if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
20799
21002
  return cloneDeepKeyValuePair(value, options);
20800
21003
  }
20801
- if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]) {
21004
+ if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
20802
21005
  return cloneDeepObjectSlice(value, options);
20803
21006
  }
20804
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isElement)(value)) {
21007
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_4__.isElement)(value)) {
20805
21008
  return cloneDeepElement(value, options);
20806
21009
  }
20807
- throw new _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_5__["default"]("Value provided to cloneDeep function couldn't be cloned", {
21010
+ throw new _errors_DeepCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]("Value provided to cloneDeep function couldn't be cloned", {
20808
21011
  value
20809
21012
  });
20810
21013
  };
@@ -20820,11 +21023,11 @@ const cloneShallowKeyValuePair = keyValuePair => {
20820
21023
  key,
20821
21024
  value
20822
21025
  } = keyValuePair;
20823
- return new _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](key, value);
21026
+ return new _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"](key, value);
20824
21027
  };
20825
21028
  const cloneShallowObjectSlice = objectSlice => {
20826
21029
  const items = [...objectSlice];
20827
- return new _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_0__["default"](items);
21030
+ return new _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_1__["default"](items);
20828
21031
  };
20829
21032
  const cloneShallowElement = element => {
20830
21033
  const Ctor = element.constructor;
@@ -20836,17 +21039,20 @@ const cloneShallowElement = element => {
20836
21039
  if (!element.isAttributesEmpty) {
20837
21040
  copy.attributes = cloneDeep(element.attributes);
20838
21041
  }
20839
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_2__.hasElementSourceMap)(element)) {
20840
- _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_4__["default"].transfer(element, copy);
21042
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.hasElementSourceMap)(element)) {
21043
+ _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_5__["default"].transfer(element, copy);
21044
+ }
21045
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.hasElementStyle)(element)) {
21046
+ copy.style = (0,ramda__WEBPACK_IMPORTED_MODULE_0__["default"])(element.style);
20841
21047
  }
20842
21048
  const {
20843
21049
  content
20844
21050
  } = element;
20845
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isElement)(content)) {
21051
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_4__.isElement)(content)) {
20846
21052
  copy.content = cloneShallowElement(content);
20847
21053
  } else if (Array.isArray(content)) {
20848
21054
  copy.content = [...content];
20849
- } else if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
21055
+ } else if (content instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
20850
21056
  copy.content = cloneShallowKeyValuePair(content);
20851
21057
  } else {
20852
21058
  copy.content = content;
@@ -20861,16 +21067,16 @@ const cloneShallowElement = element => {
20861
21067
  * @public
20862
21068
  */
20863
21069
  const cloneShallow = value => {
20864
- if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
21070
+ if (value instanceof _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]) {
20865
21071
  return cloneShallowKeyValuePair(value);
20866
21072
  }
20867
- if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]) {
21073
+ if (value instanceof _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]) {
20868
21074
  return cloneShallowObjectSlice(value);
20869
21075
  }
20870
- if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_3__.isElement)(value)) {
21076
+ if ((0,_predicates_index_mjs__WEBPACK_IMPORTED_MODULE_4__.isElement)(value)) {
20871
21077
  return cloneShallowElement(value);
20872
21078
  }
20873
- throw new _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_6__["default"]("Value provided to cloneShallow function couldn't be cloned", {
21079
+ throw new _errors_ShallowCloneError_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]("Value provided to cloneShallow function couldn't be cloned", {
20874
21080
  value
20875
21081
  });
20876
21082
  };
@@ -21291,6 +21497,65 @@ function unpackSourceMap(packed) {
21291
21497
 
21292
21498
  /***/ },
21293
21499
 
21500
+ /***/ 9686
21501
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
21502
+
21503
+ __webpack_require__.r(__webpack_exports__);
21504
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21505
+ /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
21506
+ /* harmony export */ });
21507
+ /* harmony import */ var _primitives_ObjectElement_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7071);
21508
+
21509
+ /**
21510
+ * Shape with optional style property.
21511
+ * @public
21512
+ */
21513
+ /**
21514
+ * StyleElement stores format-specific style information for round-trip preservation.
21515
+ *
21516
+ * The style data is stored as a plain object with format-specific namespaces
21517
+ * (e.g., `yaml`, `json`). This element exists only during serialization/deserialization
21518
+ * (refract format) - in memory, style lives directly on `element.style`.
21519
+ *
21520
+ * Follows the same pattern as SourceMapElement with __mappings__.
21521
+ *
21522
+ * @public
21523
+ */
21524
+ class StyleElement extends _primitives_ObjectElement_mjs__WEBPACK_IMPORTED_MODULE_0__["default"] {
21525
+ constructor(content, meta, attributes) {
21526
+ super(content, meta, attributes);
21527
+ this.element = '__styles__';
21528
+ }
21529
+
21530
+ /**
21531
+ * Transfers style property from one element to another.
21532
+ */
21533
+ static transfer(from, to) {
21534
+ to.style = from.style;
21535
+ }
21536
+
21537
+ /**
21538
+ * Creates a StyleElement from an element's style property.
21539
+ * Returns undefined if the element has no style.
21540
+ */
21541
+ static from(source) {
21542
+ if (!source.style) {
21543
+ return undefined;
21544
+ }
21545
+ return new StyleElement(source.style);
21546
+ }
21547
+
21548
+ /**
21549
+ * Restores the style property on the target element from this StyleElement.
21550
+ */
21551
+ applyTo(target) {
21552
+ target.style = this.toValue();
21553
+ }
21554
+ }
21555
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (StyleElement);
21556
+
21557
+ /***/ },
21558
+
21294
21559
  /***/ 6911
21295
21560
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
21296
21561
 
@@ -21353,6 +21618,7 @@ const isSourceMapElement = element => element instanceof _elements_SourceMap_mjs
21353
21618
  __webpack_require__.r(__webpack_exports__);
21354
21619
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21355
21620
  /* harmony export */ hasElementSourceMap: () => (/* binding */ hasElementSourceMap),
21621
+ /* harmony export */ hasElementStyle: () => (/* binding */ hasElementStyle),
21356
21622
  /* harmony export */ includesClasses: () => (/* binding */ includesClasses),
21357
21623
  /* harmony export */ includesSymbols: () => (/* binding */ includesSymbols),
21358
21624
  /* harmony export */ isAnnotationElement: () => (/* reexport safe */ _elements_mjs__WEBPACK_IMPORTED_MODULE_1__.isAnnotationElement),
@@ -21377,6 +21643,14 @@ __webpack_require__.r(__webpack_exports__);
21377
21643
 
21378
21644
 
21379
21645
 
21646
+ /**
21647
+ * Checks if an element has format-specific style information.
21648
+ * @public
21649
+ */
21650
+ const hasElementStyle = element => {
21651
+ return element.style !== undefined;
21652
+ };
21653
+
21380
21654
  /**
21381
21655
  * Checks if an element has complete source position information.
21382
21656
  * Returns true only if all 6 position properties are numbers.
@@ -21913,6 +22187,12 @@ class Element {
21913
22187
  */
21914
22188
  parent;
21915
22189
 
22190
+ /**
22191
+ * Format-specific style information for round-trip preservation.
22192
+ * Each format owns its own namespace (e.g., `yaml`, `json`).
22193
+ */
22194
+ style;
22195
+
21916
22196
  // ============================================================================
21917
22197
  // Source Position (LSP-compatible, TextDocument-compatible, UTF-16 code units)
21918
22198
  // web-tree-sitter automatically provides position data in UTF-16 code units.
@@ -22796,17 +23076,18 @@ __webpack_require__.r(__webpack_exports__);
22796
23076
  /* harmony export */ CollectionElement: () => (/* reexport safe */ _primitives_CollectionElement_mjs__WEBPACK_IMPORTED_MODULE_1__["default"]),
22797
23077
  /* harmony export */ CommentElement: () => (/* reexport safe */ _elements_Comment_mjs__WEBPACK_IMPORTED_MODULE_12__["default"]),
22798
23078
  /* harmony export */ Element: () => (/* reexport safe */ _primitives_Element_mjs__WEBPACK_IMPORTED_MODULE_0__["default"]),
22799
- /* harmony export */ KeyValuePair: () => (/* reexport safe */ _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_16__["default"]),
23079
+ /* harmony export */ KeyValuePair: () => (/* reexport safe */ _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_17__["default"]),
22800
23080
  /* harmony export */ LinkElement: () => (/* reexport safe */ _elements_LinkElement_mjs__WEBPACK_IMPORTED_MODULE_9__["default"]),
22801
23081
  /* harmony export */ MemberElement: () => (/* reexport safe */ _primitives_MemberElement_mjs__WEBPACK_IMPORTED_MODULE_7__["default"]),
22802
23082
  /* harmony export */ NullElement: () => (/* reexport safe */ _primitives_NullElement_mjs__WEBPACK_IMPORTED_MODULE_2__["default"]),
22803
23083
  /* harmony export */ NumberElement: () => (/* reexport safe */ _primitives_NumberElement_mjs__WEBPACK_IMPORTED_MODULE_4__["default"]),
22804
23084
  /* harmony export */ ObjectElement: () => (/* reexport safe */ _primitives_ObjectElement_mjs__WEBPACK_IMPORTED_MODULE_8__["default"]),
22805
- /* harmony export */ ObjectSlice: () => (/* reexport safe */ _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_15__["default"]),
23085
+ /* harmony export */ ObjectSlice: () => (/* reexport safe */ _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_16__["default"]),
22806
23086
  /* harmony export */ ParseResultElement: () => (/* reexport safe */ _elements_ParseResult_mjs__WEBPACK_IMPORTED_MODULE_13__["default"]),
22807
23087
  /* harmony export */ RefElement: () => (/* reexport safe */ _elements_RefElement_mjs__WEBPACK_IMPORTED_MODULE_10__["default"]),
22808
23088
  /* harmony export */ SourceMapElement: () => (/* reexport safe */ _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_14__["default"]),
22809
23089
  /* harmony export */ StringElement: () => (/* reexport safe */ _primitives_StringElement_mjs__WEBPACK_IMPORTED_MODULE_3__["default"]),
23090
+ /* harmony export */ StyleElement: () => (/* reexport safe */ _elements_Style_mjs__WEBPACK_IMPORTED_MODULE_15__["default"]),
22810
23091
  /* harmony export */ refract: () => (/* binding */ refract)
22811
23092
  /* harmony export */ });
22812
23093
  /* harmony import */ var _primitives_Element_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(728);
@@ -22824,8 +23105,10 @@ __webpack_require__.r(__webpack_exports__);
22824
23105
  /* harmony import */ var _elements_Comment_mjs__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(94);
22825
23106
  /* harmony import */ var _elements_ParseResult_mjs__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(4823);
22826
23107
  /* harmony import */ var _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(5810);
22827
- /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(8504);
22828
- /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(6663);
23108
+ /* harmony import */ var _elements_Style_mjs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(9686);
23109
+ /* harmony import */ var _ObjectSlice_mjs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(8504);
23110
+ /* harmony import */ var _KeyValuePair_mjs__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(6663);
23111
+
22829
23112
 
22830
23113
 
22831
23114
 
@@ -22911,6 +23194,8 @@ __webpack_require__.r(__webpack_exports__);
22911
23194
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
22912
23195
  /* harmony export */ });
22913
23196
  /* harmony import */ var _elements_SourceMap_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5810);
23197
+ /* harmony import */ var _elements_Style_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9686);
23198
+
22914
23199
 
22915
23200
  /**
22916
23201
  * Serialized representation of an Element in JSON Refract format.
@@ -22969,6 +23254,17 @@ class JSONSerialiser {
22969
23254
  payload.meta.__mappings__ = this.serialise(sourceMap);
22970
23255
  }
22971
23256
  }
23257
+
23258
+ // Serialize style as __styles__ in meta (skip for StyleElement itself)
23259
+ if (!(element instanceof _elements_Style_mjs__WEBPACK_IMPORTED_MODULE_1__["default"])) {
23260
+ const styleElement = _elements_Style_mjs__WEBPACK_IMPORTED_MODULE_1__["default"].from(element);
23261
+ if (styleElement) {
23262
+ if (!payload.meta) {
23263
+ payload.meta = {};
23264
+ }
23265
+ payload.meta.__styles__ = this.serialise(styleElement);
23266
+ }
23267
+ }
22972
23268
  const content = this.serialiseContent(element.content);
22973
23269
  if (content !== undefined) {
22974
23270
  payload.content = content;
@@ -22989,15 +23285,18 @@ class JSONSerialiser {
22989
23285
  element.element = value.element;
22990
23286
  }
22991
23287
 
22992
- // Extract __mappings__ without mutating input, filter remaining meta
23288
+ // Extract __mappings__ and __styles__ without mutating input, filter remaining meta
22993
23289
  let mappingsDoc;
23290
+ let stylesDoc;
22994
23291
  let metaToDeserialize = value.meta;
22995
- if (value.meta?.__mappings__) {
23292
+ if (value.meta?.__mappings__ || value.meta?.__styles__) {
22996
23293
  const {
22997
23294
  __mappings__,
23295
+ __styles__,
22998
23296
  ...rest
22999
23297
  } = value.meta;
23000
23298
  mappingsDoc = __mappings__;
23299
+ stylesDoc = __styles__;
23001
23300
  metaToDeserialize = Object.keys(rest).length > 0 ? rest : undefined;
23002
23301
  }
23003
23302
  if (metaToDeserialize) {
@@ -23009,6 +23308,12 @@ class JSONSerialiser {
23009
23308
  const sourceMap = this.deserialise(mappingsDoc);
23010
23309
  sourceMap.applyTo(element);
23011
23310
  }
23311
+
23312
+ // Restore style from __styles__
23313
+ if (stylesDoc) {
23314
+ const styleElement = this.deserialise(stylesDoc);
23315
+ styleElement.applyTo(element);
23316
+ }
23012
23317
  if (value.attributes) {
23013
23318
  this.deserialiseObject(value.attributes, element.attributes);
23014
23319
  }
@@ -24994,7 +25299,7 @@ const specification = {
24994
25299
  fixedFields: {
24995
25300
  // core vocabulary
24996
25301
  id: {
24997
- $visitor: _visitors_FallbackVisitor_mjs__WEBPACK_IMPORTED_MODULE_0__["default"],
25302
+ $ref: '#/visitors/value',
24998
25303
  alias: 'idField'
24999
25304
  },
25000
25305
  $schema: {
@@ -25273,6 +25578,7 @@ __webpack_require__.r(__webpack_exports__);
25273
25578
  /* harmony import */ var _speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8400);
25274
25579
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7071);
25275
25580
  /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5810);
25581
+ /* harmony import */ var _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9686);
25276
25582
 
25277
25583
 
25278
25584
 
@@ -25300,6 +25606,7 @@ class Visitor {
25300
25606
  to.attributes = (0,_speclynx_apidom_core__WEBPACK_IMPORTED_MODULE_0__["default"])(target, source);
25301
25607
  }
25302
25608
  _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_2__["default"].transfer(from, to);
25609
+ _speclynx_apidom_datamodel__WEBPACK_IMPORTED_MODULE_3__["default"].transfer(from, to);
25303
25610
  }
25304
25611
  }
25305
25612
  /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Visitor);