@speclynx/apidom-parser-adapter-arazzo-json-1 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-arazzo-json-1
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-arazzo-json-1
@@ -22209,7 +22209,13 @@ class Element {
22209
22209
 
22210
22210
  /** Unique identifier for this element. */
22211
22211
  get id() {
22212
- return this.getMetaProperty('id', '');
22212
+ if (this.isFrozen) {
22213
+ return this.getMetaProperty('id', '');
22214
+ }
22215
+ if (!this.hasMetaProperty('id')) {
22216
+ this.setMetaProperty('id', '');
22217
+ }
22218
+ return this.meta.get('id');
22213
22219
  }
22214
22220
  set id(value) {
22215
22221
  this.setMetaProperty('id', value);
@@ -22217,7 +22223,13 @@ class Element {
22217
22223
 
22218
22224
  /** CSS-like class names. */
22219
22225
  get classes() {
22220
- return this.getMetaProperty('classes', []);
22226
+ if (this.isFrozen) {
22227
+ return this.getMetaProperty('classes', []);
22228
+ }
22229
+ if (!this.hasMetaProperty('classes')) {
22230
+ this.setMetaProperty('classes', []);
22231
+ }
22232
+ return this.meta.get('classes');
22221
22233
  }
22222
22234
  set classes(value) {
22223
22235
  this.setMetaProperty('classes', value);
@@ -22225,7 +22237,13 @@ class Element {
22225
22237
 
22226
22238
  /** Hyperlinks associated with this element. */
22227
22239
  get links() {
22228
- return this.getMetaProperty('links', []);
22240
+ if (this.isFrozen) {
22241
+ return this.getMetaProperty('links', []);
22242
+ }
22243
+ if (!this.hasMetaProperty('links')) {
22244
+ this.setMetaProperty('links', []);
22245
+ }
22246
+ return this.meta.get('links');
22229
22247
  }
22230
22248
  set links(value) {
22231
22249
  this.setMetaProperty('links', value);
@@ -22376,16 +22394,26 @@ class Element {
22376
22394
  }
22377
22395
 
22378
22396
  /**
22379
- * Gets a meta property, creating it with default value if not present.
22397
+ * Gets a meta property.
22398
+ *
22399
+ * When the property doesn't exist:
22400
+ * - With defaultValue: returns a new refracted element instance (not cached)
22401
+ * - Without defaultValue: returns undefined
22402
+ *
22403
+ * Note: Each call with a default creates a new instance. Use setMetaProperty
22404
+ * first if you need reference equality across multiple accesses.
22380
22405
  */
22406
+
22381
22407
  getMetaProperty(name, defaultValue) {
22382
- if (!this.meta.hasKey(name)) {
22383
- if (this.isFrozen) {
22384
- const element = this.refract(defaultValue);
22408
+ if (!this.hasMetaProperty(name)) {
22409
+ if (defaultValue === undefined) {
22410
+ return undefined;
22411
+ }
22412
+ const element = this.refract(defaultValue);
22413
+ if (element && this.isFrozen) {
22385
22414
  element.freeze();
22386
- return element;
22387
22415
  }
22388
- this.meta.set(name, defaultValue);
22416
+ return element;
22389
22417
  }
22390
22418
  return this.meta.get(name);
22391
22419
  }