@speclynx/apidom-parser-adapter-asyncapi-yaml-2 2.10.3 → 2.11.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
+ # [2.11.0](https://github.com/speclynx/apidom/compare/v2.10.3...v2.11.0) (2026-02-12)
7
+
8
+ **Note:** Version bump only for package @speclynx/apidom-parser-adapter-asyncapi-yaml-2
9
+
6
10
  ## [2.10.3](https://github.com/speclynx/apidom/compare/v2.10.2...v2.10.3) (2026-02-10)
7
11
 
8
12
  **Note:** Version bump only for package @speclynx/apidom-parser-adapter-asyncapi-yaml-2
@@ -32658,7 +32658,13 @@ class Element {
32658
32658
 
32659
32659
  /** Unique identifier for this element. */
32660
32660
  get id() {
32661
- return this.getMetaProperty('id', '');
32661
+ if (this.isFrozen) {
32662
+ return this.getMetaProperty('id', '');
32663
+ }
32664
+ if (!this.hasMetaProperty('id')) {
32665
+ this.setMetaProperty('id', '');
32666
+ }
32667
+ return this.meta.get('id');
32662
32668
  }
32663
32669
  set id(value) {
32664
32670
  this.setMetaProperty('id', value);
@@ -32666,7 +32672,13 @@ class Element {
32666
32672
 
32667
32673
  /** CSS-like class names. */
32668
32674
  get classes() {
32669
- return this.getMetaProperty('classes', []);
32675
+ if (this.isFrozen) {
32676
+ return this.getMetaProperty('classes', []);
32677
+ }
32678
+ if (!this.hasMetaProperty('classes')) {
32679
+ this.setMetaProperty('classes', []);
32680
+ }
32681
+ return this.meta.get('classes');
32670
32682
  }
32671
32683
  set classes(value) {
32672
32684
  this.setMetaProperty('classes', value);
@@ -32674,7 +32686,13 @@ class Element {
32674
32686
 
32675
32687
  /** Hyperlinks associated with this element. */
32676
32688
  get links() {
32677
- return this.getMetaProperty('links', []);
32689
+ if (this.isFrozen) {
32690
+ return this.getMetaProperty('links', []);
32691
+ }
32692
+ if (!this.hasMetaProperty('links')) {
32693
+ this.setMetaProperty('links', []);
32694
+ }
32695
+ return this.meta.get('links');
32678
32696
  }
32679
32697
  set links(value) {
32680
32698
  this.setMetaProperty('links', value);
@@ -32825,16 +32843,26 @@ class Element {
32825
32843
  }
32826
32844
 
32827
32845
  /**
32828
- * Gets a meta property, creating it with default value if not present.
32846
+ * Gets a meta property.
32847
+ *
32848
+ * When the property doesn't exist:
32849
+ * - With defaultValue: returns a new refracted element instance (not cached)
32850
+ * - Without defaultValue: returns undefined
32851
+ *
32852
+ * Note: Each call with a default creates a new instance. Use setMetaProperty
32853
+ * first if you need reference equality across multiple accesses.
32829
32854
  */
32855
+
32830
32856
  getMetaProperty(name, defaultValue) {
32831
- if (!this.meta.hasKey(name)) {
32832
- if (this.isFrozen) {
32833
- const element = this.refract(defaultValue);
32857
+ if (!this.hasMetaProperty(name)) {
32858
+ if (defaultValue === undefined) {
32859
+ return undefined;
32860
+ }
32861
+ const element = this.refract(defaultValue);
32862
+ if (element && this.isFrozen) {
32834
32863
  element.freeze();
32835
- return element;
32836
32864
  }
32837
- this.meta.set(name, defaultValue);
32865
+ return element;
32838
32866
  }
32839
32867
  return this.meta.get(name);
32840
32868
  }