@speclynx/apidom-parser-adapter-openapi-yaml-3-1 2.10.2 → 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,14 @@
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-openapi-yaml-3-1
9
+
10
+ ## [2.10.3](https://github.com/speclynx/apidom/compare/v2.10.2...v2.10.3) (2026-02-10)
11
+
12
+ **Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-yaml-3-1
13
+
6
14
  ## [2.10.2](https://github.com/speclynx/apidom/compare/v2.10.1...v2.10.2) (2026-02-08)
7
15
 
8
16
  **Note:** Version bump only for package @speclynx/apidom-parser-adapter-openapi-yaml-3-1
@@ -32879,7 +32879,13 @@ class Element {
32879
32879
 
32880
32880
  /** Unique identifier for this element. */
32881
32881
  get id() {
32882
- return this.getMetaProperty('id', '');
32882
+ if (this.isFrozen) {
32883
+ return this.getMetaProperty('id', '');
32884
+ }
32885
+ if (!this.hasMetaProperty('id')) {
32886
+ this.setMetaProperty('id', '');
32887
+ }
32888
+ return this.meta.get('id');
32883
32889
  }
32884
32890
  set id(value) {
32885
32891
  this.setMetaProperty('id', value);
@@ -32887,7 +32893,13 @@ class Element {
32887
32893
 
32888
32894
  /** CSS-like class names. */
32889
32895
  get classes() {
32890
- return this.getMetaProperty('classes', []);
32896
+ if (this.isFrozen) {
32897
+ return this.getMetaProperty('classes', []);
32898
+ }
32899
+ if (!this.hasMetaProperty('classes')) {
32900
+ this.setMetaProperty('classes', []);
32901
+ }
32902
+ return this.meta.get('classes');
32891
32903
  }
32892
32904
  set classes(value) {
32893
32905
  this.setMetaProperty('classes', value);
@@ -32895,7 +32907,13 @@ class Element {
32895
32907
 
32896
32908
  /** Hyperlinks associated with this element. */
32897
32909
  get links() {
32898
- return this.getMetaProperty('links', []);
32910
+ if (this.isFrozen) {
32911
+ return this.getMetaProperty('links', []);
32912
+ }
32913
+ if (!this.hasMetaProperty('links')) {
32914
+ this.setMetaProperty('links', []);
32915
+ }
32916
+ return this.meta.get('links');
32899
32917
  }
32900
32918
  set links(value) {
32901
32919
  this.setMetaProperty('links', value);
@@ -33046,16 +33064,26 @@ class Element {
33046
33064
  }
33047
33065
 
33048
33066
  /**
33049
- * Gets a meta property, creating it with default value if not present.
33067
+ * Gets a meta property.
33068
+ *
33069
+ * When the property doesn't exist:
33070
+ * - With defaultValue: returns a new refracted element instance (not cached)
33071
+ * - Without defaultValue: returns undefined
33072
+ *
33073
+ * Note: Each call with a default creates a new instance. Use setMetaProperty
33074
+ * first if you need reference equality across multiple accesses.
33050
33075
  */
33076
+
33051
33077
  getMetaProperty(name, defaultValue) {
33052
- if (!this.meta.hasKey(name)) {
33053
- if (this.isFrozen) {
33054
- const element = this.refract(defaultValue);
33078
+ if (!this.hasMetaProperty(name)) {
33079
+ if (defaultValue === undefined) {
33080
+ return undefined;
33081
+ }
33082
+ const element = this.refract(defaultValue);
33083
+ if (element && this.isFrozen) {
33055
33084
  element.freeze();
33056
- return element;
33057
33085
  }
33058
- this.meta.set(name, defaultValue);
33086
+ return element;
33059
33087
  }
33060
33088
  return this.meta.get(name);
33061
33089
  }